从 0.68 到 10 请求/秒:使用 vLLM 优化 LLM 服务

主要观点:GPU 对运行大型语言模型(LLM)很重要,但仅拥有强大的 GPU 还不够,高效处理可用 GPU 同样重要,vLLM 致力于提供相关软件层以实现这一目标,文中还探讨了 vLLM 如何实现高效利用 GPU 及带来的性能提升。
关键信息:

  • 现代用于 LLM 推理的 GPU 价格昂贵,如 NVIDIA H100 每块约 30000 - 40000 美元,大型企业会部署多块。
  • LLM 推理成本中,模型权重约占 GPU 内存的 70%,少量内存用于临时激活,约 20 - 25%用于 KV 缓存。
  • LLM 推理是顺序过程,利用 KV 缓存,传统方法预分配大块内存导致浪费,限制批处理请求数量。
  • UC 伯克利研究人员引入基于分页的 PagedAttention 算法来解决 KV 缓存管理问题,vLLM 基于此。
  • vLLM 是高吞吐量服务和推理引擎,具有 PagedAttention、前缀缓存支持、连续批处理请求等优势,包含 HTTP 服务器等。
  • 测试中,自定义顺序服务器处理 50 个请求近 74 秒,vLLM 仅需 5 秒,速度提升约 14 倍,测试结果表明 vLLM 在效率方面的潜力。
    重要细节:
  • 模型选择“gpt2-large”,测试中下载并使用相关包和依赖。
  • 自定义服务器代码通过 Flask 接收请求并处理,vLLM 服务器运行特定命令启动。
  • 测试脚本通过多线程发送请求到两个服务器并计算时间和吞吐量。
  • 测试结果显示 vLLM 在相同硬件上吞吐量从 0.68 提升到 10 req/sec。
阅读 39
0 条评论