IntraSkill / ShopSimRL · Qwen3.5-4B · Iter80 · 4 rounds
Original source document; content retains its source language. Markdown ↓

可复算分析 / Reproducible analysis

这些文件由 scripts/analyze_training.pyscripts/plot_training.py 生成。主实验范围为 rollout steps 1–80,四轮 gate,最终 checkpoint 为 Iter80。无需 runs/ 或模型 API 即可从这里的数值摘录重建分析与图表。

python -m pip install -e ".[analysis]"
python scripts/analyze_training.py
python scripts/analyze_behavior.py
python scripts/analyze_wandb.py
python scripts/plot_training.py
python scripts/plot_behavior.py
python scripts/plot_wandb.py
python scripts/plot_method.py

只有重新提取本地完整实验时才使用 --refresh-local。该选项读取 W&B 文本日志、每个 group 的 triage,以及四组 test traces,不修改历史产物。

文件 内容与单位
analysis.json 项目页和图表的统一数据,包括 test、配对区间、round、step、贡献和五个技能版本
training_steps.csv 每行一个 rollout step,严格覆盖四轮 1–80;空值代表未记录,不是零
training_sources.json 每个 step 的原始日志相对路径;相同 step 的重复来源必须数值一致
training_groups.csv 每行一个生成 group;分类、treatment、可评分数、奖励与 retry 是否存在;不等同于 trainer-admitted groups
test_task_outcomes.json 400 个共同 test task 的四条件 reward/success;不含对话、persona 或商品答案
local_extraction_audit.json traces hash、尝试数、唯一完成数与 summary 复算结果
rounds.csv 四轮输入/输出技能大小、失败/候选数量与系数复算误差
chunk_contributions.csv 每轮每个 intervention 的有符号系数、logical ID、operation 和 selection status,包含 rewrite losers
provenance.json 输入 JSON/CSV 统一 CRLF→LF 后的 SHA-256 和数值依赖版本,兼容历史 Git 文件的不同换行
behavior/ 20,480 训练 / 3,600 评测 episode,逐 turn 数值 gzip CSV、分层统计、配对区间与来源
wandb/ 四个 finished run 的数值 history、80 rollout steps、160 optimizer updates、来源哈希
figures/ 14 组独立 SVG 与 PNG;英文坐标与图例,中英说明在网页

核验口径

  • 从完整 traces 每个任务取唯一 completed 记录,拒绝重复 completed;失败尝试不是新的任务样本。
  • 每个最终条件必须覆盖同一组 400 个任务,提取时重新调用项目 summary 实现,校验主 reward 与 success。
  • 四轮 gate 从实际 mask 与逐任务 reward-bare_reward 重拟合无截距 OLS,检查列秩和系数一致性。
  • Bootstrap 联合重采样任务的两条件结果,10,000 次,使用比较脚本相同的 Python random.Random 和按指标哈希派生的种子。新统一复算的跨 checkpoint 区间可能与未记录完整随机数约定的历史 cross-checkpoint 摘录有轻微差别;历史文件不被覆盖。
  • task-level CI 不包含训练随机种子的不确定性。系数正负用于当前筛选规则,不是统计显著性标签。

图表

名称 解释
test_results 四条件 test strict reward 与成功率
training 全量生成奖励、实际 skill-free 比例、all-wrong 比例、zero-std 丢弃率
validation_and_effects 四轮 bare/masked val 曲线,以及 test 配对效果区间
skill_evolution active chunk 数与失败分析漏斗
chunk_contributions 每个逻辑技能的胜出版本系数;点表示保留,灰色表示未评估
reward_components Base free、Iter80 free、Iter80 + Sₜ 的分量比较
method_framework GRPO rollout steps、验证 gate、新 SkillBank 与下一训练区间组成的重复时间线

曲线展示原始点与 5-step trailing mean。生成样本与进入 trainer 的样本保持不同分母;完整解释见 实验报告

新增 behavior_outcomesbehavior_step_distributionbehavior_fixed_validationbehavior_paired_effectsbehavior_phases 五组行为图,以及 optimizationsystems 两组 W&B 图。行为曲线除明确标注外不平滑。训练 token 来源是保存输出的重编码,评测 token 来源是 API usage;W&B response length 是已接纳 Sample 的长度,三个口径不能混用。详见行为报告优化报告

默认复算不联网。原始行为刷新需 tokenizers 与官方 Qwen tokenizer JSON,执行 python scripts/analyze_behavior.py --refresh-local --tokenizer /path/to/tokenizer.json。W&B 刷新需可选 [wandb] 依赖和读取权限,执行 python scripts/fetch_wandb.py;凭据仅在请求时读取,不导出。

W&B manifest、behavior gzip provenance 和站点 build manifest 使用原始字节 SHA-256。.gitattributesartifacts/analysis/** 禁用 Git 换行转换,以保存冻结数值导出和其字节哈希。只有主 provenance.json 的历史 JSON/CSV 输入先统一换行;其 normalization 字段明确记录这一规则。