REER
开放式生成 · arXiv 2509.06160v1

REER:从好答案反推思考链,用困惑度做搜索信号

开放式写作没有标准答案,RL 缺奖励、蒸馏又贵。REER 反过来做:拿一篇已知的高质量答案 y,搜索一段思考轨迹 z,使模型在给定 x 与 z 时对 y 的困惑度最低;再用搜出来的 (x, z, y) 微调 Qwen3-8B。DeepWriter-8B 在 LongBench-Write 得 91.28,WritingBench 六个领域平均比 LongWriter-8B 高 18.82 个百分点。

Haozhe Wang、Haoran Que、Qixin Xu 等 · ByteDance Seed / HKUST / 北京大学 / M-A-P 等 · arXiv 2509.06160v1 原文 ↗ 项目页 ↗
TL;DR · 30 秒抓住核心

传统两条路在开放式生成上都卡住:RL 需要一个能判断“小说好不好”的奖励模型,蒸馏需要一个更强且昂贵的教师。REER 把问题改成:给定查询 x 和高质量答案 y,什么样的思考过程 z 最能让 y 显得顺理成章?它用 PPL(y | x, z) 作为 z 的质量代理,做梯度无关的局部搜索。

搜索从一个粗糙的初始轨迹 z(0) 开始,逐段让 LLM 生成候选改写,计算每个候选下的 PPL,选最低者;候选集合包含原片段,保证 PPL 单调不升。重复到 PPL 低于阈值或达到最大轮数,得到 z*。最终数据集 DeepWriting-20K 含 20,000 条轨迹,覆盖 16,000 个查询、25 个类别;训练时再混入约 17,000 条公开推理数据(37,000 − 20,000,推断),总计 37,000 条。

结果有亮点也有边界:DeepWriter-8B 在 LongBench-Write 上 91.28,高于 GPT-4o 的 83.1 和 Claude 3.5 的 89.3,但低于 Claude 3.7 的 97.8;WritingBench 六个领域都高于 Claude 3.5,但都低于 GPT-4o 与 Claude 3.7。论文的“competitive”是选择性成立,不是全面超越。

20,000
DeepWriting-20K 的深度推理轨迹数;来自 16,000 个查询
91.28
DeepWriter-8B 的 LongBench-Write 分数;GPT-4o 83.1,Claude 3.7 97.8
18.82
WritingBench 六领域相对 LongWriter-8B 的平均提升(百分点)
01

开放式写作没有“正确答案”,RL 与蒸馏都缺一块拼图

读完这节应该知道:为什么数学里的 deep reasoning 套路不能直接搬到创意写作。

数学和代码有可验证结果:答案对错、程序能否跑通,都是明确奖励。创意写作没有单一 ground truth,质量取决于原创性、情感共鸣、叙事连贯等主观标准。论文把两条主流路径的困难拆开:

RL 路线

奖励模型本身难做

要先用人类偏好训练一个能判断“写得好不好”的 reward model,这本身就是一个难题;之后的 RL 过程样本效率低、计算负担重。论文认为在开放式生成上,这条路的计算负担重、样本效率低。

蒸馏路线

教师贵,且封顶学生

让强教师逐条生成带思考过程的范例,再让学生模仿。问题一是大规模调用顶级模型很贵,二是学生的能力上限被教师锁住;论文还指出,高质量开放式查询与深度推理轨迹本身就稀缺。

REER 的切入点不是“更好地生成答案”,而是“给定一个好答案,反推它可能的思考过程”。这样既不需要奖励模型,也不需要教师逐条示范;它只需要一个能计算 PPL 的生成模型,以及一批高质量的 (x, y) 对。

核心假设

好的思考过程让好答案更“可预测”

论文假设:如果一段思考轨迹 z 真的能解释答案 y,那么在给定 x 与 z 后,模型对 y 的困惑度应该更低。于是一个模糊的“思考质量”问题,被替换成一个可计算的搜索目标:找到使 PPL(y | x, z) 最小的 z。

02

不是新的生成模型,而是新的“数据生产”范式

REER 与 RL、蒸馏、普通合成数据的区别,主要在“监督信号从哪来”。

表 0A · 四条路线对比(页面整理,依据 §1–§2)
路线监督信号主要成本主要限制
RL可验证结果或 reward modelrollout + 奖励模型训练开放式任务缺清晰奖励;样本效率低
Instruction Distillation强教师的带思考过程范例顶级模型逐条调用贵;学生上限受教师限制
普通合成数据给定 x 正向生成 y生成模型调用无法保证 y 的质量与深度
REER已知好答案 y 的 PPL局部搜索中的多次候选生成与打分依赖 PPL 代理;需要高质量 (x, y) 对

表 0A 依据 §1 与 §2。REER 的 20K 核心轨迹不是教师蒸馏;但 §2.3.3 的训练混合了约 17K OpenThoughts 蒸馏轨迹,因此并非完全不依赖蒸馏。它把“答案质量”固定为已知的 y,把搜索空间放在思考轨迹 z 上。

与 MCTS 的区别也值得注意。论文说 REER 不用 rollout,而是直接对完整参考答案算 PPL;它采用“先全局后局部”的策略:先有一个完整的粗糙计划,再逐段改进,而不是像 MCTS/beam search 那样从部分状态逐步扩展。这让它避开了树搜索的大量模拟,但也意味着最终质量受初始计划的结构限制 推断(论文没有做初始计划质量的消融)。

03

目标是最小化 PPL(y|x,z),方法是逐段局部搜索

方法可以拆成三步:初始化、逐段扩展与评估、终止;真正需要解释的是“为什么选最低 PPL 会改进思考”。

把思考轨迹写成离散步骤序列 z = [z1, …, zn]。目标是:

z* = arg minz ∈ Z PPL(y | x, z)
§2.1:PPL 由生成模型计算,条件包括查询 x 与思考轨迹 z;搜索是 gradient-free 的,不需要对 PPL 求导。

直接在整个轨迹空间里搜索不可行,所以论文用迭代局部搜索:

1 · 初始化

先写一个粗糙计划

用一条“thought-provoking”指令让 LLM 生成初始轨迹 z(0);它不完美,但提供完整的全局结构。

2 · 扩展

逐段生成候选

选中一段 zi,把 x、y 与前后文一起给 LLM,让它生成多个更细、更有反思的候选改写;prompt 明确要求不能直接抄 y。

3 · 评估

选 PPL 最低者

把每个候选替换进轨迹,计算 S(c)=PPL(y|x,z′cand);选择最低者。候选集合包含原片段,保证 PPL 不会变差。

zi* = arg minc ∈ Ci ∪ {zi} PPL(y | x, z′cand)
§2.2:把原片段放进候选集合,是为了让困惑度单调不升;这是算法能稳定迭代的关键实现细节。

终止条件是 PPL 低于预设阈值,或达到最大迭代次数。论文没有在正文给出阈值具体数值与最大轮数;这两个量会直接影响轨迹长度与搜索成本,是复现时的一个空白。

搜索完成后,每条样本变成一个 (x, z*, y) 三元组。为了让思考更像人,prompt 还注入 “Hmm…”, “Wait, that’s a bit…” 这类反思性表达;为了让编辑只发生在当前段,prompt 里加入了固定的 meta-structure,约束模型不要顺手改后续步骤。

过滤 1:结尾思考

最后 10% 仍在“想”就丢

如果思考模式持续到序列最后 10%,说明模型可能陷入重复、无法收束;这类轨迹被过滤。

过滤 2:n-gram 重复

高频重复就丢

用 top-3 n-gram 的频率衡量重复;重复过高的轨迹被视为退化循环,直接过滤。

04

20K 轨迹、16K 查询,生成器是 Qwen2.5-32B-Instruct

REER 的成本不在训练,而在为每条样本做多次候选生成与 PPL 打分;论文没有给这部分的具体费用。

表 0B · 数据与训练配置(页面整理,数字取自 §2.3 / §3.1 / §3.2)
项目设置说明
查询-答案来源Reddit r/WritingPrompts、Project Gutenberg、WildChat、LongWriter6K社区 upvote 作为初始质量代理;Gutenberg 用 GPT-4o 从开头反推查询
轨迹规模20,000 条来自 16,000 个唯一查询;覆盖 25 个类别
生成器Qwen2.5-32B-Instruct负责初始轨迹、候选改写与 PPL 计算
训练数据20K 合成 + 约 17K OpenThoughts(推断)混合后约 37,000 条;OpenThoughts 主要覆盖数学、代码、科学
基座Qwen3-8B-Base论文称 Llama-3.1-8B-Base 难以内化,Qwen2.5-7B-Base 受上下文长度限制
微调3 epochs,constant LR,peak 2×10−5,global batch 96没有给总 GPU 小时、卡型或单条轨迹的搜索轮数
评测LongBench-Write、HelloBench、WritingBenchLongBench/WritingBench 用 Claude-3.7 打分,HelloBench 用 GPT-4o 打分

§2.3 / §3.1:论文没有给 PPL 阈值、最大迭代次数、每次生成多少候选、总 token 消耗或 API 费用;这些是方法可复现性与成本评估的缺口。

数据侧成本

每条样本要生成初始轨迹、多次候选改写、多次 PPL 打分;20K 轨迹意味着大量生成器调用,但论文没有给调用次数。

训练侧成本

8B 模型、3 epochs、batch 96、LR 2e−5;这是常规指令微调规模,论文没有给硬件与总时长。

评测侧成本

用 Claude-3.7 与 GPT-4o 做 judge,成本与偏差都存在;论文承认 LLM-as-a-Judge 有固有偏见。

05

好答案固定,思考轨迹在循环里被逐段“打磨”

流程图的关键是:y 始终不变,变的是 z;PPL 是唯一的选择信号。

查询 x 开放式写作 prompt 高质量答案 y 人类作品 / 好输出 初始轨迹 z0 LLM 生成粗糙计划 逐段候选 改写 z_i,生成多个 c PPL 评估 选最低 PPL 的候选 z* PPL < 阈值或到上限 DeepWriter 8B PPL(y|x,z) 下一段 / 下一轮 收敛
图:REER 的搜索与训练流程。x 与 y 固定,初始轨迹 z(0) 逐段生成候选,计算 PPL(y|x,z′) 并选最低者;循环到 PPL 低于阈值或达到最大轮数,得到 z*,再用 (x,z*,y) 微调 Qwen3-8B。图按 Figure 3 重绘,未展开 prompt 模板、候选数量与过滤细节。
为什么不是 MCTS

不对部分状态 rollout

REER 直接对完整参考答案算 PPL,不需要从部分轨迹模拟到结尾;它先有全局计划,再做局部编辑。

为什么候选包含原片段

保证 PPL 单调

如果所有候选都更差,算法保留原片段;这让每轮更新不会让目标变坏,但不是全局最优保证。

这套流程的代价是:搜索只在“当前段”的局部候选里选,无法回退到更早的结构性错误 推断(依据 §2.2 的 segment-wise 局部搜索设计);如果初始计划把整体叙事方向定错,后续逐段打磨只能在错误框架里优化 PPL。论文没有给失败案例的比例,也没有给“初始计划质量”对最终轨迹的影响分析。

06

LongBench 91.28,WritingBench 六个领域都高于 Claude 3.5;但 Claude 3.7 仍在前面

先看完整 Table 1(包含笔记漏掉的 Claude 3.7),再看消融与定性分析。

Table 1 · 主结果

Table 1 · LongBench-Write、HelloBench 与 WritingBench 主结果(原文 Table 1 转录,单位为分)
模型BaseLBHB-AHB-BWB-AWB-BWB-CWB-DWB-EWB-F
GPT-4o—83.183.787.674.4073.4274.3877.9175.8678.08
Claude 3.5—89.382.988.359.0557.6856.3259.3662.0067.70
Claude 3.7—97.883.993.278.2477.9376.5179.3779.2680.88
LongWriter-8BLlama3.1-8b76.580.182.657.9753.9249.0852.0852.9952.08
DeepWriter-8BQwen3-8b91.2882.6487.4872.2071.7670.5770.5773.6572.29

Table 1:LB = LongBench-Write;HB-A/B = HelloBench 两个子集;WB-A–F = WritingBench 六个领域。评测协议见 §3.2:LongBench/WritingBench 由 Claude-3.7 打分,HelloBench 由 GPT-4o 打分。论文没有给标准差、置信区间或显著性检验。

逐项看,DeepWriter-8B 相对 LongWriter-8B 的增益是:LB 14.78 个百分点、HB-A 2.54、HB-B 4.88;WritingBench 六个领域平均高 18.82 个百分点。相对 Claude 3.5,WritingBench 六个领域全部更高,平均高 11.49 个百分点;但相对 GPT-4o,六个领域全部更低,平均低 3.83 个百分点,差距从 WB-B 的 1.66 到 WB-D 的 7.34。相对 Claude 3.7,六个领域平均低 6.86 个百分点。

LB 上 DeepWriter 高于 GPT-4o 8.18 点、高于 Claude 3.5 1.98 点,但低于 Claude 3.7 6.52 点。HB-B 上它比 GPT-4o 低 0.12 点、比 Claude 3.5 低 0.82 点、比 Claude 3.7 低 5.72 点。论文说 HB-B 与 GPT-4o/Claude 3.5 “statistically on par”,但没有给统计检验;页面按分数并列,不把“on par”升级为显著差异。

消融 · 去掉哪一块最疼

当前配置
LB
91.28
HB-A
82.64
HB-B
87.48
WB-A
72.20
WB-B
71.76
WB-C
70.57
WB-D
70.57
WB-E
73.65
WB-F
72.29
LB / HelloBenchWritingBench A–F柱高按 100 满量程;数值逐字取自 Table 2
手算:完整模型与去合成数据的 WritingBench 平均 与 JS 逐位一致

完整模型。WB 六项 = 72.20、71.76、70.57、70.57、73.65、72.29;总和 431.04,平均 431.04 / 6 = 71.84。

去合成数据。WB 六项 = 63.44、62.78、62.86、57.72、66.32、62.78;总和 375.90,平均 375.90 / 6 = 62.65。平均下降 71.84 − 62.65 = 9.19 个百分点。

去反思词。WB-D 从 70.57 降到 62.04,下降 8.53 个百分点,是六个 WB 领域中最大的单项下降;WB-A 降 0.52 个百分点。

柱高 = 分数本身(满量程 100),最低 1.2%;本图最低是去合成数据的 WB-D 57.72,不会触发。

消融的排序很清楚:去掉 20K 合成数据,WB 平均掉 9.19 个百分点,HB-B 掉 13.75 个百分点;去掉迭代搜索,WB 平均掉 3.81;去掉反思词,WB 平均掉 2.55,但 WB-D 掉 8.53;下采样长轨迹掉约 2.32,下采样短轨迹掉 1.74,去文学艺术数据(含 Ordinary Life)掉 1.00。这说明合成数据是主贡献,迭代搜索次之,反思词对文学类任务更关键。

论文的定性结论

五个维度

DeepWriter 的 profile 比 LongWriter 更均衡

论文用 Problem Deconstruction、Logical Consistency、Depth of Analysis、Presentation Clarity、Factual Grounding 五个维度画雷达图(Figure 6);DeepWriter 的轮廓包住 LongWriter,接近 GPT-4o,明显高于 Claude 3.5,但仍低于 Claude 3.7。

思考模式

反思词让表达更多样

Figure 7 比较注入/不注入 thinking pattern 的模型:注入版的 “let me think”“maybe”“hmm”“wait” 等反思/自我纠错表达更突出,分布更均匀;不注入版更依赖固定句式。

这些定性结论没有对应的数值表;雷达图是归一化分数,Figure 7 是 top-50 短语频率。页面只把它们当作论文的观察,不当作独立验证。

07

PPL 不是“好思考”的完整定义,Claude 3.7 也仍在前面

论文的边界包括代理指标、评测方式、数据分布与可复现性四层。

代理指标有偏

低 PPL 可能只是更“套路”

PPL 衡量的是答案在给定思考下的可预测性。它可能偏好更常规、更符合模型先验的叙事,而不一定奖励真正反直觉的创意 推断;论文没有用人类评审验证“PPL 更低”是否等于“人类认为更好”。

评测依赖 LLM judge

Claude-3.7 / GPT-4o 打分

三个 benchmark 都用强模型当裁判;论文承认 LLM-as-a-Judge 有固有偏见(原文只说 “potential for inherent biases”,未举例)。没有人类评估、没有多裁判一致性分析。

数据分布也不均衡:最终 20K 数据里 Artistic 占 48.0%,其中 Creative Writing 又占 Artistic 的 76.1%。页面观察(非论文自述):Figure 5 的 caption 只说 “a large emphasis on Artistic writing”,论文没有把这列为不足 推断(依据:全文没有 limitations 章节,Conclusion 未提数据偏向)。科学、法律、金融等领域的覆盖小得多,论文没有做训练分布外的泛化实验(Table 1 有 WB-A/B/C 分领域分数)。

对比基线方面,开源侧只有 LongWriter-8B 一个;没有和更多同规模开源写作模型比较。专有模型里,Claude 3.7 在 LB(97.8)、HB-A(83.9)、HB-B(93.2)和 WritingBench 六个领域都高于 DeepWriter。摘要点名的是 GPT-4o 与 Claude 3.5;§3.3 又说 WritingBench 与 GPT-4o/Claude 3.7 “highly competitive”,但 Table 1 六项都低(见页脚 errata)。

可复现性上,论文没有给 PPL 阈值、最大迭代次数、每段候选数量、总生成调用次数、GPU 型号/卡数/总时长或 API 费用;也没有给多次运行的方差或显著性检验。Table 1 的“statistically on par”没有对应的统计检验支撑,页面按分数并列。