用途:启动并测试 prime-rl 的推理服务器,适用于运行推理、启动 vLLM、测试模型或启动推理服务等场景。
主要能力:必须使用 inference 入口,不要直接使用 vllm serve 或 python -m vllm.entrypoints.openai.api_server,因为入口会先执行 setup_vllm_env() 配置 LoRA 与多进程相关环境变量,再导入 vLLM。支持 TOML 配置、CLI 覆盖及两者组合;支持可选 SLURM 调度,模式与 SFT、RL 一致,包括单节点与多节点(每节点独立 vLLM 副本,无跨节点并行,TP 与 DP 需在单节点 GPU 内满足);支持 dry_run 生成 sbatch 脚本而不提交。服务器在 vLLM 基础上扩展了 /v1/chat/completions/tokens(接受 token ID 作为 prompt,用于多轮 RL rollout)、/update_weights(从训练器热重载权重)、/load_lora_adapter(运行时加载 LoRA 适配器)、/init_broadcaster(初始化分布式训练权重广播)。
使用方式:uv run inference @ path/to/config.toml;uv run inference --model.name Qwen/Qwen3-0.6B --model.max_model_len 2048 --model.enforce_eager;组合示例 uv run inference @ path/to/config.toml --server.port 8001 --gpu-memory-utilization 0.5。SLURM 配置示例包含 output_dir、[model] name、[parallel] tp、[slurm] job_name 与 partition;多节点配置额外含 [deployment] type="multi_node"、num_nodes、gpus_per_node。dry-run 用 uv run inference @ config.toml --dry-run true。测试可用 curl 请求 http://localhost:8000/v1/chat/completions。
关键文件:src/prime_rl/entrypoints/inference.py、src/prime_rl/inference/server.py、src/prime_rl/configs/inference.py、src/prime_rl/inference/vllm/server.py、src/prime_rl/templates/inference.sbatch.j2、configs/debug/infer.toml。
限制:多节点模式下无跨节点并行,TP 与 DP 必须适配单节点 GPU;其余收费、平台与效果信息暂未提供。