首頁 區(qū)塊鏈 > 正文

比Hugging Face快24倍,伯克利神級LLM推理系統(tǒng)開源,碾壓SOTA,讓GPU砍半

小羊駝和排位賽的「幕后英雄」

編者按:本文來自微信公眾號 新智元(ID:AI_era),作者:桃子 好困 ,創(chuàng)業(yè)邦經(jīng)授權(quán)發(fā)布。


(相關(guān)資料圖)

過去2個(gè)月,來自UC伯克利的研究人員給大語言模型們安排了一個(gè)擂臺——Chatbot Arena。

GPT-4等大語言模型玩家打起了「排位賽」,通過隨機(jī)battle,根據(jù)Elo得分來排名。

這一過程中,每當(dāng)一個(gè)用戶訪問并使用網(wǎng)站,就需要同時(shí)讓兩個(gè)不同的模型跑起來。

他們是如何做到的?

這不,就在今天,UC伯克利重磅開源了世界最快LLM推理和服務(wù)系統(tǒng)vLLM。

簡之,vLLM是一個(gè)開源的LLM推理和服務(wù)引擎。它利用了全新的注意力算法「PagedAttention」,有效地管理注意力鍵和值。

配備全新算法的vLLM,重新定義了LLM服務(wù)的最新技術(shù)水平:

值得一提的是,「小羊駝」Vicuna在demo中用到的就是FastChat和vLLM的一個(gè)集成。

正如研究者所稱,vLLM最大的優(yōu)勢在于——提供易用、快速、便宜的LLM服務(wù)。

這意味著,未來,即使對于像LMSYS這樣計(jì)算資源有限的小型研究團(tuán)隊(duì)也能輕松部署自己的LLM服務(wù)。

項(xiàng)目地址:https://github.com/vllm-project/vllm

現(xiàn)在,所有人可以在GitHub倉庫中使用一個(gè)命令嘗試vLLM了。論文隨后也會發(fā)布。

性能全面碾壓SOTA

今天,這個(gè)由UC伯克利創(chuàng)立的開放研究組織LMSYS介紹道:

「一起來見證vLLM:Chatbot Arena背后的秘密武器。FastChat-vLLM的集成使LMSYS使用的GPU數(shù)量減少了一半,同時(shí)每天平均提供3萬次請求?!?/p>

vLLM的性能具體如何?

UC伯克利團(tuán)隊(duì)將vLLM的吞吐量與最受歡迎的LLM庫HuggingFace Transformers(HF),以及HuggingFace文本生成推理(TGI),先前的最新技術(shù)水平進(jìn)行了比較。

團(tuán)隊(duì)在兩個(gè)設(shè)置中進(jìn)行評估:在NVIDIA A10G GPU上運(yùn)行LLaMA-7B模型,在NVIDIA A100 GPU(40GB)上運(yùn)行LLaMA-13B模型。

然后,研究人員從ShareGPT數(shù)據(jù)集中抽樣請求的輸入/輸出長度。

在實(shí)驗(yàn)中,vLLM的吞吐量比HF高達(dá)24倍,并且比TGI高達(dá)3.5倍。

在每個(gè)請求只需要一個(gè)輸出完成時(shí)的服務(wù)吞吐量。vLLM比HF的吞吐量高出14倍-24倍,比TGI的吞吐量高出2.2倍-2.5倍

在每個(gè)請求需要3個(gè)并行輸出完成時(shí)的服務(wù)吞吐量。vLLM比HF的吞吐量高出8.5倍-15倍,比TGI的吞吐量高出3.3倍-3.5倍

秘密武器:PagedAttention

在vLLM中,團(tuán)隊(duì)發(fā)現(xiàn)LLM服務(wù)的性能受到內(nèi)存的限制。

在自回歸解碼過程中,LLM的所有輸入token都會生成注意力鍵(key)和值(value)張量,并且這些張量被保留在GPU內(nèi)存中以生成下一個(gè)token。

這些緩存的鍵和值張量通常被稱為KV緩存。KV緩存具有以下特點(diǎn):

1. 內(nèi)存占用大:在LLaMA-13B中,單個(gè)序列的KV緩存占用高達(dá)1.7GB的內(nèi)存。

2. 動態(tài)化:其大小取決于序列長度,而序列長度高度易變,且不可預(yù)測。

因此,有效管理KV緩存是一個(gè)重大挑戰(zhàn)。對此,研究團(tuán)隊(duì)發(fā)現(xiàn)現(xiàn)有系統(tǒng)由于碎片化和過度保留而浪費(fèi)了60%至80%的內(nèi)存。

用團(tuán)隊(duì)的導(dǎo)師Joey Gonzalez的一句話來講:GPU內(nèi)存碎片化=慢。

為了解決這個(gè)問題,團(tuán)隊(duì)引入了PagedAttention,一種受到操作系統(tǒng)中虛擬內(nèi)存和分頁經(jīng)典概念啟發(fā)的注意力算法。

與傳統(tǒng)的注意力算法不同,PagedAttention允許在非連續(xù)的內(nèi)存空間中存儲連續(xù)的鍵和值。

具體來說,PagedAttention將每個(gè)序列的KV緩存分為若干塊,每個(gè)塊包含固定數(shù)量token的鍵和值。在注意力計(jì)算過程中,PagedAttention內(nèi)核能夠高效地識別和提取這些塊。

PagedAttention:KV緩存被分割成塊,這些塊在內(nèi)存中不需要連續(xù)

由于這些塊在內(nèi)存中不需要連續(xù),因此也就可以像操作系統(tǒng)的虛擬內(nèi)存一樣,以更靈活的方式管理鍵和值——將塊看作頁,token看作字節(jié),序列看作進(jìn)程。

序列的連續(xù)邏輯塊通過塊表映射到非連續(xù)的物理塊。隨著生成新的token,物理塊會按需進(jìn)行分配。

使用PagedAttention的請求生成過程示例

PagedAttention將內(nèi)存浪費(fèi)控制在了序列的最后一個(gè)塊中。

在實(shí)踐中,這帶來了接近最優(yōu)的內(nèi)存使用——僅有不到4%的浪費(fèi)。

而這種內(nèi)存效率的提升,能讓系統(tǒng)將更多的序列進(jìn)行批處理,提高GPU利用率,從而顯著提高吞吐量。

此外,PagedAttention還具有另一個(gè)關(guān)鍵優(yōu)勢:高效的內(nèi)存共享。

比如在并行采樣中,就能從相同的提示生成多個(gè)輸出序列。在這種情況下,提示的計(jì)算和內(nèi)存可以在輸出序列之間共享。

并行采樣的示例

PagedAttention通過塊表自然地實(shí)現(xiàn)了內(nèi)存共享。

類似于進(jìn)程共享物理頁的方式,PagedAttention中的不同序列可以通過將它們的邏輯塊映射到相同的物理塊來共享塊。

為了確保安全,PagedAttention會跟蹤物理塊的引用計(jì)數(shù),并實(shí)現(xiàn)了寫時(shí)復(fù)制機(jī)制。

采樣多個(gè)輸出的請求示例生成過程

PagedAttention的內(nèi)存共享極大減少了復(fù)雜采樣算法(如并行采樣和束搜索)的內(nèi)存開銷,將它們的內(nèi)存使用量減少了高達(dá)55%。這可以將吞吐量提高多達(dá)2.2倍。

總結(jié)而言,PagedAttention是vLLM的核心技術(shù),它是LLM推斷和服務(wù)的引擎,支持各種模型,具有高性能和易于使用的界面。

GitHub上,團(tuán)隊(duì)也介紹了vLLM能夠無縫支持的HuggingFace模型,包括以下架構(gòu):

- 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伯克利學(xué)者聯(lián)手UCSD、CMU等,最先推出了一個(gè)開源全新模型——130億參數(shù)的Vicuna,俗稱「小羊駝」。

從那時(shí)起,Vicuna已在Chatbot Arena為數(shù)百萬用戶提供服務(wù)。

最初,LMSYS的FastChat采用基于HF Transformers的服務(wù)后端來提供聊天demo。

但隨著demo變得越來越受歡迎,峰值流量猛增了好幾倍,而HF后端也因此成了一個(gè)重大的瓶頸。

為了解決這一挑戰(zhàn),LMSYS與vLLM團(tuán)隊(duì)緊密合作,全力開發(fā)出了全新的FastChat-vLLM集成——通過將vLLM作為新的后端,來滿足不斷增長的需求(最多增加5倍的流量)。

根據(jù)LMSYS內(nèi)部微基準(zhǔn)測試的結(jié)果,vLLM服務(wù)后端可以實(shí)現(xiàn)比初始HF后端高出30倍的吞吐量。

4月-5月期間,Chatbot Arena的后端已經(jīng)部落了FastChat-vLLM的集成。實(shí)際上,有超過一半的Chatbot Arena請求都使用FastChat-vLLM集成服務(wù)的

自4月中旬以來,最受歡迎的語言模型,如Vicuna、Koala和LLaMA,都已成功使用FastChat-vLLM集成提供服務(wù)。

FastChat作為多模型聊天服務(wù)前端,vLLM作為推理后端,LMSYS能夠利用有限數(shù)量的GPU(學(xué)校贊助的),以高吞吐量和低延遲為數(shù)百萬用戶提供Vicuna服務(wù)。

現(xiàn)在,LMSYS正在將vLLM的使用擴(kuò)展到更多的模型,包括Databricks Dolly、LAION的OpenAsssiant和Stability AI的StableLM等。

vLLM使用教程

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

vLLM可用于離線推理和在線服務(wù)。要使用vLLM進(jìn)行離線推理,你可以導(dǎo)入vLLM并在Python腳本中使用LLM類:

要使用vLLM進(jìn)行在線服務(wù),你可以通過以下方式啟動與OpenAI API兼容的服務(wù)器:

你可以使用與OpenAI API相同的格式查詢服務(wù)器:

有關(guān)使用vLLM的更多方法,請查看快速入門指南:

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

團(tuán)隊(duì)介紹

Zhuohan Li

Zhuohan Li是加州大學(xué)伯克利分校計(jì)算機(jī)科學(xué)專業(yè)的博士生,研究興趣是機(jī)器學(xué)習(xí)和分布式系統(tǒng)的交叉領(lǐng)域。

在此之前,他在北京大學(xué)獲得了計(jì)算機(jī)科學(xué)學(xué)士學(xué)位,指導(dǎo)老師是王立威和賀笛。

Woosuk Kwon

Woosuk Kwon是加州大學(xué)伯克利分校的博士生,研究興趣是為大語言模型等新興應(yīng)用建立實(shí)用、靈活和高性能的軟件系統(tǒng)。

團(tuán)隊(duì)其他成員包括莊思遠(yuǎn)、盛穎、鄭憐憫、Cody Yu。團(tuán)隊(duì)導(dǎo)師包括Joey Gonzalez,Ion Stoica和張昊。

其中,團(tuán)隊(duì)的大部分成員同時(shí)也是LMSYS成員。

參考資料

https://vllm.ai

關(guān)鍵詞:

最近更新

關(guān)于本站 管理團(tuán)隊(duì) 版權(quán)申明 網(wǎng)站地圖 聯(lián)系合作 招聘信息

Copyright © 2005-2023 創(chuàng)投網(wǎng) - mallikadua.com All rights reserved
聯(lián)系我們:39 60 29 14 2@qq.com
皖I(lǐng)CP備2022009963號-3