Redian新闻
>
比HuggingFace快24倍!伯克利神级LLM推理系统开源,碾压SOTA,让GPU砍半

比HuggingFace快24倍!伯克利神级LLM推理系统开源,碾压SOTA,让GPU砍半

科技



  新智元报道  

编辑:桃子 好困
【新智元导读】打「排位赛」的大模型们背后秘密武器曝光!UC伯克利重磅开源神级LLM推理系统——vLLM,利用PagedAttention,比HuggingFace/Transformers快24倍,GPU数量减半。

过去2个月,来自UC伯克利的研究人员给大语言模型们安排了一个擂台——Chatbot Arena。

GPT-4等大语言模型玩家打起了「排位赛」,通过随机battle,根据Elo得分来排名。

这一过程中,每当一个用户访问并使用网站,就需要同时让两个不同的模型跑起来。

他们是如何做到的?

这不,就在今天,UC伯克利重磅开源了世界最快LLM推理和服务系统vLLM。

简之,vLLM是一个开源的LLM推理和服务引擎。它利用了全新的注意力算法「PagedAttention」,有效地管理注意力键和值。

配备全新算法的vLLM,重新定义了LLM服务的最新技术水平:

与HuggingFace Transformers相比,它提供高达24倍的吞吐量,而无需进行任何模型架构更改。

值得一提的是,「小羊驼」Vicuna在demo中用到的就是FastChat和vLLM的一个集成。

正如研究者所称,vLLM最大的优势在于——提供易用、快速、便宜的LLM服务。

这意味着,未来,即使对于像LMSYS这样计算资源有限的小型研究团队也能轻松部署自己的LLM服务。

项目地址:https://github.com/vllm-project/vllm

现在,所有人可以在GitHub仓库中使用一个命令尝试vLLM了。论文随后也会发布。

性能全面碾压SOTA


今天,这个由UC伯克利创立的开放研究组织LMSYS介绍道:

「一起来见证vLLM:Chatbot Arena背后的秘密武器。FastChat-vLLM的集成使LMSYS使用的GPU数量减少了一半,同时每天平均提供3万次请求。」

vLLM的性能具体如何?

UC伯克利团队将vLLM的吞吐量与最受欢迎的LLM库HuggingFace Transformers(HF),以及HuggingFace文本生成推理(TGI),先前的最新技术水平进行了比较。

团队在两个设置中进行评估:在NVIDIA A10G GPU上运行LLaMA-7B模型,在NVIDIA A100 GPU(40GB)上运行LLaMA-13B模型。

然后,研究人员从ShareGPT数据集中抽样请求的输入/输出长度。

在实验中,vLLM的吞吐量比HF高达24倍,并且比TGI高达3.5倍。

在每个请求只需要一个输出完成时的服务吞吐量。vLLM比HF的吞吐量高出14倍-24倍,比TGI的吞吐量高出2.2倍-2.5倍

在每个请求需要3个并行输出完成时的服务吞吐量。vLLM比HF的吞吐量高出8.5倍-15倍,比TGI的吞吐量高出3.3倍-3.5倍

秘密武器:PagedAttention


在vLLM中,团队发现LLM服务的性能受到内存的限制。

在自回归解码过程中,LLM的所有输入token都会生成注意力键(key)和值(value)张量,并且这些张量被保留在GPU内存中以生成下一个token。

这些缓存的键和值张量通常被称为KV缓存。KV缓存具有以下特点:

1. 内存占用大:在LLaMA-13B中,单个序列的KV缓存占用高达1.7GB的内存。

2. 动态化:其大小取决于序列长度,而序列长度高度易变,且不可预测。

因此,有效管理KV缓存是一个重大挑战。对此,研究团队发现现有系统由于碎片化和过度保留而浪费了60%至80%的内存。

用团队的导师Joey Gonzalez的一句话来讲:GPU内存碎片化=慢。

为了解决这个问题,团队引入了PagedAttention,一种受到操作系统中虚拟内存和分页经典概念启发的注意力算法。

与传统的注意力算法不同,PagedAttention允许在非连续的内存空间中存储连续的键和值。

具体来说,PagedAttention将每个序列的KV缓存分为若干块,每个块包含固定数量token的键和值。在注意力计算过程中,PagedAttention内核能够高效地识别和提取这些块。

PagedAttention:KV缓存被分割成块,这些块在内存中不需要连续

由于这些块在内存中不需要连续,因此也就可以像操作系统的虚拟内存一样,以更灵活的方式管理键和值——将块看作页,token看作字节,序列看作进程。

序列的连续逻辑块通过块表映射到非连续的物理块。随着生成新的token,物理块会按需进行分配。

使用PagedAttention的请求生成过程示例

PagedAttention将内存浪费控制在了序列的最后一个块中。

在实践中,这带来了接近最优的内存使用——仅有不到4%的浪费。

而这种内存效率的提升,能让系统将更多的序列进行批处理,提高GPU利用率,从而显著提高吞吐量。

此外,PagedAttention还具有另一个关键优势:高效的内存共享。

比如在并行采样中,就能从相同的提示生成多个输出序列。在这种情况下,提示的计算和内存可以在输出序列之间共享。

并行采样的示例

PagedAttention通过块表自然地实现了内存共享。

类似于进程共享物理页的方式,PagedAttention中的不同序列可以通过将它们的逻辑块映射到相同的物理块来共享块。

为了确保安全,PagedAttention会跟踪物理块的引用计数,并实现了写时复制机制。

采样多个输出的请求示例生成过程

PagedAttention的内存共享极大减少了复杂采样算法(如并行采样和束搜索)的内存开销,将它们的内存使用量减少了高达55%。这可以将吞吐量提高多达2.2倍。

总结而言,PagedAttention是vLLM的核心技术,它是LLM推断和服务的引擎,支持各种模型,具有高性能和易于使用的界面。

GitHub上,团队也介绍了vLLM能够无缝支持的HuggingFace模型,包括以下架构:

- GPT-2(gpt2、gpt2-xl等)

- GPTNeoX(EleutherAI/gpt-neox-20b、databricks/dolly-v2-12b、stabilityai/stablelm-tuned-alpha-7b等)

- LLaMA(lmsys/vicuna-13b-v1.3、young-geng/koala、openlm-research/open_llama_13b等)

- OPT(facebook/opt-66b、facebook/opt-iml-max-30b等)

小羊驼和排位赛的「幕后英雄」


4月初,UC伯克利学者联手UCSD、CMU等,最先推出了一个开源全新模型——130亿参数的Vicuna,俗称「小羊驼」

从那时起,Vicuna已在Chatbot Arena为数百万用户提供服务。

最初,LMSYS的FastChat采用基于HF Transformers的服务后端来提供聊天demo。

但随着demo变得越来越受欢迎,峰值流量猛增了好几倍,而HF后端也因此成了一个重大的瓶颈。

为了解决这一挑战,LMSYS与vLLM团队紧密合作,全力开发出了全新的FastChat-vLLM集成——通过将vLLM作为新的后端,来满足不断增长的需求(最多增加5倍的流量)。

根据LMSYS内部微基准测试的结果,vLLM服务后端可以实现比初始HF后端高出30倍的吞吐量。

4月-5月期间,Chatbot Arena的后端已经部落了FastChat-vLLM的集成。实际上,有超过一半的Chatbot Arena请求都使用FastChat-vLLM集成服务的

自4月中旬以来,最受欢迎的语言模型,如Vicuna、Koala和LLaMA,都已成功使用FastChat-vLLM集成提供服务。

FastChat作为多模型聊天服务前端,vLLM作为推理后端,LMSYS能够利用有限数量的GPU(学校赞助的),以高吞吐量和低延迟为数百万用户提供Vicuna服务。

现在,LMSYS正在将vLLM的使用扩展到更多的模型,包括Databricks Dolly、LAION的OpenAsssiant和Stability AI的StableLM等。

vLLM使用教程


使用以下命令安装vLLM(另可查看安装指南了解更多信息):

$ pip install vllm


vLLM可用于离线推理和在线服务。要使用vLLM进行离线推理,你可以导入vLLM并在Python脚本中使用LLM类:

from vllm import LLMprompts = ["Hello, my name is", "The capital of France is"]  # Sample prompts.llm = LLM(model="lmsys/vicuna-7b-v1.3")  # Create an LLM.outputs = llm.generate(prompts)  # Generate texts from the prompts.

要使用vLLM进行在线服务,你可以通过以下方式启动与OpenAI API兼容的服务器:

$ python -m vllm.entrypoints.openai.api_server --model lmsys/vicuna-7b-v1.3

你可以使用与OpenAI API相同的格式查询服务器:

$ curl http://localhost:8000/v1/completions \-H "Content-Type: application/json" \-d '{        "model": "lmsys/vicuna-7b-v1.3",        "prompt": "San Francisco is a",        "max_tokens": 7,        "temperature": 0    }'

有关使用vLLM的更多方法,请查看快速入门指南:

https://vllm.readthedocs.io/en/latest/getting_started/quickstart.html

团队介绍


Zhuohan Li

Zhuohan Li是加州大学伯克利分校计算机科学专业的博士生,研究兴趣是机器学习和分布式系统的交叉领域。

在此之前,他在北京大学获得了计算机科学学士学位,指导老师是王立威和贺笛。

Woosuk Kwon

Woosuk Kwon是加州大学伯克利分校的博士生,研究兴趣是为大语言模型等新兴应用建立实用、灵活和高性能的软件系统。

团队其他成员包括庄思远、盛颖、郑怜悯、Cody Yu。团队导师包括Joey Gonzalez,Ion Stoica和张昊。

其中,团队的大部分成员同时也是LMSYS成员。

参考资料:
https://vllm.ai




微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
支持80+编程语言!集成VSCode,HuggingFace代码大模型来了让ChatGPT调用10万+开源AI模型!HuggingFace新功能爆火:大模型可随取随用多模态AI工具清华第二代60亿参数ChatGLM2开源!中文榜居首,碾压GPT-4,推理提速42%号称业界最强!Meta发布全新文生图模型,实力碾压Stable Diffusion、MidjourneyChatGPT的替代品来了!HuggingChat号称媲美GPT-3.5,要拆掉OpenAI的围墙我的私隐真的不想你偷窥---哪种社交App安全?不对齐,反而性能爆表?130亿模型碾压650亿,Hugging Face大模型排行榜发布一场 AI 引发的开源革命迫在眉睫?Hugging Face 更改文本推理软件许可证,不再“开源”春日隨筆重磅!清华ChatGLM2开源!中文榜居首,碾压GPT-4!Llama 2宇宙大爆炸!伯克利实测排第8,iPhone本地可跑,一大波应用免费玩,LeCun狂转谷歌PaLM 2弱爆:LLM大排名屈居第六,准中文倒数第二|UC伯克利排行榜新鲜榜出炉复旦MOSS大模型开源了!Github和Hugging Face同时上线Huggingface榜首开源模型惹争议:魔改Apache协议,达到一定门槛要收钱对标ChatGPT!Hugging Face推出开源聊天机器人HuggingChat给爆火的Llama 2划重点,Huggingface机器学习科学家写了篇分析文章JARVIS项目原作解读:连接ChatGPT和HuggingFace解决AI问题碾压LLaMA,「猎鹰」彻底开源!400亿参数,万亿token训练,霸榜Hugging Face回国之旅,衣着被朋友骂了最新ReWOO框架直指Auto-GPT和LangChain代理的冗杂性,提出轻量级LLM与工具的交互范式我的私隐真的不想你偷窥---哪种社交App安全?对Hugging Face开源模型精准投毒!LLM切脑后变身PoisonGPT,用虚假事实洗脑60亿人LLM推理提速2.8倍,CMU清华姚班校友提出「投机式推理」引擎SpecInfer,小模型撬动大模型高效推理彻底反转:号称「碾压」LLaMA的Falcon实测得分仅49.08,HuggingFace决定重写排行榜代码UC伯克利LLM排行榜首次重磅更新!GPT-4稳居榜首,全新330亿参数「小羊驼」位列开源第一小羊驼背后的英雄,伯克利开源LLM推理与服务库:GPU减半、吞吐数十倍猛增独特的车库风景GPT-4拿下最难数学推理数据集新SOTA,新型Prompting让大模型推理能力狂升碾压LLaMA的最强开源大模型居然来自阿联酋,OpenAI和HuggingFace 为它吵了起来HuggingChat:第一个面向所有人使用的 ChatGPT 开源替代方案 | Linux 中国ChatGPT上下文碾压64K开源模型!UC伯克利:开源模型能力严重「虚标」|最新硬核评测曝光对标ChatGPT,Hugging Face推出开源聊天机器人HuggingChat​ISC 2023第十一届互联网安全大会开幕;多家车企官宣降价;英伟达与AI开源社区Hugging Face合作……Python 失宠!Hugging Face 用 Rust 新写了一个 ML 框架,现已低调开源支持80+编程语言、集成VSCode,HuggingFace代码大模型来了
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。