สำหรับงานวันนี้ผมไม่ได้ที่ OpenCraft วันนี้เฉียดมาก เหมือนนั่ง MRT ผ่านแถวบางโพ พอกลับมาถึงบ้านเห็น Post ว่าคุณ Job จะมีไปพูด ทว่ามันมี Live เลยฟัง และขอ Recap มานิดหน่อย
vLLM by mood
Speaker Natdhanai Praneenatthavee
vLLM - Open Source Inference Engine ซึ่ง Speaker มองเป็น Software ที่ดี และเหมาะสมสำหรับดันส่วน Infra AI ในไทยได้ ทำ Local LLM ซึ่งมีข้อดี
- Security + Privacy เพื่อป้องกัน Sensitive Data รั่วไหล ไปยัง AI Model Provider เจ้าดัง อย่างพวก Gemini / Claude / OpenAI ได้ อันนี้มีเคสที่ Speaker เล่าเคยเจอคนมาถาม Solution เพราะเจอเคสที่ว่าข้อมูลพวกนี้หลุดออกไป และ track ว่าน่าจะตัว AI Model Provider เอาไปด้วย
- Full Control Management สามารถควบคุม Traffic โดยการตั้ง Local LLM และ Policy ได้
📌ถ้าทำ Local LLM ต้องเข้าใจก่อนว่ามันมีมุมของ Model มุมไหนบ้าง
- Training เอา Model มา Fit กับ Local Data (distillation) เช่น พวกกฏหมาย การเงิน healthcare เกษตร ซึ่งมันทำยากใช้ทรัพยากรเยอะ
- Inference เอา Model ที่เสร็จแล้ว มา Deploy และใช้งาน ซึ่งมันจะมีความท้าทายในอีกมุม ทำให้รองรับผู้ใช้จำนวนมากได้ (Concurrent) รวมถึงการใช้ GPU ให้ได้คุ้มค่าที่สุด
- การ Inference เราต้องมาเข้าใจ 2 คำ
📌Weight - ขนาดความฉลาดในการทายคำถัดไปของตัว Transformer (เซลล์สมองเล็กอันนึง)
📌KV-Cache - ทีทดว่า เราคุยอะไรกับ Model อยู่ ไม่ต้องถาม Model บ่อยๆ
ถ้าเราจะลงทุน Hardware ต้องมาคำนึงขนาด Model ที่จะให้ใช้พื้นที่ GPU และ ส่วนที่เหลือ KV-Cache เช่น

- GPU vRAM 160 GB ( GPU 2 ใบ)
- LLama3 70B x 2 byte = Weight = 140 GB
- เหลือ KV-Cache 20 GB ถ้า req ขยาด 8k Token (2.5 GB) แสดงว่ารับ User ได้ 8 คน ยิ่ง Req ใหญ่ การรับ User จะน้อยลงด้วย
📌 ถ้าเราอยากปรับ ใช้ Model ใหญ่บน HW เดิม มีเทคนิค เช่น
- Quantization ลดความละเอียดของ Model แต่ละอัน จากความละเอียด จาก FP16 > FP4 ลดจำนวนทศนิยมดู
ความท้าทาย เทคนิคนี้ เราต้องเข้าใจ HW ด้วย ว่า GPU ของค่ายไหน / Chip รุ่นอะไร ถ้าไม่ปรับมันขะช้ามาก - ปรับส่วน Inference vLLM อย่าง PagedAttention / การ Scale โดยร่วมกับ Lib ray มาช่วยจัดการ distribute data processing ให้ดีขึ้น
Secret Sauce ใน vLLM
📌vLLM = Open Source Inference Engine ดูแลโดย Linux Foundation และ PyTorch ต่อยอดมาจาก SkyLab มีปรับแต่งเ เข้ากับ HW ทุกค่ายได้อย่าง CUDA / RocM นั้นเอง (NVIDIA, AMD, TPU, CPU ของ Apple) Scale ได้ง่าย อย่างเช่นการประกาศ Model ใหม่อย่าง Deekseek ที่ประกาศ Model ปุ๊บ Service พร้อมใช้เลย
📌มีหลายเทคนิค Tune อย่าง Continuous Batching / Toruch Compile/ Fusion Passes (Fusion Ops), PD Disaggregated Inference / Quantization lib LMCache / Speculative Decoding ลองมาดูกัน
- PagedAttention: การจัดการหน่วยความจำ KV Cache โดยย่อยเป็นบล็อกเล็กๆ เพื่อให้สามารถจัดเก็บแบบ Dynamic และนำกลับมาใช้ใหม่ (Reuse) ได้ง่ายขึ้น ลดปัญหา Memory Fragmentation

- Fusion Passes (Fusion Ops): การปรับแต่งในระดับ Low Layer เพื่อรวมการรับส่งข้อมูล (Input / Ops) ระหว่าง RAM และหน่วยประมวลผล ช่วยลด Kernel Overhead ทำให้ประมวลผล LLM ได้เร็วขึ้น

- PD Disaggregate Inference: การแยกส่วนการประมวลผลระหว่างขา Prefill (รับ Input) และ Decode (พ่น Output) เพื่อให้สามารถจูน Latency และ Throughput แยกตาม Layer ได้ เพื่อให้ Time to First Token (TTFT) Inter-Token Latency (ITL) หรือ Time Per Output Token (TPOT) ดีขึ้น

- Speculative Decoding: การใช้โมเดลขนาดเล็ก (Small Model) มาช่วยเดาคำตอบเบื้องต้น แล้วใช้โมเดลใหญ่ตรวจคำตอบแบบขนาน (Parallel) ช่วยให้การตอบโต้เร็วและสม่ำเสมอขึ้น

- Quantization: รองรับการบีบอัดโมเดลทุกรูปแบบ (เช่น NVFP4 สำหรับ NVIDIA) เพื่อให้เหมาะกับ Hardware แต่ละประเภท ว่า GPU ของค่ายไหน / Chip รุ่นอะไร ช่วยให้รันโมเดลใหญ่บน Chip ที่เล็กลงได้โดยความแม่นยำลดลงเล็กน้อย โดยการ Quantization ทำได้ทั้งมุมของ Weight หรือ KV Cache
นอกจากนี้ LMCache เอาช่วยจัดการ KV Cache ให้มีประสิทธิภาพ ย้ายออกมาจาก VRAM หรือ เอามา Reuse ลดเวลา Time-To-First-Token รวมถึง การ Scale โดยร่วมกับ Lib ray มาช่วยจัดการ distribute data processing ให้ดีขึ้น
📌vLLM ช่วยอะไร

ถ้าอยากรู้เพิ่ม Speaker แนะนำลองไปดูของ https://www.deeplearning.ai/courses/fast-and-efficient-llm-inference-with-vllm และ vLLM Office Hours
- Agent & Tools
สำหรับงานที่เอา LLM มาใช้ มีทั้งส่วน
📌Chat - ระบบถามตอบ (Single-turn) ยุคแรกของ LLM
📌Data Retrival พวก RAG ต่างๆ เอาไว้ตอบคำถาม
📌Agentic Framework

- React (Listening & Acting) ทำงานภายใต้กระบวนการคิด วิเคราะห์ และลงมือทำ (Action) ตรงนี้มีการถามเยอะ
- Multi-turn Conversation ถามเราได้ เพื่อให้ได้ผลลัพธ์ที่ดีที่สุด
- Planning Mode ตัว Agent สามารถวางแผนได้
- จัดการ Enviroment ภายนอก จากพวก Tools ต่างๆ ที่มาเชื่อมกับ LLM เช่น Query Database, Shell, Run Python เพื่อหาคำตอบ โดยมีมาตรฐานกลางอย่าง MCP (Model Context Protocol) เพื่อให้ Agent
- Loop Engineering - วนมาคิดหาคำตอบให้ได้มีประสิทธิภาพ
- นอกจากนี้ เวลาเรามี Agent หลายค่ายมี Protocal กลางอย่าง A2A มาช่วย
📌 Self-Adapting Agents - Agentic ปรับตัวและเก่งขึ้นได้ตามการใช้งาน จากข้อมูลเดิมอย่างพวก Chat Memory อย่างตัว OpenCraw / Hermies Agent / NemoCraw (ของ NVidia มี Policy คุม)
สำหรับ Human อย่างสาย IT ต้องปรับตัวเป็น Forward Deployment Engineer (FDE) ซึ่งต้องมีความรู้ Domain Knowledge / Business / Technical (Agent / Inference Engine + Model / Software Engineering)
ตัว vLLM ช่วยงานเบื้องหลัง Low Level ช่วยให้ตอบสนองได้ไวขึ้น
- How to choose a Model
📌ดูตำแนะนำได้จาก https://recipes.vllm.ai/ เราสามารถ Match HW (GPU) / Model / Variant ที่ช่วยให้ตัว Model มัน Run ได้ดีขึ้น ดีกว่าใช้ตัว Default Command
📌ถ้าขี้เกียจลองใช้ Product Premize เหมือนเป็น Profile ที่ช่วยให้ใช้ vLLM กับ DGX Spark ได้ดีขึ้น เห็นว่าเดือนยหน้าจะเปิด Community Edition ให้ใช้บาง Feature ช่วยเสริม Infra ของ AI ไทยได้ไวขึ้น
📌เลือก Model + Think Level ให้เหมาะสมด้วย คุม Cost ได้
- Q&A
📌 การตั้ง Server ทำ Local LLM / Frontier Model ของ Provider อย่าง Gemini / Claude
Ans ตามงาน Enterpise (ติดตาม Token) มันลด Cost / Security + Privacy / Full Control / ปรับ Tune เข้ากับ Data เราเอง
📌 Local LLM พวก DGX Spark ทั้ง Quality มัน Drop ลง รวมถึงการตอบสนองที่ช้า อันนี้เราจะรู้ได้ไงว่ามัน OK จริง หรือต้องขยับเพิ่ม RTX 6000 ราคาจะโดดไปเลย
Ans
- เลือกงานที่เหมาะสมกับ HW เช่น งาน Batch ที่ไม่ได้ใช้ Model เยอะ เอกสาร / Coding ขนาดเล็ก
- ปรับงานแบบ Streaming
- Group งานที่คล้ายกันมาใช้
- รวมถึงการปรับ LowLevel ของ vLLM ช่วยการตอบสนองในแต่ละ Concurrent ได้ไวขึ้น
- การที่เราเอา Local LLM + Quantization มาใช้่ Quality จะ Drop ลง แต่ก่อนนำมาใช้ของต้องทำการ Evaluation ตรวจจาก Bible Text ของภาษาไทย เช่น ThaiSafetyBench รวมถึง
- Faithfulness: ตรวจสอบว่าโมเดลตอบตามข้อมูลที่มีอยู่จริงหรือไม่ หรือมี Hallucination หรือไม่
- Relevancy: ตรวจสอบว่าคำตอบที่ AI ให้มานั้นตรงกับบริบทหรือสิ่งที่ผู้ใช้ถามมากน้อยแค่ไหน
- Correctness: ตรวจสอบความถูกต้องของเนื้อหาในคำตอบ
📌 เรื่องของ Harness ใช้แบบ Default หรือต้องปรับแต่งเอง
Ans ตัว Agent (Model + Harness) อย่าง Claude Code(Harness) ถ้าสาย Open Source ลองใช้ตัว OpenCode ได้ ซึ่งเราปรับแต่งได้ระดับนึง
📌 เรื่องของ Qwen
Ans
- ตอนนี้มี Qwen 3.8 แล้วนะ ใน vLLM Office Hours จะเอามาลองเยอะด้วย
- Model ภาษาไทยของไทยอย่าง ThaiLLM / Typhoon อันนี้ถูก Post Traning โดย Qwen
- ถ้าไม่มี Server แรงๆ สามารถไปใข้บน Cloud ได้
- อย่างตัว Qwen ซึ่งราคาถูกกว่าตัว Kimi3 ที่เพิ่งออก
- ใช้ พวก Agent ต่อกับ Client อย่าง ClaudeCode / QwenCoder / Qoder / QwenPaw พวก Agent อย่าง OpenClaw / Hermes
- ถ้าขี้เกียจจัดการเยอะ ไปใช้ Service ของ Alibaba Cloud / QwenCloud ได้ - เลือก Model + Think Level ให้เหมาะสมด้วย
📌 Local LLM for Software Dev
Ans เริ่มต้นจากตัว DGX Spark + Qwen 3.5 35B ถ้าอยากเร็วๆต้องใช้ 5090 2 ตัวต่อกัน ส่วน DGX Spark ใช้ NVLink เชื่อมกัน 4 ตัว สามารถ Run GLM Model ได้เลย แต่ราคาก็แรง
📌 จำเป็นไหมที่ต้องทำ Fine Tuning
Ans ควรทำที่ RAG ถ้า Data ไม่เยอะมากๆ เยอะระดับ 10-20 ล้าน หน่วยน่าจะ Record คุ้มกับ Fine Tuning นะ สำหรับภาษาไทย
- ถ้าทำ RAG Model ของ Typhoon ไม่มีตัว Embleding มาใช้ ลองใชเ BGE-m3 หรือ Qwen มี Embedding เหมือนกัน
- แล้วต้องเลือก Model Embedding ตาม Text ภาษาไทย จีน หรือ พวก Image
- และเลือก Embedding ตัวเดียวกัน ทั้งในขั้นตอน Injest Data และขั้นตอนการเรียกใช้ Inference/Search เพื่อให้มิติของ Vector (Dimension) ตรงกันและสามารถค้นหาข้อมูลได้อย่างถูกต้อ
อ๋อ แล้ววันที่ 2 มีงาน Qwen เดือนหน้า / vLLM เดือนกันยาด้วย
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.



