Skip to content

以“吞吐/延迟/易用/资源占用/生态”五个维度,对比 vLLM/TGI/Ollama/LMDeploy。

🎯 文章目标

  • 给出“何时选哪一个”的建议
  • 提供最小启动参数与压测方法
  • 明确 KV 缓存与批处理支持差异

📚 背景/前置

  • vLLM:PagedAttention,高吞吐,OpenAI 兼容好
  • TGI:Hugging Face 推理服务,生态强
  • Ollama:本地易用,模型管理方便
  • LMDeploy:推理优化,量化/并行灵活

🔧 核心内容

1) 最小启动

  • vLLM:见 25 篇

  • TGI:

bash
text-generation-launcher --model-id Qwen/Qwen2.5-7B-Instruct --port 8080
  • Ollama:
bash
ollama serve &
ollama pull qwen2.5:7b-instruct
  • LMDeploy:略(结合官方脚本)

2) 压测方法

  • 并发 32/64、请求 256;观察 TTFB/吞吐/错误率
  • 记录 tokens/s、P95/P99 延迟、最慢 5%

3) 取舍建议

  • 高吞吐:vLLM
  • 简易上手:Ollama
  • 生态联动:TGI
  • 细粒度推理优化:LMDeploy

📊 对比/取舍(速查)

  • 吞吐 vs 延迟,简易 vs 可控,依场景权衡

🧪 踩坑与经验

  • 没有控制 batch 导致头阻塞
  • 忘记启用 KV/前缀缓存,延迟偏高

📎 参考与延伸

  • 各引擎官方文档/参数指南
  • 社区压测与对比报告

💭 总结

  • 先选定“应用目标”,再根据吞吐/延迟/易用性选引擎;用压测数据说话