什么是 vLLM?

复制 URL

vLLM 是虚拟大语言模型的简称,它是一个由 vLLM 社区维护的开源代码库。该代码库有助于大语言模型(LLM)更高效地大规模执行计算。

具体而言,vLLM 是一种推理服务器,可通过更好地利用 GPU 内存来加快生成式 AI 应用的输出速度。 

探索红帽 AI

要了解 vLLM 的价值,必须了解推理服务器的用途以及 LLM 运行的基本机制。在此基础上,我们可以更好地理解 vLLM 如何在提高现有语言模型的性能方面发挥作用。

关注 vLLM 办公时间,了解最新进展

什么是推理服务器?

推理服务器是一种基于人工技术的软件,可帮助 AI 模型根据之前的训练得出新结论。推理服务器通过机器学习模型馈送输入请求并返回输出。

推理是指基于依据得出结论。举个例子,您看到朋友家客厅的灯亮着,但没见到人。您可能会推断家中有人,但没有确凿的证据来证明这一点。

语言模型只是一个软件,它也没有关于字词含义的确凿证据,因此它以训练数据为依据。经过一系列基于数据的计算后,它会生成一个结论。就像如果灯关着,您就会推算出您的朋友不在家一样。

详细了解 AI 推理

LLM 基于数学运算得出结论

对 LLM 进行训练时,它通过数学运算来学习。当 LLM 生成响应(推理)时,它是通过执行一系列概率运算(更多是数学运算)来实现的。

为了理解您的请求,LLM 需要了解字词之间的关系以及如何在字词之间建立关联。与人类使用语义和推理来理解字词不同,LLM 是通过数学运算来“推理”的。

如果 LLM 每天要响应数百万用户,它需要进行大量计算。在应用实时运行时,立即处理所有这些计算是一项不小的挑战。这是因为(传统上)运行 LLM 所需的处理能力会迅速消耗大量内存。

vLLM 架构升级会不断提升内存和速度等方面的资源利用效率。

AI 技术在企业内的应用? 

红帽 AI

《采用 PagedAttention 的大语言模型的高效内存管理》是一项具有里程碑意义的研究,它发现,现有 LLM 内存管理系统无法以最高效的方式分配计算任务。PagedAttention 是 vLLM 引入的一种内存管理技术,其灵感来自操作系统中的虚拟内存和分页系统。

这项研究明确了键值(KV)缓存(LLM 的短期记忆)在吞吐过程中如何增大和缩小,且提出将 vLLM 作为以更稳定的方式管理内存和计算能力的解决方案。

从本质上讲,vLLM 是一套指令,它促使 KV 缓存通过不断批处理用户响应来创建快捷方式。

我们先简单了解一下什么是 KV 缓存和连续批处理。

什么是 KV 缓存?

KV 是键值的简称。键值是 LLM 确定字词含义的一种方式。假设您将要处理菜单上某个菜品的键值:炸薯条(键)的价格为 3.99 美元(值)。因此,当收银员针对炸薯条结账时,与该“键”对应计算出的“值”为 3.99 美元。LLM 处理 KV 的方式与此类似,它是将每个键(或词元)所对应的值保存到缓存中。

缓存是指一种短期内存存储。以您的个人电脑为例,当运行缓慢时,常见的做法是“清除缓存”以腾出空间,使其更流畅、更快地运行。

什么是连续批处理?

连续批处理是一种可同时处理多个查询的技术,旨在提高整体处理效率。

试想一下:一个聊天机器人每分钟都会收到数千个查询,其中许多查询的问题类似,比如“印度的首都是哪里?”以及“爱尔兰的首都是哪里?”这两个查询均包含字词“的首都是哪里”,这是一个由多个词元(字词)组成的字符串,LLM 必须进行大量计算以提取其含义。

借助 vLLM,聊天机器人可以将这个词元字符串(“的首都是哪里”)存储在短期记忆(KV 缓存)中,并发送一个“翻译请求”,而非发送两个单独的请求。

换句话说,vLLM 并非生成全新的响应,而是允许 KV 缓存保存记忆,并为与之前计算过的查询类似的新查询创建快捷方式。批量处理(而不是逐个处理)类似查询的计算方式可以提高吞吐量并优化内存分配。

vLLM 有助于优化内存并扩展词元容量,以支持更大的批处理规模和长文本上下文任务。

什么是模型即服务?

借助 vLLM,企业组织能够在硬件成本高昂的 LLM 应用市场中实现“事半功倍”。

要构建具有成本效益且可靠的 LLM 服务,需要大量的计算能力、能源资源以及专业的运维技能。这些挑战会导致许多企业组织无法享受定制、部署就绪且更注重安全的 AI 的优势。

vLLM 和它所基于的 PagedAttention 算法旨在通过更高效地利用支持 AI 工作负载所需的硬件来应对这些挑战。

vLLM 的优势

将 vLLM 作为 LLM 的推理服务器具有以下好处:

更快的响应速度:根据某些计算,vLLM 的吞吐量(LLM 可处理的数据量)是 Hugging Face Transformers(一个用于处理 LLM 的热门开源库)的 24 倍

降低硬件成本:更高效地利用资源意味着处理 LLM 所需的 GPU 数量减少。

可扩展性:vLLM 可对虚拟内存进行分配,使得 GPU 可以同时处理来自用户的更多请求。

数据隐私:与使用第三方 LLM 服务或应用(如 ChatGPT )相比,使用 vLLM 自托管 LLM 可以让您更好地控制数据隐私和使用。

开源创新:社区参与 vLLM 的维护和持续发展,因此代码能够不断优化。用户访问和修改代码的方式公开透明,让开发人员可以根据需求自由使用 vLLM。 

了解如何使用 vLLM 部署 Llama

PagedAttention 是 vLLM 中的主要算法。不过,PagedAttention 并不是 vLLM 的唯一功能。vLLM 可提供的其他性能优化包括:

  • PyTorch 编译/CUDA Graph - 用于优化 GPU 内存。
  • 量化 - 用于减少运行模型所需的内存空间。
  • 张量并行 - 用于将处理任务分配到多个 GPU 上。
  • 推测解码 - 使用较小的模型来预测词元,并使用较大的模型来验证预测结果,从而加快文本的生成速度。
  • Flash Attention - 用于提高 Transformer 模型的效率。

除了 vLLM 的优化能力之外,其灵活性也促进了它的普及。vLLM 可与小型和大型语言模型组合使用,且集成了热门的模型和框架。最后,vLLM 还具有开源特性,因此可实现代码透明、可定制以及更快地修复错误。 

LoRA 和 QLoRA 是两种高效节能的微调技术,可以帮助用户优化成本并合理利用计算资源。

了解 vLLM 如何为开源社区提供推理支持

红帽® AI 巧借开源创新的力量来应对大规模企业 AI 带来的挑战,vLLM 是我们工具箱中的一个关键工具。

借助红帽 AI,您就可以访问红帽® AI 推理服务器,在混合云上优化模型推理,从而实现更快、更具成本效益的部署。推理服务器由 vLLM 提供支持,可最大限度地提高 GPU 利用率,加快响应速度。

了解有关红帽 AI 推理服务器的更多信息

红帽 AI 推理服务器包含红帽 AI 资源存储库,这是一个经过第三方验证和优化的模型集合,既能确保模型具有灵活性,又可确保跨团队一致性。通过接入第三方模型存储库,企业能够显著缩短将产品推向市场所需的时间,并降低 AI 应用成功的资金门槛。   

探索 Hugging Face 上的存储库

了解有关经红帽 AI 验证的模型的更多信息

红帽 AI 依托开源技术和广泛的合作伙伴生态系统,致力于在各类基础架构上实现卓越的性能、稳定性以及 GPU 支持。

浏览我们的合作伙伴生态系统

开启企业 AI 之旅:新手指南

此新手指南介绍了红帽 OpenShift AI 和红帽企业 Linux AI 如何加快您的 AI 采用之旅。

红帽 AI

红帽 AI 提供灵活且经济高效的解决方案,可加速混合云环境中 AI 解决方案的开发和部署。

扩展阅读

AI 在公共部门的应用和价值

探索如何开发和应用 AI 并将其作为推动公共部门转型与现代化的工具。

什么是企业 AI?

企业 AI 是指将人工智能(AI)工具和机器学习软件集成到大规模运维和流程中。如今,企业解决问题的时间大幅缩短,几周内便可完成过去需要数年才能解决的问题。

什么是参数高效微调(PEFT)?

PEFT 是一组仅调整 LLM 中部分参数的技术,可节省资源。

AI/ML 相关资源

特色产品

  • 红帽 OpenShift AI

    一个人工智能 (AI) 平台,提供工具来快速开发、训练、服务和监控模型以及支持 AI 应用。

相关文章