rl-analysis-issue-8481
收藏资源简介:
该数据集记录了针对Qwen3-8B基础模型及其SFT衍生模型(g1)进行的一系列agentic RL训练实验的完整输出,包括训练日志(压缩的SkyRL日志,每个运行一个目录,约700 MB原始数据)、评估日志(如r2egym、SWE-smith code search、SWE-Gym code search等多个实验的检查点评估结果)、分析脚本和输出(如码层级趋势分析、跨数据集迁移分析)、渲染的指标图、摘要CSV文件以及评估日志索引文件。实验覆盖多种设置:使用RLOO算法、sequence_mean损失缩减、无KL、学习率8e-6、批量大小64、上下文窗口32k等。主要运行包括:code-contests(35步,奖励从0.30升至0.50后持平)、SWE-smith code search(91步,奖励从0.69升至0.78后持平)、SWE-Gym code search(约37步,评估迁移能力)、r2egym(最多84步,包含t2、YaRN、奖励塑形等变体)。数据集还提供了饱和度分析结果(基于42,511次分级试验,按文件、模块、实体三个级别拟合,显示所有级别在约46步后统计上持平)和跨数据集迁移分析(在SWE-smith上训练85步的模型在SWE-Gym上初始奖励更高,但优势随后消失)。该数据集适用于研究agentic RL训练动态、技能学习机制、奖励饱和现象、跨任务迁移能力以及模型微调策略分析。
This dataset records the complete output of a series of agentic RL training experiments conducted on the Qwen3-8B base model and its SFT-derived model (g1). It includes training logs (compressed SkyRL logs, one directory per run, ~700 MB raw data), evaluation logs (checkpoint evaluation results for multiple experiments such as r2egym, SWE-smith code search, SWE-Gym code search), analysis scripts and outputs (e.g., code-level trend analysis, cross-dataset transfer analysis), rendered metric plots, summary CSV files, and evaluation log index files. The experiments cover various settings: using the RLOO algorithm, sequence_mean loss reduction, no KL, learning rate 8e-6, batch size 64, context window 32k (unless otherwise stated). Major runs include: code-contests (35 steps, reward rising from 0.30 to 0.50 then plateauing), SWE-smith code search (91 steps, reward rising from 0.69 to 0.78 then plateauing), SWE-Gym code search (~37 steps, evaluating transfer ability), r2egym (up to 84 steps, including variants like t2, YaRN, reward shaping). The dataset also provides saturation analysis results (based on 42,511 graded trials, fitting early and late slopes at file, module, and entity levels, showing statistical plateauing after ~46 steps at all levels) and cross-dataset transfer analysis (a model trained for 85 steps on SWE-smith showed higher initial reward on SWE-Gym, but the advantage disappeared later). This dataset is suitable for studying agentic RL training dynamics, skill learning mechanisms, reward saturation phenomena, cross-task transfer ability, and model fine-tuning strategy analysis.
RL分析 — Agentic RL实际学到的内容
数据集概述
该数据集记录了在Qwen3-8B及其SFT衍生模型(g1)上进行的一系列agentic-RL训练运行的日志、指标、图表和评估日志,旨在探究一个核心问题:当agentic RL提升奖励时,模型究竟学到了什么——是任务特定的知识,还是任务无关的系统性技能?
主要结论: 奖励仅在系统性、任务无关的技能(如工具使用流畅度、代码定位能力、响应精简性)被安装时才上升,大约在15-60步内饱和,之后趋于平缓——即使仍有大量提升空间。该集合中没有一次运行显示奖励因模型获得数据集特定知识而上升。
运行配置
所有运行使用RLOO算法,sequence_mean损失归约,无KL惩罚,学习率8e-6,批大小64,上下文长度32k(除非另有说明)。
| 运行 | 模型 | 数据池 | 步数 | 结果 |
|---|---|---|---|---|
| code-contests | Qwen3-8B基础模型 | code-contests-noblock | 35 | 奖励0.30→0.50(第15步后平稳);pass@8持平 |
| code-contests | g1 | code-contests-noblock | 30 | 奖励0.47→0.41;pass@8 0.65→0.57;熵崩溃 |
| code-contests(算法奖励) | g1 | + tag-F1项 | — | 0.7·pass_ratio + 0.3·tag_f1;两个分量均持平 |
| SWE-smith代码搜索 | g1 | 9,263个任务 | 91 | 奖励0.69→0.78;熵稳定;约第46步后各级别持平 |
| SWE-Gym代码搜索 | g1基础/s85/s85@LR1.2e-5 | 2,088个真实bug任务 | ~37 | 迁移实验臂 |
| r2egym | g1 | r2egym | ≤84 | t2/YaRN/奖励塑形实验臂 |
核心对比
同一模型(g1)、同一配方、两个不同数据池:
- code-contests → 奖励下降,熵从0.074崩溃至0.062,pass@8下降。该数据池要求g1无法获得的算法知识,RL只能在没有信号的数据池中强化。
- SWE-smith代码搜索 → 奖励上升,熵稳定在约0.081。该数据池要求定位能力——一种适用于每个实例的程序性技能——且能够被有效安装。
从另一个角度看:基础模型上的RL在15步内从0.30攀升至0.50,恰好停在g1的初始值(0.47)。其整个有效学习阶段都在到达SFT模型的初始状态。
平均奖励上升而pass@8持平是关键诊断指标。 基础模型平均奖励+0.16,而pass@8从0.62→0.64,在噪声范围内。上限并未移动:通过解法在第1步就已存在于8样本支持集中。这是可靠性提升,而非能力提升。
尽管有空间但饱和(已测量)
对42,511个分级试验、91步进行的每级别拟合(在第46步分割):
| 级别 | 早期斜率 | 后期斜率 | 起点→终点 | 剩余空间 |
|---|---|---|---|---|
| 文件级 | +0.00129(t=+5.38) | +0.00009(t=+0.68) | 0.857→0.977 | 0.023 |
| 模块级 | +0.00195(t=+5.79) | −0.00005(t=−0.18) | 0.741→0.903 | 0.097 |
| 实体级 | +0.00217(t=+4.59) | +0.00020(t=+0.52) | 0.620→0.809 | 0.191 |
三个级别早期均显著上升,后半段在统计上均持平,包括仍有8倍文件级空间的实体级也从未使用该空间。这些级别并非像梯子横档一样依次耗尽,而是在第46步左右同时停止。这指向一个共享瓶颈的饱和,而非逐级耗尽——数据池停止产生可用的组内方差,而任务仍远未解决。
这是真正的定位能力,而非基数先验拟合
每个答案预测的位置数从2.11降至1.43。在F1奖励下,这可能是更好的定位,也可能只是学习应命名多少项。精度和召回率区分了两者:
| 级别 | 精度 | 召回率 | 预测数→ | 金标准数 |
|---|---|---|---|---|
| 文件级 | 0.852→0.982 | 0.908→0.983 | 1.26→1.05 | 1.08 |
| 模块级 | 0.741→0.913 | 0.814→0.913 | 1.71→1.28 | 1.28 |
| 实体级 | 0.649→0.875 | 0.723→0.876 | 1.97→1.42 | 1.46 |
每个级别的召回率均上升(t=+3.98、+2.75、+2.25)——并未下降。先验拟合会通过丢弃正确猜测来换取精度;而这里只有错误猜测被丢弃。预测的基数在每一级别几乎精确收敛到金标准基数,因此校准是真实的——尽管是针对该数据池的分布拟合的。
跨数据集迁移
s85 = g1在SWE-smith代码搜索RL下训练85步后,再在SWE-Gym(不同数据集、真实bug)上训练。基于20,156个基础/19,034个s85试验重新计算,前4个填充步:
| 指标 | 基础 | s85 | 差异 |
|---|---|---|---|
| 未分级率 | 40.4% | 39.2% | −1.2pp |
| 仅分级奖励 | 0.4272 | 0.5108 | +0.0836 |
| 所有rollout奖励(失败=0) | 0.2547 | 0.3107 | +0.0560 |
技能可以迁移:s85在从未训练过的数据集上起始更高,且近乎相同的未分级率表明这并非掩蔽伪影。
但优势不持久:
| 步数 | 基础所有rollout | s85所有rollout | 基础未分级 | s85未分级 |
|---|---|---|---|---|
| 1 | 0.237 | 0.297 | 38.3% | 37.7% |
| 20 | 0.341 | 0.300 | 34.1% | 47.8% |
| 35 | 0.380 | 0.239 | 19.3% | 28.2% |
基础模型决定性反超并将其失败率减半;s85从约第20步开始下降。一个已锐化的模型在新数据池上继续训练,其损失大于收益——与g1在code-contests上的形态相同,也是支持对已RL起点使用更低学习率的论据。
目录布局
logs/training/ 压缩的SkyRL训练日志,每个运行一个目录(约700 MB原始数据) logs/r2egym_t2/ 130个检查点评估日志,t2 + YaRN + 奖励塑形臂 logs/swesmith_codesearch/ 检查点评估日志 logs/swegym_codesearch/ 检查点评估日志,基础和s85臂 logs/codesearch_probe/ 探针集评估日志(步骤5/10/15) analysis/ 两个分析脚本的输出 scripts/ 生成它们的分析和绘图脚本 plots/ 渲染的指标网格 metrics/ g1_arms_{metrics,train}.csv eval_log_index.txt 文件名→每个评估日志的运行标签
运行身份通过每个日志的policy.model.path确认:20260812_124821 = g1,20260813_100141 = Qwen3-8B基础,20260813_164840 = g1(动态采样变体)。
注意事项
- SWE-smith和SWE-Gym部分的数字从试验中重新计算。code-contests的数字仍为从渲染图中读取(±0.01)。
metrics/g1_arms_*.csv是数据池过滤臂(band/bs32/raw),而非工具臂。- r2egym评估日志命名为
eval_ckpt_struct_*,因为评估始终使用结构化工具;训练工具由标签(t2、t2yarn、t2ns等)给出,而非文件名。 - 各运行步数不同,并未按统一预算运行。上下文长度是r2egym工具臂之间的混淆变量;使用YaRN-81k臂进行匹配上下文的比较。




