推理优化的军备竞赛

过去两年,大模型领域最激烈的竞争不只发生在模型层,更发生在推理层。

从HuggingFace Transformers的原始实现,到vLLM横空出世,再到SGLang、TensorRT-LLM等框架百花齐放,推理优化的战场硝烟弥漫。为什么?因为推理成本直接决定了大模型应用的商业模式是否成立。

一个简单的对比:同样跑Llama-3-70B,未经优化的实现可能每秒只能处理几个请求,而经过优化后可以达到数百QPS。这意味着同样的硬件成本,服务能力提升了两个数量级。

vLLM:PagedAttention的革命

vLLM的核心创新是PagedAttention,这个设计借鉴了操作系统的虚拟内存管理。

传统实现中,每个请求的KV Cache都需要预先分配一大块连续内存。问题是:你不知道请求会产生多长的序列,分配大了浪费,分配小了会OOM。更致命的是,内存碎片化严重。

PagedAttention把KV Cache切分成固定大小的块,按需分配。就像操作系统管理物理内存一样,逻辑上是连续的,物理上可以离散。这个看似简单的改动,让内存利用率从20%-40%提升到接近100%。

实际测试中,vLLM在相同硬件上能处理的并发请求量,比HuggingFace原生实现高出4-10倍。这就是"算法创新"的力量。

SGLang:RadixAttention更进一步

SGLang来自UC Berkeley和Stanford的联合团队,核心贡献是RadixAttention。

名字里的"Radix"(基数)揭示了关键思想:前缀共享。当多个请求有相同的prompt前缀时(比如system prompt),传统方法会为每个请求单独计算和存储KV Cache。RadixAttention让这些前缀只计算一次,多请求复用。

实际场景中,这带来惊人的效率提升。比如一个客服AI,每个用户的对话都以"你是一个专业的客服助手…“开头,这个前缀的KV Cache只需要计算一次。后续所有请求都能直接复用。

SGLang还在其他方面做了优化:连续批处理、CUDA Graph优化、更高效的调度策略。综合下来,在某些场景下比vLLM还快20%-50%。

TensorRT-LLM:NVIDIA的官方答案

NVIDIA作为硬件厂商,下场做推理框架有其天然优势:最懂GPU的,就是造GPU的人。

TensorRT-LLM集成了NVIDIA多年的优化经验:Kernel Fusion(算子融合)、INT4/INT8量化、FP8支持、多GPU并行。这些优化深入到GPU微架构级别,是通用框架难以触及的。

缺点也很明显:NVIDIA绑定,主要支持自家硬件;开源程度和社区活跃度不如vLLM/SGLang;使用门槛相对较高。

如果你的生产环境全是NVIDIA GPU,且对性能要求极致,TensorRT-LLM值得投入。

选型决策树

说了这么多,实际项目该怎么选?

快速原型 / 学术研究:vLLM。社区活跃,文档完善,开箱即用。遇到问题Stack Overflow上大概率能找到答案。

高并发服务 / 前缀复用场景:SGLang。多用户共享system prompt、RAG应用、多轮对话场景,RadixAttention的优势明显。

极致性能 / NVIDIA环境:TensorRT-LLM。生产环境追求每一点性能提升,有工程团队投入优化。

多硬件支持:vLLM。支持AMD、Intel、Apple Silicon等多种硬件,灵活性最高。

实际项目中,建议先从vLLM起步,验证可行性和业务价值。遇到瓶颈时,再根据具体问题考虑迁移到其他框架。

被忽视的成本:工程投入

选择框架不只是选择性能指标,更是选择工程投入。

vLLM的社区最成熟,遇到问题能快速找到解决方案。SGLang发展迅速但生态还在建设中。TensorRT-LLM学习曲线陡峭,需要团队有深厚的GPU优化背景。

一个真实的案例:某团队为了追求极致性能,从vLLM迁移到TensorRT-LLM。结果花了三个月才完成迁移,期间服务不稳定,最终性能提升只有15%。算上人力成本,得不偿失。

我的建议是:先验证业务价值,再追求性能极致。除非推理成本已经是制约业务的瓶颈,否则不要过早优化。

未来趋势

推理优化还在快速演进。

显存优化方面,FlashAttention已经到了第三代,每一代都带来显著的性能提升。量化技术从INT8发展到INT4甚至更低,精度损失在可控范围内。投机解码(Speculative Decoding)成为新热点,用小模型预测、大模型验证,能大幅提升吞吐。

另一个值得关注的趋势是:模型架构正在针对推理效率进行优化。比如Mamba、RWKV等线性复杂度架构,在长序列场景下比Transformer更有优势。

硬件层面,H100/H200相比A100不只是显存更大、算力更强,还引入了FP8等新特性。这些硬件创新反过来推动了软件优化。

写在最后

推理优化是一个不断演进的领域。今天的最优解,明年可能就被新的技术超越。

作为工程师,理解底层原理比追逐最新框架更重要。PagedAttention、RadixAttention的核心思想不会过时,这些算法创新才是解决问题的根本。

选择工具时,记住一个原则:没有银弹,只有权衡。最先进的技术不一定是最好的选择,最适合你场景的才是。

代码写得再快,最终还是要跑在真实的服务器上。理解推理优化,就是理解大模型应用的"最后一公里”。