中文

语言模型中的空洞

计算与语言 2025-05-21 v1

摘要

尽管基于 Transformer 的语言模型取得了进展,但一个基本问题在很大程度上仍未得到解答:在推理过程中是否所有层都被激活?我们通过使用一种称为 L2 自适应计算的非可训练、无参数自适应计算方法来检测未激活层(我们将其称为 Voids),从而对这一问题进行了研究。我们将 LAC 从其最初以效率为核心的应用进行调整,用于追踪推理过程中的激活层。该方法通过监控激活值的 L2 范数变化来识别 Voids。我们在指令微调语言模型中分两个阶段分析层激活情况:提示处理阶段,我们追踪输入提示中每个 token 的激活层;以及响应生成阶段,我们追踪每个生成 token 的激活层。我们进一步证明,在这两个阶段中激活的是不同的层。为了展示我们方法的有效性,我们在三个基准上评估了来自 Llama、Mistral 和 Qwen 系列的三个不同的指令微调语言模型:MMLU、GPQA Diamond 和 BoolQ。例如,在零样本设置的 MMLU 上,跳过 Qwen2.5-7B-Instruct 中的 Voids 使性能从 69.24 提升至 71.29,而模型仅使用了 30% 的层。类似地,在 PP 和 RG 阶段均使用 70% 的层时,Mistral-7B-Instruct-v0.3 在 GPQA Diamond 上从 13.88 提升至 18.36。这些结果表明,并非所有层在推理过程中都有同等贡献,选择性地跳过其中大部分层可以提高模型在某些任务上的性能。

关键词

引用

@article{arxiv.2505.14467,
  title  = {Void in Language Models},
  author = {Mani Shemiranifar},
  journal= {arXiv preprint arXiv:2505.14467},
  year   = {2025}
}