
reasoning-gym
给AI推理训练提供可验证奖励的现成环境,直接上手RL
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1548
使用教程
环境要求
- Python >= 3.10
- 已安装 pip(用于从 PyPI 安装包)
- 可访问 PyPI 网络(pip 下载)
安装与启动步骤
-
1确认 Python 版本
reasoning-gym 要求 Python >= 3.10,先检查本机版本,低于 3.10 需先升级 Python。
python --version -
2安装 reasoning-gym
从 PyPI 安装最新发布包,这是 README 给出的唯一安装命令。安装后即可在代码中 import。
pip install reasoning-gym -
3生成第一个数据集
用 create_dataset 生成任务,指定任务名、样本数量与随机种子;再用 score_answer 做算法校验。
python -c "import reasoning_gym data = reasoning_gym.create_dataset('leg_counting', size=10, seed=42) for i, x in enumerate(data): print(f'{i}: q=\"{x[\"question\"]}\", a=\"{x[\"answer\"]}\"') assert data.score_answer(answer=x['answer'], entry=x) == 1.0" -
4传任务专属参数
不同任务有各自的配置项,以关键字参数形式传入,例如 leg_counting 支持 max_animals。
python -c "import reasoning_gym reasoning_gym.create_dataset('leg_counting', size=10, seed=42, max_animals=20)" -
5组合多个任务
用 DatasetSpec 构造 composite 数据集,weight 控制各任务占比,config 传各任务配置。
python -c "import reasoning_gym from reasoning_gym.composite import DatasetSpec specs = [ DatasetSpec(name='leg_counting', weight=2, config={}), DatasetSpec(name='figlet_font', weight=1, config={'min_word_len': 4, 'max_word_len': 6}), ] reasoning_gym.create_dataset('composite', size=10, seed=42, datasets=specs)" -
6安装符号评分扩展
需要 symbolic math 校验(cascade scorer)时,安装 scoring 附加依赖,减少格式差异造成的误判。
pip install reasoning-gym[scoring]
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
size | 是 | 生成的任务样本条数 | 10 |
seed | 是 | 随机种子,保证数据集可复现 | 42 |
max_animals | 否 | leg_counting 任务专属参数,限制动物数量 | 20 |
datasets | 否 | composite 数据集的任务列表,元素为 DatasetSpec | [DatasetSpec(name='leg_counting', weight=2, config={})] |
DatasetSpec.weight | 否 | 组合数据集中该任务的相对权重 | 2 |
DatasetSpec.config | 否 | 该任务的专属配置字典,空字典为默认配置 | {"min_word_len": 4, "max_word_len": 6} |
如何确认成功
代码能 import reasoning_gym,create_dataset 正常打印题目与答案,且 score_answer(...) == 1.0 断言通过。
常见问题
Q:安装后 import 报错或版本不符?
A:确认 Python 版本 >= 3.10;README 说明 PyPI 版本可能比 main 分支落后几天,属正常现象。
Q:怎么校验模型输出的答案是否正确?
A:使用数据集自带的 score_answer 方法,对答案做算法化验证,返回 1.0 表示正确。
Q:答案格式略有差异(LaTeX、大小写)会判错吗?
A:可安装 reasoning-gym[scoring] 并使用 cascade_score,它依次尝试字符串、数值、符号数学匹配以降低误判。
Q:怎么开始用 RG 数据做 RL 训练?
A:README 推荐使用 verifiers 库(见 examples/verifiers),RG 数据也可接入任何主流 RL 训练框架。
注意事项
- PyPI 发布版本可能落后 main 分支数天,追求最新功能需自行从源码安装。
- scoring 附加依赖仅在需要符号数学验证时才需要安装。
- 任务数量众多,除 leg_counting、figlet_font 外的任务名与参数请查阅官方 GALLERY.md 文档。
核心亮点
- 内置40+种推理任务,覆盖算法、数学、逻辑,开箱即用
- 每个任务都有可验证的奖励函数,无需人工标注,训练更高效
- 接口统一,易于集成到现有RL框架,且支持自定义任务扩展
不足之处
- 任务难度和多样性可能不足以覆盖所有复杂推理场景
- 文档/社区待观察
适用场景
- 训练LLM进行数学解题、逻辑推理等强化学习实验
- 评估或比较不同RL算法在可验证推理任务上的表现
- 为学术研究提供标准化的推理环境基准
替代项目
OpenAI Gym、BabyAI、TextWorld
同类项目推荐
ColossalAI
开源
让大模型训练部署更便宜、更快速,普通硬件也能玩转AI大模型。
Making large AI models cheaper, faster and more accessible
plexe
开源
一句话描述,自动生成机器学习模型,快速验证想法
✨ Build a machine learning model from a prompt
llm-engine
开源
自建大模型推理与微调平台,OpenAI 接口一键迁移
Scale LLM Engine public repository
Aurora
开源
统一多模态时间序列预测,一个模型搞定数值文本图像
[ICLR 2026] Aurora: Towards Universal Generative Multimodal Time Series Forecasting
LLM-Finetuning-Toolkit
开源
像写单元测试一样微调大模型,实验更稳更可控。
Toolkit for fine-tuning, ablating and unit-testing open-source LLMs.
halo
开源
一套框架搞定 LLM 与多模态的微调和强化学习训练
Halo is an open-source framework built by White Circle for training large language a···
AdaptiveDiffusion
开源
不重训直接加速扩散模型,生成更快更省算力
[NeurIPS'24] Training-Free Adaptive Diffusion with Bounded Difference Approximation ···
MyLLM
开源
跟着 Notebook 从数据到应用跑通大模型全流程
"LLM from Zero to Hero: An End-to-End Large Language Model Journey from Data to Appl···
NeoHorse
开源
让模型自己出题、自己训练、自己变强
NeoHorse-1: Towards Recursive Self-Improvement via Agentic Post-Training with Routin···