當(dāng)開源創(chuàng)新遇上推理革命:SGLang如何煉就DeepSeek最強(qiáng)開源推理引擎?
2025 年開年,DeepSeek R1 和 V3 重磅發(fā)布,其超強(qiáng)的語言建模與推理能力,引爆了全球 AI 社區(qū)。與此同時,一個隱藏在超大規(guī)模模型身后的技術(shù)命題浮出水面:如何讓千億參數(shù)超大規(guī)模 AI 模型真正達(dá)到商業(yè)級推理速度?這一問題的答案,隱藏在推理引擎 SGLang 的代碼倉庫中。該項目由 LMSYS Org 發(fā)起,并受到 xAI、NVIDIA、AMD 等巨頭的青睞,正在通過多項關(guān)鍵技術(shù)突破,重新定義 LLM 推理的效率邊界。
從 DeepSeek 模型發(fā)布當(dāng)天便實現(xiàn)最佳適配,到長期穩(wěn)居 SOTA 性能榜首,SGLang 的進(jìn)化軌跡揭示了一個開源項目的硬核生存法則:用工程創(chuàng)新,攻克開發(fā)者最棘手的性能瓶頸。
通過領(lǐng)先的 Multi-head Latent Attention Optimzation、Data Parallelism Router、Eagle Speculative Decoding 等等技術(shù)方案,SGLang 長期保持開源模型頂尖的推理速度和吞吐量。
但是,SGLang 的征程絕不止步于此。當(dāng) Agent 的工程師們用其部署智能體時,當(dāng)開發(fā)者在 NVIDIA Triton 內(nèi)核中融入其優(yōu)化策略時,當(dāng)全世界的研究者高強(qiáng)度使用 DeepSeek 本地部署時,這個項目的真正價值正在顯現(xiàn):它不僅是長期領(lǐng)先的推理引擎,更是開源社區(qū)集體智慧的結(jié)晶。本文將從核心技術(shù)突破、系統(tǒng)級優(yōu)化到開發(fā)者生態(tài),解碼 SGLang 獨到的進(jìn)化之路。
一、DeepSeek 模型持續(xù)優(yōu)化,架構(gòu)適配的工程實踐
image credit: DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model
自從 DeepSeek V2 發(fā)布以來,SGLang 團(tuán)隊針對 DeepSeek 系列模型的 MLA(Multi-head Latent Attention)架構(gòu)進(jìn)行了深度優(yōu)化。這些技術(shù)覆蓋了數(shù)據(jù)并行注意力(Data Parallelism Attention)、多節(jié)點張量并行(Multi Node Tensor Parallelism)以及塊級 FP8 量化(Block-wise FP8),從而在解碼計算、顯存管理和多節(jié)點協(xié)同等多個環(huán)節(jié)實現(xiàn)了突破性提升。
對于 Multi-head Latent Attention(MLA)的優(yōu)化,團(tuán)隊通過使用權(quán)重吸收重新排列計算步驟,在保證模型表達(dá)能力的前提下,平衡了計算與內(nèi)存訪問負(fù)載,降低了解碼過程中的冗余計算,降低了 MLA 在 Decode 過程中的計算量。在此基礎(chǔ)上,針對 MLA 解碼核僅保留一個 KV 頭的設(shè)計,SGLang 團(tuán)隊開發(fā)了 Triton 解碼核優(yōu)化方案。該方案通過在同一計算塊內(nèi)同時處理多個 query 頭,顯著減少了對 KV Cache 的內(nèi)存訪問需求,從而加速了解碼流程。此外,團(tuán)隊結(jié)合 W8A8 FP8、KV Cache FP8 量化技術(shù),并開發(fā)了 FP8 批量矩陣乘法(BMM)算子,實現(xiàn)了 MLA 高效的 FP8 推理。值得一提的是,MLA 與 Mixture-of-Experts(MoE)模塊均已兼容 CUDA Graph 和 Torch.compile,能夠進(jìn)一步降低小批量推理時的延遲。經(jīng)過這些綜合優(yōu)化,DeepSeek 系列模型在輸出吞吐率方面較上一版本實現(xiàn)了最高達(dá) 7 倍的加速效果。
面對高并發(fā)和大批量數(shù)據(jù)的實際應(yīng)用需求,團(tuán)隊進(jìn)一步在 MLA 注意力機(jī)制中引入了數(shù)據(jù)并行注意力技術(shù)。該方案通過將不同類型的 batch(包括 prefill、decode、extend 以及 idle 狀態(tài))分別分配給各個數(shù)據(jù)并行工作單元,使得各單元能夠獨立處理各自任務(wù)。待任務(wù)完成后,在 Mixture-of-Experts(MoE)層前后再進(jìn)行必要的同步操作,從而顯著降低了 KV Cache 的重復(fù)存儲負(fù)擔(dān),優(yōu)化了內(nèi)存使用,并支持更大批量請求的高效處理。該優(yōu)化專為高 QPS(Queries Per Second)場景設(shè)計,用戶在使用 DeepSeek 系列模型時可通過命令參數(shù) --enable-dp-attention 一鍵啟用這一功能。
在單節(jié)點內(nèi)存受限的情況下,SGLang 團(tuán)隊還推出了多節(jié)點張量并行技術(shù)。該方案允許將超大規(guī)模模型(如 DeepSeek V3)跨多個 GPU 或節(jié)點進(jìn)行參數(shù)分區(qū)部署,有效突破單節(jié)點內(nèi)存瓶頸。用戶可以根據(jù)實際資源情況,在集群環(huán)境中靈活配置多節(jié)點張量并行,確保模型在高負(fù)載場景下依然能保持高效推理和資源利用率。
為了在推理過程中進(jìn)一步平衡數(shù)值精度與計算效率,團(tuán)隊還開發(fā)了塊級 FP8 量化方案。在激活值量化方面,采用 E4M3 格式,并通過對每個 token 內(nèi) 128 通道子向量進(jìn)行在線 casting,實現(xiàn)動態(tài)縮放,從而確保量化后激活值的數(shù)值穩(wěn)定性;而在權(quán)重量化上,則以 128×128 塊為基本單元進(jìn)行處理,使得量化過程更為精細(xì),有效捕捉權(quán)重分布特性。這一方案已在 DeepSeek V3 模型中默認(rèn)啟用,為模型在高效推理的同時保持較高精度提供了有力保障。
在如此極致的優(yōu)化之下,SGLang 團(tuán)隊實現(xiàn)了從解碼計算到內(nèi)存管理、從單節(jié)點優(yōu)化到跨節(jié)點協(xié)同的全方位提升。這些技術(shù)創(chuàng)新使得 SGLang 在 DeepSeek 模型在保持高精度的基礎(chǔ)上,其輸出吞吐率最高可達(dá) 7 倍提升,并在高并發(fā)和大規(guī)模部署場景中展現(xiàn)出卓越的性能和靈活性。更多詳細(xì)技術(shù)信息及使用案例,請參閱官方 Blog 與相關(guān)技術(shù)演示文稿。
二、Zero-Overhead Batch Scheduler:調(diào)度器的效能革命
在傳統(tǒng)推理引擎中,盡管大模型的推理主要依賴 GPU 運(yùn)算,但 CPU 仍需承擔(dān)批調(diào)度、內(nèi)存分配、前綴匹配等大量工作。未經(jīng)充分優(yōu)化的推理系統(tǒng)往往會將多達(dá)一半的時間耗費在這些 CPU 開銷上,嚴(yán)重影響整體性能。SGLang 一直以高效的批調(diào)度器著稱,而在 0.4 版本中,團(tuán)隊進(jìn)一步突破,實現(xiàn)了近乎零開銷的批調(diào)度器。
這一技術(shù)的核心在于將 CPU 調(diào)度與 GPU 計算重疊執(zhí)行。具體來說,調(diào)度器提前一批運(yùn)行,在 GPU 執(zhí)行當(dāng)前任務(wù)的同時,便同步準(zhǔn)備好下一批所需的所有元數(shù)據(jù)。這樣一來,GPU 始終處于忙碌狀態(tài),無需等待 CPU 的調(diào)度結(jié)果,成功隱藏了諸如匹配 radix cache 等較為昂貴的操作的開銷。通過 Nsight profiling 工具的測試顯示,在連續(xù)五個解碼批次中,GPU 全程保持高負(fù)載,未出現(xiàn)任何空閑時段(注:該測試基于 Triton attention 后端,F(xiàn)lashInfer 后端將在后續(xù)版本中進(jìn)一步優(yōu)化)。
借助這一優(yōu)化,SGLang v0.4 能夠充分挖掘 GPU 的計算潛力,在 batch size 顯著的情況下,實現(xiàn)了相較于上一版本的明顯提升。尤其在小模型和大規(guī)模張量并行場景下,這一優(yōu)化效果尤為明顯。該近零開銷批調(diào)度技術(shù)已默認(rèn)啟用,用戶無需額外配置,即可享受性能上的顯著提升。
三、多模態(tài)支持:視覺與語言的協(xié)同加速
在多模態(tài)應(yīng)用場景中,SGLang 持續(xù)與國內(nèi)外頂尖的多模態(tài)技術(shù)團(tuán)隊深度合作,將先進(jìn)的視覺與語言處理能力無縫集成到 SGLang 中?,F(xiàn)有方案使得系統(tǒng)能夠同時應(yīng)對單圖像、多圖像以及視頻任務(wù),實現(xiàn)了在三大計算機(jī)視覺場景中的先進(jìn)性能,為后續(xù)多模態(tài)應(yīng)用奠定了堅實基礎(chǔ)。
在實現(xiàn)上,SGLang 支持通過 OpenAI 兼容的視覺 API 提供服務(wù)。該接口能夠處理純文本輸入,還可以接受交錯文本、圖像和視頻的混合輸入,滿足復(fù)雜應(yīng)用場景下多模態(tài)數(shù)據(jù)的協(xié)同處理需求。用戶無需額外開發(fā),即可通過統(tǒng)一的 API 調(diào)用體驗多模態(tài)推理的便捷與高效。
官方提供的 benchmark 結(jié)果顯示,在 VideoDetailDescriptions 和 LLaVA-in-the-wild 數(shù)據(jù)集上,集成后的多模態(tài)模型在保證推理準(zhǔn)確性的同時,相較于 HuggingFace/transformers 的原始實現(xiàn),性能最高可提升 4.5 倍。這一加速效果得益于 SGLang Runtime 的高效調(diào)度和輕量化設(shè)計,使得系統(tǒng)在處理多類型數(shù)據(jù)時始終能夠保持較高的吞吐率。
目前為止,SGLang 已經(jīng)在多模態(tài)支持方面展示了卓越的兼容性和擴(kuò)展能力,后續(xù)還將邀請更多開發(fā)者重構(gòu)相關(guān)代碼并且進(jìn)行更多模型乃至最新的 cosmos 世界模型和 -o 流式模型的支持。通過交互式的文本、圖像和視頻輸入,SGLang 不僅大幅提升了多模態(tài)任務(wù)的處理效率,同時也為實際應(yīng)用場景下的復(fù)雜數(shù)據(jù)協(xié)同計算提供了有力的技術(shù)保障。更多詳細(xì)的使用方法和性能數(shù)據(jù),請參考官方技術(shù)文檔及 benchmark 報告。
四、X-Grammar:結(jié)構(gòu)化生成的范式重構(gòu)
在約束解碼領(lǐng)域,SGLang 利用了 XGrammar 系統(tǒng)在結(jié)構(gòu)化生成方面更是實現(xiàn)了全新的范式重構(gòu),顯著突破了傳統(tǒng)約束解碼的性能瓶頸。
在上下文擴(kuò)展方面,XGrammar 針對每條語法規(guī)則增加了額外的上下文信息檢測,從而有效減少了與上下文依賴相關(guān)的 token 數(shù)量。這一改進(jìn)使系統(tǒng)在處理復(fù)雜語法時能夠更早識別并利用規(guī)則隱含的語義信息,從而降低了解碼過程中不必要的狀態(tài)切換開銷。
為了高效管理多條擴(kuò)展路徑產(chǎn)生的執(zhí)行狀態(tài),XGrammar 采用了基于樹結(jié)構(gòu)的數(shù)據(jù)組織方式,構(gòu)建了持久化執(zhí)行棧。該設(shè)計不僅能夠高效地管理多個執(zhí)行棧,還可以在面對拆分與合并操作時保持?jǐn)?shù)據(jù)結(jié)構(gòu)的穩(wěn)定性和高效性,確保整個解碼流程始終流暢運(yùn)行。
在下推自動機(jī)結(jié)構(gòu)優(yōu)化方面,XGrammar 借鑒了編譯器設(shè)計中的內(nèi)聯(lián)優(yōu)化和等價狀態(tài)合并技術(shù),對自動機(jī)中的節(jié)點進(jìn)行精簡。通過減少不必要的狀態(tài)節(jié)點,系統(tǒng)能夠更迅速地完成語法規(guī)則的匹配與轉(zhuǎn)換,從而顯著提升了解碼效率。
此外,為充分發(fā)揮多核 CPU 的計算能力,XGrammar 對語法編譯過程進(jìn)行了并行化處理。語法規(guī)則的編譯任務(wù)被分配到多個 CPU 核心上同時執(zhí)行,不僅大幅縮短了編譯時間,也為后續(xù)多任務(wù)解析提供了堅實的基礎(chǔ)。
綜合上述各項優(yōu)化措施,XGrammar 技術(shù)的集成,使 SGLang 在 JSON 解碼等約束解碼任務(wù)上實現(xiàn)了 10 倍的加速效果。在處理復(fù)雜結(jié)構(gòu)化數(shù)據(jù)和工具調(diào)用場景時,XGrammar 不僅大幅降低了解碼延遲,還為大規(guī)模在線服務(wù)提供了可靠的性能保障。
有關(guān) XGrammar 的進(jìn)一步介紹,SGLang 團(tuán)隊已在官方博客中進(jìn)行了深入探討,相關(guān)技術(shù)文檔可供參考。
五、Cache-Aware Load Balancer:智能路由的架構(gòu)突破
在 SGLang v0.4 中,引入了獨出心裁的全新 Cache-Aware Load Balancer,為大模型推理系統(tǒng)提供了智能路由的架構(gòu)突破,全部以 Rust 編寫,相比于 Python 大幅減少 Service Overhead。該負(fù)載均衡器采用基于字符級前綴匹配的路由算法,通過合并后的 Radix Tree 實現(xiàn)無需 Tokenization 的匹配。系統(tǒng)能夠根據(jù)各工作節(jié)點的前綴 KV 緩存命中率進(jìn)行動態(tài)評估,并自動選擇緩存命中率較高的節(jié)點來處理請求。與傳統(tǒng)的輪詢調(diào)度方式相比,此方案在實際測試中展示了最高可達(dá)將近兩倍的吞吐量提升,以及將近四倍的緩存命中率改進(jìn)。隨著工作節(jié)點數(shù)量的增加,這種優(yōu)勢更為明顯,充分體現(xiàn)了負(fù)載均衡策略在多節(jié)點分布式部署中的擴(kuò)展性。
為了有效管理緩存資源,SGLang 的負(fù)載均衡器內(nèi)部引入了懶更新的 LRU 淘汰策略,對近似 Radix Tree 中訪問頻率較低的葉子節(jié)點進(jìn)行定期清理,從而防止內(nèi)存過度膨脹并保持樹結(jié)構(gòu)的高效性。此舉不僅優(yōu)化了內(nèi)存使用,還為整個推理系統(tǒng)帶來了更穩(wěn)定的緩存性能。在分布式部署場景下,系統(tǒng)通過 HTTP 接口實現(xiàn)了秒級動態(tài)擴(kuò)縮容,允許在集群中快速增減工作節(jié)點。得益于這一智能路由設(shè)計,SGLang 在多節(jié)點集群中的吞吐性能呈現(xiàn)出近線性的擴(kuò)展趨勢,為大規(guī)模在線服務(wù)提供了堅實的性能和可靠性保障。
六、開發(fā)者工具鏈
在可用性和易用性方面,SGLang 提供了與 OpenAI API 兼容的接口層,支持 Chat、Completions、Embeddings 等常見功能,開發(fā)者僅需替換端點即可快速無縫遷移。對于更靈活的部署方式,離線引擎模式(Offline Engine)允許單腳本同時驅(qū)動多節(jié)點推理,無需獨立服務(wù)化,從而大幅簡化了運(yùn)維成本。
為了讓開發(fā)者能夠深入了解模型狀態(tài)并進(jìn)行精細(xì)調(diào)優(yōu),SGLang 內(nèi)置了 Prometheus 監(jiān)控集成,實時追蹤吞吐量(Throughput)、延遲(Latency)和顯存使用(GPU Memory Pressure)等核心指標(biāo);多 LoRA 動態(tài)加載(Dynamic LoRA Switching)則讓同一服務(wù)可在顯存復(fù)用率高達(dá) 90% 的情況下,熱切換多個不同的 LoRA 適配器(Low-Rank Adaptation);而約束解碼(Constrained Decoding)提供了 JSON、GBNF 等格式的強(qiáng)制校驗?zāi)芰Γ瑢⑸慑e誤率降至極低水平,滿足生產(chǎn)場景對輸出格式的一致性要求。
七、社區(qū)與未來規(guī)劃
目前,SGLang 在全球范圍內(nèi)已經(jīng)匯聚了 30 余位核心貢獻(xiàn)者。在接下來的 2025 H1 階段中,團(tuán)隊將致力于完善實戰(zhàn)場景下的 PD 分離、Speculative Decoding 的長文本優(yōu)化、推動多級緩存(GPU/CPU/Disk)策略落地,并繼續(xù)強(qiáng)化并行策略以適配千億級 MoE 模型。除開本身推理效果的優(yōu)化,SGLang 團(tuán)隊也將致力推理引擎的廣泛落地,繼續(xù)支持 RAG、multi-Agent、Reasoning、RLHF 等等領(lǐng)域的 AI 落地。最后,SGLang 也將在算子覆蓋率與性能上持續(xù)優(yōu)化,支持更多的更廣泛的硬件,力爭為開源社區(qū)提供更加先進(jìn)的一站式大模型推理方案。
八、新的一年,與社區(qū)共赴星辰大海
開源一周年,SGLang 的成長軌跡印證了一個技術(shù)真理:頂尖的工程實踐,永遠(yuǎn)誕生于開發(fā)者社區(qū)的協(xié)作共振。從首個支持 Prefix Cache 的推理框架,到斬獲 11K Star、月均 10 萬下載量的開源明星;從 xAI、NVIDIA、AMD 等巨頭的深度集成,到為 DeepSeek 模型的最佳開源推理引擎 ——SGLang 的每一次技術(shù)突破,都源于社區(qū)開發(fā)者的真實需求與共創(chuàng)智慧。
在 SGLang 的代碼倉庫中,200+ 社區(qū)貢獻(xiàn)不僅帶來了 Multi-head Latent Attention、Block-wise FP8 等核心創(chuàng)新,更催生了開發(fā)者工具鏈的全面進(jìn)化:支持多模態(tài)的視覺語言模型、熱切換 LoRA 的顯存復(fù)用、JSON 結(jié)構(gòu)化生成的極速校驗…… 這些能力背后,是三十余位核心貢獻(xiàn)者與數(shù)百開發(fā)者的技術(shù)接力。正如 LMSYS Org 組織秉持的核心理念,技術(shù)生態(tài)的繁榮,從不是單打獨斗的奇跡。當(dāng)我們看到 SGLang 在 DeepSeek-R1 上實現(xiàn)狂飆式吞吐,在 128k 長文本中達(dá)到超低延遲,這不僅是框架的勝利,更是開源社區(qū) “百花齊放” 的明證 —— 從 LinkedIn 的分布式部署實踐,到 NVIDIA 的 Triton 內(nèi)核優(yōu)化,再到普通開發(fā)者提交的數(shù)百個性能調(diào)優(yōu) PR,每個參與者都在為大模型落地這一終極目標(biāo)添磚加瓦。
一枝獨秀不是春,百花齊放春滿園。SGLang 的開源故事,正在詮釋一個屬于開發(fā)者的黃金時代:在這里,工程師的每一行代碼都可能影響數(shù)百萬用戶的體驗,研究者的每個創(chuàng)意都有機(jī)會重塑技術(shù)邊界。SGLang 團(tuán)隊也誠邀每一位感興趣的朋友加入社區(qū),參與 Slack 與 Github 上的技術(shù)討論,在全球 Meetup 中分享實戰(zhàn)洞察 —— 因為下一個改變行業(yè)的優(yōu)化方案,或許就誕生于你的一次 git commit。
- GitHub 倉庫: https://github.com/sgl-project/sglang
- Slack 社區(qū):slack.sglang.ai
- DeepSeek 優(yōu)化指南: https://docs.sglang.ai/references/deepseek.html
立刻體驗最新版本的 SGLang,讓大模型推理再上新臺階!