inference-server

作成者: huggingface

prime-rl推論サーバーを起動してテストします。推論の実行、vLLMの起動、モデルのテスト、または推論サーバーの起動を求められたときに使用します。

npx skills add https://github.com/huggingface/prime-rl --skill inference-server

Inference Server

Starting the server

Always use the inference entry point — never vllm serve or python -m vllm.entrypoints.openai.api_server directly. The entry point runs setup_vllm_env() which configures environment variables (LoRA, multiprocessing) before vLLM is imported.

# With a TOML config
uv run inference @ path/to/config.toml

# With CLI overrides
uv run inference --model.name Qwen/Qwen3-0.6B --model.max_model_len 2048 --model.enforce_eager

# Combined
uv run inference @ path/to/config.toml --server.port 8001 --gpu-memory-utilization 0.5

SLURM scheduling

The inference entrypoint supports optional SLURM scheduling, following the same patterns as SFT and RL.

Single-node SLURM

# inference_slurm.toml
output_dir = "/shared/outputs/my-inference"

[model]
name = "Qwen/Qwen3-8B"

[parallel]
tp = 8

[slurm]
job_name = "my-inference"
partition = "cluster"
uv run inference @ inference_slurm.toml

Multi-node SLURM (independent vLLM replicas)

Each node runs an independent vLLM instance. No cross-node parallelism — TP and DP must fit within a single node's GPUs.

# inference_multinode.toml
output_dir = "/shared/outputs/my-inference"

[model]
name = "PrimeIntellect/INTELLECT-3-RL-600"

[parallel]
tp = 8
dp = 1

[deployment]
type = "multi_node"
num_nodes = 4
gpus_per_node = 8

[slurm]
job_name = "my-inference"
partition = "cluster"

Dry run

Add dry_run = true to generate the sbatch script without submitting:

uv run inference @ config.toml --dry-run true

Custom endpoints

The server extends vLLM with:

  • /v1/chat/completions/tokens — accepts token IDs as prompt input (used by multi-turn RL rollouts)
  • /update_weights — hot-reload model weights from the trainer
  • /load_lora_adapter — load LoRA adapters at runtime
  • /init_broadcaster — initialize weight broadcast for distributed training

Testing the server

curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen/Qwen3-0.6B",
    "messages": [{"role": "user", "content": "Hi"}],
    "max_tokens": 50
  }'

Key files

  • src/prime_rl/entrypoints/inference.py — entrypoint with local/SLURM routing
  • src/prime_rl/inference/server.py — vLLM env setup
  • src/prime_rl/configs/inference.pyInferenceConfig and all sub-configs
  • src/prime_rl/inference/vllm/server.py — FastAPI routes and vLLM monkey-patches
  • src/prime_rl/templates/inference.sbatch.j2 — SLURM template (handles both single and multi-node)
  • configs/debug/infer.toml — minimal debug config

huggingfaceのその他のスキル

cpu-kernels
huggingface
C++ CPUカーネルをSIMDイントリンシクス(AVX2/AVX512)を用いて記述、最適化、ベンチマークするためのガイダンスを提供します。Hugging Faceカーネルエコシステム向けです。含まれるもの…
official
generate-openenv-env
huggingface
具体的なユースケース(例:「ライブラリtextarena用のenvを生成する」)からOpenEnv環境を生成します。新しい環境の設計や実装を求められた際に使用します。
official
hf-mcp
huggingface
Hugging Face HubをMCPサーバーツール経由で利用します。モデル、データセット、Spaces、論文を検索できます。リポジトリの詳細を取得し、ドキュメントを取得し、計算ジョブを実行し、Gradioを使用します…
official
trl-training
huggingface
TRL(Transformers Reinforcement Learning)を使用してトランスフォーマー言語モデルをトレーニングおよびファインチューニングします。SFT、DPO、GRPO、KTO、RLOO、および報酬モデルのトレーニングをサポートしています…
official
deploy-hf
huggingface
OpenEnv環境をHugging Face Spacesにデプロイします。デプロイ、Hugging Faceへのプッシュ、またはスペースの更新を求められたときに使用します。
official
hf-space-recovery
huggingface
Diagnose and recover failing or stuck Hugging Face Space deployments for OpenEnv environments. Use when deploying envs from `envs/` to the Hub (`openenv`…
official
pre-submit-pr
huggingface
プルリクエストを送信する前に変更を検証します。lint、テスト、アライメントレビュー、RFC分析を含む包括的なチェックを実行します。作成前に使用…
official
example-skill
huggingface
アクションスモークテスト用のフィクスチャスキルの例
official