LLM Reason Paper
本文最后更新于:5 分钟前
不定期更新最近读到的 paper (主要关注 reason, LLM RL, LLM Agent, Browse Agent)
6月
The Entropy Mechanism of Reinforcement Learning for Reasoning Language Models
- 熵 entropy 在训练过程中掉得很快,其主要作用是来源于 \(-\log \pi_\theta\) 和优势 \(A\) 的协方差,也就是两者如果越不线性相关,模型就越不确定,相反如果模型确信的那些动作给了正优势,不确信的动作给了负优势,模型就很快达到确定的状态
- 计算 token-level 的 advantage,将比较高的 \[(\log p-\overline{\log p})\cdot (A-\overline{A})\]的那些 token mask 掉,或者给这些 token 加上 KL 约束,从而抑制 entropy 掉
Truncated Proximal Policy Optimization (T-PPO)
组件 | 关键思想 | 数学公式 |
---|---|---|
EGAE(Extended Generalized Advantage Estimation) | 只要生成到一半,就开始估算优势函数 \(A_t\) 。 | \(\begin{aligned}& \widehat{A}_t=\delta_t+(\gamma \lambda) \delta_{t+1}+\cdots+ \\& (\gamma \lambda)^{\ell-t-1} \delta_{\ell-1} \\& \text { 其中 } \ell \text { 是截断长度 }\end{aligned}\) |
截断—批处理策略 | 把长回应按固定窗口 \(\ell\) 切块,没写完的序列留到下一步;写完的立即换新 prompt。 | \(\uparrow\) GPU 吞吐:始终保持 batch 满员;个学习信号密度。 |
独立更新 Actor/Critic | -Actor(策略):用本窗口内的新 token-Critic(价值):等完整序列结束再用 Monte -Carlo 真实回报 \(R_t\) 。 | \(\begin{aligned}& J_{\text {value }}(\phi)= \\& \frac{1}{2} \mathbb{E}\left[\max \left(\left(V_\phi-R\right)^2,\left(V_{\text {clip }}-R\right)^2\right)\right]\end{aligned}\) |
整体效率分析 | 如果实际最大长度 \(L\) 是窗口 \(\ell\) 的 \(k=L / \ell\) 倍,则端到端训练最快提速 \(\approx \mathrm{k}\) 倍 | 理论 + 实测最高 \(2.5 \times\) 加速 |
The Unreasonable Effectiveness of Entropy Minimization in LLM Reasoning
阶段 | 方法 | 数学目标/奖励 |
---|---|---|
EM-FT(Fine-Tuning) | 直接最小化 \(\widehat{H}_{\mathrm{tok}}\) | 与指令微调形式相同,但用模型自采样的输出作无标签数据 |
EM-RL(Reinforcement Learning) | 把负熵当唯一奖励:\(r(y)=-\widehat{H}_{\mathrm{traj}}\)或 \(-\widehat{H}_{\text {tok }}\) | 采用 REINFORCE/GRPO 框架;加小系数 KL 回正则防漂移 |
EM-INF(Inference Scaling) | 解码时对 logits 做小步优化减少 \(\widehat{H}_{\mathrm{tok}}\) (给 logits 加上一层神经网新的 logits) | 无需调参、只改每步 logits;也探讨简单温度自适应 |
半监督学习思想应用于 RL
SEED-GRPO: Semantic Entropy Enhanced GRPO for Uncertainty-Aware Policy Optimization
- 针对采样出来的 \(N\) 条样本,语义聚类为 \(\left\{C_1, \cdots, C_k\right\}\) ,计算优势,定义采样公式(从 shannon 熵 \(-\sum p_i \log \left(p_i\right)\) Rao-Blackwell 化)
\[ \operatorname{SE}(q)=-\frac{1}{K} \sum_{k=1}^K \mathbb{P}\left(C_k \mid q\right) \]
- 其中 \(\mathrm{SE}_{\text {max }}\) 为所有答案语义都不一样,代表熵最大 \(\log (N)\)
\[ \hat{A}_i=A_i \cdot f\left(\alpha \cdot \operatorname{SE}(q) / \operatorname{SE}_{\max }(q)\right) \]
- F 是线性函数,使得熵越大,更新越保守
Learning to Reason without External Rewards
- 将每个 token 的词表概率分布与均匀分布计算 KL 散度,如果越远说明越自信 \(\operatorname{Self}\)certainty \((o \mid q):=\frac{1}{|o|} \sum_{i=1}^{|o|} \operatorname{KL}\left(U| | p_{\pi_\theta}\left(\cdot \mid q, o_{<i}\right)\right)=-\frac{1}{|o| \cdot|\mathcal{V}|} \sum_{i=1}^{|o|} \sum_{j=1}^{|\mathcal{V}|} \log \left(|\mathcal{V}| \cdot p_{\pi_\theta}\left(j \mid q, o_{<i}\right)\right)\)
- Self-certainty 更能区分 correct 和 incorrect
- Borda Voting:不同排名赋予不同得分,定义 \[v(r)=(N-r+1)^p\]例如下图的例子 \[p=1\]分别是 6, 5, 4, 3, 2, 1 分,然后按照对应答案的一致性进行加权
- 使用排名赋予投票挑选
- Learning to Reason without External Rewards 这篇文章就在上述文章基础使用这个指标作为 reward
3月
HoT
- 给事实加上标签
Satori: Reinforcement Learning with Chain-of-Action-Thought Enhances LLM Reasoning via Autoregressive Search
- 先用错误 => 正确构建一些 reflection 的数据,强制给 step 加上 <|reflect|>,reward 计算加上 refecltion bonus
MRT
- 拼接 强制回答的 rollout 作为当前这步的 baseline,当前这步直接 rollout 减去 baseline 作为 progress reward
Think Twice
- 尝试两次,效果 qwq AIME 80.3->82.1
Original question prompt
The assistant’s previous answer is:
Exploring Data Scaling Trends and Effects in Reinforcement Learning from Human Feedback
- 使用 generative model 打分并删去 > 0.5 的数据
- 将数学代码类型的数据放在前面
Sleep-time Compute: Beyond Inference Scaling at Test-time
- 将问题拆分为 (context, query), 调用 function call 让模型不断更新 context,function call 传入参数包含
ReTool
2月
Can 1B LLM Surpass 405B LLM? Rethinking Compute-Optimal Test-Time Scaling
- 小模型适合 BoN,大模型适合 diverse Beam Search
S*: Inference scaling for Code
- 第一步使用公开样例和多轮对话,第二步 prompt 语言模型生成能区分两个代码的测试,然后选择最好的 sample
1月
Forking Paths in Neural Text Generation
- 采样的不同位置更换 token 后结果的概率分布变化,使用 Change Point
Detection 统计学方法找到突变位置
- 中间有个突变点能让答案分布收敛到同一个点
- https://forking-paths.streamlit.app/
- 不同 token 更换形成的概率分布
- 思考
- 这里每个位置 token 的更换只考虑了所有生成答案的分布,并没有考虑更换不更换这个 token 对答案分布的影响,理论上强化学习应该鼓励那些能生成更多正确答案的 token
Free Process Rewards Without Process Labels
- 使用 DPO 训练好的模型直接给到每一步的 reward \(q_{\theta}(y_{<t},y_t)=\beta \log
\dfrac{\pi_\theta(y_t|y_{<t})}{\pi_{ref}(y_t|y_{<t})}\)
- 评测 boN 时使用最小的 step-reward 来选,DPO 训练之后最适合做 implicit reward
- 能促进 SC 的提升
- 但训练后的 policy model 性能下降
Understanding chain-of-thought in LLMs through information theory
- 定义信息增益 \[\mathcal{I}=E[\log(Y|X_{j})]-E[\log(Y|X_{j-1})]\geq 0\],也就是做出这一步之后对信息熵减少的程度,如果这一步让熵减少了,说明这一步是前进的,否则这一步是“扰乱”的
- 训练一个直接得到答案的模型 \(g\) 来估计 \(\log p(Y|X_{j-1})\approx l_{CE}(Y,g(X_{j-1}))\)
- 思考:
- 为什么还要用一个模型来模拟这一步通向的答案的概率分布?直接 rollout 不行吗
- 那这样可以在不知道答案的时候选择那些通向答案概率分布不混乱的步骤,那就是一个 reward-free 的解码算法,因为只用答案概率分布的大小比较来确定是不是选这一步(其实就是某种意义上的 step-maj ?)
rStar-Math: Small LLMs Can Master Math Reasoning with Self-Evolved Deep Thinking
- Round 1:DeepSeek-Coder-V2-Instruct (236B) 构建 MCTS 初始 SFT(rollout 为 8,仅看 final answer),用最高 top-2 SFT 得到 SLM-r1 / PRM-r1
- Round 2:SLM-r1 policy 运行 MCTS(模型更小,采样 rollout 16 多一些),增量训练得到 SLM-r2 PRM-r2
- Round 3/4:PRM-ri 指导下 SLM-ri policy MCTS (训练数据难度持续增加),增量训练得到 SLM-r{i+1} PRM-r{i+1} i=2,3
Process Supervision-Guided Policy Optimization for Code Generation
- 单行代码使用二分查找得到分界线(rollout 如果有对的认为该步正确),然后训练 PRM 用于 RL
Entropy-Regularized Process Reward Model
对于每一步进行 rollout,令 p_i 为给定当前步新采样出多个 trajactory 时每个 trajactory 的分配概率,定义用熵正则化后的奖励函数为
\[f(\eta)=\dfrac{\ln (\sum_i p_i \exp(\eta r(a_i,x)))}{\eta}\]
可以证明该函数为单调递增的凸函数,从 Soft-Label \(\sum p_i r_i\) 增加到 Hard-Label \(\max_i(r_i)\)
- gsm8k 的最佳 \(\eta\) 比较高,更偏向结果导向;math 的最佳 \(\eta\) 要低一些,更希望每一步都有不错的正确率
The Lessons of Developing Process Reward Models in Mathematical Reasoning
- 结论:
- MC 性能和泛化性小于 LLM-as-Judge 以及人工标注
- PRM 偏向于给末尾的 step 更低的分数,从而违背了 PRM 原本用于过程监督的性质
- 实验
- hard label 用分类任务训练,soft label 用回归任务训练
- 人工统计“蒙对”比例(答案正确,但过程错误),更难的数据更高(例如 omni-math 为 43.4% )
- MC 训出来的 PRM 当 ORM 用效果最好
- 方法
- 过滤掉 MC 和 LLM-as-judge 差异比较大的数据,保证一致性,训了个更好的 PRM
本组实验结论:Point-wise 训练 PRM > regression 训练
Rewarding Progress: Scaling Automated Process Verifiers for LLM Reasoning
- 用原始的 \(\pi\) 模型计算 \(Q\),更强的 \(\mu\) 模型计算 Adv
\[ \left.\nabla_\pi \ell_{\mathrm{PAV}-\mathrm{RL}}^{\pi^{\prime}}(\pi)\right|_{\pi^{\prime}=\pi}=\sum_{h=1}^H \nabla_\pi \log \pi\left(a_h \mid s_h\right) \cdot \underbrace{\left(Q^\pi\left(s_h, a_h\right)+\alpha \cdot A^\mu\left(s_h, a_h\right)\right)}_{\text {effective reward }} \]
- 实验表明:ORM + \(\alpha\)* PAV > PAV > ORM
- 使用 best-of-k 来代替这个更强的模型
思考:优势的鼓励需要借助更强的模型,和上一篇文章类似,使用 qwen-2.5-math 更强的数学模型来构建 label (或许是一种扩大 label 数值的方式)
Self-Generated Critiques Boost Reward Modeling for Language Models
- x 是问题,y+/y- 是 chosen / reject,z+/z- 是 critique-cot,s+/s- 是标量分熟
- 多次采样 critique 然后过滤,通过总结和 top-k (prompt) 产生更 diverse 和更高质量的 critique
- \[l_r=-\log(r_{\phi}(x,y^+,z^+)>r_{\phi}(x,y^-,z^-))\]即优化给定原始回答和对应 critique 下 reward 预测
- \[-\frac{1}{K} \sum_{z \in \mathcal{Z}} \log q_\phi(z \mid y, x)\] 作为 generative-critique 的损失函数
WARP: On the Benefits of Weight Averaged Rewarded Policies
- Stage 1: 使用模型参数的 EMA 来计算 KL 惩罚,重复 m 遍
- Stage 2: 上述模型使用球形插值 merge 起来
- Stage 3: 和初始模型线性求和(迭代式的)
- 蓝线更好(在 \(\beta=0.1\) 下)
DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning
- Deepseek-Zero:基于 Base model 采用以下格式直接 GRPO 训练,只有 rule-RM 以及 format-RM 两个奖励函数
- LCB 66 AIME 79.8 Codeforce 2000 rate SWE-Bench-Verified 2000
s1: Simple test-time scaling
- 1000 条高质量、多样化的数据,强制添加 token 思考