【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

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

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

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

  • 理由生成模型 qϕ(z∣c,x)q_\phi(z|c, x)qϕ(z∣c,x):给定概念和问题,生成 CoT。
  • 问题生成模型 pθ(z,x∣c)p_\theta(z, x|c)pθ(z,x∣c):给定概念,生成 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θ(x∣c)。由于直接优化困难,引入变分分布 qϕ(z∣c,x)q_\phi(z|c, x)qϕ(z∣c,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θ(x∣c)≥Eqϕ(z∣c,x)[logpθ(z,x∣c)]−KL(qϕ(z∣c,x)∥pθ(z∣c))

  • 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ϕ⋆(z∣c,x)∝pθ(z,x∣c)=pθ(x∣z,c)pθ(z∣c)

    这正是奖励函数的理论来源

  • 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ϕ(z∣c,x)[logpθ(z,x∣c)]

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

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

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θ(x∣z,c)+logpθ(z∣c)

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

分数是怎么算出来的?

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

实际操作(§5.4.1):

  1. 对每个 (c,x)(c, x)(c,x),从 qϕ(z∣c,x)q_\phi(z|c, x)qϕ(z∣c,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×10−6,batch size 16,温度 1.0。
  • M-step(更新 pθp_\thetapθ)

    • 使用当前 qϕq_\phiqϕ 确定性解码 (温度 0.0)生成 CoT zzz;
    • 在 (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,x∣c)。
    • 训练细节 :学习率 2×10−62 \times 10^{-6}2×10−6,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(y−∣x)πθ(y−∣x)])

其中 πθ\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 24 AIME 25 HMMT 25 LiveCodeBench v5
Baseline 87.7 85.0 71.4 68.1
PromptCoT 2.0 92.1 (+4.4) 89.8 (+4.8) 76.7 (+5.3) 74.2 (+6.1)

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

方法 AIME 24 AIME 25 LiveCodeBench v5
Baseline 12.8 8.0 14.7
PromptCoT 2.0 73.1 65.6 53.4

"仅用合成提示训练的模型,超越了用人类或混合数据训练的模型。"

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

变体 AIME 24 Codeforces
Full 73.1 1815
-- Cold-start 72.1 (-1.0) 1677 (-138)
-- EM 69.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 提供了一套完整、可扩展的解决方案,值得在工业界广泛采用。

相关推荐
居7然5 天前
如何高效微调大模型?LLama-Factory一站式解决方案全解析
人工智能·大模型·llama·大模型训练·vllm
JoannaJuanCV17 天前
大模型训练框架:LLaMA-Factory框架
llama·大模型训练·llama factory
C7211BA18 天前
SGLang简介
llm·prompt·cot
飞机火车巴雷特1 个月前
【论文阅读】LightThinker: Thinking Step-by-Step Compression (EMNLP 2025)
论文阅读·人工智能·大模型·cot
汀、人工智能3 个月前
AI-Compass LLM训练框架生态:整合ms-swift、Unsloth、Megatron-LM等核心框架,涵盖全参数/PEFT训练与分布式优化
人工智能·分布式·sft·swift·大模型训练
Ombré_mi4 个月前
机器学习中的关键术语及其含义
深度学习·神经网络·机器学习·激活函数·大模型训练·反向传播
爱补鱼的猫猫4 个月前
26、思维链Chain-of-Thought(CoT)论文笔记
论文阅读·cot
吴法刚5 个月前
20_大模型微调和训练之-基于LLamaFactory+LoRA微调LLama3后格式合并
人工智能·lora·llama·大模型训练·大模型微调·llama.cpp
PLUS_WAVE5 个月前
CogCoM: A Visual Language Model with Chain-of-Manipulations Reasoning 学习笔记
学习·语言模型·大模型·cot·vlm·推理模型·reasoning