生產堆疊¶
在 Kubernetes 上部署 vLLM 是一種可擴充套件且高效的機器學習模型服務方式。本指南將引導您使用 vLLM 生產堆疊部署 vLLM。vLLM 生產堆疊源於伯克利大學和芝加哥大學的合作,是 vLLM 專案下正式釋出的程式碼庫,經過生產最佳化,專為 LLM 部署而設計,具有以下特點:
- 上游 vLLM 相容性 – 它封裝了上游 vLLM,而無需修改其程式碼。
- 易用性 – 透過 Helm Chart 簡化部署,並透過 Grafana 儀表板實現可觀測性。
- 高效能 – 針對 LLM 工作負載進行了最佳化,具有多模型支援、模型感知和字首感知路由、快速 vLLM 引導以及使用 LMCache 進行 KV 快取解除安裝等功能。
如果您是 Kubernetes 的新手,請不用擔心:在 vLLM 生產堆疊的倉庫中,我們提供了一份分步指南和一段短影片,助您在4分鐘內完成所有設定並開始使用!
先決條件¶
確保您擁有一個帶有 GPU 的執行中的 Kubernetes 環境(您可以按照此教程在裸機 GPU 上安裝 Kubernetes 環境)。
使用 vLLM 生產堆疊進行部署¶
標準的 vLLM 生產堆疊是使用 Helm Chart 安裝的。您可以執行此 bash 指令碼在您的 GPU 伺服器上安裝 Helm。
要在您的桌面安裝 vLLM 生產堆疊,請執行以下命令
sudo helm repo add vllm https://vllm-project.github.io/production-stack
sudo helm install vllm vllm/vllm-stack -f tutorials/assets/values-01-minimal-example.yaml
這將例項化一個名為 vllm
的基於 vLLM 生產堆疊的部署,它執行一個小型 LLM(Facebook opt-125M 模型)。
驗證安裝¶
使用以下命令監控部署狀態
您將看到 vllm
部署的 Pods 將轉換為 Running
狀態。
NAME READY STATUS RESTARTS AGE
vllm-deployment-router-859d8fb668-2x2b7 1/1 Running 0 2m38s
vllm-opt125m-deployment-vllm-84dfc9bd7-vb9bs 1/1 Running 0 2m38s
注意
容器下載 Docker 映象和 LLM 權重可能需要一些時間。
向堆疊傳送查詢¶
將 vllm-router-service
埠轉發到主機
然後您可以向與 OpenAI 相容的 API 傳送查詢,以檢查可用模型
輸出
要傳送實際的聊天請求,您可以向 OpenAI 的 /completion
端點發出 curl 請求
curl -X POST https://:30080/completions \
-H "Content-Type: application/json" \
-d '{
"model": "facebook/opt-125m",
"prompt": "Once upon a time,",
"max_tokens": 10
}'
輸出
解除安裝¶
要移除部署,請執行
(高階)配置 vLLM 生產堆疊¶
核心 vLLM 生產堆疊配置透過 YAML 管理。以下是上述安裝中使用的示例配置
Yaml
在此 YAML 配置中: * modelSpec
包括: * name
: 您希望模型使用的暱稱。 * repository
: vLLM 的 Docker 倉庫。 * tag
: Docker 映象標籤。 * modelURL
: 您想要使用的 LLM 模型。 * replicaCount
: 副本數量。 * requestCPU
和 requestMemory
: 指定 Pod 的 CPU 和記憶體資源請求。 * requestGPU
: 指定所需的 GPU 數量。 * pvcStorage
: 為模型分配持久化儲存。
注意
如果您打算設定兩個 Pod,請參考此 YAML 檔案。