首篇综述 | LLM推理优化三路径解析,模型/输出/Prompt协同提效,降低计算成本+开源仓库追踪前沿

技术

点击下方卡片,关注「集智书童」公众号

点击加入👉「集智书童」交流群

picture.image

picture.image

picture.image

picture.image

picture.image

picture.image

导读

大语言模型(LLMs)在复杂任务中展现出了卓越的能力。近期大型推理模型(LRMs)的进展,如OpenAI o1和DeepSeek-R1,通过利用监督微调(SFT)和强化学习(RL)技术来增强思维链(CoT)推理,进一步提升了系统-2推理领域(如数学和编程)的性能。然而,尽管较长的CoT推理序列可以提高性能,但它们也引入了显著的计算开销,这是因为冗长且重复的输出,被称为“过度思考现象”。

高效推理旨在在保持推理能力的同时优化推理长度,为实际应用提供了诸如降低计算成本和提升响应速度等实际效益。尽管具有潜力,高效推理研究仍处于早期阶段。

本文提供了对实现LLM中高效推理当前进展的首次结构化调查。总体而言,基于LLM的内在机制,作者将现有工作分为几个关键方向:

    1. 基于模型的效率推理,考虑将完整推理模型优化为更简洁的推理模型或直接训练高效推理模型;
    1. 基于推理输出效率推理,旨在在推理过程中动态减少推理步骤和长度;
    1. 基于输入 Prompt 的效率推理,寻求根据输入 Prompt 属性(如难度或长度控制)来提高推理效率。
    1. 此外,作者介绍了用于训练推理模型的高效数据的使用,探讨了小型语言模型的推理能力,并讨论了评估方法和基准测试。作者维护了一个公共仓库,以持续跟踪和更新该有前景领域的最新研究。

1 引言

大语言模型(LLMs)已成为异常强大的AI工具,展现出在自然语言理解和复杂推理方面的先进能力。最近,以推理为重点的大语言模型(LRMs)[91],如OpenAI o1 [61]和DeepSeek-R1 [31]的出现,显著提升了它们在系统-2推理领域[8, 44]的表现,包括数学[16, 35]和编程[7, 17]。这些模型从基础预训练模型(例如,LLaMA [30, 80]、Qwen [95])发展而来,通过下一 Token 预测训练[23],利用思维链(CoT)[86] Prompt 生成在得出最终答案之前明确的、分步推理序列,大大提高了它们在推理密集型任务中的有效性。

LLM中的推理能力通常通过监督微调(SFT)和强化学习(RL)来发展,这促进了迭代和系统的解决问题的能力。具体来说,OpenAI o1 [61]的训练流程可能结合了SFT和RL,以及蒙特卡洛树搜索(MCTS)[71]和经过处理的奖励模型(PRM)[47]。DeepSeek-R1最初使用SFT与RL训练的DeepSeek-R1-Zero生成的长CoT推理数据进行微调,然后通过基于规则的奖励函数进行进一步优化。

然而,尽管长CoT推理显著增强了推理能力和准确性,但引入类似CoT的机制(例如,自洽性[84]、思维树[96]、激励强化学习[31])也导致了输出响应的冗长,从而产生了大量的计算开销和思考时间。例如,“过度思考问题”发生在向OpenAI-o1、DeepSeek-R1和QwQ-32B-Preview询问“2加3的答案是多少?”[10]时。此类模型的推理序列有时会跨越数千个 Token ,其中许多是冗余的,并不实质性有助于得出正确答案。这种冗长直接提高了推理成本和延迟,限制了推理模型在实际计算敏感型应用中的实用性,包括实时自动驾驶系统、交互式助手、机器人控制和在线搜索引擎。

高效推理,尤其是推理长度的减少,带来了显著的好处,例如降低成本并增强现实部署中的推理能力。最近,许多研究[32, 33, 54, 56, 98]试图开发更简洁的推理路径,使得高效推理成为了一个突出且快速发展的研究领域。

picture.image

本文提供了对LLMs高效推理当前进展的第一份结构化调查。如图2所示,作者将现有工作分为以下关键方向:

(1)基于模型的效率推理,涉及将完整推理模型优化为更简洁的推理模型或直接微调模型以实现高效推理;

(2)基于推理输出效率推理,在推理过程中动态减少推理步骤和输出长度;

(3)基于输入 Prompt 的效率推理,通过利用 Prompt 属性(如 Prompt 引导的长度或 Prompt 难度)来提高推理效率。

与LLMs中模型压缩技术(如量化[27, 48]或kv缓存压缩[52, 103])的定义正交,这些技术专注于压缩模型大小并实现轻量级推理,LLMs中的高效推理强调通过优化推理长度和减少思考步骤来实现智能和简洁推理。总体而言,作者将高效推理方法总结为以下类别:

  • • 基于长度奖励设计的强化学习(第3.1节);
  • • 基于可变长度CoT数据的SFT(第3.2节)
  • • 将推理步骤压缩为更少的潜在表示(第4.1节)
  • • 推理过程中的动态推理范式(第4.2节)
  • • 指令引导的高效推理(第5.1节)
  • • 路由 Prompt 以优化推理效率(第5.2节)

此外,本文还探讨了其他有趣的主题,包括·使用高效数据训练推理模型(第6.1节);

  • • 小型语言模型的推理能力与模型压缩(第6.2节)
  • • 高效推理模型的评估与基准(第7节)

作者将持续更新作者的公共仓库,包含关于高效推理的最新研究成果。

2 背景:长CoT推理模型与过度思考现象

2.1 思维链(CoT)

CoT [86] 是一种关键方法,通过该方法有目的地在大语言模型(LLMs)中引入推理能力。在这种设置中,模型通常被 Prompt 在得出最终答案之前输出一个推理思维链。该领域提出的技巧已被证明可以提高整体准确度类性能 [86],因为通过提高生成上下文的质量,更有可能实现更一致的最后结果。

一些显著的CoT变体包括自洽CoT [84],它通过采样更多样化的推理路径来替代贪婪式的思维链生成,然后通过边缘化和聚合这些路径来选择最一致的答案。类似地,思维树 Prompt [96] 提出通过将思维过程结构化为一个允许回溯的树来解决问题,这大大提高了可并行子任务的效率。思维图 [6] Prompt 进一步扩展了这一概念,通过将思维结构化为图并允许循环来细化单个思维。存在许多CoT的进一步变体,但通常,它们是在不同方式 Prompt 模型以实现不同行为和(可选)实现一个控制器样组件来管理思维生成和使用的范围内进行的。

2.2 大型推理模型的机制

多步推理能力指的是大语言模型在给出最终答案之前,能够主动生成一个推理过程的能力。推理步骤可以显著提高大语言模型的推理能力,尤其是在数学和编程等逻辑密集型任务中。从更广泛的角度来看,具有推理能力的模型型大语言模型通常比不具备推理能力的模型更受人类用户青睐,这在Chatbot Arena LLM排行榜中有所体现。

近期推理模型,如DeepSeek-R1 [31]和OpenAI o1 [54],已知(或推测)其内部学习推理行为,而不依赖于显式和计算密集型的测试时论证。这些模型可以通过迭代生成中间步骤,并通过顺序解码逐步细化解决方案,直至得出最终答案,从而产生详细的CoT推理。这种方法与CoT变体中广泛采用的基于 Prompt 的策略在本质上不同,因为推理能力是通过训练“内化”到那些具有推理能力的模型中的。

OpenAI的o1模型,正如推测的那样,利用了类似于MCTS [18, 38]的树状方法,并结合进程奖励模型进行训练,以便系统地探索各种推理路径并通过引导模拟确定最佳解决方案。DeepSeek-R1等模型专门训练以启用其推理能力。通过结合监督微调和强化学习配方,特别关注基于规则的数学和编码任务奖励,DeepSeek-R1等模型学会在提供最终答案之前,在预定义的格式内生成推理过程。

2.3 长CoT推理模型中的过度思考问题

“过度思考现象”[10, 78]在长CoT推理中指的是LLMs生成过于详细或不必要的推理步骤的现象,从而损害了它们的解决问题效率。具体来说,一些现代推理LLMs——尤其是某些在较小参数尺度上具有推理能力的提供者——倾向于产生冗长的推理或冗余的中间步骤,使得它们无法在用户定义的token预算耗尽之前提供答案,更糟糕的是:由于冗长的推理步骤引入错误或降低了逻辑清晰度,导致提供错误的答案。

请注意,高效推理的挑战被认为具有重要意义,因为推理能力模型的预训练方法通常明确鼓励模型生成扩展的推理步骤以追求正确答案。例如,当DeepSeek-R1-Zero的训练时间更长时,其回答长度和基准性能都会提高[31];观察到的这两种趋势通常被视为成功的推理能力训练方法的 Agent 。因此,希望在推理时实现推理效率,从设计上讲,是在与模型的某些预训练目标相悖,因此需要非同寻常的考虑。本研究旨在总结不同的思想流派,以及它们在实现高效且具备能力的推理模型这一具有挑战性但又有益的目标中的典型方法。

3 基于模型的效率推理

从模型的角度来看,这些工作主要关注微调大语言模型(LLMs),以提高其简洁和高效推理的内禀能力。

3.1 长度奖励设计下的强化学习

大多数推理模型都是使用基于强化学习(RL)的方法进行训练的(例如,DeepSeek-R1 [31]、DeepSeekR1-Zero [31]、OpenAI o1 [61]、QwQ-32B-Preview [79]),这些方法侧重于准确度奖励和格式奖励[31]。为了提高推理长度效率,一些研究提出将长度奖励整合到RL框架中,这有效地缩短了推理过程(如表5所示)。在原则上,长度奖励会给较短且正确的答案分配更高的分数,同时对较长或错误的答案进行惩罚,从而优化推理路径的长度。

picture.image

关键问题是:如何在强化学习(RL)中制定长度奖励?现有工作结合了传统的RL优化技术以及基于长度的显式奖励来控制CoT推理的长度。一些详细的长度奖励在表1中展示。文献[3]提出利用基于正确性的长度奖励,其中较短的正确答案获得更高的奖励。然后,他们应用受此奖励方案引导的传统策略梯度方法来鼓励LLMs生成简洁的推理步骤。在策略梯度的基础上,以下讨论的工作主要基于近端策略优化(PPO)[67]与CoT长度惩罚。Demystifying[98]通过RL实验的实证研究发现,推理能力受长度影响,但RL并不总是或可靠地增加CoT推理的长度和复杂性,强调了控制CoT长度增长以确保稳定性能的必要性。

为了缓解这些问题,他们提出了一种基于Dirichlet函数的余弦奖励,该奖励基于简洁奖励公式[53]和提出的“超过长度惩罚”分数。由于CoT长度对性能的影响,Kimi k1.5[78]在策略优化中引入了长度惩罚,用于长-CoT激活和模型合并。除了使用长度惩罚奖励进行优化外,L1[1]在启动策略优化之前,使用预训练的推理LLMs修改了具有指定长度约束指令(即,思考N个token)的训练数据。O1-Pruner[54]引入了长度调和奖励,结合PPO风格的损失,通过有效缩短CoT长度来优化推理LLMs。具体来说,长度调和奖励是基于参考模型输出和预测结果之间CoT长度的比率计算的。此外,此奖励还结合了基于准确性的约束,将预测与参考模型输出进行比较,确保缩短推理过程不会降低任务性能。在不依赖参考模型的情况下,DAST[69]使用SimPO[57]通过构建的长度偏好数据集微调推理LLMs。该数据集基于自定义的token长度预算测量

,定义为正确响应的平均token长度和最大允许生成长度的线性组合。

picture.image

基于强化学习的方法能够缓解推理能力强大的大语言模型(LLM)中的过度思考问题,其中过度思考指的是不必要的延长推理过程,导致更长的推理时间和超出计算预算。通过实现与LLM原始推理能力几乎无损的对齐,这些预算高效的强化学习策略在资源受限场景下推动了推理LLM的部署民主化。

3.2 可变长度CoT数据的SFT

通过使用可变长度的CoT数据进行微调是提高推理效率的有效方法。如图6所示,这一系列工作通常包括以下步骤:(1) 通过各种方法构建可变长度的CoT推理数据集,以及(2) 在推理模型上应用SFT(结构化细粒度训练),以使LLM(大语言模型)能够学习封装有效知识的紧凑推理链。请注意,这种方法不仅限于RL(强化学习)训练的推理模型;它还可以通过注入高效的推理能力直接增强推理模型,类似于在蒸馏推理模型中使用的那些能力。(例如,DeepSeek-R1-Distill-Qwen [31])。

picture.image

3.2.1 构建变长CoT推理数据集

可变长度的CoT推理数据集是指那些包含长/短推理步骤的数据集,这些数据集可以指导LLMs(大语言模型)达到正确答案。现有工作通常通过向预训练的推理模型提问来收集长CoT数据。基于长CoT数据,关键挑战是:如何收集短CoT数据?总体而言,可变长度的CoT推理数据集可以通过后推理或推理过程中创建。作者将在表3中列出一些详细的方法。

picture.image

后推理CoT压缩。该方法通过在完整推理后减少冗余推理步骤来收集简短的CoT数据,这可以通过启发式标准或LLMs来实现,如[99]、[37]和[89]中提出。具体来说,[99]使用具有推理能力的LLMs来生成推理和答案。在生成完整长度的CoT数据后,它们丢弃推理过程,仅使用问题和答案来提炼系统-1 LLMs。另一项工作C3oT通过压缩推理过程来提高推理效率[37]。长CoT推理步骤是通过明确 Prompt LLMs生成的。然后,它使用GPT-4作为压缩器来缩短推理过程长度,同时确保压缩后的推理保留所有关键信息并移除冗余词语。此外,TokenSkip通过解释来减少推理步骤[89]。它估计每个推理部分对最终答案的语义重要性,并减少推理 Token 。重要的部分保留了可能提高最终答案准确性的关键推理步骤。后推理CoT压缩的优势在于它可以实现更高的推理步骤减少率,从而推进更高效的推理。

在推理过程中获取压缩的CoT数据。该方法通过 Prompt LLMs在推理和推理过程中生成简短的推理步骤来收集短CoT数据,如[50]、[59]、[32]和[56]中提出。具体来说,[50]提出了一种类似人类跳过步骤的方法来生成更短的推理步骤。在第一阶段,基于原始训练数据集,他们通过跳过步骤手动创建解决方案,这些步骤要么由人类专业知识引导,要么通过随机合并或删除步骤。此外,这些简洁的数据被 Token 为“用

步解决”。经过SFT后,模型能够生成更短的推理路径。在第二阶段,他们 Prompt 该模型通过内在跳过或压缩推理过程中的步骤来解决问题。收集生成的包含问题和答案的简洁推理步骤作为数据集,然后用于SFT,使LLMs用更少的步骤解决问题。

此外,Token-Budget [32]有一个重要的见解:最优的token预算有助于LLMs积极遵循token约束以完成推理过程。受这一见解的启发,它提出了一种基于二分搜索的方法来实现最优的token预算,并遵循这些预算来生成简短的推理步骤。另外,[59]提出了一种基于采样的方法来提高推理效率。具体来说,它检查推理长度的分布,发现比典型推理长度更短解决方案出现的频率更高。受这一发现的驱动,它提出了测试时的Best-of-N (BoN)采样,生成

条推理路径并选择最短的一条。这些简短的推理路径被收集作为数据集。最后,CoT-Value [56]通过混合长推理和非推理LLMs的参数来控制推理长度,以生成不同长度的推理步骤。推理过程中CoT压缩的优势在于自然生成的推理步骤与LLMs的内在知识相一致,这促进了LLMs更有效的学习。

3.2.2 微调方法

在收集到变长CoT数据后,现有工作通过多种方式微调LLMs以实现高效的推理,包括标准微调(例如,参数高效的微调如LoRA[36]或fuli微调)和渐进式微调。

标准微调。大多数研究采用标准方法来微调大语言模型[32,37, 50, 59, 89, 99]。具体来说,这些方法采用LoRA[36]或完整微调[37]来最小化推理高效数据集上的困惑度损失函数或DPO损失函数[32]。LoRA使LLMs能够适应小于1%参数调整的短推理步骤。此外,[50]观察到不断增长的推理效率可以推广到收集数据集之外的领域。

渐进式微调。渐进式微调旨在在微调过程中平滑地减少推理步骤[50, 56]。一种方法是在微调LLM时逐步减少数据推理步骤,如[50]中所采用的方法。另一种有效的方法是逐步调整推理步骤的生成,如CoT-Value[56]所提出的。具体来说,它首先学习LoRA Adapter

,其中具有

的LLM没有推理步骤,而具有

的LLM具有长推理。然后,它通过

混合

,以生成具有可变长度的推理数据集。这里

控制参数从

转移到

,控制LLM生成的推理长度。最后,它在生成的数据上对LLM进行微调,同时逐步将

从1减少到0。这样,它逐步提高了微调过程中的推理效率。

4 基于推理输出的高效推理

从输出推理步骤的角度来看,这些工作主要关注修改输出范式,以增强大语言模型进行简洁和高效推理的能力。

4.1 将推理步骤压缩为更少的潜在表示

尽管标准CoT方法通过明确写出推理步骤来提高LLM的性能,但近期的研究[22]表明,仅仅添加中间的“思考” Token ,甚至无意义的填充词(例如,“.”)[63],也能提升性能。[29]通过在隐藏空间中进行递归扩展来扩展更深入的推理,而不是通过冗长的文本。这些发现强调了好处往往在于更多的隐藏计算,而不是纯粹的文字分解。基于潜推理可以使LLM更高效、更灵活地进行推理,并且需要更少(或没有)明确的文本中间步骤的见解,几种新的方法专注于压缩或用更紧凑的潜在表示来替换显式的CoT。

关键问题是:如何将推理步骤压缩到潜在空间中?总的来说,这些方法可以分为两类:训练大语言模型(LLM)使用潜在表示进行推理或使用辅助模型。图7展示了这些方法的一些可视化比较。

picture.image

训练LLMs以利用潜在表示。在早期探索中,Coconut(连续思维链)[33]将LLM的最后一层隐藏状态视为“连续思维”以替代传统的离散 Token 。然后,它将这些隐藏状态作为下一个输入嵌入的重用。Coconut逐步训练,逐渐添加这些潜在的CoT Token 。结果表明,将 Token 压缩到潜在表示中,通过减少中间“思考” Token 的数量,可以提高准确性和效率。CODI [70]与Coconut相比,采用了不同的训练过程,通过自蒸馏学习连续的潜在CoT。在CODI中,模型同时作为教师和学生,共同学习显式和隐式的CoT,同时在 Token 上对齐隐藏激活,生成最终答案。这种自蒸馏过程使LLMs能够在内部进行推理而不生成显式的CoT Token 。

类似地,CCOT [12]将长的CoT推理压缩成短的内容丰富且连续的沉思 Token 。首先,它预先计算 Query 的完整CoT,并选择最重要的隐藏状态作为压缩的黄金标准。CCOT模块(一个LoRA)被训练来预测这些关键 Token 。然后,DECODE模块(另一个LoRA)在 Query 加上压缩 Token 上进行训练。在推理过程中,CCOT生成压缩 Token ,DECODE使用这些 Token 来生成简洁的推理步骤。另一种类型的工作,如第4.2节中提到的基于摘要的动态推理,探索在推理过程中压缩和总结离散空间中的推理步骤,这与“沉思 Token ”的引入类似。

另一项工作,Heima [68],受Coconut [33]的启发,将潜在推理引入了多模态大语言模型(MLLMs)。不同于始终使用完整、冗长的推理解释,Heima将每个详细的推理阶段替换为一个单一的“思考 Token ”。这一变化导致训练数据得到更新。不再是长篇的文本解释,每个推理阶段只是这些思考 Token 中的一个。随后,他们继续微调模型以实现高效的推理。Token Assorted [74]采用了一种混合方法。在训练过程中,部分CoT被通过VQ-VAE [82]学习到的离散潜在 Token 所取代,然后使用推理步骤的部分High-Level抽象来训练LLM。

作者表明,将文本 Token 与潜在 Token 混合可以简化训练和推理,因为它们以紧凑的潜在形式表示了一些推理步骤。[66]除了将离散 Token 显式压缩到潜在空间之外,还展示了通过循环一个

层transformer

次可以模拟

层模型的表现。这种循环机制有效地增加了模型的深度而不增加参数,使得在潜在空间内能够实现迭代推理过程。该研究揭示了循环模型隐式生成潜在思维,允许它们通过连续循环模拟CoT推理的多个步骤。

冻结LLM的同时训练辅助模块。在大多数针对连续空间推理的方法中,都是对预训练的LLM进行微调,而SoftCoT [93]则保持底层LLM冻结。一个轻量级的辅助模型生成特定实例的软思维 Token ,并将其投影到冻结LLM的嵌入空间中。实验表明,SoftCoT能够持续提升性能,证明了通过外部潜在推理 Token 增强LLM的可行性。

Re:这些方法预示着向潜在推理的更广泛转变,其中批判性思维以压缩的、非文本的形式发生。这些方法可以解锁更快的速度、自适应推理、并行回溯以及新的解释或部分揭示模型推理的方式。随着大语言模型(LLMs)的不断扩大和任务的日益复杂,平衡详尽的推理与计算效率,从这些灵活且紧凑的潜在CoT范式中获得巨大益处。

4.2 推理过程中的动态推理范式

现有工作主要关注于修改推理范式以提高推理效率。在推理过程中的关键在于选择合适的标准来指导推理策略。当前的无需训练的方法通过探索使用各种标准进行动态推理,例如奖励引导、置信度基于和一致性基于的选择推理。此外,一种基于摘要的动态推理方法在训练过程中内在地集成了LLMs的输出摘要范式。

4.2.1 通过显式标准进行动态推理

基于强化学习的训练时间缩放[31]可以显著提升大语言模型(LLM)的推理能力。然而,它需要大量的计算资源来扩展模型训练,这使得其成本过高[31]。作为一种替代方案,研究行人探索了测试时间推理,也称为测试时间缩放[72]。测试时间缩放不是依赖于训练来学习CoT推理步骤,而是利用各种推理策略,使模型能够在复杂问题上“思考得更深更广”。这种方法通过在推理过程中增加分配的计算资源,持续提升在具有推理要求的挑战性数学和代码问题上的性能[5, 72]。

测试时缩放利用各种推理策略来生成更长、质量更高的CoT响应。提升推理能力有几种方法。(1)N中最佳采样[76, 85]涉及为给定 Prompt 生成多个响应,扩大搜索空间以识别更好的解决方案。生成后,通过多数投票选择最佳响应,即选择出现频率最高的响应;或者通过奖励模型选择,该模型根据预定义的标准评估响应质量。这种方法已被证明可以显著增强LLMs的推理能力[5]。(2)基于束的搜索[5, 24,28],与Best-of-N不同,它将生成过程分为多个步骤。不是一次性生成整个响应,束搜索在每一步选择最有希望的中间输出,并使用过程奖励模型[81]进行评估,同时丢弃不那么优的输出。这使响应生成和评估的优化更加精细。(3)蒙特卡洛树搜索(MCTS)[41],它并行探索多个解决方案路径。MCTS在解决方案树的各个分支生成部分响应,评估它们,并将奖励值回传到早期节点。然后,模型选择累积奖励最高的分支,确保比传统束搜索有更精细的选择过程。

尽管测试时缩放可以显著减少训练时缩放的开销[5],但生成的大量响应仍然使得推理计算成本高昂。为了解决这个问题,近期的研究工作开始探索优化测试时缩放的方法。

奖励引导的高效推理。投机拒绝[76]是一种高效的推理时推理算法,通过动态减少计算开销(如图8左所示)来优化最佳N(BoN)解码。它生成多个响应,直到接近内存限制,然后根据奖励模型的评估丢弃低质量输出。这种自适应过滤与传统的BoN相比,显著降低了推理成本。另一方面,奖励引导的投机解码(RSD)[45]增强了针对多步推理任务的投机解码效率。与传统投机解码方法严格要求的草稿模型和目标模型之间的精确 Token 匹配不同,RSD利用过程奖励模型(PRM)动态评估来自较小、更高效的草稿模型的中间输出。具有高奖励分数的输出直接接受,而那些分数较低的输出则由更大、更强大的目标模型进一步细化。

picture.image

置信度/确定性自适应推理。动态并行树搜索(DPTS)[24]通过引入以下两点来优化LLM中的基于树的推理,解决两大主要低效问题:(1)并行流线优化通过仅存储增量KV缓存更新和根据可用GPU内存动态调整扩展节点数量来优化内存和计算;(2)搜索和转换机制使用基于置信度的标准来平衡探索和利用。总体上,在推理过程中,系统会切断不确定路径以节省时间。FastMCTS [41]是另一种基于置信度的方法,旨在优化多步推理数据合成。传统的拒绝采样独立生成多个候选响应,仅选择正确的响应,但通常效率低下且难以处理不平衡采样。受MCTS的启发,FastMCTS优先考虑高置信度轨迹进行深度推理。

此外,它根据问题复杂性调整树扩展,提高效率和推理多样性。另一条研究路线利用确定性或不确定性度量来指导自适应推理。Certaindex [28]是一种确定性度量,通过语义熵、奖励模型分数或两者的组合来量化LLM在推理过程中的置信度。较高的Certaindex表明进一步的推理步骤不太可能改变最终答案,从而允许提前终止以释放资源用于更复杂的 Query 。基于此原理构建的推理系统Dynasor通过动态跟踪推理进度来优化计算调度,而不是均匀分配资源。长度过滤投票[88]是另一种利用不确定性来改进CoT推理的工作。该研究发现,较长的推理链并不总是提高准确性;相反,性能最初会提高,但最终会由于错误累积而下降。作者提供了一种数学分析,证明了存在一个最优的CoT长度,该长度由模型能力和任务难度决定。为了利用这一点,他们提出了长度过滤投票,这是一种长度感知的多数投票方法,它根据CoT长度对答案进行分组,并根据预测不确定性选择最可靠的组。

基于一致性的选择性推理。自截断最佳N(ST-BoN)[85]通过引入早期终止(如图8右侧所示)来提高BoN采样效率,类似于投机拒绝[76]。然而,与使用奖励模型的投机拒绝不同,STBoN利用一致性作为衡量重要性的指标。具体来说,它利用潜在嵌入的一致性来评估响应质量。核心洞察是“一个样本越接近其他样本,其路径导致正确答案的可能性就越大”。然后,ST-BoN选择与其他样本最一致的链式嵌入(CoE)并将其视为最佳样本。

4.2.2 基于摘要的动态推理

一些现有方法选择通过训练LLMs来总结中间思维步骤来优化推理效率。LightThinker [101] 提出训练LLMs学习何时以及如何压缩中间推理步骤。LightThinker不是存储长的思维链,而是将冗长的推理压缩成紧凑的“要点 Token ”,以减少内存和计算成本。实现这种总结范式需要Sparse模式的注意力 Mask ,确保模型只关注必要的压缩表示。InftyThink [94] 引入了一种迭代推理方法,能够在不超出上下文窗口限制的情况下,实现几乎无限的推理链,同时保持较高的准确性。它通过迭代生成一个思维,总结它,并丢弃之前的思维和总结,只保留最近的总结来实现。此外,InftyThink还提供了一种技术,将现有的推理数据集转换为迭代格式,以便在这种范式下训练模型。

5 基于输入 Prompt 的高效推理

从输入 Prompt 和问题的角度出发,这些工作主要关注实施长度约束或根据输入 Prompt 的特征对LLMs进行路由,以实现简洁高效的推理。

5.1 指令引导的高效推理

Prompt 引导的高效推理明确指导LLM生成更少的推理步骤,可以是一种简单且高度有效的方法,用于提高推理模型的效率。如表5所示,不同的方法提出了不同的 Prompt ,以确保模型输出的推理结果简洁。

关键问题是:哪些 Prompt 可以准确控制LLMs的推理长度?通过改变 Prompt 来强制执行简洁推理。Token-Budget [32] 提出在 Prompt 中设置token预算以减少不必要的推理token。为了在保持准确性的同时优化效率,[32] 引入了TALE-EP,这是一种无需训练、零样本的预算估计方法。TALE

EP首先通过 Prompt LLM本身来估算一个合理的token预算。然后,它将这个估算纳入一个指定token约束的 Prompt 中,引导LLM生成更token高效且准确的响应。CoD[92]观察到LLM通常生成过多的冗长推理步骤,而人类通常只记录最关键的洞察。为了提高推理效率,他们提出了链式草稿 Prompt (Chain-of-Draft prompting)。与CoT Prompt 类似,CoD鼓励逐步推理,但引入了限制冗长的策略。例如,他们的 Prompt 指示:“逐步思考,但每个思考步骤只保留最少的草稿,最多五个词。”他们发现这种方法在保持准确性的同时保留了必要的中间步骤,显著减少了token的使用。[40]系统地研究了推理长度与模型准确性之间的关系,这些研究涉及具有明确压缩指令的各种 Prompt (例如,“使用10个词或更少”)。他们的分析揭示了一个普遍的推理长度与准确性之间的权衡,表明不同的基于 Prompt 的压缩策略在相同的准确性-压缩曲线上对齐。他们假设每个任务都有内在的token复杂性,即成功解决问题的最小token数量。通过计算准确性-压缩权衡的信息论极限,他们发现现有的基于 Prompt 的压缩方法远远低于这些极限,这表明有很大的改进空间。[65]引入了简洁思维链(Concise Chain-of-Thought,CCoT) Prompt ,这是一种 Prompt LLM进行逐步推理的技术,同时明确指示他们“要简洁”。

Prompt 后的微调。如第3节所述,一些方法使用基于 Prompt 的方法收集简短的理解目标(CoT)数据,然后应用强化学习(SFT)来开发高效的推理模型[32]。除了执行基于直接 Prompt 的推理外,这些微调后的模型在应对复杂的推理挑战时通常能展现出更令人有希望的性能。

5.2 基于 Prompt 属性的推理路由

用户提供的 Prompt 可以从简单到困难不等。高效的推理路由策略会根据 Query 的复杂性和不确定性动态确定语言模型如何处理 Query 。理想情况下,推理模型可以自动将简单的 Query 分配给推理能力较弱但处理速度较快的LLM,同时将更复杂的 Query 分配给推理能力较强但处理速度较慢的LLM。

关键问题是:应使用什么标准来确定 Prompt 的属性(例如,难度)?未知标准。Anthropic发布了Claude 3.7 Sonnet [2],该模型以首次采用混合推理模型而著称。Claude 3.7 Sonnet是通过强化学习(RL)开发的,这使得它能够分配更多时间用于需要深度分析的复杂推理任务,从而最终产生更好的结果。该模型提供两种响应模式:快速回答或逐步思考。用户可以利用API来管理模型思考所需的时间。尽管路由标准的具体细节尚不明确,但Claude 3.7 Sonnet代表了第一个混合推理模型,为后续基于路由的大规模推理模型奠定了基础。

训练分类器。_ RouteLLM [60] 训练一个 Query 路由器,根据复杂度将传入的 Query 分配到合适的LLM。作者利用从Chatbot Arena收集的大量偏好数据作为训练数据,从而实现有效的路由决策,适用于问答和推理任务。因此,简单的 Query 被导向低延迟的LLM,而复杂的 Query 则分配给高延迟、更强大的LLM,显著提高了整体推理效率。Sketch-of-Thought (SoT) [4] 通过路由和 Prompt 最小化推理过程中的token使用。一个基于DistilBERT的轻量级路由器根据问题的特征动态选择最合适的范式。受到认知科学的启发,SoT采用了三种不同的范式:概念链,通过最小化语言表达连接思想;块状符号,将数学推理结构化为简洁的符号表示;以及专家词典,采用专家使用的领域特定缩写。

不确定性。除了依赖额外的路由器外,Self-Ref [15] 还使 LLMs 能够自主决定何时进行路由,通过提取内在不确定性得分作为自路由指标。具体来说,他们在 LLMs 中微调不确定性专业化的 Token ,以使不确定性预测与问答和推理任务中的预测正确性相一致。这确保只有不确定或不正确的输出才会触发路由到更强大的 LLM,从而降低 LLM 推理的延迟。Confident or Seek Stronger [14] 旨在为 LLM 问答和推理任务中的预测和初始化路由策略提供校准数据,而无需访问用户 Query 。这种方法使得在确定 LLM 是否应该自信地生成答案或将 Query 引导到更强的模型时,能够做出更高效和可靠的决策,从而从 Query 层面提高在线 LLM 服务场景中的推理效率。

6 高效训练数据和模型压缩实现推理能力

6.1 使用较少数据训练推理模型

提高推理模型的效率不仅需要优化模型架构,还需要优化用于训练的数据。最近的研究表明,精心选择、结构和利用训练数据可以显著减少数据需求,同时保持甚至提高推理性能。尽管所有方法都侧重于高效的数据选择,但在定义和利用效率方面存在差异。

关键问题是:如何构建更少但质量更高的训练数据?最小但具有影响力的数据选择。β LIMO [97] 对传统观点提出了挑战,即复杂推理任务需要大量的训练数据。他们引入了LIMO框架,该框架通过使用最少但精确挑选的示例来激发复杂的推理能力。通过基于难度 Level 、普遍性和知识多样性选择高质量问题,以及基于最优结构组织、有效认知支架和

严格验证下,仅使用817个精心挑选的训练样本,LIMO就能超越那些使用了超过10万个样本的先前模型。s1[58]专注于通过控制测试时的计算资源来提升推理性能。他们基于质量、难度和多样性构建了一个紧凑的数据集s1K,包含1000个高质量问题及其推理轨迹。通过对该数据集进行监督微调并实施“预算强制”,即在推理过程中调节推理时长,s1-32B在MATH和AIME24任务上超过了OpenAI的ol-preview,证明了战略性的测试时间缩放可以有效提升推理能力,而无需大量训练数据。

自我验证作为一种数据高效训练信号。

[55]通过强化学习(RL)赋予大语言模型(LLMs)自我验证和自我校正的能力。最初,模型在精心挑选的数据集上进行微调,以建立这些能力。随后,在结果层面和过程层面都采用了强化学习来进一步提升这些技能。仅使用3,100个初始化样本,他们的微调模型在所有 Baseline 模型中持续改进推理任务的表现。

微调后的Qwen2.5-Math-7B在MATH500和GSM8K数据集上,其表现优于在相当数量的长文本摘要(CoT)数据上训练的模型。

6.2 小型语言模型的推理能力:通过蒸馏和模型压缩实现

LLMs在各种复杂任务中展现了卓越的推理能力,这得益于它们在多样化数据集上的广泛训练。然而,它们庞大的计算和内存需求给在资源受限环境中部署,如边缘设备、移动应用和实时系统,带来了挑战。在效率、成本或延迟是主要关注点的场景中,小型语言模型(SLMs)提供了一个可行的替代方案。SLMs在严格资源限制下保持强大推理能力的能力对于扩大AI推理系统的可访问性和实用性至关重要。为了实现这一点,探讨了两种主要的方法:知识蒸馏和模型压缩。

关键问题是:小型语言模型在推理任务上的表现如何?模型压缩(例如量化)对其推理能力有何影响?蒸馏。蒸馏是将大语言模型(LLM)的推理能力转移到小型语言模型(SLM)的同时保持效率的关键技术。然而,[43] 发现了一个名为“小型模型可学习性差距”的现象,突出了从大型模型到小型模型蒸馏复杂推理过程的挑战,表明SLM难以模仿其大型模型的推理深度。为了解决这个问题,提出了各种方法。[43] 和 [13] 都探索了混合蒸馏,其中 [43] 将长和短CoT推理示例混合,而 [13] 结合了CoT和PoT(思维程序)来提高LLM到SLM在特定任务上知识蒸馏的有效性。相比之下,[26] 引入了反事实蒸馏,通过在原始问题中屏蔽因果特征来增强训练集, Prompt LLM完成屏蔽文本,并为每个数据生成多视图CoT(正面和负面视图)以增强知识蒸馏的有效性。

此外,[105] 开发了一种反馈驱动的蒸馏技术,该技术迭代地细化蒸馏数据集。他们首先 Prompt LLM生成一个初始蒸馏数据集,然后通过从现有问题中创建多样化和复杂的问题来扩展它,最后使用这个丰富的数据集来微调SLM。另一种策略,由[104]提出,将检测和检索机制纳入蒸馏流程。它训练了两个互补的蒸馏SLM,一个检测模型和一个推理模型,其中检测模型检索相关知识,然后推理模型使用这些知识构建答案的逐步推理。在蒸馏过程中引入自适应思维的是[9],允许模型根据任务的复杂性动态调整推理策略。此外,[46] 提出了SKIntern框架,将符号知识内化到SLM中,以提高CoT推理的质量和效率,而[102] 引入了SCORE Pipeline ,该 Pipeline 从SLM生成自我纠正数据,并微调模型以作为自我纠正的推理者。这些不同的蒸馏技术表明,从LLM到SLM有效地转移推理能力不仅需要减少模型大小,还需要仔细和战略性地构建知识转移过程,以保留逻辑深度和泛化能力。

剪枝和量化。除了直接从大语言模型(LLM)中提取知识到小型语言模型(SLM)之外,另一种方法是通过量化、剪枝等技术将LLM压缩成SLM。[73]进行了一项全面的研究,分析了各种模型压缩技术对推理能力的影响。他们的发现显示,量化,即通过降低模型精度到低比特表示,能够非常出色地保持推理性能,使得SLM在显著降低内存和计算成本的同时,仍能保持逻辑一致性和问题解决能力。

相比之下,剪枝,即根据其重要性移除模型中的特定权重或神经元,会导致推理质量的严重下降,破坏模型遵循多步逻辑过程的能力。这表明,基于压缩的方法比从头开始训练SLMs更有效,因为它们允许模型保留从LLMs继承的推理结构。然而,一个关键挑战仍然存在:SLMs往往在遵循指令方面存在困难,这表明仅仅压缩是不够的。可能需要额外的微调或适应方法,以使压缩模型与用户意图保持一致,并确保它们能够有效地解释和执行复杂的推理任务。

7 评估与基准

近期研究引入了创新的基准和评估框架,以系统地评估大语言模型(LLMs)的推理能力。随着LLMs在执行复杂推理任务的能力上不断进步,对严格、标准化的评估指标和框架的需求也日益重要。

Sys2Bench. [62] 开发了Sys2Bench,这是一个综合套件,旨在评估LLM在五个推理类别中的表现,包括算术、逻辑、常识、算法和规划任务。该基准包含十一个多样化的数据集,涵盖了各种推理任务。它包括GSM8K和AQuA用于算术问题,StrategyQA和HotPotQA用于常识推理,ProntoQA用于逻辑推理,Game of 24和Bin Packing用于算法任务,以及Blocks World、Rubik's Cube、TripPlan和Calendar Plan用于规划任务。研究揭示了仅通过扩展推理时间计算的限制,因为没有任何单一技术能够在所有推理任务中持续表现优异,这强调了需要采用多样化的方法来增强LLM的推理能力。

评估过度思考。[19]提出了一种框架,用于系统地分析LLMs中的“过度思考”,其中模型更倾向于扩展内部推理而非必要的环境交互。通过检查4,018个 Agent 任务的轨迹,该研究确定了分析瘫痪、越界行为和过早脱钩等模式。[19]还提出了一个新颖的“过度思考得分”,并显示得分越高与任务性能下降之间的相关性。采用降低过度思考得分的解决方案等缓解策略可以提高性能30%,同时将计算开销降低43%的Compute-Optimal Test-Time Scaling (TTS)。[49]研究了TTS策略对LLM性能的影响,重点关注策略模型、过程奖励模型和问题难度如何影响TTS的有效性。他们的发现表明,计算最优的TTS策略高度依赖于这些因素。该论文发现,在适当的TTS策略下,较小的模型(例如,1B参数的LLM)能够在MATH-500等复杂推理任务上显著优于较大的模型(例如,405B参数的LLM),这强调了在评估和增强LLM推理中定制TTS方法的重要性。

8 应用与讨论

8.1 应用

自主驾驶。高效的推理大语言模型能够通过以类似人类的方式理解大量传感器数据,从而极大地提升自主驾驶能力[20]。它们使汽车在决策方面更加出色,因此车辆能够为复杂驾驶情况做出规划,并在意外事件发生时快速反应。通过结合来自摄像头、激光雷达、雷达和其他传感器的信息,这些模型帮助汽车更安全地驾驶、选择更好的路线,并在发生时评估风险。此外,由于它们可以解释为何做出特定决策,乘客和监管机构对这项技术更加有信心,汽车可以更顺畅地与智能道路系统互动。

具身AI A1. 高效推理大语言模型通过帮助机器人和智能设备理解和反应周围世界,使具身AI [25] 变得更加智能。这些模型以类似于人类思考的方式处理来自摄像头、传感器和其他输入的大量数据。这种深入理解意味着机器人可以迅速决定最佳移动方式,应对意外变化,并安全地与人互动。例如,在繁忙的工厂或家庭环境中,使用这些模型的机器人可以避开障碍物,适应新情况,甚至用简单的话语解释其行为。总的来说,高效推理大语言模型提升了具身AI系统在日常环境中的可靠性、安全性和实用性。

医疗保健。高效的推理大语言模型(LLMs)将通过帮助医生和研究行人更轻松地处理大量医疗数据来改善医疗保健[34]。它们可以快速分析患者记录、检测结果和医学研究,以发现可能难以察觉的重要趋势和模式。这种支持可以导致诊断更快、更准确,治疗建议更佳,错误更少。此外,这些模型可以将复杂的医学信息分解成通俗易懂的语言,使医疗专业行人和患者都更容易理解。总的来说,高效的推理LLMs使医疗保健过程更加顺畅和可靠,从而为患者带来更好的护理和结果。

8.2 讨论

提升推理能力。从效率的另一个角度来看,提升推理性能是一个重要议题[11, 75]。为了通过早期淘汰无效策略来优先考虑有前景的途径,Meta-Reasoner [75] 利用上下文多臂老虎机来评估推理进展并选择最佳策略。在每一轮中,大语言模型(LLM)生成一个新的推理步骤,元推理器评估其输出并生成进展报告,元推理器使用上下文多臂老虎机来选择最佳的指导策略。ITT [11] 将每个Transformer层视为内部思维过程的一个步骤。通过自适应路由动态地为困难 Token 分配额外处理,ITT使较小的语言模型能够在使用较少训练资源的情况下实现与较大模型相当的性能。

高效推理的安全性。在LLMs中,安全性和效率往往相互矛盾,因为优化其中一项总是会导致另一项的性能下降。当增强安全性,例如过滤有害内容、减轻对抗性攻击和实现自我纠正时,推理模型通常需要额外的计算资源和更长的推理序列,从而导致推理成本增加和响应时间变慢。相反,通过最小化 Token 使用和计算开销来优先考虑效率可能会降低模型自我反思、验证其输出或防御对抗性操纵的能力。这种权衡反映了“没有免费的午餐”这一众所周知的原理,因此在安全性和效率之间取得谨慎的平衡至关重要。[39]研究了大型CoT推理模型中安全检查的鲁棒性,揭示了商业系统中存在的严重安全漏洞。他们引入了恶意教育者基准,并展示了通过他们的劫持思维链(H-CoT)攻击,模型可以大幅降低拒绝率,导致有害内容的生成。[42]研究了长推理模型的安全性。观察到,虽然较长的输出可以促进自我纠正并增强安全性,但一些攻击策略利用了扩展的生成。他们提出了一种基于强化学习的动态输出长度控制方法,以保持推理质量和安全性。在长推理模型中平衡安全性和效率仍然是一个具有挑战性但至关重要的研究领域。

RL与SFT,哪个更好?在比较RL(第3.1节)和SFT(第3.2节)用于创建高效的推理语言模型时,答案并不明确,因为每种方法都有其自身的优势。RL允许模型通过试错学习,对满意的决策进行奖励,这可以帮助它找到解决新情境中问题的创新方法。然而,这种方法有时可能不可预测,并且需要大量的训练。另一方面,SFT通过精心选择的、由人类或模型构建的、高效的CoT示例来教授模型,导致行为更加一致且易于控制。然而,当面临其训练数据中未涵盖的挑战时,SFT可能会遇到困难。在实践中,结合这两种方法可能是一个有前景的方向,并且可能效果最佳,因为它结合了RL的创造力和SFT的可靠性,从而产生一个既适应性强又稳定的模型。

9 结论

本文首次对LLMs中的高效推理进行了结构化调查,将现有方法分为三个领域:基于模型的方法、基于推理输出的方法和基于输入 Prompt 的方法。此外,本文还讨论了高效数据利用、较小模型的推理能力、评估技术和基准测试,并附带一个持续更新的公共仓库以支持未来的研究。关键的是,高效推理方法在各个领域都提供了显著的实际效益:降低医疗诊断的计算成本、增强自动驾驶中的实时决策和安全、提高具身AI系统的可靠性和实用性,以及在金融算法交易和风险评估中实现更快、更有利可图的响应。这些进步凸显了高效推理在LLMs中的广泛经济和社会价值。

参考

[1]. Stop Overthinking: A Survey on Efficient Reasoning for Large Language Models

picture.image

扫码加入👉「集智书童」交流群

(备注:方向+学校/公司+昵称)

picture.image

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论