Hugging Face Jobs: 1コマンドで vLLM サーバーをデプロイ
Hugging Face Jobs: 1コマンドで vLLM サーバーをデプロイ
Hugging Faceは、1コマンドでHugging Faceインフラストラクチャ上のvLLMを使用してプライベートでOpenAI互換のLLMエンドポイントを起動する方法を導入しました。このアプローチにより、手動でのサーバープロビジョニングやKubernetes管理の必要がなくなり、急速なテスト、評価、バッチ生成に最適な従量課金(1秒単位)の請求モデルを提供します。
HF Jobsを使ったvLLMサーバーのデプロイ
ユーザーは、hf jobs run コマンドを使って vLLM サーバーを起動できます。これは Hugging Face インフラストラクチャ上での docker run と同様に機能します。公式の vllm/vllm-openai イメージを利用し、--flavor フラグでハードウェアを指定することで、ユーザーは Hugging Face のジョブプロキシを通じてサーバーを公開インターネットに公開できます。
例の起動コマンド:
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: コンテナのポートを公開ジョブプロキシを通じてルーティングします。--flavor: GPU ハードウェアを指定します(例:a10g-large)。--timeout: 指定された期間後にジョブを自動的に停止するセーフティネットを設定します。
起動後、システムは一意のジョブ ID と到達可能な URL(例: https://<job_id>--8000.hf.jobs)を提供します。
クエリと認証
vLLM は OpenAI API を実装しているため、デプロイされたエンドポイントは標準の OpenAI クライアントまたは curl を使ってクエリできます。すべてのリクエストには、認証のためにベアラー トークンとして Hugging Face トークンを含める必要があります。
認証要件:
- エンドポイントはゲートされており、公開されていません。
- リクエストには、ジョブの名前空間への読み取りアクセス権を持つ HF トークンが必要です。
- アクセスはユーザーまたはその組織にスコープされます。
大規模モデルへのスケーリング
HF Jobs は、より強力なハードウェア フレーバーと vLLM のテンソル パラレルism を組み合わせることで、より大きなモデルへのスケーリングをサポートします。たとえば、2 つの H200 GPU 上に Qwen3.5-122B-A10B のような 122B パラメータ モデルをデプロイするには、モデルを GPU にわたってシャードするために --tensor-parallel-size 2 フラグが必要です。
非常に大きなモデルでは、メモリ管理が重要です。ソースによると、コンテキスト長 (--max-model-len) と同時シーケンス数 (--max-num-seqs) を上限に設定することが、OOM(out-of-memory)またはキャッシュブロック エラーによりモデルが起動しない場合の主な解決策です。
高度な運用機能
SSH を使ったインタラクティブなデバッグ
ユーザーは、起動時に --ssh フラグを追加することで、実行中のジョブに直接シェルを開くことができます。これにより、nvidia-smi などのツールを使ったリアルタイム モニタリングやインタラクティブなログ検査が可能になります。
hf jobs ssh <job_id>
コーディング エージェントとの統合
デプロイされた vLLM サーバーは、Pi のようなターミナル コーディング エージェントのバックエンドとして機能できます。これを有効にするには、サーバーを --enable-auto-tool-choice でツール呼び出しを有効にし、特定の --tool-call-parser (たとえば Qwen3 モデルの場合は hermes) を指定して起動する必要があります。
HF Jobs と Inference Endpoints の比較
| Feature | HF Jobs | Inference Endpoints |
|---|---|---|
| 主要なユースケース | 実験、一度限りの評価、バッチ生成 | 本番環境対応、長期間運用可能なサービス |
| コントロール | 最大の柔軟性(イメージ、フラグ、ハードウェアの選択) | 管理された運用体験 |
| 請求 | ジョブ期間に応じた従量課金(1秒単位) | スケール・トゥ・ゼロ(非アクティブ時は課金なし) |
| アクセス制御 | HF トークン/名前空間経由でゲート | きめ細かい(公開、保護、またはプライベート) |
使用の前提条件
- 支払い方法または正のプリペイドクレジット残高。
huggingface_hub >= 1.20.0を pip を使ってインストール。hf auth loginを使ったローカル認証。