輕鬆安裝和開發 vLLM
LLM 推理領域正以前所未有的速度發展。每週都會湧現新的模型和功能,傳統的軟體釋出流程常常難以跟上。在 vLLM,我們的目標不僅僅是提供一個軟體包。我們正在構建一個系統——一個值得信賴、可追蹤和參與式的 LLM 推理生態系統。這篇博文重點介紹了 vLLM 如何使使用者能夠輕鬆安裝和開發,同時保持在創新前沿。
TL;DR(太長不看)
- 靈活快速的安裝選項,從穩定版本到每夜構建。
- 為 Python 和 C++/CUDA 開發者最佳化的開發工作流程。
- 用於生產部署的強大的版本追蹤能力。
無縫安裝 vLLM 版本
安裝已釋出版本
我們定期向 Python 包索引釋出 vLLM 的穩定版本,確保使用者可以使用標準的 Python 包管理器輕鬆安裝它們。例如
pip install vllm
對於那些喜歡更快包管理器的人,uv 在 vLLM 社群中越來越受歡迎。在使用 uv 設定 Python 環境後,安裝 vLLM 非常簡單
uv pip install vllm
有關設定 uv 的更多詳細資訊,請參閱文件。在一個簡單的伺服器級設定(Intel 第八代 CPU)中,我們觀察到 uv 比 pip 快 200 倍
# with cached packages, clean virtual environment
$ time pip install vllm
...
pip install vllm 59.09s user 3.82s system 83% cpu 1:15.68 total
# with cached packages, clean virtual environment
$ time uv pip install vllm
...
uv pip install vllm 0.17s user 0.57s system 193% cpu 0.383 total
從主分支安裝最新的 vLLM
為了滿足社群對尖端功能和模型的需求,我們為每個主分支的提交提供了每夜構建的 wheels。
使用 pip:
pip install vllm --pre --extra-index-url https://wheels.vllm.ai/nightly
新增 --pre
確保 pip 在搜尋中包含預釋出版本。
使用 uv:
uv pip install vllm --extra-index-url https://wheels.vllm.ai/nightly
開發變得簡單
我們深知,活躍且積極參與的開發者社群是創新的基石。因此,vLLM 為開發者提供了順暢的工作流程,無論他們是修改 Python 程式碼還是處理核心。
Python 開發者
對於需要調整和測試 vLLM Python 程式碼的 Python 開發者來說,無需編譯核心。這種設定使您能夠快速開始開發。
git clone https://github.com/vllm-project/vllm.git
cd vllm
VLLM_USE_PRECOMPILED=1 pip install -e .
VLLM_USE_PRECOMPILED=1
標誌指示安裝程式使用預編譯的 CUDA 核心,而不是從原始碼構建它們,從而顯著減少安裝時間。這非常適合專注於 Python 級別功能(如 API 改進、模型支援或整合工作)的開發者。
這種輕量級過程執行高效,即使在筆記型電腦上也是如此。有關更高階的用法,請參閱我們的文件。
C++/核心開發者
對於使用 C++ 程式碼或 CUDA 核心的高階貢獻者,我們加入了編譯快取以最大限度地減少構建時間並簡化核心開發。請檢視我們的文件以獲取更多詳細資訊。
輕鬆追蹤變更
LLM 推理快速發展的特性意味著介面和行為仍在不斷穩定。vLLM 已被整合到許多工作流程中,包括 OpenRLHF、 veRL、 open_instruct、 LLaMA-Factory 等。我們與這些專案合作,以穩定 LLM 推理的介面和行為。為了方便這一過程,我們為這些高階使用者提供了強大的工具來追蹤跨版本的變更。
安裝特定提交
為了簡化追蹤和測試,我們為主分支中的每個提交提供 wheels。使用者可以輕鬆安裝任何特定提交,這對於二分查詢和追蹤變更特別有用。
我們建議使用 uv 安裝特定提交
# use full commit hash from the main branch
export VLLM_COMMIT=72d9c316d3f6ede485146fe5aabd4e61dbc59069
uv pip install vllm --extra-index-url https://wheels.vllm.ai/${VLLM_COMMIT}
在 uv 中,--extra-index-url
中的軟體包比預設索引具有更高的優先順序,這使得可以安裝先於最新公開發行版本的開發版本(在撰寫本文時,它是 v0.6.6.post1)。
相比之下,pip 結合了來自 --extra-index-url
和預設索引的軟體包,僅選擇最新版本,這使得難以安裝先於已釋出版本的開發版本。因此,對於 pip 使用者,它需要指定一個佔位符 wheel 名稱來安裝特定提交
# use full commit hash from the main branch
export VLLM_COMMIT=33f460b17a54acb3b6cc0b03f4a17876cff5eafd
pip install https://wheels.vllm.ai/${VLLM_COMMIT}/vllm-1.0.0.dev-cp38-abi3-manylinux1_x86_64.whl
結論
在 vLLM,我們的承諾不僅僅是交付高效能軟體。我們正在構建一個系統,以增強信任、實現變更的透明追蹤並邀請積極參與。攜手並進,我們可以塑造 AI 的未來,推動創新邊界,同時使其為所有人所用。
如需合作請求或諮詢,請透過 vllm-questions@lists.berkeley.edu 聯絡我們。加入我們在 GitHub 上不斷壯大的社群,或在 vLLM Slack 上與我們聯絡。讓我們共同推動 AI 創新向前發展。
致謝
我們向 uv 社群(特別是 Charlie Marsh)表示感謝,感謝他們建立了一個快速、創新的包管理器。特別感謝 Kevin Luu (Anyscale)、 Daniele Trifirò (Red Hat) 和 Michael Goin (Neural Magic) 對簡化工作流程的寶貴貢獻。Kaichao You 和 Simon Mo 來自加州大學伯克利分校團隊,領導了這些工作。