PrimeIntellect-ai/prime-rl

GitHub: PrimeIntellect-ai/prime-rl

PRIME-RL 是一个支持千卡规模扩展的全异步强化学习训练框架,旨在高效完成大语言模型的端到端后训练。

Stars: 1702 | Forks: 363

Prime Intellect Prime Intellect

PRIME-RL:大规模异步 RL 训练


Style Test Test

## 概述 PRIME-RL 是一个用于大规模强化学习的框架。它的设计初衷是易于使用和修改,同时能够扩展到 1000+ GPU。以下是我们认为它与众不同的地方: 1. 全异步 RL,用于大规模高吞吐量的 agentic 训练。 2. 高性能:旨在使用 [FSDP2](https://docs.pytorch.org/tutorials/intermediate/FSDP_tutorial.html) 进行训练和使用 [vLLM](https://github.com/vllm-project/vllm) 进行推理,在 1000+ GPU 上训练 1T+ MoE 模型,支持 FP8 推理、PD 分离、EP 和 CP 并行等。 3. 通过 [环境中心](https://app.primeintellect.ai/dashboard/environments?ex_sort=most_stars) 原生集成 [`verifiers`](https://github.com/PrimeIntellect-ai/verifiers) 环境,包括对 SWE 和 agentic 环境的内置支持。 4. 端到端后训练:SFT、RL 训练和评估。 5. 支持 Slurm 和 Kubernetes 的多节点部署。 6. 对 VLMs(如 Qwen3-VL)的多模态支持。 7. 设计上易于修改、模块化且可扩展。 8. 针对前沿模型的一行 SLURM 部署 —— 例如 [`GLM-5` FP8 与 P/D 分离、`llm-d` 路由器和 Mooncake KV offload](examples/glm5_llmd/README.md)。 ## 设置 ### 前置条件 目前,您**需要至少一个 NVIDIA GPU 才能使用 PRIME-RL**。如果您还没有可用的 GPU,我们推荐您使用我们的[计算平台](https://app.primeintellect.ai),无论是租用用于开发、调试和小型消融实验的单个按需 GPU,还是[预留 1000+ GPU 集群](https://app.primeintellect.ai/dashboard/quotes)进行生产规模的训练,都能满足需求。 ### 快速设置 使用单个命令设置 PRIME-RL。 ``` curl -sSL https://raw.githubusercontent.com/PrimeIntellect-ai/prime-rl/main/scripts/install.sh | bash ```
手动设置
1. 克隆代码仓库 ``` git clone https://github.com/PrimeIntellect-ai/prime-rl.git cd prime-rl ``` 2. 初始化子模块 ``` git submodule update --init -- deps/verifiers deps/renderers deps/research-environments deps/pydantic-config ``` 3. 安装 [uv](https://docs.astral.sh/uv/) ``` curl -LsSf https://astral.sh/uv/install.sh | sh source $HOME/.local/bin/env ``` 4. 从 lock 文件安装依赖项 ``` uv sync --all-extras ``` 4.1. 在 aarch64 主机上:为您的 GPU 从源代码构建 flash-attn ``` bash scripts/docker-arm64-post-install.sh ``` 3.1. 可选:安装 Flash Attention 3(仅在 Hopper GPU 上,用于 flash_attention_3 attention backend) ``` uv pip install "flash-attn-3 @ git+https://github.com/Dao-AILab/flash-attention.git@main#subdirectory=hopper" --no-build-isolation ```
验证您的环境设置
1. 检查环境是否使用 Python 3.12 ``` uv run python -V ``` 2. 检查是否已安装 `flash-attn` ``` uv run python -c "import flash_attn" ``` 3. 检查您是否能运行 SFT 训练器(*这需要 1 个 GPU*) ``` uv run sft @ configs/debug/sft/train.toml ``` 4. 检查您是否能运行 RL 训练器(*这需要 1 个 GPU*) ``` uv run trainer @ configs/debug/rl/train.toml ``` 5. 检查您是否能运行推理服务器(*这需要 1 个 GPU*) ``` uv run inference @ configs/debug/infer.toml ``` *请在后台保持推理服务器运行,以便进行后续步骤。* 5.1. 检查您是否能针对推理服务器运行 orchestrator ``` uv run orchestrator @ configs/debug/orch.toml ``` 5.2. 检查您是否能针对推理服务器运行评估 ``` uv run eval @ configs/debug/eval.toml ```
### 额外设置 1. 如果您想将运行记录到 [W&B](https://wandb.ai),请登录 ``` uv run wandb login # 或者设置 `export WANDB_API_KEY=...` ``` 2. 如果您需要来自 [HuggingFace](https://huggingface.co) 的受限/私有模型或数据集,请登录 ``` uv run hf auth login # 或者设置 `export HF_TOKEN=...` ``` ## 训练示例 我们在 [`examples`](examples) 目录中提供了端到端的训练示例,重点介绍了该框架的功能,并引导您完成训练自己模型的过程。 ### 基础训练:1 到 8 个 GPU 1. [**反转文本**](examples/reverse_text/README.md):训练 `Qwen3-0.6B` 反转一小段文本。演示了微型规模的单轮 SFT 和 RL 训练。可以在单个消费级 GPU 上在几分钟内完成训练,非常适合初学者。 2. [**Wordle**](examples/wordle/README.md):训练 `Qwen3-1.7B` 玩 Wordle。这是一个有趣的多轮 SFT 和 RL 训练示例。可以在 2-4 个 H100 GPU 上在几个小时内完成训练。非常适合探索框架的多轮训练能力。 3. [**字母排序**](examples/alphabet_sort/README.md):训练 `Qwen3-4B-Instruct-2507` 按字母顺序对名称进行排序。演示了通过 LoRA 进行多轮 RL 训练而无需 SFT 预热。可以在单个 H100 GPU 上一个多小时的时间内完成训练。非常适合探索基于 LoRA 的训练。 4. [**Wiki 搜索**](examples/wiki_search/README.md):训练 `Qwen3-4B-Instruct-2507` 通过搜索维基百科来回答冷知识问题。演示了带有 Web 搜索工具使用的多轮交互。 5. [**Hendrycks 健全性检查**](examples/hendrycks_sanity/README.md):在 `DeepSeek-R1-Distill-Qwen-1.5B` 上使用 MATH 的过滤子集进行健全性检查实验,在该子集中模型已经能部分解决 20-80% 的问题。适用于算法消融研究。 ### 高级训练:32 - 2048 个 GPU: 1. [**Qwen 3 30B - A3B 数学**](examples/qwen30b_math/README.md):训练 `Qwen3-30B-A3B` 解决困难的数学问题。 2. [**Qwen 3 30B - A3B SWE**](examples/qwen30b_swe/README.md):训练 `Qwen3-30B-A3B` 解决困难的 SWE 问题。 3. [**Intellect-3.1**](examples/Intellect-3.1/README.md):复现我们的 `INTELLECT-3.1` 训练运行。 4. [**MiniMax-M2.5 SWE**](examples/minimax_m2.5_swe/README.md):在 agentic SWE 任务上训练 `MiniMax-M2.5`。 5. [**高吞吐量 GLM-5**](examples/glm5_pd_disag/README.md):在 SWE 上使用 PD 分离和 FP8 推理训练 `GLM-5`。 6. [**高吞吐量 GLM-5 (llm-d)**](examples/glm5_llmd/README.md):一行 SLURM 部署带有 P/D 分离、`llm-d` 路由器和 Mooncake KV offload 的 `GLM-5` FP8 —— 这是运行 `GLM-5` 的更快方法。 ## 文档 请查看 [文档](docs) 目录,获取有关如何使用 PRIME-RL 的深度指南。 - [**概述**](docs/overview.md) - 架构、安装以及可复制粘贴的端到端 RL 运行 - [**配置**](docs/configuration.md) - TOML 组合、CLI 覆盖、环境变量、验证 - [**训练**](docs/training.md) - RL、SFT、评估、checkpointing、可观测性、经验法则 - [**扩展**](docs/scaling.md) - 单 GPU 到多节点、FSDP/EP/CP、SLURM、基准测试 - [**算法**](docs/algorithms.md) - 异步/off-policy 训练、AIPO loss、优势和过滤器插件、轨迹合并 - [**高级**](docs/advanced.md) - 自定义建模、多模态训练、LoRA、多租户训练 - [**开发**](docs/development.md) - 测试套件、pre-commit hooks、添加新模型 ### Pre-commit Hooks 请安装 [pre-commit](https://pre-commit.com) hooks 以确保您的代码格式正确。 ``` uv run pre-commit install ``` ### 测试 ``` uv run pytest -v # everything uv run pytest tests/unit -v # unit only uv run pytest tests/integration -v # integration only uv run pytest -v -m "not gpu" # CPU-only (inverse of the gpu marker) ``` ## 许可证 本项目基于 Apache 2.0 许可证授权,详见 [许可证](LICENSE) 文件。 ## 引用 如果您觉得我们的工作有用,欢迎使用以下方式进行引用 ``` @misc{primeintellect2025prime-rl, author = {Prime Intellect}, title = {PRIME-RL}, url = {https://github.com/PrimeIntellect-ai/prime-rl}, year = {2025} } ```
标签:Yelp, 凭据扫描, 子域名突变, 逆向工具