開源框架實現(xiàn)100%可復(fù)現(xiàn)的穩(wěn)定RL訓(xùn)練!
下圖是基于Qwen3-8B進(jìn)行的重復(fù)實驗。兩次運(yùn)行,一條曲線,實現(xiàn)了結(jié)果的完美重合,為需要高精度復(fù)現(xiàn)的實驗場景提供了可靠保障。
這就是SGLang團(tuán)隊聯(lián)合slime團(tuán)隊的最新開源成果。
近期,Thinking Machines Lab (由 OpenAI 前 CTO Mira Murati 創(chuàng)立) 發(fā)布了一篇文章——《克服LLM推理中的不確定性》,指出問題的核心在于缺乏批次不變性(batch invariance)。
自從這篇博客發(fā)布后,業(yè)界反響熱烈,一直期待開源推理引擎能實現(xiàn)穩(wěn)定可用的確定性推理,或者更進(jìn)一步,實現(xiàn)完全可復(fù)現(xiàn)的RL訓(xùn)練。而現(xiàn)在,SGLang和slime一起給出了答案。
SGLang團(tuán)隊在Thinking Machines Lab發(fā)布的批次不變算子基礎(chǔ)之上,通過定制一系列注意力算子和采樣邏輯,實現(xiàn)了完全確定性推理。該實現(xiàn)同時保持與分塊預(yù)填充 (chunked prefill)、CUDA Graph、Radix Cache 和非貪婪采樣 (non-greedy sampling)等關(guān)鍵功能的兼容性。
利用CUDA Graph,SGLang可以實現(xiàn)2.8倍的加速。與 Thinking Machines Lab博客中報告的61.5%性能下降相比,SGLang在FlashInfer和FlashAttention 3后端平均僅有34.35%的性能下降。
在此基礎(chǔ)上,SGLang團(tuán)隊聯(lián)合slime團(tuán)隊一起,以極少代碼實現(xiàn)了完全可復(fù)現(xiàn)的穩(wěn)定RL訓(xùn)練,具體細(xì)節(jié)現(xiàn)在全面公開。
問題的本質(zhì):為什么LLM推理不確定?
從大語言模型(LLM)推理中獲得一致輸出的能力越來越重要。例如,推理結(jié)果的不確定性可能會隱式地將在線策略強(qiáng)化學(xué)習(xí)(RL)轉(zhuǎn)換為離線策略RL。然而,即使將溫度降到0,由于使用了動態(tài)批處理(Dynamic Batching) 和基數(shù)緩存(Radix Cache),采樣仍然不是確定性的。
Thinking Machines Lab的研究發(fā)現(xiàn),不確定性的最大來源是變化的批次大小:即使用戶重復(fù)提交相同的提示,輸出也可能在不同的運(yùn)行中有所變化,因為請求可能與其他用戶的請求一起批處理,批次大小的差異導(dǎo)致不確定的推理結(jié)果。
更具體地說,不同的批次大小會影響內(nèi)核的歸約(reduction)分割過程。這導(dǎo)致每個歸約塊的順序和大小變化,由于浮點(diǎn)運(yùn)算的非結(jié)合性,可能導(dǎo)致不確定的輸出。為了解決這個問題,他們實現(xiàn)了批次不變(batch invariant) 的歸約算子(RMSNorm、Matmul)。這些算子也作為配套庫發(fā)布供外部集成。
在Thinking Machines Lab工作的基礎(chǔ)上,SGLang提供了強(qiáng)大、高吞吐量的確定性 LLM 推理解決方案,將批次不變(batch invariant)算子、CUDA 圖、基數(shù)緩存和分塊預(yù)填充與高效性能相結(jié)合。通過全面的測試和強(qiáng)化學(xué)習(xí)訓(xùn)練實驗,其確定性得到了充分驗證。