Quantization-Aware Healing: กลั่นความรู้จากโมเดลต้นฉบับ ไม่ใช่จากซากที่บีบแล้ว — สูตรที่ทำให้โมเดล 4-bit ชนะรุ่น bf16 ของตัวเองใน 7 จาก 9 เบนช์มาร์ก
มีสมมติฐานหนึ่งที่ฝังอยู่ในวิธีคิดของทุกคนที่รันโมเดลบนเครื่องตัวเอง: โมเดลควอนต์คือโมเดลที่แย่ลง คำถามมีแค่ว่าแย่ลงแค่ไหนถึงจะยอมรับได้ Q4 พอไหว Q3 เริ่มเพี้ยน Q2 คือของเล่น เราต่อรองกับความเสื่อม ไม่เคยต่อรองกับทิศทางของมัน
บทความที่ Multiverse Computing เผยแพร่บนบล็อก Hugging Face เมื่อ 25 สิงหาคม 2026 — พร้อมเปเปอร์ arXiv:2608.20953 ที่ส่งเมื่อ 21 สิงหาคม — เสนอว่าสมมติฐานนั้นไม่จำเป็นต้องจริง และเหตุผลที่มันดูเหมือนจริงมาตลอดคือเรา เลือกครูผิดคน
ปัญหา: QAT ปกติกำลังไล่ตามเป้าที่เสียหายแล้ว
ขั้นตอนมาตรฐานของการบีบโมเดลใหญ่เป็นแบบนี้: เอาโมเดลต้นฉบับ (ในงานนี้คือ gpt-oss 120B) มาตัดขนาดลงเหลือสถาปัตยกรรมเล็กกว่า (60B) แล้ว “กู้คืน” ความสามารถด้วยการเทรนต่อจนได้เช็กพอยต์ bf16 ที่ใช้ได้ จากนั้นค่อยควอนต์เป็น 4-bit แล้วทำ QAT (quantization-aware training) เพื่อชดเชยความเสียหายจากการควอนต์
จุดอ่อนอยู่ที่ขั้นสุดท้าย QAT ปกติจะให้โมเดล 4-bit ไล่ตามเช็กพอยต์ bf16 ของสถาปัตยกรรม 60B นั้น — แต่เช็กพอยต์ตัวนั้น ไม่ใช่โมเดลที่ดี มันคือซากที่เพิ่งผ่านการตัดขนาดมาและถูกกู้คืนอย่างเร่งรีบ ตามที่บทความชี้ ไม่มี “รุ่น full-precision ที่เทรนมาอย่างอิสระของสถาปัตยกรรมเล็กนี้” อยู่จริงเลย สิ่งที่เราใช้เป็นเป้าคือของทดแทนที่บกพร่องอยู่ก่อนแล้ว เท่ากับเรากำลังบังคับให้นักเรียนลอกการบ้านของนักเรียนที่ทำผิดมาก่อน
วิธีแก้: ข้ามเช็กพอยต์กลาง ไปกลั่นจากต้นฉบับเลย
Quantization-Aware Healing (QAH) เปลี่ยนแค่จุดเดียว — แต่เป็นจุดที่เปลี่ยนทุกอย่าง: ครูคือโมเดล 120B ต้นฉบับก่อนบีบ ไม่ใช่เช็กพอยต์ 60B ที่กู้มา
รายละเอียดที่ตามมา:
- นักเรียน (โมเดล 60B MXFP4) ไม่เห็น hard label เลย เห็นแค่การกระจายความน่าจะเป็นของครู จับคู่ผ่าน KL divergence บน logits
- ใช้ chunked KL loss เพื่อทำ healing บนบริบทยาวได้ถึง 32K โดยไม่ระเบิดหน่วยความจำ
- ไม่ต้องจูนไฮเปอร์พารามิเตอร์มาก และเทรนยาว ๆ ได้โดยไม่พัง
ผลด้านความเร็วในการลู่เข้าชัดมาก: QAH เข้าที่ในราว 100 สเต็ป ขณะที่ QAT ปกติต้องใช้ราว 700 สเต็ป — เร็วกว่าราว 7 เท่า
ตัวเลข — และการอ่านตัวเลขนี้ให้ถูก
นี่คือส่วนที่ต้องระวังที่สุด เพราะพาดหัวที่วิ่งอยู่ตามสื่อว่า “โมเดล 4-bit ชนะ full-precision” อ่านง่ายเกินไปจนคลาดเคลื่อน ตารางเปรียบเทียบคือ 60B MXFP4 (QAH) เทียบกับ 60B BF16 — คือสถาปัตยกรรมที่บีบแล้วเหมือนกัน ต่างกันแค่ความละเอียดของน้ำหนัก ไม่ใช่ การเทียบกับ gpt-oss 120B ต้นฉบับ:
| เบนช์มาร์ก | 60B BF16 | 60B MXFP4 (QAH) | ต่าง |
|---|---|---|---|
| AA-LCR (บริบทยาว) | 35.3 | 42.7 | +7.4 |
| AIME 2025 | 70.7 | 76.3 | +5.6 |
| Aider (agentic coding) | 38.2 | 40.9 | +2.7 |
| τ²-bench | 59.4 | 61.7 | +2.3 |
| GPQA Diamond | 65.7 | 67.4 | +1.7 |
| IFBench | 58.4 | 59.9 | +1.5 |
| LiveCodeBench | 65.5 | 66.5 | +1.0 |
| MMLU-Pro | 74.0 | 73.8 | −0.2 |
| SciCode | 35.6 | 34.2 | −1.4 |
ชนะ 7 จาก 9 แพ้สองรายการด้วยส่วนต่างที่เล็กกว่าฝั่งที่ชนะมาก ส่วนการเทียบกับ โมเดล 120B ต้นฉบับ บทคัดย่อของเปเปอร์ใช้คำว่า “ให้ผลเทียบเคียงได้บนเบนช์มาร์กส่วนใหญ่” ขณะที่ใช้หน่วยความจำน้อยกว่ามาก — นั่นคือคำกล่าวอ้างที่แท้จริง และมันก็แรงพออยู่แล้วโดยไม่ต้องขยาย
ทำไม 4-bit ถึง ดีกว่า bf16 ของตัวเองได้? คำอธิบายที่ตรงไปตรงมาที่สุดคือ ตัวเลขที่ชนะไม่ได้มาจากความละเอียด 4 บิต แต่มาจาก สัญญาณสอนที่ดีกว่า — เช็กพอยต์ bf16 ถูกกู้คืนมาโดยไม่เคยได้รับการกลั่นจากครู 120B ส่วนรุ่น MXFP4 ได้ ความละเอียดที่หายไปถูกชดเชยด้วยข้อมูลที่ได้เพิ่มมามากกว่า สิ่งที่บทความพิสูจน์จริง ๆ จึงไม่ใช่ “4 บิตดีกว่า 16 บิต” แต่คือ “ขั้นตอนกู้คืนแบบเดิมทิ้งประสิทธิภาพไว้บนโต๊ะเยอะกว่าที่ความละเอียดของน้ำหนักทำเสียอีก”
น้ำหนักที่เกี่ยวข้องมีอยู่จริงบน Hugging Face — MultiverseComputingCAI/Hypernova-60B-2605 ปล่อยใต้ Apache-2.0 แต่ควรพูดให้ตรง: เป็น repo ที่มีมาตั้งแต่เดือนเมษายนและอัปเดตล่าสุดเมื่อ 7 สิงหาคม สิ่งที่ใหม่คือ สูตรและเปเปอร์ ไม่ใช่โมเดล
มุมมอง AI Curator
เสน่ห์ของงานนี้อยู่ที่มันไม่ต้องการฮาร์ดแวร์ใหม่ สถาปัตยกรรมใหม่ หรือข้อมูลใหม่ — มันเปลี่ยนแค่ว่า loss ชี้ไปที่อะไร นี่คือประเภทของงานที่ทำซ้ำได้จริงและมักแพร่เร็วกว่างานที่ต้องซื้อ GPU เพิ่ม
ผลกระทบที่ผมสนใจที่สุดไม่ใช่กับ Multiverse Computing แต่กับ คนทำ GGUF และ quant ทั้งระบบนิเวศ ทุกวันนี้ workflow มาตรฐานคือรอโมเดลออก แล้วควอนต์แบบ post-training แล้วรายงานว่า perplexity ขยับขึ้นเท่าไหร่ — เป็นวัฒนธรรมที่ยอมรับความเสื่อมเป็นค่าเริ่มต้น QAH บอกว่าถ้าคุณมีโมเดลต้นฉบับอยู่ในมือ (ซึ่งคนทำ quant มีเสมอ) คุณมีครูชั้นดีที่ไม่ได้ใช้ประโยชน์นั่งอยู่เฉย ๆ ในเครื่อง คำถามคือมีใครจะรับความยุ่งยากของการทำ healing loop 100 สเต็ปแทนการรัน llama-quantize หนึ่งบรรทัดหรือไม่ ผมคิดว่ากลุ่มที่ทำอยู่แล้วอย่าง Unsloth และ Liquid AI (ที่เพิ่งปล่อย LFM2.5 Q4_0 แบบ quantization-aware distillation เมื่อสัปดาห์ก่อน) จะเป็นคนพิสูจน์เรื่องนี้ก่อน
สำหรับนักพัฒนาไทย ความหมายเชิงปฏิบัติชัดเจน: ต้นทุนหลักของการรันโมเดลในประเทศคือ VRAM และ VRAM คือของที่แพงและหาซื้อยากที่สุด ทุกจุดทศนิยมที่กู้คืนได้ที่ 4-bit แปลตรง ๆ เป็นการ์ดที่ไม่ต้องซื้อเพิ่ม แต่มีข้อควรระวังที่ต้องพูดคู่กันเสมอ — เบนช์มาร์กเหล่านี้เป็นภาษาอังกฤษทั้งหมด และการควอนต์เป็นที่รู้กันว่ากระทบภาษาที่มีข้อมูลน้อยหนักกว่าภาษาอังกฤษอย่างไม่สมส่วน โทเคไนเซอร์ใช้โทเคนต่อคำไทยมากกว่า และการกระจายความน่าจะเป็นบนหางยาวก็เปราะกว่า ใครจะเอาสูตรนี้ไปใช้กับงานภาษาไทย ต้องวัดกับชุดทดสอบไทยเอง อย่าถือว่าตัวเลข +7.4 บน AA-LCR จะตามมาด้วย
และหากมองยาว งานนี้เป็นสัญญาณของแนวโน้มที่เริ่มเห็นชัดขึ้นตลอดปี 2026: การบีบอัดกำลังกลายเป็นขั้นตอนการเทรน ไม่ใช่ขั้นตอนหลังการเทรน โมเดลจะไม่ถูก “ควอนต์” อีกต่อไป แต่จะถูก “เทรนให้เล็ก” ตั้งแต่ต้น — และเมื่อถึงจุดนั้น การเปรียบเทียบ Q4 กับ FP16 ที่เราคุ้นเคยจะเลิกมีความหมาย
แหล่งข่าว
อ่านเพิ่มในหมวด งานวิจัย
Anthropic ให้ Claude สร้างชุดข้อมูลที่ดูไร้พิษภัยแต่ทำโมเดลเบี้ยว ซ่อนในเรื่องเลี้ยงผึ้งและมวยปล้ำ จนผ่านระบบตรวจที่คล้ายของจริง
ทีม Alignment ของ Anthropic ให้ Claude ปีนหาชุดข้อมูล fine-tune ที่หลบ monitor ได้ ผลคือซ่อนพฤติกรรมในงานเขียนแนวบทบาทสมมติ และโมเดลที่เทรนแล้วนำไปใช้ในบุคลิกตัวเอง ผลซ้ำได้บน Qwen 3.6 27B แต่การทดลองเอื้อฝ่ายโจมตีมากและไม่ได้สะท้อนโมเดลที่ใช้งานจริง
Memdoor ทำซ้ำ GVS5H ได้: ทีม Qwen3.8-27B ห้าตัวตามทัน Fable 5 บนโจทย์ LiveCodeBench Hard แต่ผู้ทำบอกเองว่า 'เท่า' ไม่ใช่ 'ชนะ'
Memdoor ปล่อย workflow team-solve ที่เขียนวิธี GVS5H เป็น YAML ล้วนและทำคะแนน 9.8/10 บน LiveCodeBench Hard 10 ข้อ เทียบกับ 8.0 ของ Fable 5 แบบเรียกครั้งเดียว แต่ตัวอย่างเล็กและมีข้อจำกัด ส่วนงานวิจัยต้นฉบับชี้ว่าวิธีนี้ไม่ได้ช่วยทุกโมเดล
QwenPU รัน LLM ซ้อนใน LLM ด้วยหน่วยเวกเตอร์ที่คอมไพล์ลงในน้ำหนัก Qwen3.5-4B ส่วน bootgpt ทำให้เครื่อง 386 บูตเข้าโมเดลภาษาโดยไม่มี OS
ผู้สร้าง Qwenputer ปล่อย QwenPU เมื่อ 31 ต.ค. รัน stories260K ของ Karpathy บนหน่วยเวกเตอร์ที่คอมไพล์ลงในน้ำหนัก Qwen3.5-4B ลดเหลือ 53,000 trace token ต่อหนึ่ง token เรื่องเล่า วันเดียวกัน bootgpt ใส่โมเดล int8 ขนาด 11.5KB ให้บูตบนเครื่อง 386 โดยไม่มี OS