บทความโดยทีม AIServer.in.th — 25 กันยายน 2026
สัปดาห์ที่แล้วเราเพิ่งส่ง Qwen-Image 2.1 เข้าชุดโมเดลของ AI Server Suite พร้อมโหมด “ข้อความไทยในภาพ” ที่เขียนป้ายภาษาไทยได้สะกดถูก สิ่งเดียวที่ลูกค้าบ่นเหมือนกันหมดคือ มันช้า — กดสร้างป้ายหนึ่งใบ รอ 40 วินาที
วันที่ 24 กันยายน Pruna AI ปล่อย Pruna-Qwen-Image-2.1 ออกมา เป็นไฟล์ LoRA ขนาด 336 MB ที่เสียบทับโมเดลเดิมแล้วอ้างว่าเร็วขึ้นได้ถึง 6.3 เท่า จาก 40 steps เหลือ 8 steps
เราเอามาวัดเองบน DGX Spark 48 ภาพ ได้เร็วขึ้นจริง 3.05 เท่า (36.7 วินาที → 12.0 วินาที) โดยตัวอักษรไทยไม่เสียเลยสักใบจาก 24 คู่
บทความนี้จะอธิบายสองเรื่อง: มันทำงานยังไง และ ทำไมถึงได้ 3 เท่า ไม่ใช่ 5 เท่า — ซึ่งคำตอบข้อหลังมาจากตัวเลขที่เราวัดเอง และบอกอะไรที่มีประโยชน์กับคนทำงานจริงมากกว่าตัวเลขโฆษณา
1. ทำไมโมเดลภาพถึงช้าตั้งแต่แรก
โมเดลสร้างภาพยุคนี้ทำงานแบบ diffusion — เริ่มจากภาพที่เป็นสัญญาณรบกวนล้วน ๆ (noise) แล้วค่อย ๆ “ลบ noise” ทีละนิดจนกลายเป็นภาพ
จุดสำคัญคือคำว่า ทีละนิด แต่ละขั้นคือการยิงข้อมูลผ่านตัวโมเดล 7 พันล้านพารามิเตอร์ หนึ่งรอบเต็ม แล้วเอาผลมาขยับภาพนิดหนึ่ง จากนั้นทำซ้ำ
ค่ามาตรฐานของ Qwen-Image 2.1 คือ 40 ขั้น แปลว่ากว่าจะได้ภาพหนึ่งใบ เครื่องต้องคำนวณโมเดล 7B ครบ 40 รอบ
ทำไมต้องซอยละเอียดขนาดนั้น? เพราะการลบ noise คือการเดินตาม “เส้นทาง” จากความมั่วไปหาภาพ ถ้าก้าวใหญ่เกินจะเลี้ยวพลาดโค้ง ได้ภาพเบลอหรือเละ การซอยถี่ทำให้แต่ละก้าวเล็กพอจะเกาะเส้นทางได้ — จ่ายด้วยเวลา แลกกับความแม่น
คำถามของงานวิจัยสายเร่งความเร็วจึงเป็นคำถามเดียว: จะสอนให้มันก้าวใหญ่โดยไม่ตกโค้งได้ไหม
2. Distillation — ให้ “ครู” สอน “นักเรียน” ให้ก้าวใหญ่
คำตอบคือเทคนิคชื่อ distillation (การกลั่น) หลักการคือ
- ครู = โมเดลเดิมที่เดิน 40 ก้าว ช้าแต่แม่น
- นักเรียน = โมเดลที่เราอยากได้ ซึ่งต้องเดินให้ถึงที่เดียวกันด้วย 8 ก้าว
เราเอาครูมาสร้างตัวอย่างจำนวนมหาศาล แล้วฝึกนักเรียนให้ “ไปถึงจุดเดียวกัน” ด้วยก้าวที่ใหญ่กว่า
วิธีฝึกมีหลายสำนัก แต่ละสำนักนิยามคำว่า “ไปถึงจุดเดียวกัน” ไม่เหมือนกัน:
| วิธี | นิยามของ “เหมือนครู” |
|---|---|
| Progressive distillation | สอนให้นักเรียนทำ 2 ก้าวของครูรวบเป็น 1 ก้าว แล้วทำซ้ำเรื่อย ๆ 40→20→10→… |
| Consistency / LCM | บังคับว่าทุกจุดบนเส้นทางเดียวกันต้องชี้ไปที่ปลายทางเดียวกัน |
| Adversarial (ADD, SDXL-Turbo) | ใส่ “กรรมการ” มาคอยทายว่าภาพไหนของจริง นักเรียนต้องหลอกกรรมการให้ได้ |
| DMD (Distribution Matching Distillation) | ไม่สนว่าเดินทางเดียวกันไหม ขอแค่ ภาพที่ออกมาอยู่ในกองเดียวกับของครู |
Pruna ใช้ DMD — การ์ดโมเดลเขียนไว้ตรง ๆ ว่า “Training is based on DMD”
3. DMD ทำงานยังไง
DMD มาจากงานของ MIT/Adobe และเป็นวิธีที่ฉลาดตรงที่เลิกพยายามลอกเส้นทาง
ลองนึกว่าครูวาดรูปแมว 1 ล้านรูป กองรวมกันไว้ นั่นคือ “การกระจายตัว” ของผลงานครู DMD ไม่สนใจว่าครูลากเส้นไหนก่อนหลัง มันสนใจแค่ว่า กองรูปของนักเรียนต้องหน้าตาเหมือนกองรูปของครู
วิธีวัดว่า “สองกองเหมือนกันไหม” DMD ใช้โมเดลสองตัวช่วยดู:
- ครูที่แช่แข็งไว้ — บอกว่า “ภาพแบบนี้ ของจริงควรขยับไปทางไหน”
- โมเดลผู้ช่วยที่ฝึกไปพร้อมกัน — คอยตามดูว่า “ภาพที่นักเรียนออกตอนนี้ กองอยู่ตรงไหน”
ผลต่างของสองตัวนี้คือทิศที่นักเรียนต้องขยับ ถ้ากองของนักเรียนเบ้ไปทางไหน ผลต่างจะดันกลับมา ฝึกไปเรื่อย ๆ จนสองกองทับกัน
ข้อดีของการเล็งที่ “กอง” แทน “เส้นทาง” คือนักเรียนมีอิสระจะหาทางลัดของตัวเอง ไม่ต้องเลียนแบบครูทีละก้าว จึงบีบลงเหลือ 8 ก้าวได้โดยภาพยังสวย
และข้อเสียก็มาจากจุดเดียวกัน — เพราะเกณฑ์คือ “อยู่ในกองเดียวกัน” ไม่ใช่ “ตรงตามที่สั่งเป๊ะ” นักเรียนจึงมีแนวโน้มออกภาพที่ ดูเป็นธรรมชาติ มากกว่า ตรงคำสั่ง — เดี๋ยวเราจะเห็นผลข้อนี้ชัดมากในหัวข้อ 6
4. ทำไมถึงเป็น LoRA แค่ 336 MB
ปกติ distillation จะได้ “โมเดลใหม่” ออกมาทั้งก้อน ซึ่งกรณีนี้จะหนัก 12 GB แต่ Pruna เลือกเก็บผลการฝึกในรูป LoRA
LoRA (Low-Rank Adaptation) คือการไม่แก้น้ำหนักเดิมเลยสักตัว แต่เก็บ “ส่วนต่าง” ไว้ในเมทริกซ์เล็ก ๆ สองชุดที่คูณกันแล้วได้ขนาดเท่าของเดิม — เหมือนแทนที่จะถ่ายเอกสารหนังสือทั้งเล่มเพื่อแก้ 20 หน้า ก็เก็บแค่ใบแทรก 20 ใบ
ผลคือ:
- ไฟล์ 336 MB แทน 12 GB
- ใช้โมเดลฐานตัวเดิม ไม่ต้องโหลดใหม่ ไม่กินดิสก์เพิ่ม
- ถอดได้ อยากได้คุณภาพเต็มก็ปิด LoRA อยากเร็วก็เปิด ใช้โมเดลก้อนเดียวกัน
ในไฟล์แปลงสำหรับ ComfyUI ระบุไว้ว่าเป็น rank 64, alpha 128 — ตัวเลขนี้คือ “ความหนาของใบแทรก” ยิ่งสูงยิ่งจำรายละเอียดได้มากแต่ไฟล์ใหญ่ขึ้น
5. ของแถมสองอย่างที่ต้องตั้งให้ถูก ไม่งั้นได้ภาพเละ
นี่คือจุดที่คนลองแล้วบ่นว่า “ใช้ไม่ได้” กันเยอะที่สุด เสียบ LoRA แล้วลด steps เฉย ๆ ไม่พอ
หนึ่ง — ตารางก้าวเฉพาะตัว (sigma schedule)
นักเรียนถูกฝึกมาให้ก้าวตามจังหวะหนึ่ง ๆ ที่ไม่เท่ากันทุกก้าว ของ Pruna 8 ขั้นคือ
1.0 → 0.933 → 0.857 → 0.769 → 0.667 → 0.545 → 0.4 → 0.222 → 0
สังเกตว่าช่วงต้นก้าวสั้น ช่วงท้ายก้าวยาว ถ้าปล่อยให้ตัวจัดตารางมาตรฐานคำนวณเอง จังหวะจะไม่ตรงกับที่ฝึกมา แล้วภาพจะเละ ใน ComfyUI ต้องป้อนด้วย node ManualSigmas คู่กับ SamplerCustom — ใช้ KSampler ธรรมดาแล้วตั้ง steps=8 ไม่ได้
สอง — ปิด CFG
CFG (classifier-free guidance) คือกลไกที่ทำให้ภาพเกาะคำสั่งมากขึ้น โดยยิงโมเดลสองรอบต่อหนึ่งก้าว (รอบหนึ่งมี prompt รอบหนึ่งไม่มี) แล้วดึงผลต่างให้แรงขึ้น — ราคาคือช้าขึ้นเท่าตัว
โมเดลที่กลั่นมาแบบนี้จะถูกฝึกให้ “ซึมซับผลของ CFG ไว้ในตัวแล้ว” ถ้าไปเปิด CFG ซ้ำอีกจะกลายเป็นดันสองเด้ง ภาพจะไหม้สีเกินจริง เพราะฉะนั้นต้องตั้ง cfg = 1 ซึ่งแปลว่า negative prompt จะไม่มีผลใด ๆ ด้วย (ข้อนี้สำคัญ เดี๋ยวจะพูดถึงอีกที)
6. วัดจริงบน DGX Spark — และทำไมถึงได้ 3 เท่า ไม่ใช่ 5 เท่า
40 ขั้นเหลือ 8 ขั้น คือลดงานลง 5 เท่า แต่เราวัดได้ 3.05 เท่า ทำไม?
เพราะ ไม่ใช่ทุกวินาทีในการสร้างภาพที่เป็นค่าเดินขั้น ยังมีงานที่ต้องทำเท่าเดิมไม่ว่าจะกี่ขั้น ได้แก่การอ่าน prompt ด้วยตัวเข้ารหัสข้อความ (ซึ่งของ Qwen-Image 2.1 เป็นโมเดล 8B ต่างหาก) และการแปลงผลลัพธ์กลับเป็นภาพจริงด้วย VAE
เอาตัวเลขที่วัดได้มาแยกสองส่วนได้ตรง ๆ จากสมการสองตัวแปร:
40 ขั้น: 40c + f = 36.7 วินาที
8 ขั้น: 8c + f = 12.0 วินาที
แก้ออกมาได้ c ≈ 0.77 วินาทีต่อขั้น และ f ≈ 5.8 วินาทีคงที่
แปลว่าในงาน 1024×1024 บน GB10 การเดิน 40 ขั้นกินเวลา 31 วินาที ส่วนอีก 5.8 วินาทีเป็นค่าคงที่ที่ LoRA ช่วยอะไรไม่ได้เลย — นั่นคือเพดานที่ทำให้ 5 เท่าเหลือ 3 เท่า
ข้อดีของการรู้ตัวเลขนี้คือมันทำนายได้ ถ้าค่าคงที่ ~5.8 วินาทีจริง งานที่ภาพใหญ่ขึ้น (ค่าต่อขั้นแพงขึ้น) ควรได้ตัวคูณที่ดีกว่า เราเลยลองที่ 2048×2048:
| 40 ขั้น | 8 ขั้น | เร็วขึ้น | |
|---|---|---|---|
| 1024×1024 | 36.7 วิ | 12.0 วิ | 3.05× |
| 2048×2048 | 264 วิ | 57 วิ | 4.63× |
แยกส่วนที่ 2K ได้ c ≈ 6.5 วินาทีต่อขั้น, f ≈ 5.2 วินาที — ค่าคงที่เท่าเดิมเป๊ะ ตรงตามที่ทำนาย
บทเรียนสำหรับคนเลือกใช้: ยิ่งงานหนัก LoRA ยิ่งคุ้ม ภาพเล็ก ๆ ที่เดิมก็เร็วอยู่แล้ว จะได้กำไรน้อยกว่าที่โฆษณาเสมอ ไม่ใช่เพราะโฆษณาเกินจริง แต่เพราะตัวเลข 6.3× ของเขาวัดเฉพาะส่วนที่เป็นการเดินขั้นบน H100 ซึ่งคนละสภาพกับเวลาที่ผู้ใช้จับได้จริงตั้งแต่กดปุ่มจนเห็นภาพ
7. แล้วต้องจ่ายอะไรบ้าง
เราวัดโหมดข้อความไทย 12 ข้อความ × 2 seed = 24 คู่ ด้วยตาคนไทย
เรื่องดี: การสะกดไม่เสียเลยสักใบ — ถูก 24/24 ทั้งสองฝั่ง รวมถึงคำที่ยากจริงอย่าง ร้านก๋วยเตี๋ยวเรือ (ไม้ตรีบวกสระซ้อนสองชั้น) ยินดีต้อนรับ / สู่เชียงใหม่ และ ลดล้างสต๊อก 70% นี่เกินความคาดหมายของเรามาก เพราะตัวอักษรคือรายละเอียดเล็กที่สุดในภาพ และเป็นสิ่งแรกที่มักพังเวลาบีบขั้นตอน
เรื่องที่ต้องจ่าย: มันแถมข้อความที่ไม่ได้สั่ง
| เจอ | คิดเป็น | |
|---|---|---|
| Pruna 8 ขั้น | 4 / 24 | 17% |
| ของเดิม 40 ขั้น | 1 / 24 | 4% |
อาการคือป้ายมีบรรทัดตัวเล็กมั่ว ๆ พ่วงมาใต้ข้อความจริง และมักเกิดกับฉากที่ “ควรมีข้อความเยอะ” ตามธรรมชาติ เช่นการ์ดเมนูอาหาร หรือป้ายร้านที่มีแถบว่างด้านล่าง ส่วนป้ายสั้น ๆ อย่างป้ายห้ามจอดรถไม่เคยเกิดเลย
ย้อนกลับไปดูหัวข้อ 3 แล้วจะเข้าใจว่าทำไม — DMD ฝึกให้ภาพ “อยู่ในกองเดียวกับของจริง” และในกองรูปป้ายเมนูของจริงทั้งโลก ป้ายเมนูมีข้อความเยอะเป็นเรื่องปกติ นักเรียนจึงเติมให้ตามธรรมชาติของกอง ทั้งที่เราไม่ได้สั่ง เมื่อบวกกับการที่ต้องปิด CFG (ซึ่งเป็นกลไกที่คอยบังคับให้เกาะคำสั่ง) และมีโอกาสแก้ทางแค่ 8 ครั้งแทน 40 ครั้ง ผลจึงออกมาแบบนี้
อีกเรื่องที่เจอ: 2K ใช้ไม่ได้ เราสั่งป้าย ร้านอาหารบ้านสวน ที่ 2048² ได้กลับมาเป็น ร้อาหารเ้าสวน ตัวหนังสือหายไปสองตัว ตรงกับที่การ์ดโมเดลเขียนไว้เองว่าฝึกที่ 1K เท่านั้น — ของที่โมเดลไม่เคยเห็นตอนฝึก มันทำไม่ได้ ไม่มีข้อยกเว้น
8. สรุปสำหรับคนที่จะเอาไปใช้
- เร็วขึ้นจริง และตัวอักษรไทยไม่เสีย — นี่คือข่าวดีที่แท้จริงของงานนี้
- ตั้งค่าให้ถูกก่อนตัดสิน — ต้องมีตาราง sigma ของเขาและปิด CFG ถ้าเสียบ LoRA แล้วลด steps เฉย ๆ จะได้ภาพเละแล้วสรุปผิดว่าของไม่ดี
- ยิ่งภาพใหญ่ยิ่งคุ้ม แต่ ห้ามเกิน 1K เพราะเขาไม่ได้ฝึกมา — สองข้อนี้ขัดกัน ต้องเลือกจุดที่ลงตัว
- ระวังข้อความแถม โดยเฉพาะงานป้าย/เมนูที่มีพื้นที่ว่าง — เป็นราคาที่ต้องจ่ายสำหรับความเร็ว 3 เท่า
สำหรับ AI Server Suite เรายังไม่เอาเข้าชุดสินค้าในรอบนี้ เพราะอัตราการแถมข้อความ 17% สูงเกินกว่าจะปล่อยให้ลูกค้าเจอเองโดยไม่มีสวิตช์ควบคุม แต่ทิศทางถูกแล้ว และเราจะลองกดอาการนี้ลงก่อนตัดสินใจอีกครั้ง
หมายเหตุเรื่องสัญญาอนุญาต: LoRA ตัวนี้เป็นงานต่อยอดจาก Qwen-Image 2.1 จึงอยู่ใต้ Qwen Research License เหมือนโมเดลฐาน — ภาพที่คุณสร้างเป็นของคุณ แต่การเอาตัวโมเดลไปใช้ในกิจการควรขอใบอนุญาตเชิงพาณิชย์ก่อน รายละเอียดอยู่ในบทความเรื่อง license ของเราเมื่อวันที่ 22 กันยายน
ทุกตัวเลขในบทความนี้วัดเองบน NVIDIA DGX Spark (GB10) ด้วย Qwen-Image 2.1 int8 ตัวเดียวกับที่อยู่ในชุดโมเดลของ AI Server Suite — 48 ภาพสำหรับชุดหลัก และอีก 8 ภาพสำหรับทดสอบโหมดอื่น