ข้ามไปยังเนื้อหา
vLLM 0.30 ออกแล้ว — Fast Start เก็บน้ำหนักค้างไว้บน GPU ให้รีสตาร์ต engine ได้โดยไม่ต้องโหลดจากดิสก์, มีระบบลายน้ำ Gumbel-max ในตัว และมี breaking change ที่ต้องเช็กก่อนอัปเกรด
เครื่องมือนักพัฒนา

vLLM 0.30 ออกแล้ว — Fast Start เก็บน้ำหนักค้างไว้บน GPU ให้รีสตาร์ต engine ได้โดยไม่ต้องโหลดจากดิสก์, มีระบบลายน้ำ Gumbel-max ในตัว และมี breaking change ที่ต้องเช็กก่อนอัปเกรด

อ่าน 5 นาที ที่มา: vLLM (GitHub Releases)

vLLM ปล่อยเวอร์ชัน 0.30.0 เมื่อ 22 ก.ย. 2026 รวม 762 คอมมิตจากผู้ร่วมพัฒนา 315 คน (หน้าใหม่ 104 คน) ออกมาห่างจาก 0.29 ที่เปลี่ยนมาใช้ Model Runner V2 เป็นค่าเริ่มต้น เพียงสองสัปดาห์ รุ่นนี้ไม่ได้เปลี่ยนสถาปัตยกรรมหลัก แต่มีฟีเจอร์ด้านการดูแลระบบที่คนรัน vLLM บน production จะได้ใช้ทันที สองตัวที่เด่นที่สุดคือ Fast Start ที่ทำให้รีสตาร์ต engine ได้โดยไม่ต้องโหลดน้ำหนักจากดิสก์ใหม่ และ ระบบลายน้ำข้อความ (watermarking) ที่มีมาในตัว

นอกจากนั้นยังเพิ่มโมเดลใหม่หลายตัว รวมถึงการปรับประสิทธิภาพให้ Qwen3.8-Flash-Next กับ Kimi K3 และมี breaking change หลายข้อที่ต้องตรวจก่อนอัปเกรด

Fast Start — น้ำหนักค้างไว้บน GPU ข้ามการรีสตาร์ต

เวลาที่ใช้รีสตาร์ต engine ส่วนใหญ่หมดไปกับการอ่านน้ำหนักจากดิสก์ quantize และแบ่งตาม tensor parallel ใหม่ทุกครั้ง Fast Start (#54921 ผลงานของทีมจาก Ant Group) แก้ปัญหานี้ด้วย daemon ถาวรหนึ่งตัวต่อ GPU ที่ถือน้ำหนักซึ่ง quantize และแบ่ง TP เสร็จแล้วค้างไว้ในหน่วยความจำ GPU เมื่อ engine เริ่มใหม่ก็แค่แมปน้ำหนักเหล่านั้นผ่าน CUDA IPC แบบ zero-copy ด้วย --load-format ipc_cache ใน 0.30 รองรับทั้ง checkpoint FP4 (#55465) และ TP ข้ามหลายโหนด (#55468) แล้ว

# 1) daemon ถือน้ำหนักไว้
python -m vllm.model_executor.model_loader.weight_cache.daemon \
  --model $MODEL --tensor-parallel-size 4 --weight-cache-socket-dir /path/sock
# 2) engine แมปน้ำหนักจาก daemon แทนการอ่านดิสก์
vllm serve $MODEL --load-format ipc_cache --tensor-parallel-size 4 \
  --model-loader-extra-config '{"socket_dir": "/path/sock", "mode": "zero_copy"}'

(ตัวอย่างจาก PR ต้นทาง) ใช้ได้เฉพาะ CUDA/ROCm บนแพลตฟอร์มอื่นจะแจ้ง error ชัดเจน นอกจากนี้การ freeze gc ระหว่าง capture CUDA graph ยังลดเวลา capture จาก 12 วินาทีเหลือ 2 วินาที และลดเวลา init engine จาก 28.9 เหลือ 8.2 วินาทีบน H200 (#54646) ทั้งสองอย่างช่วยให้ rolling restart และ autoscale เร็วขึ้นมาก

ลายน้ำ Gumbel-max ในตัว

PR #54053 (ตาม RFC #53916) เพิ่ม sampler แบบ Gumbel-max ของ Aaronson และ Kirchner โดยใช้ PRF ที่มีกุญแจเป็นตัวกำหนดผล ทำให้ข้อความที่ได้ดูเป็นธรรมชาติเหมือนเดิม แต่ตรวจย้อนหลังได้ว่ามาจากระบบที่ใส่ลายน้ำหรือไม่ อัลกอริทึมกับกุญแจตั้งไว้ที่ระดับ engine และปิดเป็นรายคำขอได้ด้วย watermarking=false ตัวตรวจ GumbelWatermarkDetector ใช้แค่ token ID ไม่ต้องใช้น้ำหนักโมเดล และใน examples/ มี endpoint ตรวจให้ดูเป็นตัวอย่าง ส่วน #56122 เพิ่ม dual-key ทำให้ใช้ร่วมกับ speculative decoding ได้

ตัวเลขใน RFC มีจุดที่ต้องระวัง ที่ threshold p≤0.01 (false positive ราว 1%) ตัวตรวจจับคำตอบ GSM8K ที่มีลายน้ำได้ 84.17% ที่ temperature 1.0 แต่ได้แค่ 42.13% ที่ temperature 0.7 เพราะยิ่ง sampling เข้าใกล้ greedy ก็ยิ่งมีที่ให้ซ่อนลายน้ำน้อยลง และ คำขอแบบ greedy ใส่ลายน้ำไม่ได้เลย ทีมเองก็ระบุว่าตัวตรวจในนี้เป็นแค่ reference ผู้ให้บริการต้องปรับแต่งต่อเอง

อื่น ๆ ที่ควรรู้

  • โมเดลใหม่: DeepSeek-V4.1-Flash (เก็บ KV ทั้งหมดเป็น MXFP8 บน SM100), DeepSeek-V4-Flash-Vision-Exp, GLM-5.3-Flash, K2-Horizon, Cohere Compass, Bailing V3 VL และ DeepSeek-V4 บน CPU (AVX512/AMX)
  • HiSparse: ชั้น KV ใน host memory สำหรับ sparse-MLA decode เมื่อหน่วยความจำ GPU ตึง KV จะถูกย้ายไปพักใน pinned memory ของ host
  • Kimi K3: throughput end-to-end ดีขึ้น 5.2–7.7% จากการตัด gather/scatter ใน KDA และ kernel ใส่ FP8 MLA cache เร็วขึ้น 4–6 เท่าที่ batch เล็ก
  • Quantization: online quantization แบบเลือกเฉพาะเลเยอร์ผ่าน quantization_config.targets และ AutoRound 2/3/5/6/7-bit บน CUDA
  • ฮาร์ดแวร์เล็ก: ปรับ FP8 สำหรับ GB10/DGX Spark (SM12x) และมีเส้นทาง B12X attention สำหรับ SM120/121

Breaking changes — เช็กก่อนอัปเกรด

  • endpoint แบบ scale-out ต้องเปิดเองด้วย --enable-scale-out แทน env VLLM_ENABLE_SCALE_OUT_ENDPOINTS
  • ถอด GPTQ activation ordering (g_idx) ออกแล้ว checkpoint GPTQ ที่ใช้ act-order ต้องทดสอบก่อน
  • ถอดของที่ประกาศเลิกใช้ตั้งแต่ 0.29 เช่น env VLLM_PREFIX_CACHE_RETENTION_INTERVAL และ VLLM_MM_HASHER_ALGORITHM
  • python -m vllm.entrypoints.grpc_server ถูก deprecate ให้ใช้ vllm serve --grpc แทน
  • YaRN เปลี่ยนให้ตรงกับ Transformers ชื่อเรียก YaRN เฉพาะของบางผู้ผลิตจะไม่ขยาย max_model_len ให้อีกแล้ว ใครพึ่ง context ยาวจากการตั้งค่าแบบนี้ต้องตรวจความยาวจริงอีกครั้ง

มุมมอง AI Curator

Fast Start คือฟีเจอร์ที่ทีม platform ได้ประโยชน์มากที่สุด โมเดล MoE ขนาดหลายร้อย GB ใช้เวลาโหลดหลายนาที ทุกครั้งที่ต้องรีสตาร์ตเพื่อเปลี่ยน config หรือ LoRA ก็เสียเวลาช่วงนั้นไปเปล่า ๆ การแยก “น้ำหนัก” ออกจาก “engine” ทำให้ engine กลายเป็นของที่รีสตาร์ตได้โดยไม่ต้องเสียค่าโหลด ซึ่งแนวทางนี้มาจาก Ant Group ที่รันโมเดลขนาดใหญ่มาก สำหรับทีมในไทยที่เช่า GPU รายชั่วโมง ทุกนาทีที่ GPU ว่างรอโหลดน้ำหนักคือเงินที่จ่ายไปโดยไม่ได้งาน แต่ต้องแลกกับหน่วยความจำที่ daemon จองไว้ถาวร จึงเหมาะกับเครื่องที่รันโมเดลเดิมตลอด ไม่เหมาะกับเครื่องที่สลับโมเดลบ่อย

เรื่องลายน้ำน่าสนใจในเชิงนโยบายมากกว่าเทคนิค เมื่อ inference engine โอเพนซอร์สที่ได้รับความนิยมที่สุดมีลายน้ำในตัว ผู้ให้บริการที่ถูกกฎหมายบังคับให้ติดป้ายเนื้อหาที่สร้างด้วย AI (เช่น EU AI Act มาตรา 50) ก็มีทางเลือกสำเร็จรูป แต่ตัวเลขของ RFC เองก็บอกข้อจำกัดไว้แล้ว ที่ temperature 0.7 ซึ่งเป็นค่าที่หลายแอปใช้ ตัวตรวจจับได้ไม่ถึงครึ่ง และ greedy decoding ใส่ลายน้ำไม่ได้เลย ลายน้ำแบบนี้จึงใช้ยืนยันได้ว่าข้อความ “น่าจะมาจากเรา” ถ้าตรวจเจอ แต่ถ้าตรวจไม่เจอก็สรุปไม่ได้ว่าข้อความนั้นเขียนโดยมนุษย์ หน่วยงานไทยที่กำลังร่างแนวปฏิบัติเรื่องการติดป้ายเนื้อหาที่สร้างด้วย AI ควรทำความเข้าใจข้อจำกัดนี้ก่อนจะกำหนดให้ลายน้ำเป็นหลักฐาน

แหล่งข่าว

บทความนี้เรียบเรียงจากแหล่งข่าวต้นทาง — vLLM (GitHub Releases)

เนื้อหาบน blog นี้สร้างโดย AI โดยมีการกำกับบรรณาธิการจากมนุษย์

อ่านเพิ่มในหมวด เครื่องมือนักพัฒนา

Betelgeuse รัน Qwen3.8 Flash Next ขนาด 68GB บน RTX 3060 กับแรม 16GB ส่วน Basalt วัดให้เห็นว่าเอนจินที่เร่งด้วยแฟล็กลัดทำให้โมเดลลืมของ
เครื่องมือนักพัฒนา

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

· อ่าน 5 นาที
กฎห้ามโคลนเกมของ Claude Code เริ่มกระทบงานจริง บริษัทรับทำเกมกระดานร้องงานลูกค้าหยุด แต่รายงานหลายชิ้นปนกับตัวกรองไซเบอร์คนละเรื่อง
เครื่องมือนักพัฒนา

กฎห้ามโคลนเกมของ Claude Code เริ่มกระทบงานจริง บริษัทรับทำเกมกระดานร้องงานลูกค้าหยุด แต่รายงานหลายชิ้นปนกับตัวกรองไซเบอร์คนละเรื่อง

ต่อจากที่เราพบกฎนี้ในไบนารี Claude Code ผู้ใช้เริ่มรายงานว่างานเชิงพาณิชย์ถูกปฏิเสธ และ Tom's Hardware กับ Mashable หยิบไปรายงาน แต่เมื่อไล่ issue ที่อ้างถึง พบว่าหลายรายการเกิดก่อนกฎจะมา จึงน่าจะเป็นตัวกรองด้านไซเบอร์ ส่วน Anthropic ยังไม่ชี้แจง

· อ่าน 4 นาที
Claude Code ส่ง transcript ของ background agent ให้โมเดลทุก ~30 วินาทีเพื่อเขียนสถานะ 3–5 คำ ผู้วัดรายงานกินราว 16% และยังปิดแบบทางการไม่ได้
เครื่องมือนักพัฒนา

Claude Code ส่ง transcript ของ background agent ให้โมเดลทุก ~30 วินาทีเพื่อเขียนสถานะ 3–5 คำ ผู้วัดรายงานกินราว 16% และยังปิดแบบทางการไม่ได้

รายงานอิสระพบว่าฟีเจอร์ agent_summary ของ Claude Code ส่ง transcript เต็มของ background agent ไปถามสถานะทุก ~30 วินาที คิดเป็น 16.4% ของค่าใช้จ่ายในระบบของผู้วัด Issue เปิดมาตั้งแต่ ส.ค. ยังไม่มีสวิตช์ปิดที่รองรับ เราตรวจพบโค้ดนี้ใน 2.1.314 และพบกฎใหม่เรื่องเกมที่ไม่อยู่ใน changelog

· อ่าน 4 นาที