大模型,其实现在主要包括两大块:LLM和AIGC模型。其实LLM也是AIGC的一类,不过一般大家喜欢把AIGC单指图像和视频生成模型。LLM起步比AIGC早,框架也相对丰富和成熟。本文就使用少量的文字来介绍我们平常会用到的LLM推理框架。
1. vLLM:显存小管家 + 并发收割机
来自伯克利的实力选手,专治“显存不够”和“吞吐太低”。这可能也是大家用得最多的LLM推理框架,搞LLM的候选人简历上不写个懂vLLM貌似都不大好意思。
四个绝活:
- PagedAttention:把KV缓存分成一页一页,随用随取,显存利用率从传统的60%直接干到95%;
- 动态批处理:谁来就处理谁,不等批,不浪费,GPU满载运转;
- 量化: AWQ,GPTQ等主流量化算法内置,压模型,保效果。
适合干啥?高并发、高响应场景,比如金融对话、AI客服、在线问答。
项目地址:https://github.com/vllm-project/vllm.git
2. SGLang:吞吐王者 + 输出专家
同样出自伯克利,是一款基于Radix树的高吞吐LLM推理引擎。
核心在于:
- Radix Tree缓存:生成内容不丢掉,能共用前缀,效率拉满;
- 结构化输出:生成JSON、XML这类格式轻轻松松,适合对接后端;
跑多轮对话时,吞吐是vLLM的5倍(没看错,5 倍!)。
适合干啥?高并发多轮对话、搜索引擎、金融领域,一整套流程都能省心。
项目地址:https://github.com/sgl-project/sglang
3. TensorRT-LLM:NVIDIA出品
NVIDIA官方出品,为自家显卡量身打造。早期做Transformer模型的同学对FasterTransformer不会陌生,本公众号也有几篇分析。实际上,我个人学LLM推理入门就是从FasterTransformer开始的。而TRT-LLM其实就是FasterTransformer的继任者,第一版的代码和FasterTransformer的最后一个版本基本一致,然后再上面持续迭代优化。 特点就是——快!还省显存!
- 支持FP8、INT4量化,显存压得低,还不掉精度。
适合干啥?极限低延迟的场景,比如高频交易、语音助手、AI电话客服。
项目地址:https://github.com/NVIDIA/TensorRT-LLM
NV家的东西吧,很喜欢走开源+闭源结合的方式,所以有很多核心部件看不到,不大容易自己扩展。
4. Ollama:一个人也能用的大模型引擎
你可能不搞大集群,但也想玩大模型?用它!
- 一键安装,支持Mac、Windows、Linux。
- 内置llama.cpp,跑得快,还能量化到4bit。
适合干啥?个人开发、隐私场景、快速原型,连苹果M1都能跑。
项目地址:https://github.com/ollama/ollama
这个项目其实不是追求高性能,而是让每个电脑都能把LLM跑起来。
5. XInference:企业级分布式全家桶
PD分离听过吧?就是把prefill阶段和decoding阶段分开做。这个框架很大的一个卖点就是PD分离。另外,它的内核支持使用kubernetes集群部署,所以,自然就是企业级部署的不错选择。
特点:
一样有continuous batching技术。
适合干啥?客服系统、智能问答、企业知识库,一套搞定。
项目地址:https://github.com/xorbitsai/inference
6. LightLLM:轻盈又高速的吞吐机器
轻量选手,别看代码少,性能一点不虚。
- 动态批处理+TokenAttention,处理token数量翻倍。
- 支持张量并行和FlashAttention,效率直接拉满。
适合干啥?高吞吐API服务、聊天机器人、边缘部署。
项目地址:https://github.com/ModelTC/LightLLM
7. LMDeploy:反正是我的最爱
大模型怎么能没有国产方案!
- 昇腾芯片 + MindSpore Inference,硬件+软件双适配。
- LMDeploy:专为视觉+语言混合任务打造,兼容国产GPU。
适合干啥?政企、金融、教育等对国产芯片有要求的场景,放心大胆部署。
LMDeploy是使用Python+CPP混合开发的框架,并且C++层非常重。当然了,带来的收益是他的效率非常高。曾经在用它部署TTS的模型的时候发现了ROPE使用BF16的精度问题。Anyway,这绝对是一个好框架。
项目地址:https://github.com/InternLM/lmdeploy
总结