vLLM 0.29 เปลี่ยนเครื่องยนต์เป็น Model Runner V2 ทุกโมเดล — V1 ถูกประกาศเลิกใช้ ตั้งเป้าลบใน 0.32 และ api_server แบบเดิมถูก deprecate
vLLM ปล่อยเวอร์ชัน 0.29.0 เมื่อ 9 ก.ย. 2026 รวม 594 คอมมิตจากผู้ร่วมพัฒนา 277 คน (หน้าใหม่ 91 คน) สิ่งที่สำคัญที่สุดในรุ่นนี้ไม่ใช่รายชื่อโมเดลใหม่ แต่คือ Model Runner V2 (MRV2) กลายเป็นค่าเริ่มต้นของทุกโมเดลแล้ว ต่อจากการทยอยเปลี่ยนที่เริ่มกับ pooling models ก่อนหน้านี้ ทีมยังประกาศว่า Model Runner V1 เลิกใช้แล้ว (deprecated) และตั้งเป้าลบออกใน v0.32
สำหรับคนที่รัน vLLM บน production นี่คือรุ่นที่ควรทดสอบก่อนอัปเกรด เพราะเครื่องยนต์หลักที่ใช้รันโมเดลเปลี่ยนตัว มีค่าเริ่มต้นใหม่หลายตัว และมีการถอดของออกหลายอย่าง
MRV2 เป็นค่าเริ่มต้น แต่ยังมีบางกรณีที่ถอยกลับไป V1
ในรุ่นนี้ MRV2 ได้ความสามารถเพิ่มหลายอย่าง เช่น การวัดหน่วยความจำของ CUDA graph เพื่อกำหนดขนาด KV cache อัตโนมัติ, sampling แบบแบ่งตาม batch ที่ลดหน่วยความจำ logits ต่อสเต็ปลงเหลือ 1/TP และรองรับ prompt embeds กับ speculation แบบ extract_hidden_states
ข้อที่ต้องรู้คือ ยังมีฟีเจอร์ที่ MRV2 ไม่รองรับ และถ้าเปิดใช้ฟีเจอร์เหล่านี้ vLLM จะถอยกลับไปใช้ MRV1 เองโดยอัตโนมัติ ได้แก่ sequence parallelism, dual-batch overlap, elastic expert parallelism, custom logits processors และ speculative decoding บางแบบ ทีมระบุว่าจะปิดช่องว่างเหล่านี้ภายใน 2–3 สัปดาห์ นอกจากนี้ MRV1 ยังถูกใช้กับโมเดลบางตัวบน ROCm ด้วย ทีมบอกว่าจะไม่รับการปรับปรุงที่เฉพาะกับ MRV1 อีกแล้ว
โมเดลใหม่และงานเร่งความเร็ว
- Hy4-preview ของ Tencent: MoE 770B (active 49B) ที่ใช้ Gated DeepSeek Sparse Attention และมี MTP ในตัว
- Qwen3.8-Flash-Next รองรับ BF16 / FP8 / NVFP4 และ MTP
- GraniteSWA / GraniteMoeSWA, NemotronH_Omni_Reasoning_V3 (พร้อม MTP) และ checkpoint NVFP4 ของ Kimi K3
- Kimi-K3: ผสาน MXFP4 top-k finalization ใน latent tail ได้ latency end-to-end ดีขึ้นราว 5%, เตรียม metadata ของ Mamba ใน Triton launch เดียวได้ kernel เร็วขึ้น 6.6–7.6 เท่า และ GEMM แบบ low-latency ที่จูนสำหรับ Hopper ตอนนี้ใช้กับ SM100 ด้วย
- DeepSeek V4: ผสาน shared experts เข้าไปใน MegaMoE และเพิ่ม backend expert
moe_epของ FlashInfer ให้เลือกเปิดใช้ - Mamba prefix caching: checkpoint ระหว่าง prefill ทำให้ TTFT ดีขึ้น 9–25% และ
prefix_cache_retention_intervalกลายเป็น CLI argument ที่ค่าเริ่มต้นเป็น 0 - Speculative decoding: เพิ่มสถิติ acceptance รายคำขอใน response ของ OpenAI API ผ่าน
--per-request-spec-decode-metricsซึ่งช่วยให้ debug ได้ว่า draft model ช่วยจริงแค่ไหนต่อคำขอ
ค่าเริ่มต้นใหม่และ breaking changes: เช็กลิสต์ก่อนอัปเกรด
ค่าเริ่มต้นที่เปลี่ยน
- FlashInfer all-reduce เปิดเป็นค่าเริ่มต้นสำหรับ TP บน CUDA ถ้าต้องการปิดให้ตั้ง
VLLM_ALLREDUCE_USE_FLASHINFER=0 NONE_HASHของ prefix cache เป็นแบบ deterministic แล้ว คนที่ใช้ KV cache แบบกระจายจึงไม่ต้อง pinPYTHONHASHSEEDอีก- มี flag ใหม่สำหรับคุมคิว (admission control) คือ
--max-num-queued-reqsและ--max-num-queued-tokens
Breaking changes
- ถอด สถาปัตยกรรมโมเดลที่ประกาศเลิกใช้ไว้ 10 ตัว ออก (PR #53608) ใครยังรันโมเดลรุ่นเก่าควรเช็กรายชื่อก่อน
- FlexOlmo, Olmo3 และ Hunyuan V1/VL ย้ายไปใช้ Transformers modeling backend
- ถอด backend ถอดรหัสวิดีโอ PyAV
python -m vllm.entrypoints.openai.api_serverถูก deprecate ให้เปลี่ยนไปใช้vllm serveถ้า Dockerfile, systemd unit หรือ Helm chart ของคุณยังเรียกแบบเดิม ควรแก้ตั้งแต่ตอนนี้- ลบ env var
VLLM_TEST_FORCE_FP8_MARLINและVLLM_ROCM_USE_AITER_FP4_ASM_GEMM
ฝั่งงาน RL มี backend ใหม่ sharded_rdt สำหรับ sync น้ำหนักแบบ P2P โดยแต่ละ worker ดึงเฉพาะส่วน TP/EP ของตัวเองผ่าน NIXL หรือ Ray Direct Transport
มุมมอง AI Curator
การเปลี่ยน model runner เป็นเรื่องแบบที่ changelog เขียนไว้บรรทัดเดียว แต่กระทบทุกคนที่รัน vLLM อยู่ ข้อความที่ต้องอ่านให้ดีคือ “vLLM จะถอยกลับไปใช้ MRV1 เองถ้าคุณเปิดฟีเจอร์ที่ MRV2 ยังไม่รองรับ” แปลว่า config สองชุดที่ต่างกันแค่ flag เดียวอาจกำลังรันบนเครื่องยนต์คนละตัวโดยไม่มีใครรู้ ถ้าวัด latency แล้วเจอตัวเลขแปลก ๆ หลังอัปเกรด ให้เริ่มดูจากตรงนี้ก่อน และเมื่อ MRV1 ถูกลบใน 0.32 (ถ้าเป็นไปตามจังหวะออกรุ่นทุกราวสองสัปดาห์ ก็อีกประมาณหนึ่งเดือนครึ่ง) เส้นทางถอยกลับนี้จะหายไป
สำหรับทีมไทยที่ self-host ไม่ว่าจะเพื่อเก็บข้อมูลไว้ในประเทศหรือเพื่อคุมต้นทุน vLLM มักเป็นชั้นที่อยู่ใต้ทุกอย่าง แนะนำให้แยก staging สำหรับ 0.29 โดยเฉพาะ เปลี่ยน entrypoint เป็น vllm serve ให้เรียบร้อย ตรวจว่าโมเดลที่ใช้ไม่อยู่ในสิบสถาปัตยกรรมที่ถูกถอด แล้ววัด throughput และ TTFT เทียบกับ 0.28 ก่อนขึ้น production อีกอย่างที่ควรลองคือ --per-request-spec-decode-metrics เพราะช่วยให้เห็นว่า speculative decoding คุ้มจริงกับ traffic ภาษาไทยของคุณหรือไม่ ซึ่ง acceptance rate ของ draft model กับภาษาไทยมักต่างจากตัวเลขที่วัดด้วยข้อความภาษาอังกฤษ
แหล่งข่าว
อ่านเพิ่มในหมวด เครื่องมือนักพัฒนา
Betelgeuse รัน Qwen3.8 Flash Next ขนาด 68GB บน RTX 3060 กับแรม 16GB ส่วน Basalt วัดให้เห็นว่าเอนจินที่เร่งด้วยแฟล็กลัดทำให้โมเดลลืมของ
Betelgeuse ฟอร์ก llama.cpp ที่เปิดเมื่อ 31 ต.ค. ดึง expert จาก NVMe เข้า VRAM ตามต้องการ อ้าง 22 tok/s แบบไม่ทิ้ง expert แต่ README เตือนเองว่ายังทดลองและตัวเลขมาจากคนละรอบ วันเดียวกันผู้พัฒนา Basalt เผยผลวัดว่าแฟล็กเร่งความเร็วทำคุณภาพ Q8 ตกไปใกล้ Q2
กฎห้ามโคลนเกมของ Claude Code เริ่มกระทบงานจริง บริษัทรับทำเกมกระดานร้องงานลูกค้าหยุด แต่รายงานหลายชิ้นปนกับตัวกรองไซเบอร์คนละเรื่อง
ต่อจากที่เราพบกฎนี้ในไบนารี Claude Code ผู้ใช้เริ่มรายงานว่างานเชิงพาณิชย์ถูกปฏิเสธ และ Tom's Hardware กับ Mashable หยิบไปรายงาน แต่เมื่อไล่ issue ที่อ้างถึง พบว่าหลายรายการเกิดก่อนกฎจะมา จึงน่าจะเป็นตัวกรองด้านไซเบอร์ ส่วน Anthropic ยังไม่ชี้แจง
Claude Code ส่ง transcript ของ background agent ให้โมเดลทุก ~30 วินาทีเพื่อเขียนสถานะ 3–5 คำ ผู้วัดรายงานกินราว 16% และยังปิดแบบทางการไม่ได้
รายงานอิสระพบว่าฟีเจอร์ agent_summary ของ Claude Code ส่ง transcript เต็มของ background agent ไปถามสถานะทุก ~30 วินาที คิดเป็น 16.4% ของค่าใช้จ่ายในระบบของผู้วัด Issue เปิดมาตั้งแต่ ส.ค. ยังไม่มีสวิตช์ปิดที่รองรับ เราตรวจพบโค้ดนี้ใน 2.1.314 และพบกฎใหม่เรื่องเกมที่ไม่อยู่ใน changelog