Hugging Face Jobs: 使用單一指令部署 vLLM 伺服器
Hugging Face Jobs: 使用單一指令部署 vLLM 伺服器
Hugging Face 已經推出一種方法,可在 Hugging Face 基礎設施上使用單一指令透過 vLLM 啟動私人、與 OpenAI 相容的 LLM 端點。此方法免除了手動伺服器佈建或 Kubernetes 管理的需求,提供適合快速測試、評估和批次生成的按秒計費模型。
透過 HF Jobs 部署 vLLM 伺服器
使用者可以透過 hf jobs run 指令啟動 vLLM 伺服器,該指令在 Hugging Face 基礎設施上功能類似於 docker run。透過使用官方的 vllm/vllm-openai 映像並透過 --flavor 標誌指定硬體,使用者可透過 Hugging Face 的 jobs proxy 將伺服器公開至公共網際網路。
範例啟動指令:
hf jobs run --flavor a10g-large --expose 8000 --timeout 2h \
vllm/vllm-openai:latest \
vllm serve Qwen/Qwen3-4B --host 0.0.0.0 --port 8000
主要參數包括:
--expose 8000: 透過公共 jobs proxy 將容器的埠路由。--flavor: 指定 GPU 硬體(例如a10g-large)。--timeout: 設定安全網,在指定持續時間後自動停止作業。
啟動後,系統會提供一個唯一的作業 ID 和可達的 URL(例如 https://<job_id>--8000.hf.jobs)。
查詢與認證
由於 vLLM 實作了 OpenAI API,已部署的端點可使用標準 OpenAI 客戶端或 curl 進行查詢。所有請求必須包含作為 Bearer 權杖的 Hugging Face 權杖以進行認證。
認證需求:
- 端點是受閘保護且非公開。
- 請求需要具有作業命名空間讀取權限的 HF 權杖。
- 存取範圍限於使用者或其組織。
擴展至大型模型
HF Jobs 透過結合更強大的硬體 flavour 與 vLLM 的張量平行性,支援擴展至更大型模型。例如,在兩顆 H200 GPU 上部署類似 Qwen3.5-122B-A10B 的 122B 參數模型需要使用 --tensor-parallel-size 2 標誌來在 GPU 之間分片模型。
對於極大型模型,記憶體管理至關重要。來源指出,若模型因記憶體不足(OOM)或快取區塊錯誤而無法啟動,則限制上下文長度(--max-model-len)與併發序列數量(--max-num-seqs)是主要解決方案。
進階操作功能
透過 SSH 進行互動式除錯
使用者可在啟動時加入 --ssh 標誌,直接開啟進入正在執行作業的 shell。這允許使用 nvidia-smi 等工具進行即時監控,並互動式檢查日誌。
hf jobs ssh <job_id>
與編碼代理整合
已部署的 vLLM 伺服器可作為終端機編碼代理(如 Pi)的後端。為了啟用此功能,伺服器必須透過 --enable-auto-tool-choice 啟用工具呼叫,並使用特定的 --tool-call-parser(例如 Qwen3 模型的 hermes)。
HF Jobs 與 Inference Endpoints 的比較
Hugging Face 提供兩種主要的模型服務方式,視所需的控制程度和穩定性而定:
| Feature | HF Jobs | Inference Endpoints |
|---|---|---|
| 主要使用案例 | 實驗、一次性評估、批次生成 | 可投入生產、長期服務 |
| 控制 | 最大彈性(選擇映像、旗標、硬體) | 受管理的操作體驗 |
| 計費 | 按秒計費,依作業持續時間 | 縮減至零(非活躍期間不計費) |
| 存取控制 | 透過 HF token/namespace 受閘保護 | 更細緻的控制(公開、受保護或私有) |
使用前提條件
使用 HF Jobs 部署 vLLM,使用者需要:
- 付款方式或正數的預付信用餘額。
- 透過 pip 安裝
huggingface_hub >= 1.20.0。 - 透過
hf auth login進行本地認證。