vLLM 实战
引言
随着人工智能技术的飞速发展,以及今年以来 ChatGPT 的爆火,大语言模型 (Large Language Model, LLM) 受到越来越多的关注。
为了实现 LLM 部署时的推理优化,全球各地有众多团队做出了各种优化框架。本文以加州大学伯克利分校开发的 vLLM 框架为例,进行实战探索。
1. 整体介绍
根据公开文档中的实验结果, vLLM 吞吐量比 Hugging Face Transformers 高出 24 倍,比 TGI 高出 3.5 倍。
vLLM 整体框架如下图所示。
其中的关键技术点包括:
KVCache 显存优化
PagedAttention
Continuous Batching
笔者通过实际使用,认为该框架优点如下:
调试方便: 主框架由 Python 实现,便于用户断点调试。
系统设计工整规范: LLMEngine、Scheduler、Worker 结构清晰,初学者可以方便地理清脉络。
推理速度快: 经过理论计算与实测, 8 卡 A100-40G 足以支持千人试用。
小军军军军军军: vllm要依靠停止符
cooper6666: 感谢分享,我这边有个小疑问,max_tokens=16生成的结果不是非常的短吗?不能满足真是的业务情况。而且,我这边将max_tokens设置成512,但是生成的结果非常的扩散,答非所问,请问这是什么原因了?
sinat_38034171: 本人才疏学浅,几个大厂的CV 大模型都是迁移学习吗,还是我理解错了
Benjamin Liang: 您好,你这篇文章有部分内容(包括若干图片文字等)来自高通的量化白皮书,如果可以请您补充参考文献中
Youther1898: Adlik有支持int8的大模型的推理吗?