LLM每次回答都要进行复杂的计算,尤其是需要多次调用模型的场景(比如连续推理、多轮对话),成本高得离谱。
关键矛盾:用户希望响应快(低延迟),企业想省钱(高吞吐)。
典型场景:
思维链推理(Chain-of-Thought):模型需要反复自我验证才能给出答案
AI助理(如AutoGPT):自动规划任务流程时频繁调用模型
论文:A Survey on Inference Engines for Large Language Models: Perspectives on Optimization and Efficiency
链接:https://arxiv.org/pdf/2505.01658

推理引擎
工程师们开发了各种优化技术,核心目标是「用更少的资源,做更多的事」:
动态批处理(Dynamic Batching)
原理:把多个用户的请求像拼车一样合并处理
效果:GPU利用率提升30%+
代表作:vLLM的「连续批处理」技术

KV缓存(Key-Value Cache)
痛点:每次生成新token都要重复计算之前的上下文
解决方案:把中间结果(K和V矩阵)存起来复用
进阶玩法:
分页缓存(PagedAttention):像内存管理一样避免碎片化
量化缓存:用4比特存储代替16比特,内存占用直降75%

模型量化(Quantization)
核心思想:把模型参数从「高精度浮点数」转为「低精度整数」
公式示例:
量化公式:
反量化:
其中 是缩放因子, 是零点偏移实战效果:4比特量化让70B模型能在单张显卡运行

25款推理引擎
论文对比了开源和商业引擎的六大维度:通用性、易部署性、速度优化等:
开源模型
vLLM:谷歌TPU/英伟达GPU通吃,吞吐量王者
llama.cpp:纯CPU也能跑,MacBook本地部署神器
TensorRT-LLM:英伟达亲儿子,核弹级CUDA优化
商业黑马
GroqCloud:自研LPU芯片,延迟低至毫秒级
Fireworks AI:支持AMD显卡,性价比杀手

推理引擎的「进化方向」
多模态支持
现状:现有引擎主要优化文本,处理图像/视频力不从心
突破点:开发跨模态的注意力机制(如M-RoPE)
手机端推理
挑战:如何在内存有限的手机运行百亿参数模型?
前沿方案:
PowerInfer:按需激活神经元,iPhone也能跑大模型
MLC LLM:用编译器自动适配不同硬件
新型架构支持
Mamba:抛弃传统Transformer,用状态空间模型实现线性复杂度
Jamba:混合Mamba+Transformer,兼顾效率和性能

备注:昵称-学校/公司-方向/会议(eg.ACL),进入技术/投稿群
id:DLNLPer,记得备注呦