长上下文强化学习需要又长、又难、又能自动判对错的数据,人工标注贵、外部语料不够、靠更强的老师模型又越来越难。LongZero 让被训练的模型自己出题:先用紧凑的结构化形式写好问题、支撑证据和答案,再把证据扩写成多篇长文档,得到多跳推理题;再加上用模型自己的回复拼成的长对话多轮检索题。只保留模型答得时对时错的题,用 GRPO 训练。
点赞 4 · 代码星数 4
理由
- 不依赖外部语料或更强老师模型:随着被训练模型变强,数据难度也跟着由它自己生成,作者认为这是一条可持续的路。
- 作者称在两个模型、五个长上下文推理基准(LongBench 多文档问答、LongBench v2、FRAMES、AA-LCR、LongReason)上超过用外部语料合成数据做强化学习的基线(摘要未给具体数字)。
- 可复现程度高:数据合成、训练(改过的 verl 快照)、评测脚本都在,Qwen3-4B-Thinking-2507 和 Qwen3-8B 的合成训练数据放在抱脸,results/ 里有逐题得分和重算脚本。
- 代码 MIT 许可。
用法
- 代码:github.com/zhennan1/LongZero;数据:hf download zhennan1/LongZero --repo-type dataset --include "data/*"(每个模型 2,304 条推理 + 1,152 条检索训练样本)。
- 环境:Linux、Python 3.12、CUDA;README 记录的版本是 PyTorch 2.9.0+cu128、vLLM 0.11.1、FlashAttention 2.8.3,再 pip install --no-deps -e training/verl_4b(或 verl_8b)。
- 训练:MODEL_PATH=… DATA_DIR=data/qwen3_4b bash training/train_4b.sh;单节点 8 卡,每步 64 个提示 × 8 个回答,学习率 1e-6,论文报告 4B 取第 72 步、8B 取第 108 步。
- 自己生成数据:先用 vllm serve 起被训练的模型,再跑 synthesis/gen_pipeline.py 和 repeat_eval.py 筛题。
风险
- 没有放出训练好的模型权重,只给数据和代码,要用得自己训。
- 训练门槛是单节点 8 张 GPU;只在 Qwen3 4B / 8B 两个模型上验证。
- AA-LCR 评测需要 OpenAI 兼容的判分模型 API;效果结论为作者报告,摘要没有具体提升幅度。