LLM推理获“确定性”!SGLang兼容关键功能,提速2.8倍

B站影视 港台电影 2025-10-05 11:54 3

摘要:别觉得这是小打小闹,懂行的都知道,现在大语言模型推理最头疼的就是“不确定性”,明明输入一模一样的提示,输出却可能差老远。

最近AI圈出了个好东西,SGLang团队跟slime团队联手,搞出了能100%复现的稳定RL训练开源框架。

别觉得这是小打小闹,懂行的都知道,现在大语言模型推理最头疼的就是“不确定性”,明明输入一模一样的提示,输出却可能差老远。

尤其搞强化学习实验的,没少因为这事儿白忙活,有时候参数调了半天,结果因为输出波动,连实验结论都没法验证,那滋味儿怕是最有体会。

其实LLM推理之所以“不靠谱”,核心问题出在“批次大小”上。

就是你提交的请求,可能会跟别人的请求凑成一批处理,批次大小一变,内核处理数据的顺序和方式就跟着变。

再加上浮点运算本身就有“不结合”的特性,一点点差异最后都会放大,输出自然就不一样了。

之前有个高校实验室的朋友跟我吐槽,他们去年搞LLM的RLHF实验,就因为这事儿,相同参数下结果偏差快到15%,三个月的活儿全卡那儿了,你说闹心不?

后来OpenAI前CTOMiraMurati创立的ThinkingMachinesLab,发了篇文章说“批次不变性”才是解决问题的关键,还搞了个批次不变的算子开源出来。

当时业内挺振奋的,但光有理论和基础工具不够啊,得有人把它落地成能用的东西。

SGLang这次就接住了这个活儿,他们在那个批次不变算子的基础上,又定制了专属的注意力算子和采样逻辑。

没为了“确定性”丢了实用功能,像分块预填充、CUDAGraph这些平时常用的,全都兼容了。

要是为了稳定把效率砍半,那也没人愿意用不是?结果他们用CUDAGraph还实现了2.8倍加速,这波操作确实有点东西。

而且他们还做了个特别实在的验证,用Qwen3-8B模型跑了两次实验,两条曲线完全重合。

搞科研的要是看到这结果,不得高兴坏了?之前多少实验因为复现不了,好想法就卡在那儿了,现在有了这个,至少在推理环节不用再瞎猜了。

光稳定没用,性能要是掉太狠,实际用起来还是费劲,SGLang这次也挺坦诚,直接放了实测数据。

跟ThinkingMachinesLab之前报告的性能下降比起来,他们用FlashInfer和FlashAttention3后端的时候,平均下降幅度控制得好了不少。

我一开始还担心,搞了确定性会不会变慢到没法用?结果看下来,大部分场景下性能下降都在可接受范围里,比如处理RL推理的请求,延迟没涨太多。

他们还设计了三个难度递进的测试,跑了50次采样,观察到的独特输出数量都快到零了,这说明不管批次怎么变,输出都能稳住。

不过他们也没藏着掖着,说性能开销主要来自用Triton写的批次不变算子,现在还没优化好,这种不吹不擂的态度,比那些把产品吹上天的实在多了。

他们还建议,现阶段这功能更适合用来调试和复现实验,等后续优化完性能,再往生产环境放,挺理性的。

SGLang搞定了推理确定性,已经解决了一半问题,跟slime一联手,直接把“可复现的RL训练”给做出来了,而且用的代码还特别少。

现在所有细节都公开了,GitHub上能找到教程,连启动命令都给好了,比如跑Qwen3-8B,就加个“--enable-deterministic-inference”参数就行。

我之前还以为得改一堆复杂配置,后来发现完全不用,对咱们这种不想在环境配置上耗时间的开发者太友好了。

他们之后还打算接着优化性能,目标是把确定性模式和正常模式的性能差距缩到20%以内,最好能持平。

而且还想支持更多新模型,比如LLaMA3、Mistral这些,他们欢迎大家试用提意见,开源项目不就是这样嘛,靠大家一起找问题、补漏洞,才能越做越好。

SGLang这次干的事儿,算是戳中了AI圈的一个痛点,LLM推理从“不确定”到“能复现”,不光帮科研人员省了不少冤枉功夫。

对那些需要稳定输出的行业,比如金融决策、自动驾驶交互,也是个好消息,要是你刚好在搞RL实验,或者需要稳定的LLM推理,真可以去他们GitHub看看,说不定能帮你解决大问题。

毕竟对咱们开发者来说,好用、靠谱、能落地的工具,才是真刚需。

来源:鉴史观一点号

相关推荐