完整教程:【COT】PromptCoT 2.0少样本训练 CoT

《PromptCoT 2.0》详解:少样本下如何构建与训练 CoT

字节与港大提出的PromptCoT 2.0,在少样本、无强教师、无人工标注条件下,高效生成高质量 CoT(Chain-of-Thought)数据并训练模型。


1. 核心目标与动机

传统 CoT 依赖人工标注的“问题-推理链-答案”三元组,但:

  • 人工成本高:Olympiad 数学/竞赛编程题稀缺且昂贵;
  • 合成资料太简单:现有方法生成的问题难度低、多样性差;
  • 强教师不可得:SFT 应该更强模型蒸馏,但最强模型往往是闭源的。

“人类策划的数据集成本高昂且有限,而现有的合成语料库往往过于便捷或狭窄(human-curated datasets are costly and limited, while existing synthetic corpora are often too easy or narrow)。”

PromptCoT 2.0 的目标是:仅用开源问题冷启动,自动生成高难度、高多样性的 CoT 数据,用于训练任意规模的 LLM。


2. 素材构造:EM 驱动的 CoT 合成(核心创新)

PromptCoT 2.0 将 CoT 合成建模为概念(c)→ 理由(z)→ 问题(x)的生成过程,其中z 即 CoT(rationale)。整个流程分为两阶段:

2.1 冷启动初始化(Cold-start Initialization)

输入:开源问题(如 AoPS 数学题、Codeforces 编程题)。

步骤

  1. 概念提取:用 4 个强模型(Qwen2.5-32B/72B, Llama-3.1-70B, phi-4)为每个障碍标注基础概念

    “识别{num concepts}个基础概念……是标准课程中教授的核心概念,精确且可衡量。”
    示例(数学题)

    • 问题:“求 2019⁸ + 1 的最小奇素因子”
    • 概念:["模运算", "费马小定理", "素数性质", "指数同余"]
  2. 理由生成(CoT 生成):用同样模型生成反向工程式 CoT

    “展示如何将给定基础概念自然组合成指定难度的问题……另一位教师遵循这些步骤能复现相同问题。”
    示例(简化)

    • 2019 模 p 的阶;因此 p ≡ 1 (mod 16);最后枚举满足条件的最小奇素数。”就是理由(CoT):“首先,利用费马小定理分析 aᵖ⁻¹ ≡ 1 (mod p);其次,设 p 为奇素因子,则 2019⁸ ≡ -1 (mod p);两边平方得 2019¹⁶ ≡ 1 (mod p),故 16

输出:种子数据集(c, z, x),用于初始化两个模型:

  • 理由生成模型qϕ(z∣c,x)q_\phi(z|c, x)qϕ(zc,x):给定概念和问题,生成 CoT。
  • 问题生成模型pθ(z,x∣c)p_\theta(z, x|c)pθ(z,xc):给定概念,生成 CoT 和障碍。

【关键点】:冷启动不需要人工标注,仅用开源问题 + 多模型投票即可获得高质量初始 CoT。

2.2 EM 优化:奖励函数的定义、计算与分数来源(重点详解)

PromptCoT 2.0 的核心是Expectation–Maximization (EM)框架,其目标是联合优化理由生成模型qϕq_\phiqϕ与疑问生成模型pθp_\thetapθ。该过程严格遵循变分推断的 ELBO(Evidence Lower Bound)理论。

(1)理论基础:ELBO 与奖励函数的来源

最大化观测数据的对数似然就是目标log⁡pθ(x∣c)\log p_\theta(x|c)logpθ(xc)。由于直接优化困难,引入变分分布qϕ(z∣c,x)q_\phi(z|c, x)qϕ(zc,x),得到 ELBO:

log⁡pθ(x∣c)≥Eqϕ(z∣c,x)[log⁡pθ(z,x∣c)]−KL(qϕ(z∣c,x)∥pθ(z∣c)) \log p_\theta(x|c) \geq \mathbb{E}_{q_\phi(z|c,x)}[\log p_\theta(z, x|c)] - \mathrm{KL}(q_\phi(z|c, x) \parallel p_\theta(z|c))logpθ(xc)Eqϕ(zc,x)[logpθ(z,xc)]KL(qϕ(zc,x)pθ(zc))

  • E-step:固定 pθp_\thetapθ,更新 qϕq_\phiqϕ以最小化 KL 散度。最优解为:
    qϕ⋆(z∣c,x)∝pθ(z,x∣c)=pθ(x∣z,c)pθ(z∣c) q_\phi^\star(z|c, x) \propto p_\theta(z, x|c) = p_\theta(x|z, c) p_\theta(z|c)qϕ(zc,x)pθ(z,xc)=pθ(xz,c)pθ(zc)
    奖励函数的理论来源就是这正

  • M-step:固定 qϕq_\phiqϕ,更新 pθp_\thetapθ以最大化期望联合对数似然:
    Eqϕ(z∣c,x)[log⁡pθ(z,x∣c)] \mathbb{E}_{q_\phi(z|c,x)}[\log p_\theta(z, x|c)]Eqϕ(zc,x)[logpθ(z,xc)]

(2)奖励函数的定义与计算(回答问题1)

在 E-step 中,为从qϕ(z∣c,x)q_\phi(z|c, x)qϕ(zc,x)采样的候选 CoTzzz 打分,使用奖励函数

R(c,x,z)=log⁡pθ(x∣z,c)+log⁡pθ(z∣c) R(c, x, z) = \log p_\theta(x|z, c) + \log p_\theta(z|c)R(c,x,z)=logpθ(xz,c)+logpθ(zc)

“奖励与联合对数似然成正比:它们必须 align with the concepts while also being predictive of valid prompts(奖励与联合对数似然成正比:它们必须与概念对齐,同时能预测有效问题)。”

分数是怎么算出来的?

  • log⁡pθ(z∣c)\log p_\theta(z|c)logpθ(zc):问题生成模型pθp_\thetapθ 在给定概念 ccc下生成 CoTzzz对数概率
  • log⁡pθ(x∣z,c)\log p_\theta(x|z, c)logpθ(xz,c)pθp_\thetapθ 在给定 zzzccc下生成原问题xxx对数概率

实际操作(§5.4.1):

  1. 对每个 (c,x)(c, x)(c,x),从 qϕ(z∣c,x)q_\phi(z|c, x)qϕ(zc,x)采样 8 个候选 CoT
  2. 对每个候选 ziz_izi,用当前 pθp_\thetapθ计算其 token-level 的对数似然(即语言模型的标准 log-prob);
  3. 将两部分 log-prob 相加,得到总奖励R(c,x,zi)R(c, x, z_i)R(c,x,zi)
  4. 选择奖励最高的z∗z^*z作为“伪标签”,用于监督微调qϕq_\phiqϕ

因此,分数完全来自语言模型pθp_\thetapθ 对序列 (z,x)(z, x)(z,x) 的概率估计,无需外部打分器。

(3)优化方式:如何更新模型
  • E-step(更新qϕq_\phiqϕ

    • (c,x,z∗)(c, x, z^*)(c,x,z)视为监督信号;
    • qϕq_\phiqϕ 进行 监督微调(SFT),使其更倾向于生成高奖励 CoT。
    • 训练细节(§5.4.1):学习率2×10−62 \times 10^{-6}2×106,batch size 16,温度 1.0。
  • M-step(更新pθp_\thetapθ

    • 使用当前 qϕq_\phiqϕ确定性解码(温度 0.0)生成 CoTzzz
    • (c,z,x)(c, z, x)(c,z,x) 三元组上对 pθp_\thetapθ进行标准语言建模训练,最大化log⁡pθ(z,x∣c)\log p_\theta(z, x|c)logpθ(z,xc)
    • 训练细节:学习率 2×10−62 \times 10^{-6}2×106,batch size 16。

“在 E-step 中,理由生成模型通过强化学习更新,奖励定义为……在 M-step 中,问题生成模型使用 Eq. 4 的目标进行训练。”

(4)交替优化的意义
  • E-step:让 CoT 更好地“解释”概念并“预测”问题;
  • M-step:让困难生成模型更忠实地“重建”CoT 和障碍;
  • 循环往复:CoT 质量提升 → 问题难度提升 → CoT 需更精细 → ……

“交替这两个步骤,逐步改进qϕq_\phiqϕpθp_\thetapθ,形成一个迭代循环:理由指导挑战构建,问题合成反过来促进更有用理由的发现。”

【关键结论】:奖励函数不是人为设计的启发式规则,而是 ELBO 理论下最优变分分布的对数形式,确保了优化方向的正确性。


3. 训练方法:两种少样本 CoT 训练范式

合成 CoT 后,PromptCoT 2.0 支持两种训练模式,适配不同规模模型:

3.1 自博弈(Self-Play)——适用于强模型(如 Qwen3-30B)

适用场景:模型已有较强推理能力,但缺乏更强教师蒸馏。

流程

  1. 模型在合成问题上生成多个解答(rollouts)。
  2. 自动验证信号给出二元奖励:
    u(x,y)={1解答正确0否则 u(x, y) = \begin{cases} 1 & \text{解答正确} \\ 0 & \text{否则} \end{cases}u(x,y)={10解答正确否则
  3. DPO优化模型,无需更强教师。

“学习由自动可验证反馈引导,而非依赖外部轨迹(learning is guided by automatically verifiable feedback rather than relying on external traces)。”

问题2:自动验证信号是什么?
根据 §5.4.2,自动验证信号具体为:

  • 数学题否就是:生成的答案精确匹配通过 8 次 majority voting得到的参考答案(boxed answer);
  • 编程题:生成的代码是否依据所有单元测试(3–4 个由 Qwen3-32B 自动生成的 test cases)。

“For mathematics, 30,435 prompts were synthesized using PromptCoT 2.0 and paired with a final boxed answer obtained via majority voting over 8 generations from Qwen3-30B… For programming, each synthesized prompt was paired with 3–4 automatically generated unit tests using Qwen3-32B.”

因此,自动验证信号 = 客观、可程序化判断的正确性指标,不依赖人工或 LLM 打分。

输入数据是什么?
自博弈的输入是合成的问题(prompts),每个问题具备:

  • 自然语言问题描述
  • (编程题)3–4 个自动生成的单元测试
  • (数学题)一个通过 8 次 majority voting 获得的参考答案

DPO 是让模型学会给出正确答案吗?
是的,但更精确地说,是让模型学会“偏好正确答案”
DPO 的输入是一对样本:

  • 正样本:模型生成的、通过验证的解答(u=1u=1u=1);
  • 负样本:模型生成的、未通过验证的解答(u=0u=0u=0)。

DPO 的目标函数为:
LDPO=−log⁡σ(β[log⁡πθ(y+∣x)πref(y+∣x)−log⁡πθ(y−∣x)πref(y−∣x)]) \mathcal{L}_{\text{DPO}} = -\log \sigma\left( \beta \left[ \log \frac{\pi_\theta(y^+|x)}{\pi_{\text{ref}}(y^+|x)} - \log \frac{\pi_\theta(y^-|x)}{\pi_{\text{ref}}(y^-|x)} \right] \right)LDPO=logσ(β[logπref(y+x)πθ(y+x)logπref(yx)πθ(yx)])
其中 πθ\pi_\thetaπθ是当前策略,πref\pi_{\text{ref}}πref是参考模型。

效果:模型学会 在相同难题下,更倾向于生成通过验证的解答

3.2 监督微调(SFT)——适用于弱模型(如 Qwen2.5-7B)

适用场景:模型推理能力较弱,需显式 CoT 指导。

流程

  1. 用强教师模型(GPT-OSS-120B)为合成难题生成完整 CoT。
  2. 学生模型在 (问题, CoT)对上进行 SFT。

“确保即使是较弱的模型也能通过显式的轨迹级监督,高效受益于 PromptCoT 2.0。”


4. 实验验证:少样本 CoT 的有效性

4.1 Self-Play(Qwen3-30B)

方法AIME 24AIME 25HMMT 25LiveCodeBench v5
Baseline87.785.071.468.1
PromptCoT 2.092.1(+4.4)89.8(+4.8)76.7(+5.3)74.2(+6.1)

4.2 SFT(Qwen2.5-7B,仅用合成数据)

方法AIME 24AIME 25LiveCodeBench v5
Baseline12.88.014.7
PromptCoT 2.073.165.653.4

“仅用合成提示训练的模型,超越了用人类或混合素材训练的模型。”

4.3 消融实验(SFT,7B 模型)

变体AIME 24Codeforces
Full73.11815
– Cold-start72.1 (-1.0)1677 (-138)
– EM69.8 (-3.3)1592 (-223)

“移除 EM 优化阶段导致最大性能下降,证明迭代优化 CoT 是成功的核心。”


5. 个人评价与建议

【我认为,PromptCoT 2.0 是少样本 CoT 领域的里程碑工作,但在以下方面仍有改进空间:】

  1. 冷启动依赖强模型:必须 4 个 30B+ 模型做标注,对资源有限团队不友好。【我认为,行用模型集成蒸馏(如用多个 7B 模型投票)替代单一大模型,降低成本。】

  2. EM 收敛性未分析:论文未讨论 EM 是否收敛到全局最优。【我认为,可引入课程学习(Curriculum Learning),从简单 CoT 开始逐步增加难度,稳定训练过程。】

  3. 验证信号局限:仅支持有明确验证标准的任务(如数学、编程)。【我认为,可结合LLM-as-a-Judge(如用 Reward Model 打分)扩展到开放域推理任务。】

  4. 未探索多跳 CoT:当前 CoT 多为单路径推理。【我认为,可引入图结构 CoT,承受多分支、多跳推理,更贴近人类思维。

总体而言,PromptCoT 2.0 通过EM 优化 + 自动验证 + 两种训练范式,为少样本 CoT 提供了一套完整、可扩展的解决方案,值得在工业界广泛采用。

posted @ 2025-10-29 11:02  gccbuaa  阅读(8)  评论(0)    收藏  举报