DeepSeek โอเพนซอร์ส DeepInfer ขุมพลังเบื้องหลังโมเดล V4.1-Flash

· By: SirilukP

DeepSeek โอเพนซอร์ส DeepInfer ขุมพลังเบื้องหลังโมเดล V4.1-Flash

DeepSeek ประกาศ open-sourced DeepInfer ซึ่งเป็นเฟรมเวิร์กการประมวลผล (inference framework) ที่ใช้งานจริงในระบบของบริษัท โดย DeepSeek DeepInfer คือเอนจินหลักที่อยู่เบื้องหลัง DeepSeek-V4.1-Flash ซึ่งเปิดตัวภายใต้ Apache 2.0 license

นอกจากนี้บริษัทยังได้ปล่อย deepseek-recipe ซึ่งเป็นเลเยอร์สำหรับการเข้ารหัสและถอดรหัส token ภายใต้ลิขสิทธิ์ MIT ให้นักพัฒนาได้ใช้งาน ถือเป็นโอกาสหายากที่จะได้ศึกษาระบบการให้บริการจริงของแล็บ AI ระดับโลก

TL;DR

  • ขนาด / ขอบเขต: รองรับโมเดล DeepSeek-V4.1-Flash พร้อม context window ขนาด 1 ล้าน token ตาม model card
  • ฮาร์ดแวร์: รันบน NVIDIA SM100 (Blackwell) GPUs และ Huawei Ascend 950 NPUs โดยการทดสอบใช้ 4 GPU สำหรับ prefill และ 64 GPU สำหรับ decode
  • ประสิทธิภาพ: รองรับการประมวลผลระดับใช้งานจริง โดยระบุว่า 1 คลัสเตอร์สามารถให้บริการได้สูงสุดถึง 155 ล้านล้าน token ต่อวัน
  • ความเร็วสูงสุด: ทำได้มากกว่า 25,000 output tokens/s/GPU ที่ 256 requests per rank (EP64, 131,072 context)
  • ข้อจำกัด: ปัจจุบันรองรับเฉพาะการประมวลผลแบบออฟไลน์เท่านั้น ยังไม่รวมระบบ KV cache, การแยกส่วน P/D (P/D disaggregation) และการทำ load balancing

DeepInfer คืออะไร?

DeepInfer คือเอนจินการประมวลผลประสิทธิภาพสูงที่ DeepSeek พัฒนาขึ้นสำหรับโมเดลของตนเองโดยเฉพาะ ข้อมูลจาก GitHub README ระบุว่าเป็นหัวใจสำคัญที่ช่วยขับเคลื่อนบริการขนาดใหญ่ของบริษัท

การเปิดตัวครั้งนี้ครอบคลุมการประมวลผลแบบออฟไลน์พร้อมฟีเจอร์หลักที่จำเป็นสำหรับการขยายระบบ เดิมทีพัฒนาต่อยอดมาจาก vLLM และผสมผสานแนวคิดจาก SGLang รวมถึง TensorRT-LLM เข้าด้วยกัน

จากข้อมูล deployment Q&A ระบุว่าในบริบทการใช้งานจริง หนึ่งคลัสเตอร์สามารถให้บริการได้ 155 ล้านล้าน token ต่อวัน โดยมีรายงานรายได้รวมอยู่ที่ 38 ดอลลาร์สหรัฐต่อ GPU-hour ในช่วงราคาการใช้งานต่ำ (valley pricing)

DeepInfer ทำงานอย่างไร?

เอนจินนี้รวบรวม kernel ต่างๆ ของ DeepSeek เข้าด้วยกัน อาทิ FlashMLA, DeepGEMM, DeepEP, TileKernels, DeepSelect และ custom TileLang kernels โดยมีแนวคิดหลัก 5 ประการ ดังนี้:

Parallelism: Attention DP ร่วมกับ Wide-EP

ในส่วน Attention จะใช้ data parallelism ขณะที่เลเยอร์ MoE จะใช้ expert parallelism พร้อมตัวจัดสมดุลภาระงานแบบ expert-parallel (EPLB) โดยการ Decode จะรัน EP64 ถึง EP128 ภายใน supernode ส่วน Prefill จะใช้ EP ขนาดเล็กที่สุดเท่าที่หน่วยความจำรองรับ ซึ่งโดยปกติคือ EP2 ถึง EP8

DSpark: การทำ speculative decoding แบบกำหนดตารางตามความเชื่อมั่น

โมเดลร่าง (draft model) จะเสนอ 5 token ในแต่ละขั้นตอน โดยมี Confidence Head คอยทำนายอัตราการยอมรับของแต่ละ draft token จากนั้นตัวกำหนดตาราง (scheduler) จะตรวจสอบเฉพาะส่วนที่คุ้มค่าที่สุดเท่านั้น

ข้อมูลระบุว่าวิธีนี้ช่วยลดการตรวจสอบ draft token ลงได้ราว 30% (จาก 5.00 เหลือ 3.2 ถึง 4.4) โดยที่ความยาวที่ถูกยอมรับ (accepted length) แทบไม่เปลี่ยนแปลง คืออยู่ที่ 3.20 เทียบกับ 3.29

SWA bounded replay

เมื่อเกิด cache hit ระบบ DeepInfer จะคำนวณใหม่เฉพาะ 128 token สุดท้ายของสถานะ sliding-window attention ช่วยให้ค่าใช้จ่ายในการคำนวณใหม่คงที่เสมอไม่ว่า context จะยาวเท่าใด ในเลเยอร์ของ decoder วิธีนี้ช่วยลดการคำนวณ prefill ทั้งหมดลงได้เกือบครึ่งหนึ่ง

การกำหนดตารางแบบอะซิงโครนัส, ความแน่นอน และ output แบบมีโครงสร้าง

การกำหนดตาราง batch บน CPU จะทำงานซ้อนทับกับการประมวลผลบน GPU เพื่อป้องกัน GPU ว่างงาน การประมวลผลแบบ Batch-invariant และการสุ่มตัวอย่างแบบตายตัว (deterministic sampling) มีให้ใช้งานบน NVIDIA เท่านั้น ส่วนการจัดโครงสร้าง output รองรับทั้ง regex, JSON schema และไวยากรณ์ EBNF

DeepInfer เร็วแค่ไหน?

DeepSeek เผยแพร่ Pareto curves สำหรับ DeepSeek-V4.1-Flash ที่ 131,072 context โดยใช้ 4 GPU SM100 สำหรับ Prefill และ 64 GPU สำหรับ Decode ซึ่งมีตัวเลขประสิทธิภาพดังนี้:

  • Decode (EP64DP64): ความเร็วสูงกว่า 25,000 tokens/s/GPU ที่ 256 requests per rank หรือเกือบ 100 tokens/s ต่อผู้ใช้ และหากอยู่ที่ 8 requests ความเร็วจะพุ่งเกิน 300 tokens/s ต่อผู้ใช้
  • Prefill (EP4DP4): ทำได้ประมาณ 60,000 non-cached tokens/s/GPU ที่ 4,096 tokens per rank และอาจสูงถึง 90,000 ที่ 65,536 tokens โดยใช้เวลาประมาณ 730 ms ต่อขั้นตอน
  • ผลลัพธ์ของ Wide-EP: ชาร์ต EP8 vs EP64 แสดงให้เห็นว่า EP64 มีประสิทธิภาพเหนือกว่าในทุกขนาด batch

การตรวจสอบแบบไดนามิกของ DSpark ช่วยเพิ่มอัตราการประมวลผล 4% ถึง 7% เมื่อมีประมาณ 60 sequences per rank แต่หากมีเพียง 16 sequences จะช้ากว่าการตรวจสอบแบบคงที่เล็กน้อย

DeepInfer เปรียบเทียบกับ vLLM, SGLang และ TensorRT-LLM อย่างไร?

ฟีเจอร์DeepInfervLLMSGLangTensorRT-LLM
ผู้ดูแลDeepSeekโปรเจกต์ vLLMโปรเจกต์ SGLangNVIDIA
ลิขสิทธิ์Apache 2.0Apache 2.0Apache 2.0Apache 2.0
การรองรับโมเดล1 (DeepSeek-V4.1-Flash)200+ สถาปัตยกรรมLLMs, VLMs, diffusionตารางการรองรับ
ฮาร์ดแวร์NVIDIA SM100, Huawei Ascend 950NVIDIA, AMD, Intel, CPUs, ปลั๊กอินรวมถึง Ascend, TPUNVIDIA, AMD, TPU, Intel, Apple, Ascend, Moore ThreadsNVIDIA GPUs
Expert parallelismรองรับ พร้อม EPLBรองรับรองรับWide-EP
Speculative decodingDSparkn-gram, suffix, EAGLE, DFlashรองรับ ผ่าน SpecForge draftsรองรับ
P/D disaggregationไม่มีในเวอร์ชันนี้รองรับผ่าน llm-d, Dynamo และอื่นๆรองรับ
การบริการออนไลน์เฉพาะออฟไลน์เซิร์ฟเวอร์ที่เข้ากันได้กับ OpenAIรองรับรองรับ

ข้อจำกัดของ DeepInfer

การให้บริการเต็มรูปแบบยังต้องอาศัยระบบภายนอก เช่น การจัดการ KV cache และการแยกส่วนงาน Prefill/Decode รวมถึงการทำ load balancing ซึ่ง DeepSeek ระบุว่าส่วนประกอบเหล่านั้นผูกติดกับโครงสร้างพื้นฐานภายในบริษัทอย่างใกล้ชิดจึงไม่ได้เปิดซอร์สในตอนนี้

ด้านฮาร์ดแวร์ต้องการ Linux, GCC 13 ขึ้นไป, Python 3.12 และ CUDA 13 หรือ CANN 9.2 โดยหน่วยการผลิตที่เล็กที่สุดต้องใช้ 64 GPU สำหรับ prefill และ 64 GPU สำหรับ decode ทั้งนี้ kernel FlashMLA ในเวอร์ชันสาธารณะยังช้ากว่าตัวที่ใช้ภายในบริษัทอยู่ราว 5% ถึง 10%

ประเด็นสำคัญ

  • DeepInfer คือเอนจินใช้งานจริงของ DeepSeek ที่เปิดเป็น Apache 2.0 บน GitHub
  • ปัจจุบันรองรับเฉพาะ DeepSeek-V4.1-Flash บน NVIDIA SM100 และ Ascend 950
  • ความเร็ว Decode สูงสุดทำได้มากกว่า 25,000 tokens/s/GPU บน 64 GPU
  • เทคโนโลยี DSpark ช่วยลดการตรวจสอบ draft token ได้ 30% โดยยังคงประสิทธิภาพการยอมรับไว้ได้ดี
  • ยังเป็นเวอร์ชันออฟไลน์: ไม่มีระบบ KV cache, การแยกส่วน P/D หรือตัวจัดสมดุลภาระงานในตัว
Source: MarkTechPost
ดูแลงานแปลและเรียบเรียงโดย SirilukP

ความคิดเห็น (0)

เข้าสู่ระบบเพื่อร่วมแสดงความเห็น

สมัครสมาชิก

มาเป็นคนแรกที่แสดงความเห็นกันเลยโบร