Demystifying Reasoning Dynamics with Mutual Information: Thinking Tokens are Information Peaks in LLM Reasoning

Paper: arXiv:2506.02867 Code: ChnQ/MI-Peaks Code reference: master @ bcee82c9 (2025-07-14)

1. Motivation (研究动机)

这篇论文想回答的不是“怎样再训练一个更强的推理模型”,而是一个更底层的问题:大推理模型(large reasoning models, LRMs)在生成长链式推理时,哪些中间状态真正携带了和正确答案相关的信息?当前 o1、DeepSeek-R1、QwQ 等模型已经能在数学、代码、逻辑推理中表现出明显的多步解题能力,但这些能力通常只从最终答案或完整 CoT 文本层面被评估。中间 token 是否同等重要、是否存在少数“关键步骤”、这些步骤和模型隐藏表示有什么关系,仍然很像黑箱。已有安全和可解释性研究提示,LLM 输出里可能存在会强烈改变行为的 critical tokens;本文把这个问题迁移到 reasoning 场景:在一个长推理轨迹中,是否也存在少量 critical reasoning states?

作者选择从信息论切入,因为“正确答案”可以被看成推理轨迹的目标变量。如果某个中间隐藏表示和 golden answer 的 mutual information(MI)突然升高,那么这个表示比普通步骤更能预测或约束正确答案。与只看注意力、logit、token 概率不同,MI 直接问的是“当前表示里包含多少关于最终正确答案的信息”。因此本文的核心观测对象不是表面 token 本身,而是每个生成步骤对应的 hidden representation 与 gold answer representation 之间的相关信息量。

研究价值在于两点。第一,如果 MI 在推理轨迹中并非平滑增长,而是出现稀疏高峰,那么 LRM 的推理过程可能不是均匀地累积信息,而是在少数转折点完成关键整合、反思或纠错。第二,如果这些高 MI 步骤对应到可读 token(例如 “Wait”, “Hmm”, “Therefore”, “So”),则 thinking token 可能不只是模拟人类思考风格的装饰,而是和模型内部信息整合有可测联系。这样既能帮助解释 reasoning dynamics,也能导出无需训练的推理增强策略:在发现高 MI 表示后重用它,或在推理预算增加时用 thinking tokens 触发继续思考。

Figure 1 解读:左侧示例展示模型在数学题中先给出一个错误方向,随后由 “Okay” 和 “Wait” 触发重新审视;右侧曲线显示大多数生成步骤的 MI 较低,少数步骤突然变成高峰。右边词云进一步把高峰位置解码回 token 空间,出现 “Let”, “Therefore”, “But”, “The”, “Since”, “Hmm”, “Wait” 等连接、转折、反思词。图中的关键信息是:高 MI 不是均匀出现在答案尾部,而是在推理中途的语义转折点出现,这为后续“thinking tokens are information peaks”的命题提供了直观入口。

2. Idea (核心思想)

本文的核心洞见可以概括为:LRM 的长推理不是每个 token 都同等贡献信息,而是在少数“思考/转折 token”处产生 mutual-information peaks;这些 peaks 对正确答案更 informative,也对推理性能更关键。作者先把每个生成 token 的 hidden state 记为一个时间序列,再用 HSIC 估计该 hidden state 与 golden answer hidden state 的 MI;然后发现一些步骤的 MI 突然超过全局分布阈值。更进一步,他们把这些 peak hidden states 通过输出头投影回 vocabulary,发现高频 token 大多是 “So”, “Hmm”, “Wait”, “Therefore”, “Let” 这类自我反思、连接或转折词。

和常见 CoT 分析不同,本文不是直接统计推理文本中的显式逻辑结构,也不是只比较有无 CoT 的最终准确率,而是把“推理中间表示—正确答案”之间的信息关系显式量化。它与 probing/representation analysis 的区别在于时间维度很强:作者关心每个生成 step 的 MI 轨迹,而不是只看 prompt 后某一层的静态表示;它与 test-time scaling 的区别在于,本文先解释哪些 token/表示可能重要,再把这个解释转成 training-free 的 RR 和 TTTS 方法。

具体创新点有三层。第一,提出 MI peaks 现象:在 DeepSeek-R1-Distill 和 QwQ 等 LRM 的数学推理轨迹中,MI 曲线呈低值背景加稀疏尖峰,尖峰稀疏且非均匀分布。第二,给出理论解释:累积条件 MI 越高,预测错误概率的上下界越紧,暗示高 MI 表示和低错误率存在信息论联系。第三,把解释转成干预:压制 thinking tokens 会显著降低准确率,而压制同数量普通 token 基本不影响;基于这个发现,Representation Recycling(RR)和 Thinking Token based Test-Time Scaling(TTTS)在多个数学 benchmark 上提升性能。

3. Method (方法)

3.1 表示抽取与 MI 轨迹

给定样本 ,其中 是输入问题, 是 golden answer。模型在 prompt 后自回归生成 。作者用表示抽取函数 获取第 个 token 在第 层的 hidden representation;为了简化记号,正文省略层和 token 下标,把第 个生成 token 对应的表示写成: gold answer 的表示则通过把 输入同一个模型得到: 于是一个推理轨迹会产生 MI 序列: 这一步的直觉是:如果 的 MI 高,说明当前生成状态已经携带了较多关于正确答案的信息;如果曲线突然升高,则该步骤可能是推理过程中的信息整合点。实际计算高维 MI 很难,论文采用 Hilbert-Schmidt Independence Criterion(HSIC)作为 MI proxy。附录给出的经验形式为:

这里有一个容易误解的点: 不是“最终预测答案”的表示,而是 gold solution 被模型编码后的表示。因此 MI 曲线衡量的是当前推理状态与正确解的相关性,而不是与模型自己已经生成文本的自相关。这样设计的好处是可以把不同样本的推理轨迹统一锚定到真实答案;代价是该分析依赖标注答案,只适合作为离线诊断和机制研究,不能直接在无答案的线上推理中实时计算。后文 RR/TTTS 之所以改用 thinking tokens 作为触发信号,就是因为 inference time 没有 可用。 其中 是 kernel matrices, 是中心化矩阵。Gaussian kernel 为: 论文附录说 bandwidth 通过 网格搜索选择;released code 的 src/mi_estimators.pyestimate_mi_hsic(..., sigma=50.) 默认固定为 50,而 kernelmat 在未传 sigma 时才会用 median distance 估计。这是一个需要复现实验时注意的实现差异:论文公式与 released code 实现差异:论文描述为 grid search over [50,400],公开脚本的主路径 cal_mi.py -> estimate_mi_hsic 使用默认 sigma=50.

3.2 MI peak 的定义

作者把每个样本的 MI 序列记为 。令 分别为 25% 和 75% 分位数,。MI peaks 的集合定义为: 其中 ,对应 Tukey 异常值阈值的常见选择。这个定义比“取 top-k”更合适,因为不同模型、不同样本的 MI 尺度不一致;IQR threshold 根据每条轨迹自身的分布判断尖峰,能强调“相对于该轨迹背景值的突然抬升”。

Figure 2 解读:六个 LRM 的 MI 轨迹都呈现“低背景 + 稀疏尖峰”的形态。横轴是 reasoning step,纵轴是 MI value。DeepSeek-R1-Distill-Qwen-7B 的尖峰较少,而 Llama-8B、Qwen-14B、Qwen-32B、QwQ-32B、Llama-70B 都能看到多个蓝色 spike。图中最重要的不是某个模型峰值绝对高度,而是跨模型的共同模式:推理轨迹中的信息含量是阶段性爆发的,不是每一步平均累积。

为了定量描述稀疏性,论文统计了各模型的 peak 数量、总步数、比例和相邻 peak 间隔。结果如下:

ModelMI PeaksAll StepsRatioMax IntervalMin IntervalAvg Interval
DeepSeek-R1-Distill-Qwen-7B2.57507.970.0051152.6752.7487.38
DeepSeek-R1-Distill-Llama-8B24.54511.030.048069.376.6527.84
DeepSeek-R1-Distill-Qwen-14B18.30510.090.035985.505.3331.09
DeepSeek-R1-Distill-Qwen-32B10.82511.220.0212138.0719.3559.30
QwQ-32B5.41489.800.0110167.8519.3566.53
DeepSeek-R1-Distill-Llama-70B16.60512.000.032493.036.7734.71

这些数值说明 peak 很稀疏:即便最高的 Llama-8B 也只有 4.80% 的步骤被判为 peak;Qwen-7B 只有 0.51%。如果把推理文本看成几百个 token 的序列,绝大多数 token 不是信息爆发点,只有少数 step 承担关键的信息重组。

从读者角度看,Table 1 还提示不同 LRM 的“思考节奏”可能不同。Qwen-7B 的 peak ratio 最低且平均间隔最长,意味着它在约 508 个 steps 中只有极少数明显信息跳变;Llama-8B 的 peak ratio 最高且平均间隔最短,说明它更频繁地经历局部信息整合。论文没有把这种差异进一步和模型准确率逐一做因果绑定,因此不能简单说“peak 越多越好”;更合理的解释是,peak 的存在和稀疏性是 LRM 推理动态的共有结构,而 peak 的数量、间隔和高度可能反映不同模型的推理风格。

3.3 理论联系:更高累积 MI 与错误率界

作者用两个定理把 MI 与预测错误概率 联系起来。令 是推理过程中的表示序列, 是 golden answer, 是模型预测。下界为: 其中 对应的上界为: 这两个式子不等价于“某个单独 token 的 MI 高就保证答案正确”,而是说明累积条件 MI 越高,模型错误概率的可行范围越被压缩,低错误率越可能。MI peaks 的作用在这个解释中是提高累积 MI 的局部贡献:如果少数步骤携带大量关于答案的信息,它们就可能是推理轨迹中让模型接近正确答案的关键状态。

3.4 与非推理基座模型对比

为了判断 MI peaks 是否只是所有 LLM 自然会有的现象,作者比较了 R1-Distill 模型和其对应的非 reasoning base model。对比对象包括 DeepSeek-R1-Distill-Qwen-7B vs Qwen2.5-Math-7B、DeepSeek-R1-Distill-Llama-8B vs Llama-3.1-8B、DeepSeek-R1-Distill-Qwen-14B vs Qwen2.5-14B、DeepSeek-R1-Distill-Qwen-32B vs Qwen2.5-32B、DeepSeek-R1-Distill-Llama-70B vs Llama-3.3-70B-Instruct。

Figure 3 解读:蓝色 LRM 曲线普遍比橙色 base model 有更强、更尖锐的波动。base model 也可能出现小幅 MI 上升,但缺少 LRM 中那种局部 spike。这个对比支持作者的解释:MI peak 更像 reasoning-intensive training 后形成的推理动态,而不是普通语言建模中的普遍背景噪声。

论文还用 Mean、Std、AOM 三个统计量比较 MI 序列。AOM 定义为 peak 值相对 median 和 IQR 的异常强度,越高说明 spike 越突出。精确数值如下:

MetricLlama-3.1-8B OriginLlama-3.1-8B ReasoningQwen2.5-Math-7B OriginQwen2.5-Math-7B ReasoningQwen2.5-14B OriginQwen2.5-14B ReasoningQwen2.5-32B OriginQwen2.5-32B ReasoningLlama-3.3-70B OriginLlama-3.3-70B Reasoning
Mean0.08630.12792.19713.30161.31283.35081.76694.03520.04000.0599
Std0.05120.07070.86390.89360.43260.67030.51130.60360.02770.0484
AOM3.35734.51762.63202.75412.65413.08202.54662.59982.43263.2866

3.5 从 high-MI 表示投影到 token 空间

为了解释 MI peak 表示的语义,作者把 peak hidden state 送入模型输出头: 其中 为词表大小。这个操作不是重新生成文本,而是解释 peak hidden state 最像哪个 vocabulary token。作者在同样的模型和 MATH training split 上聚合所有 peak token,统计 top-30 频率。

Figure 4 解读:DeepSeek-R1-Distill-Llama-8B、DeepSeek-R1-Distill-Qwen-14B 和 QwQ-32B 的 peak token 分布都集中在连接词、转折词和反思词上,例如 So、Let、Hmm、Wait、Therefore、Since、But、Now、First。作者把这些 token 称为 thinking tokens。注意这里的“thinking”不是人为规定的 prompt token,而是由 high-MI hidden state 经过 output head 解码得到的高频语义类别。

3.6 干预实验:压制 thinking tokens

为了验证 thinking tokens 是否只是相关现象,作者在推理时设置干预:把一定数量 thinking tokens 的生成概率置零;作为对照,随机压制同数量 non-thinking token。然后在多个数学推理 benchmark 上比较性能。结果是压制 thinking tokens 会明显损害 LRM 准确率,而压制普通 token 基本没有影响。

Figure 5 解读:蓝线代表压制 thinking tokens,橙线代表压制其他 token。GSM8K、MATH500、AIME24 三个子图里,蓝线随被压制 token 数量增加而快速下降;橙线几乎维持水平。这个实验是本文因果证据最强的一部分:如果 high-MI 对应 token 只是表面风格,压制它们不应比压制随机 token 更糟;实际相反,说明这些 token 在推理控制流中有功能作用。

3.7 两个 training-free 应用:RR 与 TTTS

Representation Recycling(RR)的动机是:如果某些 high-MI 表示特别有价值,就让模型再处理一次这些表示。普通 Transformer 前向为: RR 在层 捕获一个重要表示后,不直接送到下一层,而是再喂回同一层: 之后高层继续正常前向: 推理时没有 golden answer,因此 RR 不能直接知道当前 step 是否为 MI peak;作者先在 MATH training set 上记录 thinking tokens,推理时当模型生成这些 token 之一就触发 RR。实验中 设在中高层,因为这些层通常编码更强语义信息。

Figure 6 解读:RR 在 GSM8K、MATH500、AIME24 上对 DeepSeek-R1-Distill-Llama-8B 和 DeepSeek-R1-Distill-Qwen-7B 都有正向提升,尤其 AIME24 更明显。论文正文给出的例子是:RR 使 DeepSeek-R1-Distill-Llama-8B 在 AIME24 上相对提升 20%。图的含义是,high-MI 表示不仅能解释推理动态,还能作为一个 inference-time 控制信号。

TTTS(Thinking Token based Test-Time Scaling)则把 thinking tokens 用于继续推理。当额外 token budget 可用时,模型先产生一个初始输出;若还可以继续计算,方法在输出末尾追加一个语义有效的 thinking token,让模型继续生成额外 reasoning steps。作者过滤掉标点、单字符等语义弱 token,保留列表:

[So, Let, Hmm, I, Okay, First, Wait, But, Now, Then, Since, Therefore, If, Maybe, To]

Figure 7 解读:在相同 token budget 下,TTTS 在 GSM8K 和 MATH500 上持续优于原始模型;GSM8K 中原始模型超过 1024 tokens 后趋于平台,而 TTTS 仍随预算增加继续提升。AIME24 更难,原始模型在约 3000 tokens 后饱和,TTTS 在部分中间预算略低,但预算超过 6144 tokens 后反超。这个结果说明 thinking tokens 可以作为 test-time scaling 的“继续思考开关”,但也暗示收益和任务难度、预算区间有关。

3.8 Released code 对应的可复现实作

Code reference: master @ bcee82c9 (2025-07-14) — pseudocode and mapping based on this commit

Paper conceptReleased code pathMain implementation复现注意点
生成轨迹表示src/generate_activation.pyforward hook 注册到 model.model.layers[layer]model.generate(..., max_new_tokens=512, output_hidden_states=True) 后保存每步 token 表示默认脚本示例只跑 layers 31sample_num 100
golden answer 表示src/generate_gt_activation.pydata/<dataset>.csv 读取 solution 列,hook 同一层,保存到 acts/gt/对应论文的
MI 计算src/cal_mi.py, src/mi_estimators.py对每个 token step 调 estimate_mi_hsic(acts[id]['reps'][layer][i], gt_acts[id][layer][0])公开函数默认 sigma=50.,与论文附录 grid-search 描述不完全一致
RRsrc/applications/RR_model.py, RR_evaluate.pyRecursiveThinkingModel 用 forward hook 捕获 hidden,用 forward pre-hook 把最后 token hidden 注入目标层;当 candidate token 属于 interested tokens 时触发run_RR.sh 示例使用 AIME24、extract_layer_id=inject_layer_id=23max_tokens_per_call=16000
TTTSsrc/applications/TTTS_evaluate.py参数包含 thinking_tokens_file_pathmax_tokens_per_calltoken_budget;根据 thinking token 文件在预算内继续生成run_TTTS.sh 示例 AIME24、budget 4096、temperature 0、top_p 1

下面的伪代码把 paper-level 方法映射到 released code 的主路径;它不是论文抽象的重写,而是按照公开代码的函数边界组织。

def compute_mi_trajectory(model, tokenizer, math_rows, layer_id=31, sample_num=100):
    # generate_activation.py: collect hidden states for generated reasoning tokens
    queries = [row["problem"] for row in math_rows[:sample_num]]
    gen_acts = hook_layer_and_generate(
        model=model,
        tokenizer=tokenizer,
        queries=queries,
        layers=[layer_id],
        max_new_tokens=512,
        output_hidden_states=True,
    )
 
    # generate_gt_activation.py: collect representations of gold solutions
    solutions = [row["solution"] for row in math_rows[:sample_num]]
    gt_acts = hook_layer_on_gold_answers(
        model=model,
        tokenizer=tokenizer,
        solutions=solutions,
        layers=[layer_id],
    )
 
    # cal_mi.py: token-by-token HSIC score against the gold-answer representation
    mi_by_sample = {}
    for sample_id, acts in gen_acts.items():
        token_scores = []
        for token_hidden in acts["reps"][layer_id]:
            score = estimate_mi_hsic(token_hidden, gt_acts[sample_id][layer_id][0], sigma=50.0)
            token_scores.append(score)
        mi_by_sample[sample_id] = token_scores
    return mi_by_sample
def detect_mi_peaks(mi_scores, tau=1.5):
    q1 = torch.quantile(mi_scores, 0.25)
    q3 = torch.quantile(mi_scores, 0.75)
    iqr = q3 - q1
    threshold = q3 + tau * iqr
    return [idx for idx, score in enumerate(mi_scores) if score > threshold]
def decode_peak_tokens(output_head, hidden_states, peak_indices):
    # paper method: use output projection W_out h_t + b, then greedy decode argmax token
    decoded = []
    for t in peak_indices:
        logits = output_head(hidden_states[t])
        token_id = torch.softmax(logits, dim=-1).argmax(dim=-1)
        decoded.append(tokenizer.decode([token_id.item()]))
    return Counter(decoded)
class RepresentationRecycling(nn.Module):
    def __init__(self, base_model, extract_layer_id, inject_layer_id, interested_token_ids):
        super().__init__()
        self.base_model = base_model
        self.extract_layer_id = extract_layer_id
        self.inject_layer_id = inject_layer_id
        self.interested_token_ids = set(interested_token_ids)
        self.extracted_hidden = None
 
    def generate_one_step(self, input_ids, attention_mask, past_key_values):
        outputs = self.base_model(
            input_ids=input_ids,
            attention_mask=attention_mask,
            past_key_values=past_key_values,
            use_cache=True,
        )
        candidate = outputs.logits[:, -1, :].argmax(dim=-1, keepdim=True)
 
        if candidate.item() in self.interested_token_ids:
            # RR_model.py: enable injection, rerun the model, and use the recycled logits
            with self.inject_last_token_hidden_back_to_layer():
                recycled = self.base_model(
                    input_ids=input_ids,
                    attention_mask=attention_mask,
                    past_key_values=past_key_values,
                    use_cache=True,
                )
            return recycled.logits[:, -1, :].argmax(dim=-1, keepdim=True)
        return candidate
def ttts_continue_reasoning(model, tokenizer, prompt, thinking_tokens, token_budget):
    # TTTS_evaluate.py: controlled budget setting; thinking tokens come from file.
    output = model.generate(prompt, max_new_tokens=min(2048, token_budget), temperature=0)
    used = count_new_tokens(output)
    while used < token_budget:
        trigger = choose_semantic_thinking_token(thinking_tokens)
        continued_prompt = output + " " + trigger
        output = model.generate(
            continued_prompt,
            max_new_tokens=min(2048, token_budget - used),
            temperature=0,
            top_p=1,
        )
        used = count_new_tokens(output)
    return output

4. Experimental Setup (实验设置)

数据集与规模。 MI 轨迹观测使用 MATH training split,论文称其包含 12k competition-level mathematics problems,每题有 step-by-step solution;实际 MI 计算时随机采样 100 个实例。推理性能评估使用三个数学 benchmark,从易到难为 GSM8K、MATH500、AIME24。论文没有在正文给出所有 test split 的样本数;released repo 中 src/applications/data/gsm8k/test.jsonl 有 1319 行,src/applications/data/aime24/test.jsonl 有 30 行,MATH500 按 benchmark 名称对应 500 题。

模型。 实验覆盖 DeepSeek-R1-Distill-Qwen-7B、DeepSeek-R1-Distill-Llama-8B、DeepSeek-R1-Distill-Qwen-14B、DeepSeek-R1-Distill-Qwen-32B、DeepSeek-R1-Distill-Llama-70B 和 QwQ-32B。非 reasoning 对照为 Qwen2.5-Math-7B、Llama-3.1-8B、Qwen2.5-14B、Qwen2.5-32B、Llama-3.3-70B-Instruct。QwQ-32B 的具体基础模型公开报告未披露,所以没有对应 base pair。

评估指标。 MI 轨迹分析使用 HSIC 作为 MI proxy,并统计 peak 数量、总 reasoning steps、peak ratio、peak interval,以及 Mean、Std、AOM。推理性能使用 benchmark accuracy;suppression 实验比较压制 thinking token 与压制其他 token 的准确率变化;RR 和 TTTS 比较相同 benchmark、相同或变化 token budget 下的 accuracy。

实现配置。 MI 计算抽取 last layer representation,因为高层更偏语义且 last layer 直接影响输出文本。HSIC 使用 Gaussian kernel,论文附录写 bandwidth 网格中选择;released code 默认 sigma=50.。所有实验 temperature 固定为 0,论文和附录都强调这用于保证可复现。硬件为 4 张 NVIDIA A100 GPU。TTTS 过滤掉标点、单字符等语义弱 token,保留 So、Let、Hmm、I、Okay、First、Wait、But、Now、Then、Since、Therefore、If、Maybe、To。RR 脚本示例在 AIME24 上用 DeepSeek-R1-Distill-Llama-8B、layer 23、num_recursive_steps=1max_tokens_per_call=16000;MI 轨迹脚本示例对 DeepSeek-R1-Distill-Llama-8B 使用 layer 31、MATH train 12k、sample 100。

5. Experimental Results (实验结果)

MI peaks 的主结果。 Table 1 显示所有测试 LRM 都有稀疏 MI peaks,但数量和强度不同。DeepSeek-R1-Distill-Qwen-7B 平均只有 2.57 个 peak,占 507.97 个 reasoning steps 的 0.51%;DeepSeek-R1-Distill-Llama-8B 平均 24.54 个 peak,占 4.80%,也是表中 peak ratio 最高的模型。平均相邻 peak 间隔从 Llama-8B 的 27.84 到 Qwen-7B 的 87.38 不等,说明某些模型的关键反思点更密集。这个发现支持“推理中的信息不是均匀分布”的主张。

LRM 与 base model 对比。 Table 2 中每组 reasoning model 的 Mean、Std、AOM 基本都高于 origin model。例如 Qwen2.5-32B origin 的 Mean 为 1.7669,而 reasoning 版本为 4.0352;Llama-3.3-70B-Inst origin 的 AOM 为 2.4326,而 reasoning 版本为 3.2866。Std 和 AOM 的提升说明 reasoning training 不只是提高整体 MI 水平,也让轨迹波动和尖峰更明显。这个对比是论文把 MI peaks 归因于 reasoning-intensive training 的关键证据。

thinking token 发现。 输出头投影显示 peak hidden states 多对应 So、Hmm、Wait、Therefore、Let、But、Since 等 token。作者将这些 token 称为 thinking tokens,因为它们在自然语言中承担暂停、转折、自我检查、重新规划的功能。更重要的是,suppression 实验表明它们不是无关风格词:在 GSM8K、MATH500、AIME24 上,压制 thinking tokens 会随数量增加显著降低 accuracy,而压制随机 non-thinking tokens 几乎没有影响。这说明 thinking tokens 至少在当前 LRM 的生成策略中有功能性作用。

RR 结果。 RR 在 DeepSeek-R1-Distill-Llama-8B 和 DeepSeek-R1-Distill-Qwen-7B 的多个数学 benchmark 上稳定提高性能。正文中特别指出,RR 在 AIME24 上让 DeepSeek-R1-Distill-Llama-8B 的 accuracy 相对提升 20%。这项结果的意义在于,MI peak 不只是 post-hoc 分析信号,还能用于在线推理:当模型生成 thinking token 时,把中高层表示再处理一次可以释放额外推理能力。不过 RR 依赖预先收集的 interested token list,且 released script 示例主要覆盖特定模型和 AIME24 配置,复现全表需要补齐更多运行脚本或参数。

TTTS 结果。 在 GSM8K 和 MATH500 上,TTTS 在相同 token budget 下持续优于原始 LRM;GSM8K 中原模型超过 1024 tokens 后 plateau,而 TTTS 继续随 budget 增加提升。AIME24 上,原模型约 3000 tokens 后趋于饱和,TTTS 中间预算有时略低,但超过 6144 tokens 后反超。这个结果说明 thinking tokens 可以作为 test-time scaling 的可解释控制变量:当模型还有计算预算时,与其盲目采样更多答案,不如显式诱导模型进入新的反思段落。

局限与 caveats。 第一,MI 不是直接精确计算,而是 HSIC proxy;不同 kernel bandwidth、层选择、样本规模会影响峰值。第二,MI 轨迹观测需要 golden answer,因此主要是离线解释工具,不能直接在未知测试题上实时判定 peak;RR 用 thinking token 作为 proxy trigger。第三,实验集中在数学推理,尤其 MATH、GSM8K、MATH500、AIME24,尚不能保证对代码、开放问答、多语言推理都成立。第四,thinking token suppression 证明了这些 token 在当前生成机制中重要,但不能完全排除它们与更深层 latent state 共同变化;也就是说,token 是可操作入口,不一定是唯一因果变量。第五,TTTS 增加输出长度和延迟,在高预算下有收益,但对预算敏感,AIME24 中间区间的波动说明“更多 thinking token”并非无条件更好。