vLLM 新特性:批量大小不再影响模型输出

大模型开发与运维机器学习

vLLM 刚刚推出了批量不变推理功能,解决了大模型推理中的一个关键问题:相同输入在不同批量大小下产生不同结果。

这个问题在实际应用中很常见。同一个模型,单独处理一个请求和批量处理多个请求时,输出概率可能存在细微差异。对于需要严格一致性的生产环境来说,这种不确定性会带来严重问题,会影响模型的可重现性和调试难度。

现在只需要设置 VLLM_BATCH_INVARIANT=1,就能保证无论批量大小如何,输出完全一致。

picture.image

技术实现主要包括三部分:

自定义算子 :基于 Triton 构建,添加 RMS norm 实现来修复兼容性问题。

执行重写 :通过 torch.library.Library 重写 PyTorch 执行流程,但遇到一个坑点——批量矩阵乘法会被静默丢弃,需要额外 patch。

后端调整 :固定 Triton tile 大小,Top-K 设为排序模式,升级 FlashInfer 到 4.0 RC 版本。

测试标准很严格,他们要求不同批量大小下的 logprobs 完全相同,没有容错。

这个功能解决了生产环境中的实际痛点。虽然可能有性能开销,但换来了结果的确定性,让调试和测试变得更可靠。

关注公众号回复“进群”入群讨论。

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
在火山引擎云搜索服务上构建混合搜索的设计与实现
本次演讲将重点介绍字节跳动在混合搜索领域的探索,并探讨如何在多模态数据场景下进行海量数据搜索。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论