ACIL: 用于上下文学习的自动Chain-of-Thought
摘要
本文介绍了ACIL,一种自动Chain-of-Thought框架,通过生成和修剪推理链来增强上下文学习,从而提升LLM在复杂任务上的表现。
arXiv:2605.17088v1 Announce Type: new
摘要:近期大型语言模型(LLM)的进展表明,Chain-of-Thought(CoT)推理能够显著提升复杂推理任务的性能。与此同时,上下文学习(ICL)已成为一种重要机制,仅通过提示中提供的示例即可使LLM适应新任务,无需更新模型参数。然而,标准ICL在多步推理任务中往往表现不佳,因为示例通常仅包含输入-输出对,缺乏明确的中间推理步骤。本文介绍了一种自动Chain-of-Thought(Auto-CoT)框架,通过自动构建增强推理的示例来改进ICL。Auto-CoT为输入-输出示例生成推理链,用结构化的中间解释丰富提示上下文,并通过系统化的筛选过程移除无关或低质量的示例。通过将高质量推理示例融入ICL提示,Auto-CoT引导模型进行更可靠的推理,并提升预测准确性。在多个推理任务上的实验表明,所提框架通过提供明确的中间推理指导,提升了ICL的性能。
查看缓存全文
缓存时间: 2026/05/19 06:37
# ACIL:用于上下文学习的自动思维链
来源:https://arxiv.org/html/2605.17088
###### 摘要
近年来,大型语言模型(LLM)的进展凸显了思维链(CoT)推理在提升模型处理复杂推理任务表现中的关键作用。与此同时,上下文学习(ICL)作为一种重要机制,使得模型能够通过利用提示中提供的示例来适应新任务,而无需更新参数。然而,传统的ICL方法在处理需要复杂推理的任务时,由于缺乏显式的中间推理步骤,难以很好地泛化。
本文提出了一种自动思维链(Auto-CoT)框架,旨在增强ICL的性能。Auto-CoT能够自动为输入输出对生成推理链,用这些结构化的解释来增强上下文,并通过系统化的选择过程修剪无关或低质量的示例。通过将高质量的推理示例融入ICL提示中,Auto-CoT提升了模型的推理能力和预测准确性。该方法在多种任务上得到验证,展示了其通过中间推理步骤引导模型来优化ICL的有效性。
## 1 引言
### 1.1 背景
近年来,大型语言模型(LLM)的进展证明了思维链(CoT)推理对模型性能的显著影响。值得注意的是,OpenAI的O1模型展示了CoT在提升LLM解决各种复杂任务能力方面的重要性。与此同时,上下文学习(ICL)已被视为LLM推理过程中的一个关键步骤,使模型能够从上下文信息中适应和学习。然而,当前的ICL方法在处理复杂推理任务时面临局限性。研究目标:本研究旨在将自动思维链(Auto-CoT)生成与上下文学习相结合,以提升LLM在复杂推理任务上的表现。主要目标是开发一种新颖的方法,能够自动生成高质量的CoT示例,并将其无缝地整合到ICL过程中,从而增强模型的推理能力和适应性。
### 1.2 研究问题描述
我们想知道思维链能否提升上下文学习的性能。尽管CoT已有少数样本的CoT场景,但据我们所知,目前缺乏关于通过零样本CoT来提升上下文学习性能的研究。参考图1(https://arxiv.org/html/2605.17088#S1.F1),假设我们将上下文学习视为一个函数,我们试图优化给定准确示例(\(x_1, y_1\))、(\(x_2, y_2\))时的性能,如何使我们正在预测的黄色点(无论是双向预测还是下一个词预测)能够通过最小化损失被优化到红色线上。在大型语言模型的实际文本场景中,我们试图提升下一个词预测的准确性,以下是一个例子:
“这部电影太棒了!”→ 正面,“我绝对喜欢这个情节。”→ 正面,“情节有点可预测。”→ 中性,“表演一般但视觉效果惊人。”→ 中性
假设
因此,我们有:
\(H_0\):思维链不能通过零样本自动CoT改善LLM上下文学习的性能。
\(H_1\):思维链能够通过零样本自动CoT改善LLM上下文学习的性能。
范围
本项目主要关注简单Transformer或GPT2上的线性及非线性回归函数场景,并将部分视角扩展到使用金融分类数据集的真实LLM案例。本研究是对语言模型因果推理性能的统计学习,因此不涉及对LLM的调优。
贡献与新颖性
据我们所知,这是首次尝试使用CoT来增强LLM的ICL性能。
\((x_1, y_1)\) \((x_2, y_2)\) \((x_j, ?)\) \(w_{\text{test}}^T x\) \(\cdots\)
图1:CoT增强上下文学习的示意图
## 2 相关工作
上下文学习(In-Context Learning)首先在少样本学习中被广泛关注(Brown et al., 2020b (https://arxiv.org/html/2605.17088#bib.bib3)),随后被形式化为数学函数,以便进行更深层次的逻辑研究,从而找到可解释的性能依据。Garg等人(2022 (https://arxiv.org/html/2605.17088#bib.bib4))和Xie等人(2021 (https://arxiv.org/html/2605.17088#bib.bib8))通过对简单函数类的系统性研究,揭示了Transformer的上下文学习能力。他们证明了标准Transformer可以从头开始训练,以执行线性函数的上下文学习,其性能可与最优最小二乘估计相媲美。他们的工作表明,即使在训练和推理提示之间存在分布偏移,或者在上下文示例和查询输入之间存在分布偏移时,上下文学习也是可能的。该研究通过考察Transformer如何处理稀疏线性函数、两层神经网络和决策树,为Transformer从上下文示例中学习和泛化的能力提供了有价值的见解。
自动思维链(Auto-CoT)方面,Zhang等人(2022 (https://arxiv.org/html/2605.17088#bib.bib9))提出了一种创新方法,用于自动生成大型语言模型中的思维链提示。他们的方法通过利用基于多样性的问题采样和自动推理链生成,消除了手动设计演示的需求。作者证明,在十个公共基准推理任务中,Auto-CoT一致地匹配或超越了手动思维链提示的性能。他们的分析表明,演示选择中的多样性对于减轻推理错误的负面影响至关重要,并且该方法能有效处理算术推理和常识推理任务,同时在流式设置中保持鲁棒性。另一方面,自动提示增强方面,Shum等人(2023 (https://arxiv.org/html/2605.17088#bib.bib6))提出了一种新颖的自动思维链提示工程方法。该方法通过一个三阶段框架解决了手动演示设计的局限性:(1)从标注数据中增强推理链;(2)基于答案一致性修剪低质量链;(3)通过方差缩减策略梯度优化选择最佳的链组合。作者证明,Automate-CoT在多个推理任务上取得了优越性能,在算术推理(+2.7%)、常识推理(+3.4%)、符号推理(+3.2%)和非推理任务(+2.5%)上都有显著提升。他们的分析表明,该方法能有效处理提示工程中的各种敏感性问题,包括顺序敏感性、复杂度-多样性权衡以及语言风格变化,同时仅需100个训练示例即可保持计算效率。
CoT-ICL方面,Huang等人(2024 (https://arxiv.org/html/2605.17088#bib.bib5))提供了一个理论框架,通过考察Transformer如何在上下文中学习多层感知机来理解思维链提示。他们将思维链分解为两个不同的阶段:从提示中过滤相关信息,以及对单个计算步骤进行上下文学习。他们的工作确立了CoT-I/O可以使用\(O(\max(k,d))\)个上下文样本学习具有输入维度d和k个神经元的MLP,相比标准上下文学习的\(O(kd)\)下界有显著改进。该研究还展示了CoT如何通过使模型学习组合捷径来加速预训练,为思维链推理背后的机制提供了有价值的见解。
## 3 方法
### 3.1 数据集
非线性回归函数
对于函数数据,我们通过高斯分布获取\(x\),并通过Relu-2NN函数相应地生成\(y\)。
金融分类数据集
FinBERT是一个预训练的NLP模型,用于分析金融文本的情感。它通过在金融领域进一步训练BERT语言模型,使用大型金融语料库,并针对金融情感分类进行微调而构建(Araci, 2019 (https://arxiv.org/html/2605.17088#bib.bib1))。
LAMBADA数据集
遵循早期少样本学习研究(Brown et al., 2020a (https://arxiv.org/html/2605.17088#bib.bib2)),我们同样选择了LAMBADA数据集来测试ICL-COT性能下的下一个词预测表现。
### 3.2 上下文学习损失公式的优化与测试
我们将尝试通过最小化损失函数(均方误差MSE)来优化性能。
我们首先训练一个Transformer用于线性函数,采样分布为:\(\mathcal{F} = \{ f \mid f(x) = \mathbf{w}^\top x, \mathbf{w} \in \mathbb{R}^d \}\)。然后我们有训练过程 \(P^i = (\mathbf{x}_1, f(\mathbf{x}_1), \mathbf{x}_2, f(\mathbf{x}_2), \ldots, \mathbf{x}_i, f(\mathbf{x}_i), \mathbf{x}_{i+1})\),用于最小化均方误差:
\[
\min_{\theta} \mathbb{E}_{P} \left[ \frac{1}{k+1} \sum_{i=0}^{k} \ell \left( M_\theta (P^i), f(\mathbf{x}_{i+1}) \right) \right]
\]
使用仅解码器的Transformer架构,包含12层、8个注意力头和256维嵌入空间(2240万参数)。
其次,在推理阶段,我们的提示 \(P = (\mathbf{x}_1, f(\mathbf{x}_1), \mathbf{x}_2, f(\mathbf{x}_2), \ldots, \mathbf{x}_k, f(\mathbf{x}_k), \mathbf{x}_{k+1})\) 来自 \(f(\mathbf{x}) = \mathbf{w}_{\text{ICL}}^\top \mathbf{x}\),其中 \(\mathbf{w}_{\text{ICL}}\) 与训练时使用的函数 \(\mathcal{F}\) 不同。我们的输入维度为(40,20)。对于ICL测试情况,评估损失为 \((M(P) - \mathbf{w}^\top \mathbf{x}_{\text{query}})^2 / d\)。目标是使ICL过程 \(\hat{f}_{\mathbf{w}, x_{1:k}}(\mathbf{x}_{\text{query}})\) 逼近 \(\mathbf{w}^\top \mathbf{x}_{\text{query}}\),从而最小化损失。在我们的案例中,查询数量为41。我们重复该过程64次并报告平均性能。
上下文推理步骤的逻辑可参考图2(https://arxiv.org/html/2605.17088#S3.F2)

### 3.3 自动思维链实现
我们试图 \(\arg\min_{\mathbf{y}} \ell(\mathbf{y}, \mathbf{x}_{k+1})\),即比较扰动输出与真实值在 \(\mathbf{y}_{41} \mid \mathbf{x}_{k+1}\) 处的MSE损失。
\[
\mathcal{L}(\delta) = \ell(M_\theta (P + \delta), f(\mathbf{x}_{k+1}))
\]
采用Auto-CoT策略:
首先,我们通过为线性函数中的每个输入输出对生成 \(k\) 个不同的推理链来增强训练池:
\[
\mathcal{P} = \{P_1, P_2, \ldots, P_k\}, \text{ 其中 } P_i = \{(\mathbf{x}_j, \mathbf{y}_j, \mathbf{r}_j)\}_{j=1}^{41}
\]
这里 \(\mathbf{r}_j\) 代表第 \(j\) 个样本的推理链。增强后的提示通过以下方式生成:
\[
\mathbf{r}_j = G(\mathbf{x}_j, \mathbf{y}_j; \theta_G)
\]
其中 \(G\) 是我们用于生成逐步推理的大型语言模型。
然后,我们根据生成答案与真实值之间的一致性来修剪低质量链:
\[
\mathcal{P}' = \{P_i \in \mathcal{P} \mid \| \hat{\mathbf{y}}_{41} - \mathbf{w}^\top \mathbf{x}_{41} \|^2 \leq \epsilon \}
\]
最后,我们通过方差缩减策略梯度优化推理链的选择:
\[
\nabla_\pi \mathcal{L} = \frac{1}{N-1} \sum_{i=1}^{N} \left( \mathcal{L}(P_i) - \frac{1}{N} \sum_{j=1}^{N} \mathcal{L}(P_j) \right) \nabla_\pi \log p(P_i)
\]
其中 \(\pi\) 代表我们的选择策略,\(p(P_i)\) 是选择第 \(i\) 个提示的概率。
最终的ICL与Auto-CoT损失变为:
\[
\mathcal{L}_{\text{Auto-CoT}} = \mathbb{E}_{P \sim \pi} \left[ \frac{1}{d} \left( M(P) - \mathbf{w}^\top \mathbf{x}_{41} \right)^2 \right]
\]
这种方法使我们的模型能够通过利用多样化的高质量推理链来学习更好的推理模式,从而有效降低 \(\mathbf{y}_{41}\) 处的预测误差,同时通过64次重复评估过程保持计算效率。
详细步骤可参考算法1(https://arxiv.org/html/2605.17088#algorithm1)
**输入:** 训练数据 \(\mathcal{D}\),维度(40,20);查询集 \(\mathbf{x}_{\text{query}}\)
**输出:** 预测值 \(\hat{\mathbf{y}}_{41}\)
**步骤1:增强阶段**
begin
初始化提示池 \(\mathcal{P} = \{\}\);
for i = 1 到 K do
从 \(\mathcal{F}\) 中采样线性函数 \(f_i(\mathbf{x}) = \mathbf{w}_i^\top \mathbf{x}\);
生成序列 \(P^i = (\mathbf{x}_1, f_i(\mathbf{x}_1), \ldots, \mathbf{x}_k, f_i(\mathbf{x}_k))\);
使用LLM生成推理链 \(\mathbf{r}_i = G(P^i)\);
将 \((P^i, \mathbf{r}_i)\) 添加到 \(\mathcal{P}\);
**步骤2:修剪阶段**
begin
初始化修剪后的池 \(\mathcal{P}' = \{\}\);
for 每个 \((P^i, \mathbf{r}_i) \in \mathcal{P}\) do
计算预测输出 \(\hat{\mathbf{y}}_i = M(P^i)\);
计算损失 \(\ell_i = \| \hat{\mathbf{y}}_i - \mathbf{w}^\top \mathbf{x}_{41} \|^2 / d\);
if \(\ell_i \leq \epsilon\) then
将 \((P^i, \mathbf{r}_i)\) 添加到 \(\mathcal{P}'\);
**步骤3:选择阶段**
begin
初始化选择策略 \(\pi_\theta\);
for epoch = 1 到 N do
使用 \(\pi_\theta\) 从 \(\mathcal{P}'\) 中采样一批提示;
计算策略梯度:\(\nabla_\theta \mathcal{L} = \frac{1}{B-1} \sum_{i=1}^{B} (\ell_i - \bar{\ell}) \nabla_\theta \log \pi_\theta(P^i)\);
使用计算出的梯度更新 \(\pi_\theta\);
根据 \(\pi_\theta\) 选择表现最佳的提示;
**步骤4:推理阶段**
begin
初始化结果数组 \(R = []\);
for i = 1 到 64 do
使用选定的示例构建最终提示 \(P_{\text{final}}\);
预测 \(\hat{\mathbf{y}}_{41} = M(P_{\text{final}})\);相似文章
面向高效可控LLM推理的代理式思维链引导
ACTS(代理式思维链引导)将LLM推理控制形式化为马尔可夫决策过程,其中控制器代理在推理过程中使用推理策略和引导短语自适应地引导冻结的推理器。该方法在显著节省token的同时实现了与完全思考模型相当的准确率,支持可控的准确率-效率权衡。
基于代理上下文的链式思维微调长上下文推理
提出ProxyCoT训练框架,通过先在小代理上下文中获取链式思维推理轨迹(通过强化学习或蒸馏),再通过监督微调将其锚定到完整长上下文中,从而提升大语言模型的长上下文推理能力。实验表明,该方法在降低计算成本的同时持续优于基线。
带有自回归思维链推理的在线学习理论
本文建立了一个关于自回归思维链推理的在线学习理论框架,分析了端到端监督和轨迹监督模型下的错误边界。
有限监督下的链式思维推理再探讨:半监督链式思维学习
本文介绍了Semi-CoT,一种用于链式思维推理的半监督学习框架,该框架利用未标记问题并通过基于熵的选择生成可靠的伪推理链,在数学推理基准上展示了有希望但混合的结果。
多样本思维链上下文学习:让上下文学习真正学会
本文研究了推理任务的多样本思维链上下文学习,揭示了标准扩展规则并不适用,并提出了Curvilinear Demonstration Selection (CDS)方法以改进示例排序,最高可获得5.42个百分点的性能提升。