#vLLM 0.26 มีอะไรใหม่? สรุปฟีเจอร์สำคัญสำหรับงาน LLM Serving

vLLM เป็นระบบสำหรับให้บริการโมเดลภาษาขนาดใหญ่หรือ LLM Serving Engine ที่ได้รับความนิยมในงาน AI Infrastructure เนื่องจากรองรับการประมวลผลแบบต่อเนื่อง การจัดการ KV Cache อย่างมีประสิทธิภาพ การทำ Quantization และการเปิด API ที่ทำงานร่วมกับ OpenAI-compatible clients ได้

ในรุ่น vLLM 0.26.0 ทีมพัฒนาได้รวมการเปลี่ยนแปลงจำนวน 411 commits จากผู้ร่วมพัฒนา 212 คน โดยเน้นการรองรับโมเดลรุ่นใหม่ การเพิ่มประสิทธิภาพ DeepSeek-V4 การขยายระบบ KV Cache Offloading การพัฒนา Speculative Decoding และการรองรับฮาร์ดแวร์หลายแพลตฟอร์มมากขึ้น

บทความนี้สรุปประเด็นสำคัญจาก Release Notes อย่างเป็นทางการ พร้อมอธิบายผลกระทบต่อการนำ vLLM ไปใช้ในระบบจริง

#1. รองรับโมเดลใหม่

vLLM 0.26 เพิ่มการรองรับโมเดลและงานประมวลผลหลายประเภท โดยรายการเด่นประกอบด้วย

  • Inkling model family
  • BertForMaskedLM
  • RobertaForTokenClassification
  • XLMRobertaForTokenClassification
  • LongCat-Flash-Lite สำหรับ n-gram embedding
  • Cosmos3 Edge Reasoner
  • Cosmos3-Super
  • TranslateGemma-12B-IT

Inkling ได้รับการรองรับค่อนข้างครบทั้งการทำงานพื้นฐาน, Piecewise CUDA Graph, FlashAttention 4 บน Hopper, MTP Speculative Decoding, LoRA และ NVFP4 Quantization

นอกจากนี้ โมเดลอย่าง Olmo, Olmo2, MistralLarge3 และ HunyuanVL ถูกปรับให้ใช้ Transformers Modeling Backend มากขึ้น ทำให้ vLLM สามารถใช้โมเดลจากระบบนิเวศ Hugging Face Transformers ได้เป็นมาตรฐานมากกว่าเดิม

#ผลต่อผู้ใช้งาน

การเปลี่ยนแปลงนี้ช่วยลดภาระในการเขียน Model Adapter เฉพาะสำหรับ vLLM และทำให้โมเดลใหม่ที่รองรับผ่าน Transformers สามารถนำมาให้บริการได้รวดเร็วขึ้น


#2. DeepSeek-V4 ทำงานเร็วขึ้น

DeepSeek-V4 เป็นหนึ่งในเป้าหมายหลักของการปรับปรุงประสิทธิภาพในรุ่นนี้ โดยมีการเพิ่มและปรับแต่ง Kernel หลายส่วน เช่น

  • Specialized Routing Kernel
  • fused_topk_bias
  • การลดคำสั่ง repeat และ copy ที่ไม่จำเป็น
  • Sparse Decode และ Sparse Prefill
  • Two-stage Compressor บน AMD ROCm
  • DSpark Speculative Decoding บน AMD และ Intel XPU

Release Notes รายงานผลการทดสอบเฉพาะส่วนไว้ว่า

  • Specialized Routing Kernel ลด End-to-End TPOT ประมาณ 2.94%
  • fused_topk_bias เร็วขึ้นประมาณ 1.5–2 เท่าในระดับ Kernel
  • การลด Repeat/Copy ช่วยลด TPOT ประมาณ 1.8%

ตัวเลขประสิทธิภาพข้างต้นเป็นผลจากสภาพแวดล้อมที่ทีมพัฒนาใช้ทดสอบ ไม่ได้หมายความว่าทุกระบบจะเร็วขึ้นในอัตราเดียวกัน ควรทำ Benchmark ด้วยโมเดล ฮาร์ดแวร์ และ Workload ของระบบจริงอีกครั้ง

#TPOT คืออะไร

TPOT — Time per Output Token คือเวลาที่ระบบใช้ในการสร้าง Token แต่ละ Token หลังจากเริ่มตอบแล้ว ค่า TPOT ที่ต่ำลงทำให้การ Streaming คำตอบรู้สึกลื่นไหลและตอบสนองเร็วขึ้น


#3. Generation Head แบบ FP32

vLLM 0.26 เพิ่มตัวเลือก head_dtype เพื่อให้ lm_head ทำงานด้วยชนิดข้อมูล FP32 ได้ แม้ว่าส่วนอื่นของโมเดลจะใช้ BF16 หรือ Precision ที่ต่ำกว่า

ฟีเจอร์นี้รองรับทั้ง

  • โมเดล Generation ทั่วไป
  • LoRA path
  • Fast path บน AMD ROCm ด้วย torch.mm

#เหตุผลที่สำคัญ

Output Head เป็นส่วนที่แปลง Hidden State ไปเป็น Logits ของคำศัพท์ทั้งหมด หากโมเดลมีความไวต่อ Numerical Precision การคง lm_head เป็น FP32 อาจช่วยลดความคลาดเคลื่อนของผลลัพธ์ได้ โดยแลกกับหน่วยความจำและต้นทุนการคำนวณที่เพิ่มขึ้นบางส่วน


#4. เลือก Attention Backend ได้ยืดหยุ่นขึ้น

ก่อนหน้านี้ การเลือก Attention Backend มักมีผลในระดับโมเดลหรือ Engine แต่ vLLM 0.26 สามารถเลือก Backend แยกตาม KV-cache group ได้

นอกจากนี้ Sliding-window Attention ถูกกำหนดเป็นความสามารถของ Backend อย่างชัดเจน ทำให้ระบบตรวจสอบได้ว่า Backend ใดรองรับรูปแบบ Attention ที่โมเดลต้องการ

#เหมาะกับ Hybrid Model

โมเดลสมัยใหม่อาจผสม Attention หลายรูปแบบ เช่น

  • Full Attention
  • Sliding-window Attention
  • Sparse Attention
  • Multi-head Latent Attention หรือ MLA

การเลือก Backend แยกตามกลุ่มช่วยให้แต่ละส่วนของโมเดลใช้ Kernel ที่เหมาะสม ลดข้อจำกัดจากการบังคับใช้ Backend แบบเดียวทั้งโมเดล


#5. KV Cache Offloading และ Tiered Storage

KV Cache เป็นองค์ประกอบที่ใช้หน่วยความจำจำนวนมาก โดยเฉพาะเมื่อระบบต้องรองรับ

  • Context ยาว
  • ผู้ใช้พร้อมกันจำนวนมาก
  • Batch ขนาดใหญ่
  • Multimodal Input
  • Multi-turn Conversation

vLLM 0.26 เพิ่มความสามารถด้าน KV Cache Offloading และ Tiered Storage หลายส่วน ได้แก่

  • Metrics สำหรับ KV Offloading
  • แยก CPU Cache Usage เป็น Read และ Write
  • Histogram สำหรับ Tiering Lookup Delay
  • Object Storage เป็น Secondary Tier
  • Workload Identity
  • Tiering ที่รับรู้ Data Parallel Replica
  • Encoder-cache Connector
  • CPU Offloading สำหรับ Encoder Cache
  • Partial Prefix-cache Hit สำหรับ Hybrid Model
  • Selective Hybrid Cache Retention

#สถาปัตยกรรมแบบหลายระดับ

ระบบสามารถวาง KV Cache ไว้หลายระดับ เช่น

GPU VRAM
   ↓
CPU RAM
   ↓
Local Disk หรือ Object Storage

ข้อมูลที่มีการใช้งานบ่อยจะอยู่ใน Tier ที่เร็วกว่า ส่วนข้อมูลที่ใช้งานน้อยสามารถย้ายไปยัง Tier ที่มีต้นทุนต่ำกว่าได้

#ประโยชน์ต่อ Production

  • รองรับ Context Length ที่ยาวขึ้น
  • ลดแรงกดดันต่อ GPU VRAM
  • เพิ่มจำนวน Concurrent Requests
  • ตรวจสอบพฤติกรรม Offloading ผ่าน Metrics ได้ละเอียดขึ้น
  • วางระบบ Cache สำหรับ Distributed Serving ได้เป็นระบบมากขึ้น

อย่างไรก็ตาม Offloading ไม่ได้ทำให้ระบบเร็วขึ้นเสมอไป เพราะการย้ายข้อมูลระหว่าง GPU, CPU และ Storage มีต้นทุนด้าน Latency จึงต้องปรับ Threshold และ Cache Policy ให้เหมาะกับ Workload


#6. Speculative Decoding ที่สมบูรณ์ขึ้น

Speculative Decoding ใช้ Draft Model หรือ Draft Strategy สร้าง Candidate Tokens ล่วงหน้า จากนั้น Main Model ตรวจสอบว่า Token เหล่านั้นถูกต้องหรือไม่ หากยอมรับได้หลาย Token พร้อมกัน ระบบจะลดจำนวนรอบการประมวลผลของ Main Model

vLLM 0.26 เพิ่มความสามารถสำคัญ ได้แก่

  • อัปเดต Draft Model Weights ระหว่าง Runtime
  • DFlash สำหรับ Hybrid Attention ที่ผสม Sliding-window กับ Full Attention
  • Sliding-window Support สำหรับ qwen-eagle3
  • Gemma4-12B DSpark Draft Model
  • DSpark สำหรับ DeepSeek-V4 บน AMD
  • กำหนด kv_cache_dtype ของ Speculative Model แยกจาก Main Model
  • ปรับ TPOT ของ Thinking Budget เมื่อใช้ร่วมกับ Speculative Decoding

#การกำหนด KV Cache Precision แยกกัน

การกำหนด kv_cache_dtype ของ Draft Model แยกจาก Main Model ช่วยให้เลือกสมดุลระหว่าง

  • ความเร็ว
  • หน่วยความจำ
  • ความแม่นยำ
  • Acceptance Rate

ตัวอย่างเช่น Main Model อาจใช้ KV Cache ที่มี Precision สูง ขณะที่ Draft Model ใช้ Precision ต่ำกว่าเพื่อลดหน่วยความจำและเพิ่ม Throughput


#7. Quantization เพิ่มเติม

vLLM 0.26 ขยายการรองรับ Quantization ทั้งสำหรับ Dense Model และ Mixture-of-Experts หรือ MoE

รายการสำคัญประกอบด้วย

  • Humming Weight-only แบบ W2–W7 และ Activation 4/8-bit
  • INT4 สำหรับ Emulation MoE Backend
  • INT2 Weight-only Linear บน Intel XPU
  • Online nvfp4_per_token สำหรับ MoE
  • MXFP4 ผ่าน CuTe-DSL และ FlashInfer
  • จำกัด Peak Memory ระหว่าง Repack FP4 MoE Weights
  • ลด Peak Memory ระหว่างโหลด NVFP4 MoE Weights
  • Hybrid W4A16 Linear Kernel บน ROCm
  • kv_cache_dtype_skip_layers สำหรับ MLA

#ทำไม Quantization จึงสำคัญ

Quantization ช่วยลด

  • ขนาด Model Weight
  • GPU Memory Usage
  • Memory Bandwidth
  • ต้นทุนต่อคำขอ

แต่ต้องพิจารณาผลกระทบต่อคุณภาพโมเดลและตรวจสอบว่า GPU Architecture รองรับ Kernel ที่เลือกใช้งานหรือไม่


#8. Rust Frontend รองรับ Multimodal

Rust Frontend ใน vLLM 0.26 ได้รับการพัฒนาให้รองรับงานมากขึ้น ได้แก่

  • Video Input
  • Audio Input
  • Seed-OSS Tool Parser
  • Native Rust vllm-bench
  • การจัดการ continue_final_message

ส่วน OpenAI-compatible API เพิ่มความสามารถ เช่น

  • bad_words ใน /v1/completions
  • logprob_token_ids
  • include_reasoning สำหรับโมเดลที่ไม่ใช่ Harmony
  • num_cache_creation_tokens ใน Messages Response
  • Endpoint Plugin Framework
  • DeepStream Video Decoding Backend

#ผลต่อระบบ Agent และ Multimodal

การรองรับ Audio และ Video ใน Rust Frontend ช่วยให้สามารถออกแบบระบบที่รับ Input หลายชนิด เช่น

  • Video Understanding
  • Audio Transcription
  • Multimodal Chat
  • Tool Calling Agent
  • Streaming Inference Gateway

Rust Frontend ยังมีโอกาสช่วยลด Overhead ในส่วนรับ Request, Parsing และ Routing เมื่อเทียบกับ Frontend ที่ใช้ Python เพียงอย่างเดียว


#9. รองรับฮาร์ดแวร์มากขึ้น

vLLM 0.26 ปรับปรุงการรองรับฮาร์ดแวร์หลายแพลตฟอร์ม

#NVIDIA GPU

  • Kernel และ Quantization เพิ่มเติม
  • Arm64 Blackwell SM10x/SM110 Image Builds
  • การทำงานร่วมกับ FlashInfer, CuTe-DSL และ CUTLASS ที่ดีขึ้น

#AMD ROCm

  • DeepSeek-V4 Sparse Decode/Prefill
  • Two-stage Compressor
  • MXFP8
  • AITER Optimizations
  • Hybrid W4A16
  • DSpark Speculative Decoding
  • FP32 head_dtype Fast Path

#Intel XPU

  • Batch-invariant Kernels
  • HND KV Layout
  • DSpark สำหรับ DeepSeek-V4
  • INT2 Weight-only Quantization
  • Official Nightly และ Release Container Images

#CPU และ Apple Silicon

  • DFlash Speculative Decoding สำหรับ GDN Model บน CPU
  • s390x NUMA Topology
  • Native macOS Arm64 CPU Wheels
  • IBM POWER Optimizations

การมี Native macOS Arm64 Wheels ช่วยให้นักพัฒนาทดลอง vLLM บน Apple Silicon ได้ง่ายขึ้น แต่สำหรับงาน Production ที่ต้องการ Throughput สูง GPU Server ยังคงเป็นตัวเลือกหลัก


#10. Security และ Stability

รุ่นนี้มีการแก้ไขด้านความปลอดภัยและความเสถียรที่ควรให้ความสำคัญ โดยเฉพาะระบบที่เปิดให้บริการผ่านเครือข่าย

รายการสำคัญ ได้แก่

  • เปลี่ยนจาก diskcache เพื่อลดความเสี่ยงจาก Pickle Deserialization
  • แก้ Concurrent Sparse-invariant Race ที่อาจข้ามการป้องกันช่องโหว่เดิม
  • เพิ่ม Resource Bounds ให้ Derender Endpoints
  • ปกปิด Server File Path จาก Validation Error
  • จำกัดจำนวน Prompt ใน Completion Request
  • เพิ่ม Timeout ให้การ Compile Regular Expression ของ lm-format-enforcer
  • Grammar Compilation ล้มเหลวแล้วไม่ทำให้ Engine Crash
  • แก้ Host Memory Leak จาก new_block_ids
  • แก้ความถูกต้องของ DeepSeek-V3.2 เมื่อใช้ MTP และ Sequence Parallel

#คำแนะนำสำหรับ Production

หลังอัปเกรดควรทดสอบอย่างน้อยในประเด็นต่อไปนี้

  1. API Compatibility
  2. Structured Output และ Grammar
  3. Tool Calling
  4. Long-context Requests
  5. Concurrent Requests
  6. Memory Usage
  7. Prefix Cache Hit Rate
  8. Speculative Decoding Acceptance Rate
  9. P50, P95 และ P99 Latency
  10. TTFT และ TPOT

#11. Dependency และสิ่งที่ถูกถอดออก

Dependency สำคัญใน vLLM 0.26 ประกอบด้วย

  • Transformers 5.13.0
  • FlashInfer 0.6.14
  • NIXL 1.3.1
  • TPU Inference 0.24.0
  • NVIDIA CUTLASS DSL 4.6.0
  • vLLM XPU Kernels 0.1.11.1

โมเดลที่ถูกถอดออกจากรุ่นนี้ ได้แก่

  • TeleChat
  • Persimmon
  • Fuyu

ดังนั้นผู้ที่ใช้งานโมเดลเหล่านี้ควรตรวจสอบ Migration Path หรือคง Environment รุ่นเดิมไว้จนกว่าจะมีทางเลือกที่เหมาะสม


#12. แนวทางอัปเกรด

#ติดตั้งผ่าน pip

python -m pip install --upgrade "vllm==0.26.0"

ตรวจสอบเวอร์ชัน:

python -c "import vllm; print(vllm.__version__)"

#ใช้งานผ่าน Docker

ดาวน์โหลด Image:

docker pull vllm/vllm-openai:v0.26.0

ตัวอย่างเปิด OpenAI-compatible API Server:

docker run --rm \
  --gpus all \
  --ipc=host \
  -p 8000:8000 \
  -v "$HOME/.cache/huggingface:/root/.cache/huggingface" \
  vllm/vllm-openai:v0.26.0 \
  --model Qwen/Qwen3-8B

ตรวจสอบ API:

curl http://localhost:8000/v1/models

ตัวอย่างเรียก Chat Completions:

curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen/Qwen3-8B",
    "messages": [
      {
        "role": "user",
        "content": "อธิบายว่า KV Cache คืออะไร"
      }
    ],
    "temperature": 0.7
  }'

#Checklist ก่อนอัปเกรด Production

ไม่ควรอัปเกรด Production โดยแทนที่ระบบเดิมทันที ควรแยก Environment สำหรับทดสอบก่อน

[ ] บันทึก Configuration เดิม
[ ] Pin Version ของ Container และ Dependency
[ ] สำรอง Model Configuration และ Chat Template
[ ] ตรวจสอบ Custom Model / Custom Kernel
[ ] ทดสอบ OpenAI-compatible API
[ ] ทดสอบ Tool Calling และ Structured Output
[ ] ทดสอบ LoRA Adapter
[ ] วัด TTFT, TPOT และ Throughput
[ ] ตรวจสอบ GPU/CPU Memory
[ ] ทดสอบ Prefix Cache และ KV Offloading
[ ] ทดสอบ Error Handling และ Timeout
[ ] วางแผน Rollback

#กลยุทธ์ที่แนะนำ

ใช้ Blue-Green Deployment หรือ Canary Deployment เพื่อเปรียบเทียบ vLLM รุ่นเดิมกับ 0.26 ภายใต้ Workload เดียวกัน

ตัวชี้วัดที่ควรเก็บ ได้แก่

Metric ความหมาย
TTFT เวลาตั้งแต่ส่ง Request จนได้ Token แรก
TPOT เวลาเฉลี่ยต่อ Output Token
Throughput จำนวน Token หรือ Request ที่รองรับต่อวินาที
P95/P99 Latency Latency ของคำขอที่ช้ากว่าส่วนใหญ่
GPU Memory หน่วยความจำ GPU ที่ใช้งาน
Cache Hit Rate สัดส่วนที่ Prefix/KV Cache ถูกนำกลับมาใช้
Acceptance Rate สัดส่วน Token ที่ Main Model ยอมรับจาก Draft Model
Error Rate สัดส่วนคำขอที่ล้มเหลว

#ควรอัปเกรดหรือไม่

#ควรพิจารณาอัปเกรด เมื่อ

  • ใช้ DeepSeek-V4
  • ต้องการ KV Cache Offloading หลายระดับ
  • ใช้ Context ยาวหรือรองรับผู้ใช้พร้อมกันจำนวนมาก
  • ต้องการ Speculative Decoding ที่ยืดหยุ่นขึ้น
  • ใช้ Multimodal Audio หรือ Video
  • ต้องการ Quantization แบบ NVFP4, MXFP4, INT2 หรือ INT4 เพิ่มเติม
  • ใช้ AMD ROCm หรือ Intel XPU
  • ต้องการ Security Fixes ในรุ่นล่าสุด

#ควรทดสอบอย่างละเอียด เมื่อ

  • มี Custom Attention Backend
  • มี Custom Model Implementation
  • ใช้ Custom Kernel หรือ Plugin
  • ใช้ LoRA Adapter จำนวนมาก
  • พึ่งพาพฤติกรรมของ Transformers รุ่นเก่า
  • ใช้ TeleChat, Persimmon หรือ Fuyu
  • มี SLA ด้าน Latency และ Availability ที่เข้มงวด

#สรุป

vLLM 0.26 เป็นรุ่นที่เน้นการทำให้ระบบ LLM Serving รองรับโมเดลและฮาร์ดแวร์ได้หลากหลายขึ้น พร้อมปรับปรุงองค์ประกอบสำคัญของ Production Infrastructure ได้แก่

  • ประสิทธิภาพ DeepSeek-V4
  • การเลือก Attention Backend แบบยืดหยุ่น
  • KV Cache Offloading และ Tiered Storage
  • Speculative Decoding
  • Quantization
  • Multimodal Rust Frontend
  • Hardware Support
  • Security และ Stability

สำหรับระบบที่ให้บริการโมเดลขนาดใหญ่ รองรับ Long Context หรือมีปริมาณคำขอสูง การอัปเกรดรุ่นนี้มีประโยชน์อย่างชัดเจน อย่างไรก็ตาม ควร Benchmark ด้วย Workload จริงและเตรียม Rollback Plan ก่อนนำไปใช้ใน Production


#แหล่งอ้างอิง

  1. vLLM v0.26.0 Release Notes
    https://github.com/vllm-project/vllm/releases/tag/v0.26.0

  2. vLLM Documentation
    https://docs.vllm.ai/

  3. vLLM GitHub Repository
    https://github.com/vllm-project/vllm