對於許多工程師來說,想要快速測試一個開源的大語言模型(LLM),最頭痛的通常不是模型本身,而是環境搭建。你得處理 GPU 驅動、安裝 CUDA、配置 Kubernetes 叢集,或者花大量時間在雲端平台申請 GPU 實例。
如果你只需要一個暫時的、私有的 API 端點來進行模型評估(Evaluation)、批次生成(Batch Generation)或快速原型開發,Hugging Face Jobs 提供了一種極簡的解決方案。它讓你可以用單一行指令,在 HF 的基礎設施上啟動一個由 vLLM 驅動且相容 OpenAI API 的伺服器。
什麼是 vLLM
在進入實作前,先簡單介紹 vLLM。vLLM 是一個高效能的 LLM 推論與伺服器庫,它最核心的技術是 PagedAttention,能有效管理記憶體,大幅提升模型在處理大量請求時的吞吐量(Throughput)。簡單來說,它能讓你的 GPU 跑得更快,且能同時處理更多人的對話。
快速啟動步驟
要啟動伺服器,你只需要確保本地安裝了 huggingface_hub 並完成登入。核心指令如下:
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
這行指令背後的邏輯是: flavor:選擇硬體規格。例如 a10g-large 代表使用 NVIDIA A10G GPU。 expose:將容器內部的 8000 端口對外開放,HF 會自動為你產生一個公網可訪問的 URL。 timeout:設定自動關閉時間,避免忘記關機導致信用卡被刷爆。 vllm/vllm-openai:使用官方預建的 Docker 鏡像,直接啟動相容 OpenAI 格式的 API 伺服器。
啟動成功後,你會得到一個類似 https://job_id--8000.hf.jobs 的網址。
如何呼叫與驗證
由於這個端點是私有的,所有的請求都必須在 HTTP Header 中帶上你的 Hugging Face Token 作為 Bearer Token。
如果你使用 Python 的 OpenAI SDK,只需將 base_url 指向該網址,並將 api_key 設定為你的 HF Token 即可。這樣你就能像呼叫 GPT-4 一樣,呼叫你剛剛部署的開源模型。
針對大型模型的進階配置
當你要部署像 Qwen3.5-122B 這種超大型模型時,單張 GPU 絕對放不下,這時需要考慮兩個關鍵技術點:
Tensor Parallelism(張量並行) 透過 --tensor-parallel-size 參數,你可以將模型分片(Shard)到多張 GPU 上。例如使用 h200x2 規格(兩張 H200 GPU),則需設定此參數為 2。
記憶體管理與 OOM 避免 大型模型如果直接啟動,常會因為快取記憶體不足導致 Out-of-Memory (OOM) 錯誤。實務上,你可以透過限制 --max-model-len(最大上下文長度)和 --max-num-seqs(最大併發序列數)來降低記憶體壓力。
除錯與監控
如果伺服器啟動失敗,單看日誌有時很困難。你可以加上 --ssh 參數啟動,然後使用 hf jobs ssh <job_id> 直接進入容器內部。進入後,你可以執行 nvidia-smi 查看 GPU 記憶體佔用情況,或直接檢查模型載入進度,這對於工程師排查環境問題至關重要。
實務選擇:HF Jobs vs. Inference Endpoints
很多初學者會混淆這兩者,簡單的區分邏輯如下:
HF Jobs 適合實驗性質。它就像是雲端版的 docker run,你擁有最高控制權(可自定義鏡像、參數),按秒計費,用完即毀。適合做測試、跑一次性數據生成。
Inference Endpoints 適合生產環境。它提供了更完整的維運功能,例如更精細的權限控制、自動擴展(Auto-scaling)以及 Scale-to-zero(沒人使用時自動關機以省錢)。如果你要建立一個長期對外提供的服務,請選擇這個。
來源:https://huggingface.co/blog/vllm-jobs
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。