เรื่องเล่าจาก SGLang: เมื่อ DeepSeek ถูกเสิร์ฟด้วยศิลปะของการแยกงานและแบ่งผู้เชี่ยวชาญ

DeepSeek เป็นโมเดล LLM ที่ทรงพลังและซับซ้อน ด้วยสถาปัตยกรรมที่ใช้ Multi-head Latent Attention (MLA) และ Mixture of Experts (MoE) ซึ่งทำให้การรัน inference แบบ real-time กลายเป็นความท้าทายระดับสูง แต่ทีม SGLang ได้โชว์ว่า ถ้าออกแบบระบบดีพอ ก็สามารถรัน DeepSeek-V3 บน 96 H100 GPUs ได้อย่างมีประสิทธิภาพสูงสุด

หัวใจของความสำเร็จนี้คือการใช้เทคนิค PD Disaggregation (แยกงานระหว่าง prefill และ decode) ร่วมกับ Expert Parallelism (EP) ที่ปรับแต่งอย่างละเอียดผ่าน DeepEP, DeepGEMM และ EPLB เพื่อให้การจัดการ memory, communication และ workload balance เป็นไปอย่างไร้รอยต่อ

ผลลัพธ์คือ throughput สูงถึง 52.3k input tokens/sec และ 22.3k output tokens/sec ต่อ node ซึ่งใกล้เคียงกับระบบ production ของ DeepSeek เอง แต่ใช้ต้นทุนเพียง 20% ของ API ทางการ

สถาปัตยกรรมการรัน DeepSeek บน SGLang
ใช้ 12 nodes × 8 H100 GPUs รวม 96 GPUs
throughput สูงถึง 52.3k input และ 22.3k output tokens/sec ต่อ node
ต้นทุน inference อยู่ที่ ~$0.20 ต่อ 1M output tokens

เทคนิค Prefill-Decode Disaggregation (PD)
แยกการรัน prefill และ decode ออกจากกันเพื่อเพิ่มประสิทธิภาพ
ลดปัญหา prefill interrupt และ latency จากการจัด batch แบบรวม
รองรับ dispatch mode ที่ต่างกันสำหรับแต่ละ phase

Expert Parallelism (EP) ด้วย DeepEP
ใช้ normal dispatch สำหรับ prefill และ low-latency dispatch สำหรับ decode
รองรับ auto mode ที่เลือก dispatch ตาม workload
ลด latency และเพิ่ม throughput โดยใช้ expert routing ที่ปรับแต่งได้

DeepGEMM สำหรับ MoE computation
ใช้ Grouped GEMMs แบบ contiguous และ masked layout
รองรับ CUDA Graph สำหรับ decode phase
ใช้ Triton kernel เพื่อจัดเรียงข้อมูลให้เหมาะกับ GEMM kernel

Two-Batch Overlap (TBO)
แบ่ง batch เป็นสองส่วนเพื่อให้ computation และ communication overlap
เพิ่ม throughput ได้ถึง 35% และลด peak memory usage
ใช้ abstraction layer เพื่อจัดการ micro-batch อย่างสะอาดและ maintainable

Expert Parallelism Load Balancer (EPLB)
ใช้ expert redundancy เพื่อจัดวาง expert ให้สมดุล
รองรับ parallelism size ที่ไม่จำกัดแค่ power-of-two เช่น 12 หรือ 72
เพิ่ม utilization rate และลดการรอ GPU ที่ช้า

Toolkits เสริมใน SGLang
DisposableTensor สำหรับจัดการ memory ใน PyTorch โดยตรง
Expert workload simulator เพื่อประเมิน performance ก่อน deploy จริง
รองรับการ rebalancing แบบ staged เพื่อไม่ให้รบกวนระบบขณะทำงาน

https://lmsys.org/blog/2025-05-05-large-scale-ep/
🎙️ เรื่องเล่าจาก SGLang: เมื่อ DeepSeek ถูกเสิร์ฟด้วยศิลปะของการแยกงานและแบ่งผู้เชี่ยวชาญ DeepSeek เป็นโมเดล LLM ที่ทรงพลังและซับซ้อน ด้วยสถาปัตยกรรมที่ใช้ Multi-head Latent Attention (MLA) และ Mixture of Experts (MoE) ซึ่งทำให้การรัน inference แบบ real-time กลายเป็นความท้าทายระดับสูง แต่ทีม SGLang ได้โชว์ว่า ถ้าออกแบบระบบดีพอ ก็สามารถรัน DeepSeek-V3 บน 96 H100 GPUs ได้อย่างมีประสิทธิภาพสูงสุด หัวใจของความสำเร็จนี้คือการใช้เทคนิค PD Disaggregation (แยกงานระหว่าง prefill และ decode) ร่วมกับ Expert Parallelism (EP) ที่ปรับแต่งอย่างละเอียดผ่าน DeepEP, DeepGEMM และ EPLB เพื่อให้การจัดการ memory, communication และ workload balance เป็นไปอย่างไร้รอยต่อ ผลลัพธ์คือ throughput สูงถึง 52.3k input tokens/sec และ 22.3k output tokens/sec ต่อ node ซึ่งใกล้เคียงกับระบบ production ของ DeepSeek เอง แต่ใช้ต้นทุนเพียง 20% ของ API ทางการ ✅ สถาปัตยกรรมการรัน DeepSeek บน SGLang ➡️ ใช้ 12 nodes × 8 H100 GPUs รวม 96 GPUs ➡️ throughput สูงถึง 52.3k input และ 22.3k output tokens/sec ต่อ node ➡️ ต้นทุน inference อยู่ที่ ~$0.20 ต่อ 1M output tokens ✅ เทคนิค Prefill-Decode Disaggregation (PD) ➡️ แยกการรัน prefill และ decode ออกจากกันเพื่อเพิ่มประสิทธิภาพ ➡️ ลดปัญหา prefill interrupt และ latency จากการจัด batch แบบรวม ➡️ รองรับ dispatch mode ที่ต่างกันสำหรับแต่ละ phase ✅ Expert Parallelism (EP) ด้วย DeepEP ➡️ ใช้ normal dispatch สำหรับ prefill และ low-latency dispatch สำหรับ decode ➡️ รองรับ auto mode ที่เลือก dispatch ตาม workload ➡️ ลด latency และเพิ่ม throughput โดยใช้ expert routing ที่ปรับแต่งได้ ✅ DeepGEMM สำหรับ MoE computation ➡️ ใช้ Grouped GEMMs แบบ contiguous และ masked layout ➡️ รองรับ CUDA Graph สำหรับ decode phase ➡️ ใช้ Triton kernel เพื่อจัดเรียงข้อมูลให้เหมาะกับ GEMM kernel ✅ Two-Batch Overlap (TBO) ➡️ แบ่ง batch เป็นสองส่วนเพื่อให้ computation และ communication overlap ➡️ เพิ่ม throughput ได้ถึง 35% และลด peak memory usage ➡️ ใช้ abstraction layer เพื่อจัดการ micro-batch อย่างสะอาดและ maintainable ✅ Expert Parallelism Load Balancer (EPLB) ➡️ ใช้ expert redundancy เพื่อจัดวาง expert ให้สมดุล ➡️ รองรับ parallelism size ที่ไม่จำกัดแค่ power-of-two เช่น 12 หรือ 72 ➡️ เพิ่ม utilization rate และลดการรอ GPU ที่ช้า ✅ Toolkits เสริมใน SGLang ➡️ DisposableTensor สำหรับจัดการ memory ใน PyTorch โดยตรง ➡️ Expert workload simulator เพื่อประเมิน performance ก่อน deploy จริง ➡️ รองรับการ rebalancing แบบ staged เพื่อไม่ให้รบกวนระบบขณะทำงาน https://lmsys.org/blog/2025-05-05-large-scale-ep/
LMSYS.ORG
Deploying DeepSeek with PD Disaggregation and Large-Scale Expert Parallelism on 96 H100 GPUs | LMSYS Org
DeepSeek is a popular open-source large language model (LLM) praised for its strong performance. However, its large size and unique architecture, which us...
0 Comments 0 Shares 31 Views 0 Reviews