minimind Agent RL 代码阅读 2026-04
minimind Agent RL 代码阅读
阅读 minimind 项目的 agent RL 训练实现(trainer/train_agent.py + trainer/rollout_engine.py),理解 GRPO 在 agent 多轮工具调用场景下的具体工程实现。
来源
- 项目:minimind(教学级 LLM 项目)
- 文件:
trainer/train_agent.py、trainer/rollout_engine.py
核心概念覆盖
- GRPO:基础算法,group 内相对优势
- agentic-rollout:多轮 tool call 的 trajectory 生成与 mask 构造
- reward-shaping-agent:两套评分体系引导模型学会正确调用工具
- rollout-engine:训练-推理权重同步,磁盘中转 vs CUDA IPC
关键发现
- Mask 设计是 agent RL 的核心:
response_mask对模型生成的 token 标 1,对 tool 返回的 token 标 0,确保只对模型决策计算梯度 - Reward shaping 拆成细粒度信号:格式分、tool 对齐分、GT 验证分各自独立,比单一 0/1 reward 学得更快
- 权重同步有三个层级:磁盘中转(minimind 用的)→ NCCL broadcast → CUDA IPC 零拷贝,教学项目选最简单的方案
- Rollout 是主要瓶颈:占训练时间 70-80%,多轮 trajectory 的串行 tool 执行无法并行化