MTP = Multi-Token Prediction
แปลง่าย ๆ คือ "การเดาโทเค็นหลายตัวพร้อมกัน" มันคือฟีเจอร์ใหม่ใน Gemma 4 ของ Google ที่ทำให้ Local LLM ที่เรารันเองบน GPU บ้าน ๆ เร็วขึ้นแบบก้าวกระโดด
vLLM (เครื่องมือรัน LLM ที่เร็วที่สุด) ยังประกาศรองรับ Day-0 ทันทีที่โมเดลออกเลย
MTP คือ "อัปเกรด" ที่เปลี่ยนจาก "เดา 1 คำต่อครั้ง" เป็น "เดา 2-4 คำพร้อมกัน" โดยไม่เสียคุณภาพข้อความเลยสักนิด
เหมือนเปลี่ยนจากเพื่อนที่พูดช้า ๆ เป็นคำเดียว เป็นเพื่อนที่พูดเป็นประโยคยาว ๆ เลยทันที!
วิธีเก่า (ปกติ): โมเดลต้อง "คิด → เดา 1 โทเค็น → คิด → เดา 1 โทเค็น" ไปเรื่อย ๆ (ช้าเหมือนเดินทีละก้าว)
วิธี MTP (ใหม่): มี "ผู้ช่วยพิเศษ" ชื่อ MTP Drafter (ตัวเบา ๆ) ที่เดาล่วงหน้า 2-4 โทเค็นพร้อมกัน โมเดลหลักแค่ตรวจสอบก้อนใหญ่ ๆ ครั้งเดียว ถ้าผ่านก็รับทั้งก้อนเลย
ใช้ Centroids Masking ทำให้การคำนวณเร็วขึ้น 45 เท่า
Drafter กับโมเดลหลักแชร์ KV Cache กัน (ไม่กินหน่วยความจำซ้ำ)
รับประกันคุณภาพ 100% เหมือนเดิม (เพราะทุกคำที่ drafter เดาจะถูกตรวจสอบก่อน)
ไม่เยอะครับ!
Drafter เป็นตัวเบามาก (lightweight assistant)
แชร์ KV Cache กับโมเดลหลัก → Overhead เพิ่มแค่เล็กน้อย (ประมาณ 5-10% หรือน้อยกว่า)
หลายคนรายงานว่า RAM โดยรวมแทบไม่ต่างจากรันปกติ แต่ได้ความเร็วเพิ่มมหาศาล
Google ประกาศ สูงสุด 3 เท่า (up to 3x)
Sequential (ใช้คนเดียว) → เร็วขึ้น 2.3x
Concurrent (หลายคนใช้พร้อมกัน) → เร็วขึ้น 1.9x
ตัวอย่างจริง: จาก 104 tok/s → พุ่งไป 175 tok/s
วิธีที่ง่ายและเร็วที่สุด (แนะนำ): ใช้ vLLM + Docker (รองรับ Day-0 ทันที)
ตัวอย่าง recipe สำหรับ Gemma 4 26B-A4B: https://recipes.vllm.ai/Google/gemma-4-26B-A4B-it
docker run --rm -it \
--gpus all \
-p 8000:8000 \
vllm/vllm-openai:latest \
--model google/gemma-4-26B-A4B-it \
--speculative-config '{"method": "mtp", "num_speculative_tokens": 4}'
เปลี่ยน --model เป็นตัวที่ต้องการ (มี E2B, E4B, 26B-A4B, 31B) num_speculative_tokens = 4 คือเดา 4 โทเค็น (ยิ่งสูงยิ่งเร็ว แต่ overhead นิดหน่อย)
Ollama → รออัปเดตหรือใช้ backend vLLM
Hugging Face Transformers + vLLM backend
LM Studio หรือ SillyTavern (กำลังอัปเดต support)
เริ่มด้วย Gemma 4 รุ่นเล็กอย่าง E4B ก่อน (กิน RAM น้อย เหมาะเครื่องบ้าน) แล้วค่อยขยับไปรุ่นใหญ่เมื่อชิน
