LLM инференсийн том толгойн өвчин шийдэгдэв: SGLang v0.5.18 загвар ачаалах хугацааг (Cold Start) 2.4 дахин буурууллаа
Үйлдвэрлэлийн түвшинд (production) их хэлний загваруудыг (LLM) ажиллуулдаг багууд болон ML/DevOps инженерүүдийн хувьд нэгэн чухал шинэчлэл гарлаа. Нээлттэй эхийн өндөр хурдны LLM инференс хөдөлгүүр болох SGLang өөрийн v0.5.18 шинэ хувилбараа албан ёсоор цацлаа.
Энэхүү хувилбарын гол ололт нь сервер эхлэх үеийн загвар ачаалах буюу Cold Start хугацааг бараг 2.38 дахин (238%) хурдасгасан явдал юм.
"Cold Start" яагаад инженерүүдийн хамгийн том дайсан байв?
Kubernetes болон Serverless GPU орчинд хэрэглэгчийн ачааллаас хамааран LLM инстансуудыг автоматаар царцаах (scale-to-zero) эсвэл шинэ реплика үүсгэх (scale-up) үед загвар эхэлж асах хугацаа асар их байдаг.
Уламжлалт инференс хөдөлгүүрүүд дараах дарааллаар дараалан (serially) ажилладаг:
- Загварын жингүүдийг (weights) диск болон санах ойгоос GPU VRAM руу хуулах.
- Загвар GPU дээр бүрэн байршсаны дараа forward-pass-ийн launch overhead-ийг арилгах зорилгоор CUDA Graph Capture хийх.
- FlashInfer / DeepGEMM autotune болон KV-cache тооцооллыг гүйцэтгэх.
Энэ дараалсан процесс нь Qwen3-32B, DeepSeek зэрэг том хэмжээний загварууд дээр эхний хүсэлтийг хүлээн авах хүртэл 85–120 секунд хүлээлгэж, cold-start latency-ийн ноцтой гацаа үүсгэдэг байв.
Гол инновац: Overlapped Checkpoint Staging
SGLang v0.5.18-д нэвтрүүлсэн гол шийдэл нь Weight Loading болон CUDA Graph Capture үйлдлийг нэгэн зэрэг (overlapped) ажиллуулах механизм юм.
Инженерүүд CUDA Graph capture-д зөвхөн dummy/структур tensor-ууд шаардлагатай болохоос биш загварын бүх бодит параметрүүдийг (weights) урьдчилж бүрэн уншсан байх албагүй болохыг ашиглажээ. Ингэснээр:
- График бүтэц болон кернелүүдийг бэлдэх зуур загварын үндсэн жингүүдийг арын горимд VRAM руу параллелиар шахаж эхэлнэ.
- I/O хүлээн сул зогсох GPU compute хугацааг бүрэн ашигласнаар нийт startup хугацааг огцом багасгасан байна.
Бодит бенчмарк үр дүн: Nvidia H100 GPU дээр Qwen3-32B загварыг асаахад анхны 84.8 секундийн асалт 35.6 секунд болж буурчээ.
v0.5.18 хувилбарт багтсан бусад чухал өөрчлөлтүүд
Энэхүү шинэ хувилбарт 200 гаруй хөгжүүлэгчийн 700 гаруй Pull Request нэгдсэн бөгөөд дараах техникийн сайжруулалтууд хийгдсэн байна:
- TP LMHead with All-to-All: Data-Parallel (DP) attention ашиглах үед Tensor Parallel LMHead-ийн allgather + scatter үйлдлийг ганц all-to-all холболт болгон нэгтгэснээр санах ойн зурвасын ачааллыг бууруулав.
- Speculative Decoding V2 сайжруулалт: Draft, verify, extend алхмуудын хоорондох CPU host overhead-ийг багасгаж, конкарренси багатай үед ч GPU-г сул зогсолтгүй ажиллуулах боломжтой болсон.
- Шинэ загваруудын cookbook: Ling-3.0, Nemotron 3.5 Lightning, DeepSeek-V4-Pro зэрэг сүүлийн үеийн олон MoE загваруудын албан ёсны тохиргооны зааврууд (recipes) нэмэгдсэн байна.
Хөгжүүлэгчид өөрсдийн инфрад хэрхэн асаах вэ?
SGLang-ийн шинэ хувилбарыг татан авч, серверийг асаахдаа дараах тугийг (flag) нэмж өгөхөд л хангалттай:
python3 -m sglang.launch_server \
--model-path /models/Qwen3-32B \
--tp 4 \
--startup-weight-load-mode overlap \
--port 30000
--startup-weight-load-mode overlap сонголт нь жингүүдийг арын горимд CUDA график бэлдэхтэй зэрэгцүүлэн шахах командыг хөдөлгүүрт өгдөг.
Дүгнэлт
AI агент, динамик кодинг туслахууд болон Serverless клаудын хувьд "хэрэгцээтэй үед шууд асах" (scale-from-zero) чадвар зардлыг 50% хүртэл хэмнэх боломжийг олгодог. SGLang-ийн энэхүү шинэчлэл нь AI инженеринг зөвхөн загварын чадвар дээр биш, дэд бүтэц, компиляци, GPU I/O-ийн гүнзгий оновчлол руу эрчимтэй шилжиж буйг баталж байна.
Эх сурвалж: GitHub sgl-project/sglang Releases (v0.5.18) & LMSYS AI Tooling Feed
Сэтгэгдэл
Ачаалж байна...