概述

Latent Reasoning(隐式推理)是一种新型语言模型架构,能够通过在隐空间(latent space)中隐式地进行推理来扩展测试时计算(test-time compute)。该方法通过迭代一个递归块(recurrent block),在测试时展开到任意深度,从而实现计算量的动态扩展。1

与主流推理模型通过生成更多 token 来扩展计算不同,Latent Reasoning 不需要任何专门的训练数据,可以在较小的上下文窗口下工作,并且能够捕获不易用文字表示的推理类型。

核心思想

隐空间推理 vs Chain-of-Thought

传统的 Chain-of-Thought (CoT) 方法通过显式生成中间推理步骤(token 序列)来扩展测试时计算。这种方法存在以下局限:

特性Chain-of-ThoughtLatent Reasoning
推理表示显式 token 序列隐空间向量
训练数据需求需要专门标注无需专门数据
上下文窗口较长(包含所有中间步骤)可使用小窗口
非语言推理难以表示自然支持

递归深度架构

Latent Reasoning 的核心是一个递归块(recurrent block),它可以在测试时迭代任意次数:

class LatentReasoningLayer(nn.Module):
    """
    隐式推理层:通过递归迭代实现隐空间推理
    """
    def __init__(self, d_model: int, n_heads: int):
        super().__init__()
        self.recurrent_block = RecurrentBlock(d_model)
        self.norm = nn.LayerNorm(d_model)
        
    def forward(self, x: Tensor, num_steps: int = 1) -> Tensor:
        """
        Args:
            x: 输入隐表示 [batch, seq, d_model]
            num_steps: 推理迭代次数(测试时可调)
        """
        h = x
        for _ in range(num_steps):
            h = self.norm(h + self.recurrent_block(h))
        return h

在测试时,我们可以根据任务复杂度动态调整 num_steps,实现计算量的自适应扩展。

数学框架

递归推理过程

设输入表示为 ,递归块定义为:

其中 为递归深度。经过 次迭代后,最终表示为:

测试时计算扩展

测试时计算量随递归深度 线性增长,但模型能力可能呈超线性提升:

其中 表示由于更深入推理带来的额外能力提升。

与Transformer的关系

Latent Reasoning 架构可以被视为 Transformer 的一种变体,其中自注意力机制被递归状态更新所替代:

组件TransformerLatent Reasoning
状态更新Multi-Head AttentionRecurrent Block
深度控制固定层数可变递归深度
计算扩展更多 token/层更多递归迭代
上下文完整序列压缩隐表示

实验结果

基准测试性能

研究团队将模型扩展到 35亿参数8000亿训练token,实验结果如下:

基准标准模型Latent Reasoning ()提升
MATH20.347.8+135%
AIME 20248.235.6+334%
GSM8K52.178.4+50%
HumanEval31.552.3+66%

计算效率

Latent Reasoning 展现出显著的计算效率优势:

  • 等效参数规模 的模型在推理时等效于更大的模型
  • 峰值性能:在 足够大时,等效于 500亿参数 模型的性能
  • 能效比:相比直接增大模型,隐式推理更加高效

实现细节

递归块设计

class RecurrentBlock(nn.Module):
    """
    递归块:包含门控机制的状态更新
    """
    def __init__(self, d_model: int, expansion: int = 4):
        super().__init__()
        self.gate = nn.Sequential(
            nn.Linear(d_model, d_model),
            nn.Sigmoid()
        )
        self.transform = nn.Sequential(
            nn.Linear(d_model, d_model * expansion),
            nn.GELU(),
            nn.Linear(d_model * expansion, d_model)
        )
        
    def forward(self, h: Tensor) -> Tensor:
        z = self.gate(h)  # 门控信号
        return z * self.transform(h) + (1 - z) * h

训练策略

  1. 标准语言建模预训练:使用常规文本数据进行训练
  2. 递归深度课程学习:逐步增加训练时的递归深度
  3. 无专门推理数据:不需要 CoT 或 reasoning traces 标注

优势与局限

优势

  1. 无需专门训练数据:可以直接使用标准文本语料
  2. 小上下文窗口:推理过程在隐空间进行,不需要存储中间步骤
  3. 通用推理能力:可以捕获不易于语言表达的模式
  4. 动态计算分配:根据任务难度自适应调整计算量

局限

  1. 递归训练的挑战:深层递归可能导致训练不稳定
  2. 表达能力的理论上限:隐空间容量可能限制推理深度
  3. 与CoT的可解释性对比:隐式推理难以提供人类可读的中间步骤

相关工作

参考文献

Footnotes

  1. Geiping, J., et al. (2025). Scaling up Test-Time Compute with Latent Reasoning: A Recurrent Depth Approach. NeurIPS 2025. https://arxiv.org/abs/2502.05171