如今,大語言模型 (LLM) 的發展正在從規模引數迭代升級擴充至應用場景的適配與創新,在這個過程中,其也暴露出一系列問題。例如,在推理環節的效率較低,處理複雜任務時耗時較長,難以滿足對實時性要求較高的場景需求;在資源利用方面,由於模型規模龐大,對計算資源和儲存資源的消耗巨大,且存在一定程度的浪費等。
針對於此,來自加州大學伯克利分校 (UC Berkeley) 的研究團隊於 2023 年開源了 vLLM (Virtual Large Language Model), 這是一款專為大語言模型推理加速而設計的框架,其依靠卓越的推理效率和資源最佳化能力在全球範圍內引發廣泛關注。
為了幫助國內開發者更加便捷地獲悉 vLLM 的版本更新及前沿動態,HyperAI超神經現已上線首個 vLLM 中文文件, 從技術科普到實用教程,從前沿動態到重磅更新,無論是初學者還是資深專家都能夠找到所需要的乾貨內容。
vLLM 中文文件:
https://vllm.hyper.ai/
追溯 vLLM:開源歷程及技術演進
vLLM 的雛形誕生於 2022 年年底,加州大學伯克利分校的研究團隊在部署一個名為「alpa」的自動化並行推理專案時,發現其執行速度非常慢且 GPU 利用率低。研究人員敏銳地察覺到,大語言模型推理存在著巨大的可最佳化空間。然而,市場上並沒有專門針對大語言模型推理最佳化的開源系統,隨即,他們決定自己動手建立一個大語言模型推理框架。
經過無數次的試驗和除錯,他們關注到了作業系統中的虛擬記憶體和分頁技術,並基於此在 2023 年提出了開創性注意力演算法 PagedAttention,其可以有效地管理注意力鍵和值。在此基礎上,研究人員構建了高吞吐量的分散式 LLM 服務引擎 vLLM,實現了 KV 快取記憶體幾乎零浪費,解決了大語言模型推理中的記憶體管理瓶頸問題。 與 Hugging Face Transformers 相比,其吞吐量提升了 24 倍,而且這一效能提升不需要對模型架構進行任何更改。
更值得一提的是,vLLM 不受硬體限制,不僅僅侷限於 Nvidia GPU,還對 AMD GPU、Intel GPU、AWS Neuron 和 Google TPU 等市面上眾多硬體架構敞開懷抱,真正推動了大語言模型在不同硬體環境下的高效推理和應用。如今, vLLM 已經能夠支援超 40 個模型架構,並獲得了包括 Anyscale、AMD、NVIDIA、Google Cloud 在內的 20 多個企業的支援和贊助。
2023 年 6 月,vLLM 的開原始碼正式釋出。短短一年時間裡,vLLM 在 Github 上星標數就突破了 21.8k。截止目前,該專案星標數已達 31k。
vLLM 在 GitHub 上已獲得 31k stars
同年 9 月,研究團隊發表了論文「Efficient Memory Management for Large Language Model Serving with PagedAttention」,進一步闡述 vLLM 的技術細節和優勢。而團隊對 vLLM 研究的腳步並未停歇,仍在圍繞相容性、易用性等方面展開迭代升級。例如在硬體適配方面,除了 Nvidia GPU 之外,怎樣能夠讓 vLLM 在更多的硬體上面跑起來;再比如在科研方面,如何進一步提高系統效率和推理速度等。而這些也都體現在 vLLM 的一次次的版本更新中。
論文地址:
https://dl.acm.org/doi/10.1145/3600006.3613165
vLLM 系統概覽
vLLM v0.6.4 更新吞吐量提高 2.7 倍,延遲減少 5 倍
就在上個月,vLLM 的版本更新到了 0.6.4,在效能提升、模型支援和多模態處理等方面都取得了重要的進展。
在效能方面,新版本引入了多步排程 (Multistep scheduling) 和非同步輸出處理 (Asynchronous output processing),最佳化了 GPU 的利用率並提高了處理效率,從而提高了整體的吞吐量。
vLLM 技術解析
- 多步排程允許 vLLM 一次性完成多個步驟的排程和輸入準備,使得 GPU 可以連續處理多個步驟而不必每個步驟都等待 CPU 指令,這樣分散了 CPU 的工作負載,減少了 GPU 的空閒時間。
- 非同步輸出處理使得輸出處理與模型的執行可以並行進行。具體來講,vLLM 不再立即處理輸出,而是延遲處理,在執行第 n+1 步的同時處理第 n 步的輸出。雖然這可能會導致每個請求多執行一步,但對 GPU 利用率的大幅提高遠遠彌補了這一成本。
例如,在 Llama 8B 模型上可以實現 2.7 倍的吞吐量提升和 5 倍的 TPOT(每個輸出標記的時間)減少,如下圖所示。
在 ShareGPT 資料集上對搭載於 1 張 H100 的 Llama 8B 模型進行 vLLM v0.5.3 與 v0.6.0 之間的效能比較
而在 Llama 70B 模型上實現了 1.8 倍的吞吐量提升和 2 倍的 TPOT 減少,如下圖所示。
在 ShareGPT 資料集上對搭載於 4 張 H100 的 70B 模型進行 vLLM v0.5.3 與 v0.6.0 之間的效能比較
模型支援方面 vLLM 新納入了對 Exaone、Granite 和 Phi-3.5-MoE 等前沿大語言模型的適配。在多模態領域,增加了多影像輸入的功能(官方文件中以 Phi-3-vision 模型作為示例演示),以及對 Ultravox 的多個音訊塊的處理能力,進一步擴充套件了 vLLM 在多模態任務中的應用範圍。
首個完整版 vLLM 中文文件上線
毫無疑問,vLLM 作為大模型領域的一項重要技術創新,代表了當前高效推理的發展方向。為了讓國內開發者更便捷、準確地理解其背後的先進技術原理,將 vLLM 引入到國內大模型的開發中,進而推動該領域的發展。HyperAI超神經的社群志願者們透過開放合作的方式,經過翻譯和校對的雙重稽核,成功完成了首個 vLLM 中文文件,現已完整上線至 hyper.ai。
vLLM 中文文件:
https://vllm.hyper.ai/
vLLM 中文文件官方網站
vLLM 這份文件為您提供了:
- 從零入門的基礎概念科普
- 快速上手的一鍵克隆教程
- 及時更新的 vLLM 知識庫
- 友好開放的中文社群生態
vLLM 在不同計算晶片上的安裝方式
構建開源橋樑: TVM、Triton 與 vLLM 社群共建之旅
2022 年,HyperAI超神經上線國內首個 Apache TVM 中文文件 (點選檢視原文:TVM 中文站正式上線!最全機器學習模型部署「參考書」它來了) ,在國產晶片如火如荼高歌猛進之際,我們為國內的編譯器工程師提供了了解和學習 TVM 的基礎設施,同時我們也聯合 Apache TVM PMC 馮思遠博士等人,組建起國內最活躍的 TVM 中文社群, 透過線上線下的活動,吸納主流國產晶片廠商的參與和支援,覆蓋千餘位晶片開發者和編譯器工程師。
TVM 中文文件官方網站
TVM 中文文件地址:
https://tvm.hyper.ai/
2024 年 10 月,我們上線了 Triton 中文站 (點選檢視原文:首個完整 Triton 中文文件上線!開啟 GPU 推理加速新時代) ,進一步擴充了 AI 編譯器社群的技術邊界和內容範疇。
Triton 中文文件官方網站
Triton 中文文件地址:
https://triton.hyper.ai/
在構建 AI 編譯器社群的旅程中,我們一直在傾聽大家的聲音,並持續關注行業趨勢。此次 vLLM 中文文件的上線,是我們觀察到,隨著大模型的飛速發展,大家對 vLLM 的關注和使用需求正不斷上升,我們期望為廣大開發者提供學習、交流與合作的平臺,共同推動前沿技術在中文語境下的普及與發展。
TVM、Triton 和 vLLM 中文文件的更新和維護,是我們構建中文社群的基礎工作。未來,期待更多夥伴的加入,共建更開放、多元、包容的 AI 開源社群!
檢視完整 vLLM 中文文件:
https://vllm.hyper.ai/
在 GitHub vLLM 中文:
https://github.com/hyperai/vllm-cn
本月,HyperAI超神經將在上海舉辦 Meet AI Compiler 線下技術交流會,掃碼備註「AI 編譯器」加入活動群,第一時間獲取活動相關資訊。
參考資料:
1.https://blog.vllm.ai/2024/09/05/perf-update.html
2.https://www.163.com/dy/article/J6606DLJ0511B6FU.html
3.https://mp.weixin.qq.com/s/e0jc