1 คะแนน โดย GN⁺ 2 시간 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • underdrawing คือวิธีที่สร้างภาพร่างโครงด้วยเครื่องมือแบบกำหนดผลลัพธ์ได้ก่อน โดยใส่ตำแหน่งของตัวเลขและข้อความไว้ จากนั้นให้โมเดลสร้างภาพเติมสไตล์ภาพลงไปด้านบนเพื่อเพิ่มความแม่นยำ
  • ในโจทย์ที่ต้องจัดวางแผ่นหินก้าว 50 ก้อนเป็นเกลียวและใส่หมายเลข 1 ถึง 50 นั้น Gemini 3 Pro และ ChatGPT Images 2 ไม่สามารถจัดตัวเลขและลำดับได้อย่างเสถียรหากไม่มี underdrawing
  • สำหรับโจทย์เดียวกัน เมื่อใส่ underdrawing ร่วมด้วย Gemini 3.0 Pro สามารถสร้างผลลัพธ์ที่หมายเลข จำนวนปุ่ม และลำดับ รวมถึงรูปทรงเกลียวถูกต้อง
  • การนำไปใช้ทำได้โดยใช้เครื่องมืออย่าง SVG/HTML เพื่อวางตัวเลขและข้อความในตำแหน่งและทิศทางที่ต้องการ แล้วส่งออกเป็นภาพ ก่อนนำภาพนั้นและข้อความพรอมป์ตใส่ร่วมกันในโมเดลภาพแบบมัลติโหมด
  • วิธีนี้ไม่ได้สมบูรณ์แบบทุกครั้ง แต่ช่วยแยกการทำงานระหว่างการจัดวางแบบกำหนดผลลัพธ์ได้กับความสามารถด้านการแสดงผลเชิงภาพของโมเดลสร้างภาพ ในงานสร้างภาพที่การจัดวางข้อความและตัวเลขมีความสำคัญ

บริบทสำคัญและวิธีการนำไปใช้

  • นี่คือรูปแบบที่ได้จากกระบวนการพยายามสร้างภาพบอร์ดผจญภัย 100 ช่อง และสรุปได้ว่าเป็นแนวทางแบบ “ให้โครงร่างแล้วค่อยระบายทับด้านบน”
  • เลเยอร์แบบกำหนดผลลัพธ์ได้

    • SVG/HTML อาจดูแห้งในเชิงภาพ แต่โดดเด่นด้านการจัดวางเชิงคณิตศาสตร์และความแม่นยำ
    • เพียงวางตัวเลขและข้อความให้ตรงตำแหน่งและทิศทางที่ต้องการ แล้วส่งออกเป็นภาพที่มีพิกเซลเหล่านั้นรวมอยู่
    • รูปแบบอาจใช้ SVG, Python, Mermaid หรือเครื่องมืออื่นตามต้องการ
  • เลเยอร์เชิงกำเนิด

    • โมเดลสร้างภาพ ให้ผลลัพธ์ด้านภาพที่ยอดเยี่ยม แต่มีความน่าเชื่อถือต่ำในเรื่องคณิตศาสตร์และข้อความ
    • ให้นำภาพ underdrawing และข้อความพรอมป์ตใส่ร่วมกันในโมเดลภาพแบบมัลติโหมดที่รับทั้งภาพและข้อความเป็นอินพุตแล้วส่งออกเป็นภาพได้ เช่น Gemini 3.0 Pro
    • พรอมป์ตตัวอย่างขั้นที่ 1 คือให้สร้าง SVG ที่จัดวางแผ่นหินก้าว 50 ก้อนเป็นเกลียวด้านในทวนเข็มนาฬิกา และใส่หมายเลขต่อเนื่อง 1 ถึง 50 บนหินแต่ละก้อน
    • พรอมป์ตตัวอย่างขั้นที่ 2 คือให้แปลงภาพนั้นเป็นไดโอรามาแบบ claymation โทนภาพถ่าย มุมต่ำเอียงเล็กน้อย โดยมีช็อกโกแลตงานคราฟต์และลูกกวาดวางเป็นเส้นทางเกลียว
  • การทำงานอัตโนมัติและข้อจำกัด

    • ให้ Claude Code หรือ Codex ทำแต่ละขั้นตอนแทนได้
    • แม้ผลลัพธ์จะดี แต่ก็ไม่ได้สมบูรณ์แบบทุกครั้ง และแม้ในผลลัพธ์สุดท้ายก็ยังมองไม่เห็น “71”

1 ความคิดเห็น

 
GN⁺ 2 시간 전
ความคิดเห็นจาก Hacker News
  • เป็นเรื่องน่ายินดีที่เราเริ่มเข้าใจลึกขึ้นว่าอะไรคือสิ่งที่ LLM เก่งโดยเนื้อแท้ และอะไรคือสิ่งที่แม้จะไม่ได้แปลว่าเป็นไปไม่ได้ แต่มีโอกาสสำเร็จต่ำเพราะมี ข้อจำกัดเชิงพื้นฐาน
    คล้ายกับแนวทางที่ให้มนุษย์กำหนดสถาปัตยกรรมซอฟต์แวร์แล้วให้ LLM เขียนฟังก์ชัน หรือให้มันเขียน SQL query แทนที่จะให้วิเคราะห์ข้อมูลเองทั้งหมด
    อยากเห็น กรอบการจัดประเภทงานและงานวิจัย ที่ชัดเจนขึ้นว่างานแบบไหนเหมาะกับ LLM และแบบไหนไม่เหมาะ แม้จะเริ่มพอมีสัญชาตญาณบ้างแล้ว แต่ก็ยังเห็นหลายคนพลาดตรงนี้บ่อยมาก

    • วิธีแบบ “ให้มนุษย์กำหนดสถาปัตยกรรม แล้วให้ LLM เขียนฟังก์ชัน” เคยเป็นแนวทางที่ผู้ใช้ยุคแรกของ เครื่องมือช่วยเขียนโค้ดด้วย LLM แนะนำกันอยู่พักหนึ่ง
      คือให้มันร่างโครงก่อน แล้วค่อยให้แต่ละฟังก์ชันถูก implement แยกกัน และก็เคยมีโพสต์บล็อกที่ใช้นิยามจากงานแอนิเมชันมาอธิบายแนวทางนี้ขึ้น HN อยู่หลายครั้ง
    • คำว่า ข้อจำกัดเชิงพื้นฐาน มักถูกพูดถึงบ่อยในบริบทของ LLM แต่จนถึงตอนนี้ก็ยังไม่มีหลักฐานพิสูจน์อย่างเข้มงวดเลยว่าข้อจำกัดแบบนั้นมีอยู่จริง
      เมื่อ 2 ปีก่อน งานอย่างการนับตัวอักษรหรือการจัดการหน่วยเสียงยังถูกมองว่าเป็นสิ่งที่ทำไม่ได้เพราะ “ข้อจำกัดเชิงพื้นฐาน” แต่ตอนนี้หลายกรณีกลับทำได้โดยไม่มีเครื่องมือช่วยด้วยซ้ำ
  • ทุกครั้งที่อ่านพรอมป์ตสำหรับสร้างภาพ ก็มักเห็นรายละเอียดที่เฉพาะเจาะจงมากซึ่งโมเดลเมินไปอย่างชัดเจน
    กรณีนี้ก็เหมือนกัน ช็อกโกแลต/ลูกกวาดในภาพสองภาพสุดท้ายไม่ได้ให้ความรู้สึกงานคราฟต์แบบช่างฝีมือเลย แต่กลับดูเหมือน สินค้าผลิตจำนวนมากแบบปลอดเชื้อ มากเกินไป และมุมมองก็ไม่แม่นด้วย
    ถ้าโมเดลเมินรายละเอียดส่วนใหญ่ขนาดนั้น ก็สงสัยว่าทำไมต้องเขียนพรอมป์ตยืดยาวขนาดนี้

    • ชอบตัวอย่างที่ขอ “studio lighting” แล้วมันดันใส่ อุปกรณ์ไฟสตูดิโอ เข้าไปเต็มภาพ
    • ลูกกวาดพวกนั้นจริง ๆ ไม่ได้พยายามจะดูเป็นงานคราฟต์แบบช่างฝีมือ แต่กำลังพยายามให้ตรงกับภาพในชุดข้อมูลฝึกที่บริษัทต่าง ๆ โปรโมตและติดป้ายว่า artisanal
      คำอย่าง rustic, homemade, amateur อาจตรงกับการแท็กมากกว่า
    • ตอนที่เคยลองใช้การสร้างภาพอยู่สองสามครั้ง ก็ล้มเหลวตรงจุดแบบนี้ตลอด
      ตอนแรกคิดว่าเป็นเพราะ ทักษะการเขียนพรอมป์ต ของตัวเองไม่ดีพอ แต่พอเริ่มสังเกตความไม่ตรงกันแบบนี้ มันก็เห็นได้ค่อนข้างบ่อย
    • พรอมป์ตแบบละเอียดส่วนใหญ่ดูเหมือนจะเป็น สิ่งที่ AI สร้างขึ้น
    • สงสัยว่าเขาใช้เวลาคิดทั้งหมดนี้นานแค่ไหน
      ถ้าอยากได้ภาพแบบสุดท้ายที่มี “ปุ่ม” เล็ก ๆ เรียงเป็นเกลียว แม้มันจะไม่ได้ดูเหมือนลูกกวาดก็ตาม แต่ต่อให้ใช้ Blender ไม่เก่ง ก็น่าจะทำได้ภายในบ่ายเดียว
  • ผมเจอเทคนิคง่าย ๆ สำหรับทำให้ได้ ข้อความและตัวเลข จากภาพที่สร้างด้วย AI แบบเสถียร
    น่าแปลกที่โมเดลภาพยังไม่ทำแบบนี้กันเองอยู่แล้ว เลยรู้สึกว่ามีประโยชน์มากพอจะแชร์

    • ในแง่หนึ่งมันคล้ายกับการใช้ ControlNet
      ผมใช้เทคนิคเดียวกันนี้มาสักพัก โดยใช้แค่ SVG เป็นภาพตั้งต้น และมันทำงานได้ดี
    • น่าประทับใจมาก ทั้งเรียบง่ายและเสถียร
      คิดว่าแล็บวิจัยด้านการสร้างภาพน่าจะรับเอาไปใช้ในไม่ช้า
    • มันดูเหมือนเป็น chain of thought แบบหนึ่ง คล้ายกับ https://arxiv.org/abs/2201.11903
      แทนที่จะปล่อยให้ผู้ใช้ให้โมเดลแก้แบบ 0-shot โครงสร้างนี้ช่วยพามันไปสู่คำตอบแบบ 1-shot หรือ k-shot
      ผมเคยใช้เทคนิคคล้ายกันแล้วได้ผลดีมาก และเพราะวงการนี้ใหม่มากและเคลื่อนไหวเร็ว จึงยังรู้สึกว่าคำศัพท์ร่วมกันยังมีไม่พอ ดังนั้นบล็อกโพสต์และตัวอย่างแบบนี้จึงมีประโยชน์มาก
      แต่ก็เป็นไปได้เหมือนกันว่าปรากฏการณ์นี้อาจถูกชุมชนเล็กกว่าหรือภายใต้ชื่ออื่นสังเกตและทำความเข้าใจไว้แล้ว
    • สรุปคือให้สร้าง โครง SVG ที่ถูกต้อง ก่อน แล้วส่งภาพนั้นพร้อมพรอมป์ตข้อความไปที่ Gemini 3.0 Pro เพื่อให้มันเรนเดอร์ออกมาโดยมีตัวเลขและข้อความที่ถูกต้อง
  • นี่ก็แค่ img2img ที่ใช้โค้ดสร้างภาพแรกให้มีโครงสร้างถูกต้องเท่านั้นเอง

    • ใช่ นั่นแหละตรงตัวเลย
      ถ้าเคยใช้โมเดลกำเนิดมาตั้งแต่ยุคแรกของ Stable Diffusion นี่ถือเป็นเทคนิคที่พบได้บ่อยและมีประโยชน์มาก คือใช้สเก็ตช์ (SVG, วาดมือ ฯลฯ) เป็น ControlNet ชั่วคราวเพื่อชี้นำเอาต์พุตของโมเดลสร้างภาพ
      แต่ก่อนผมก็เคยใช้วิธีคล้ายกันตอนจัดวางภาพ visualization งานสถาปัตยกรรม
      ถ้าอยากให้โซฟา เก้าอี้ หรือเฟอร์นิเจอร์อื่นอยู่ตำแหน่งเฉพาะ ก็จะสร้างฉากง่าย ๆ ที่กำหนดตำแหน่ง “ชิ้นส่วนฉาก” หลัก ๆ แบบคร่าว ๆ ด้วยเครื่องมืออย่าง Poser แล้วสร้าง depth map จากตรงนั้น เพื่อนำเข้าโมเดลสร้างภาพอย่าง SDXL ในยุคนั้นเพื่อบังคับการจัดวางวัตถุ
    • โดยรวมก็เป็นอย่างที่ผู้เขียนบอกไว้เลย แค่เติมบริบทเพิ่มเล็กน้อยสำหรับคนเริ่มต้น
    • ใช่ แต่ตอนสร้างโค้ดนั้น คุณสามารถใช้ โมเดลสร้างโค้ด ตัวอื่นได้
  • แฮ็กนี้เป็นเทคนิคประเภท “อ้าว ทำไมเราไม่คิดแบบนี้มาก่อน” อย่างชัดเจน
    ดีใจที่มีอะไรไว้ลองใช้ครั้งหน้าที่การสร้างภาพออกมาไม่ตรงความคาดหวัง

    • จริง ๆ แล้วแอป Stable Diffusion ดั้งเดิมก็มี image-to-image อยู่แล้ว
      แค่ตอนนั้นประสิทธิภาพยังไม่ดีเท่าตอนนี้ เลยไม่ค่อยเข้าใจว่าทำไมสิ่งนี้ถึงถูกมองว่าใหม่
  • ข้อโต้แย้งมาตรฐานคือ: ถ้า LLM ฉลาดจริง ทำไมมันถึงไม่รู้เองว่า กระบวนการ 2 ขั้นตอน นี้จะให้ผลลัพธ์ที่ดีกว่า?

    • ในระดับพื้นฐาน โมเดลภาพก็เป็นแค่ระบบที่รับ text token เข้าไปแล้วปล่อย image token ออกมา
      ถ้าจะวางกลยุทธ์ ตรวจผลลัพธ์ แล้วลองใหม่อีกครั้ง ต้องมี agentic process อยู่ด้านบน
      Nano Banana กับ gpt-image-2 ดูเหมือนจะมีสิ่งนี้อยู่บ้าง แต่มันก็คล้ายกับความต่างระหว่างให้โมเดลเขียนโค้ดทีเดียวจบ กับให้ agent harness ที่มีเครื่องมือเป็นคนจัดการ
      แม้แต่ agent ที่พื้นฐานมาก ๆ ก็ยังสร้างโค้ดได้ดีกว่า ChatGPT แบบเดี่ยว ๆ
    • เพราะโดยมาก LLM ถูก hardcode ให้แค่ขัดเกลาพรอมป์ตประเภท “สร้างภาพ” เล็กน้อยแล้วส่งต่อไปยังโมเดลอีกตัว
    • ไม่รู้ก็คือไม่รู้
    • เพราะจริง ๆ แล้วมันไม่ได้ฉลาด
    • ไม่มีใครขอให้มันทำแบบนั้น
  • วิธีแบบนี้มีมานานแล้ว และคล้ายกับการใช้ depth map หรือ line art เพื่อควบคุม silhouette

  • ชอบความรู้สึกของบทสรุปที่ว่า “มันใช้ได้ แต่จริง ๆ ก็ไม่เชิง”
    มันสะท้อนกระแส LLM/AI สร้างสรรค์ได้ดี คือทุ่มความพยายามซับซ้อนมากเพื่อทำให้ตัวอย่างแคบ ๆ เพียงอย่างเดียวออกมาถูกต้อง ซึ่งดูเหมือนจะเกือบได้ แต่สุดท้ายก็ยังไม่ถึงขั้นใช้ได้จริง

    • ถ้ามันใช้ได้สักบางส่วนก็มีประโยชน์แล้ว
      มนุษย์ตรวจได้ง่ายว่าตัวเลขถูกไหม และถ้าผิดก็แค่สร้างภาพใหม่
      มัน ง่ายกว่าหลายหลัก เมื่อเทียบกับการสร้างภาพตั้งแต่ต้นโดยไม่มีโมเดล
  • ผมนึกว่ากับโจทย์คลาสสิกอย่าง “SVG ของนกกระทุงขี่จักรยาน” อาจลองใช้แนวทางกลับกันได้
    ถ้าให้มันพ่น SVG ออกมาตรง ๆ คุณภาพก็น่าจะแย่แน่ ๆ
    แต่การสร้างภาพนั้นทำ ภาพสมจริง สวย ๆ ได้ง่ายอยู่แล้ว ดังนั้นอาจสร้างภาพก่อน แล้วให้โมเดลไล่ตามภาพนั้นเพื่อทำเป็น SVG ก็อาจเป็นวิธีที่ดีในการได้ SVG นกกระทุงขี่จักรยานที่ใช้ได้
    ท้ายที่สุดแล้ว แม้แต่มนุษย์เองก็น้อยคนนักที่จะสร้างงานศิลปะ SVG ด้วยการพิมพ์ตัวเลขล้วน ๆ ลงใน notepad แก่นสำคัญก็ยังอยู่ที่การมองมันเป็นภาพและคิดผ่านภาพนั้น

  • มันยังดูคล้ายกับวิธีที่มนุษย์พยายามทำสิ่งต่าง ๆ ให้แม่นยำด้วย
    ถ้าขอให้ศิลปินวาดก้อนหินจำนวนมากเรียงเป็นวงกลมใหญ่ พร้อมใส่หมายเลขตามลำดับให้ครบในครั้งเดียวโดยไม่มีการแก้หรือสเก็ตช์เลย ก็ไม่แปลกที่จะเกิด ความผิดพลาดในการจัดวาง