vLLM:由伯克利大学LMSYS构造开源的大语言模子高速推理框架-显著提高了大型 ...

打印 上一主题 下一主题

主题 833|帖子 833|积分 2499

vLLM是一个由伯克利大学LMSYS构造开源的大语言模子高速推理框架,旨在提拔及时场景下语言模子服务的吞吐与内存利用效率134。它是一个快速且易于利用的库,可以或许与HuggingFace无缝集成134。vLLM的核心是PagedAttention算法,这是一种新颖的留意力算法,通过引入操作系统的虚拟内存分页头脑,显著提高了大型语言模子(LLM)的服务效率512。
别的,vLLM还支持FastAPI前端,扩展了OpenAI API接口,允许用户为每个请求自定义采样参数1516。
vLLM初次发布于2023年6月20日,并在2024年3月30日发布了0.4.0版本7。它的代码布局清晰,性能优秀,因此获得了广泛关注,GitHub上的star数目达到了17k7。vLLM的实现采用了Python/C++/CUDA,这表明它不仅实用于学术研究,也适合在生产环境中部署和利用1719。
vLLM通过其创新的PagedAttention算法和模块化计划思路,有用地解决了大型语言模子在及时服务中的内存管理和吞吐量问题,使其成为了一个强大的工具,用于推动大型语言模子在生产环境中的高效部署和应用2522。
vLLM的PagedAttention算法是怎样具体实现的,以及它怎样提高大型语言模子的服务效率?

vLLM的PagedAttention算法是一种针对大型语言模子推理过程的优化方案,其核心头脑是将每个序列的KV cache(键值缓存)分块处置处罚,每块包含固定数目的token 28。这种计划灵感来源于操作系统中的虚拟内存和分页管理技能,旨在动态地为请求分配KV cache显存,提拔显存利用率 30。通过这种方式,PagedAttention算法可以或许高效地管理attention中缓存的张量,实现了比HuggingFace Transformers高24倍的吞吐量 29。
具体实现方面,PagedAttention算法通过将自留意力机制的计算过程举行优化,利用Python、C++和CUDA等多种编程语言和技能,在源码中实现了这一算法 32。别的,该算法还采用了内存共享机制,极大地低落了复杂采样算法(如ParallelSampling和BeamSearch)的内存开销,使其内存利用量下降了高达55% 35。
通过这些优化措施,PagedAttention算法不仅提高了大型语言模子的服务效率,还解决了GPU显存瓶颈问题,使得在self-attention计算中,计算速度比内存速度快得多的环境得到了改善 36。评估效果表明,vLLM可以将常用的LLM吞吐量提高了2-4倍,在延迟水平上与开始进的系统相当,并且在更长序列、更大模子和更复杂的场景下体现出了优秀的性能 37。
vLLM与HuggingFace集成的具体步骤和要求是什么?

vLLM与HuggingFace集成的具体步骤和要求主要包括以下几点:

  • 模子架构兼容性:如果要集成的模子与vLLM中已有的模子架构相似,那么整个过程会相对简朴39。这意味着用户需要先确认目的模子是否与vLLM支持的模子架构兼容。

  • 信任远程代码:对于不在HuggingFace transformers库中的自定义模子,可以通过设置trust_remote_code=True来启用对远程代码的信任,或者在CLI中利用--trust-remote-code标记40。这一步骤是为了确保vLLM可以或许安全地执行和利用这些远程模子。

  • 环境变量配置:为了利用ModelScope中的模子而不是HuggingFace Hub上的模子,需要设置一个环境变量$ export VLLM_USE_MODELSCOPE = True。同时,也需要利用trust_remote_code=True来启用对远程代码的信任45。这表明vLLM提供了机动性,允许用户根据需要选择不同的模子来源。

  • 实例化LLM对象:在vLLM框架中,首先需要实例化一个LLM对象。这是开始利用vLLM举行大模子推理和服务的基本步骤44。

  • 调度策略分配:利用PolicyFactory的get_policy方法为调度策略分配一个实例。这一步骤涉及到怎样高效地管理和利用计算资源,以优化推理性能44。
vLLM与HuggingFace集成的过程涉及到模子架构的兼容性查抄、远程代码信任的设置、环境变量的配置以及LLM对象的实例化和调度策略的分配。这些步骤和要求共同确保了用户可以或许在vLLM框架中无缝集成并利用HuggingFace模子,无论是现有的照旧自定义的模子394044。
vLLM在内存管理和吞吐量方面相比其他框架有哪些显著上风?

vLLM在内存管理和吞吐量方面相比其他框架具有显著上风。首先,在吞吐量方面,vLLM提供了高达24倍的吞吐量提拔,而无需举行任何模子架构的改变48。这一点在多个来源中得到了证明,例如与Hugging Face Transformers(HF)相比,vLLM的吞吐量高出14倍至24倍4951。别的,vLLM的吞吐量也比TGI高出2.2倍至3.5倍4951。
在内存管理方面,vLLM采用了PagedAttention技能,这种技能可以将留意力机制中的键和值存储在不一连的显存空间中,从而淘汰了显存碎片,提高了显存利用率50。这种内存管理技能使得大型语言模子在推理过程中可以或许更有用地利用计算资源,提高了推理速度。别的,vLLM的计划使得KV块存储在非一连物理内存中,进一步增长了内存管理的机动性53。
尽管存在一些竞争框架,如Friendli Engine,它在LLM服务方面体现出色55,但vLLM通过其内部优化,在性能上仍然显着优于竞争对手54。vLLM在内存管理和吞吐量方面的显著上风主要体现在其高吞吐量和高效的内存管理技能上,这些上风使其成为大规模语言模子推理和服务的抱负选择。
vLLM支持FastAPI前端的具体实现细节是什么,以及这怎样扩展OpenAI API接口?

vLLM支持FastAPI前端的具体实现细节主要体现在以下几个方面:

  • 服务提供系统:vLLM是一个端到端的服务提供系统,它具备FastAPI前端和基于GPU的推理引擎。这意味

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

万万哇

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表