笔记日期: 2026-06-19 笔记作者: Zhongzhu Zhou 论文标题: The Truth is in There: Improving Reasoning in Language Models with Layer-Selective Rank Reduction 作者: Pratyusha Sharma, Jordan T. Ash, Dipendra Misra arXiv: 2312.13558 状态: ICLR 2024
一句话总结
这篇论文做了一件乍看极为反直觉的事:找到 LLM 某个特定层的权重矩阵,用 SVD 把它的秩压缩到原来的 1%,然后把压缩后的矩阵替换回去——不做任何训练——结果模型在推理任务上的准确率反而大幅提升,有时高达 26 个百分点。
前置知识
在进入正题之前,我们需要先搞清楚两件事:SVD 是什么,以及 Transformer 里的权重矩阵究竟在存什么信息。
奇异值分解(SVD)
给定任意一个实数矩阵 ,SVD 将其分解为:
其中:
- 是左奇异向量矩阵,列正交()
- 是对角矩阵,对角线元素 叫做奇异值,按从大到小排列
- 是右奇异向量矩阵,列正交
等价地, 可以写成一堆秩-1 矩阵的加权和:
直觉是:每一项 代表矩阵里的一个”信息方向”, 越大代表这个方向越重要。
截断 SVD(低秩近似)。 只保留前 大的奇异值对应的分量:
这不是任意选择——Eckart-Young 定理告诉我们,在所有秩不超过 的矩阵中, 在 Frobenius 范数意义下是对 的最优近似:
重建误差等于丢掉的那些奇异值的平方和:
flowchart LR
A["W ∈ ℝ^(m×n)\n完整权重矩阵"] --> B["SVD 分解\nW = UΣVᵀ"]
B --> C["奇异值排序\nσ₁ ≥ σ₂ ≥ … ≥ σᵣ"]
C --> D["保留前 k 个\nW_k = U_k Σ_k Vk^T"]
C --> E["丢弃 σ_{k+1}…σ_r\n'高阶分量'"]
D --> F["Eckart-Young:\nFrobenius 范数意义下\n最优秩-k 近似"]
E --> G["丢弃的误差\n= Σᵢ₌ₖ₊₁ σᵢ²"]
style D fill:#4CAF50,color:#fff
style E fill:#FF5722,color:#fff
图 1:截断 SVD 流程。Eckart-Young 定理保证 是最优的秩- 近似。
Transformer 里的权重矩阵藏了什么
一个 Transformer 层由两大模块组成:多头自注意力(MHA)和前馈网络(FFN / MLP)。
注意力模块里有 (查询、键、值、输出投影)。MLP 模块通常包含:
- 第一层线性 (fc_in),将隐藏维度扩展 4 倍
- 第二层线性 (fc_out),压缩回原始维度
大量研究(Geva et al. 2021, Meng et al. 2022 ROME)表明:事实性知识和世界模型信息主要存储在 MLP 层,注意力层更像是一个”路由和检索”机制。
flowchart TD
subgraph "Transformer 第 l 层"
X["输入 x_l ∈ ℝ^d"]
ATTN["多头注意力\nW_Q, W_K, W_V, W_O\n(路由与检索)"]
MLP["MLP 模块\nW₁ (fc_in): d → d_ff\nW₂ (fc_out): d_ff → d\n(知识存储)"]
OUT["输出 x_{l+1}"]
end
X --> ATTN
ATTN --> MLP
MLP --> OUT
subgraph "LASER 的重点攻击目标"
T1["晚期 MLP 层的 W₁\n(fc_in / Uin)"]
end
MLP -.-> T1
style T1 fill:#FF9800,color:#000
style MLP fill:#2196F3,color:#fff
图 2:LASER 主要针对后期层的 MLP 权重矩阵——与知识存储在 FFN 的研究结论一致。
论文要解决什么问题
标准观点认为:训练好的模型权重是”宝贵”的——删除信息只会让性能变差。LASER 反对这个观点,提出:
对于某些层和某些任务,权重矩阵里存储了干扰推理的信息。删除这些信息,而不是增加新的信息,才是提升性能的正确方式。
这个观点的理论基础是噪声假设(noise hypothesis):
大型语言模型在海量互联网文本上预训练时,会同时学到两类信息:
- 鲁棒的特征:语义、语法、逻辑结构——这些信息被压缩进奇异值最大的那些分量里(高 )
- 虚假关联:数据集中的共现噪声、刻板印象、伪统计规律——这些信息被”淹没”在奇异值小的高阶分量里(低 )
当模型处理推理问题时,这些虚假关联会干扰正确的推理路径。LASER 的思路很简单:把高阶分量截断掉,让模型只保留”信号”,丢弃”噪声”。
LASER 方法详解
正式定义
一次 LASER 干预由三个超参数唯一确定:
其中:
- :参数类型,指定要操作哪个权重矩阵,可选项包括
fc_in(MLP 第一层)、fc_out(MLP 第二层)、k_proj/v_proj/q_proj/out_proj(注意力矩阵)等 - :层索引,第几层( = 总层数)
- :秩保留比例,保留多少比例的最大秩,即
干预操作是将目标矩阵替换为截断 SVD:
这个操作在模型已经训练完之后进行,不需要任何梯度计算。
核心算法步骤
算法一:单次 LASER 干预
输入:
预训练 LLM(含权重 {W^(l,τ):l=0..L-1, τ∈参数类型})
超参数 (τ*, l*, ρ*)
目标任务验证集 D_val
第 1 步:加载预训练权重(无需微调)
第 2 步:提取目标权重矩阵
W ← W^(l*, τ*) ∈ ℝ^(m × n)
第 3 步:计算全量 SVD
U, S, Vt ← svd(W, full_matrices=False)
第 4 步:计算目标秩
k ← floor(ρ* × min(m, n))
第 5 步:截断到前 k 个分量
U_k ← U[:, :k] ∈ ℝ^(m × k)
S_k ← diag(S[:k]) ∈ ℝ^(k × k)
Vt_k ← Vt[:k, :] ∈ ℝ^(k × n)
第 6 步:重建低秩近似
W_k ← U_k @ S_k @ Vt_k ∈ ℝ^(m × n)
第 7 步:替换回模型
W^(l*, τ*) ← W_k
输出:含低秩近似权重的 LLM(其他权重不变)
算法二:超参数搜索
输入:LLM,任务 T,数据拆分:D_val (前 20%) / D_test (后 80%)
搜索空间:τ ∈ 参数类型, l ∈ {0..L-1},
ρ ∈ {0.01, 0.05, 0.1, 0.2, 0.4, 0.8, 0.9}
best_acc ← 基础模型在 D_val 上的准确率
best_params ← None
对每个 (τ, l, ρ) 组合:
修改后的 LLM ← apply_LASER(LLM, τ, l, ρ)
acc_val ← 在 D_val 上评估
if acc_val > best_acc:
best_acc ← acc_val
best_params ← (τ, l, ρ)
if best_params 不为 None:
最终 LLM ← apply_LASER(LLM, best_params)
return 在 D_test 上的准确率
else:
return 基础模型在 D_test 上的准确率
关键细节:搜索的总配置数约为 |参数类型| × L × |ρ网格|。对于 LLaMA-2-7B(32 层,约 8 种参数类型,7 个 ρ 值),大约 1792 个配置。每个配置只需做一次 SVD + 一次前向传播验证,计算量很小。
计算成本分析
SVD 计算成本。 对于 (),全量 SVD 时间复杂度 。对 LLaMA-2-7B 的 MLP 权重矩阵():
- SVD 每次约需数秒(A100 GPU 上)
- 整个搜索约需 4–8 小时
内存:理论上可以大幅压缩。 若以分解形式 存储(而非重建全矩阵),内存从 降至 :
当 时, 的理论内存节省。
现实中的遗憾: 当前 LASER 代码库并未实现分解存储,而是重建了全矩阵,因此推理时没有内存或计算量的节省。这是一个已知但尚未修复的工程缺口。
flowchart LR
subgraph "存储形式对比 (rho=0.01)"
A["原始 W\n4096x11008 = 45M 浮点数"]
B["分解形式 U_k,S_k,Vt_k\nk(m+n) ~ 619K\n理论 73x 压缩"]
C["当前代码:重建 W_k\n仍是 4096x11008 = 45M\n无内存节省"]
end
A --> B
A --> C
B --> D["73x 内存节省(未实现)"]
C --> E["与原模型\n相同内存占用"]
style B fill:#4CAF50,color:#fff
style C fill:#FF5722,color:#fff
style D fill:#9E9E9E,color:#fff
图 3:当前实现与理论潜力的对比。理论上可以节省 73 倍内存,但当前代码重建了完整矩阵,没有任何内存节省。
噪声假设:为什么秩截断会有帮助?
这是本文最核心也最难回答的问题。论文给出的解释是噪声假设。
权重矩阵 = 信号 + 噪声
我们可以把权重矩阵写成:
当模型处理输入 时,某层的隐藏表征变化为:
第二项 把”噪声”加入了隐藏表征,可能把模型推向错误答案。LASER 把 替换为 ,从根源上消除了这个噪声项。
为什么噪声集中在高阶分量?
在随机梯度下降训练中:
- 高频、鲁棒的模式(如语言结构)在大量样本中一致地被强化 → 积累大的奇异值
- 低频、个例的模式(如数据集特定的虚假共现)在不同样本中互相矛盾 → 被平均掉,产生小的奇异值
从信号处理的视角来看,大奇异值对应低频成分(稳定信号),小奇异值对应高频成分(噪声)。截断 SVD 相当于一个低通滤波器,保留稳定的信号,丢弃不稳定的噪声。
替代解释:不只是”噪声去除”
论文自己也承认,噪声假设并非唯一的解释。两种可能的替代解释:
隐式正则化假设(Implicit Regularization): 低秩近似等价于对权重矩阵施加了一个隐式的核范数(nuclear norm)正则化项。正则化通常防止过拟合,使模型在测试集上泛化更好。从这个角度看,LASER 只是”事后正则化”,与 dropout 或权重衰减的作用类似,只是施加方式不同(后验 vs. 训练中)。
信息瓶颈假设(Information Bottleneck): 低秩近似迫使信息通过更窄的”瓶颈”( 维子空间),这可能迫使模型依赖更抽象、更鲁棒的特征,而不是具体的表面线索。这类似于 Dropout 通过随机丢弃神经元来迫使网络学习冗余表征。
这三种假设(噪声、正则化、信息瓶颈)在实验上很难完全区分。SVD vs. 随机截断的对照实验(证明 SVD 方向特殊)支持噪声假设,但并不完全排除正则化和信息瓶颈的解释。最终这三种机制可能都在起作用。
为什么必须是 SVD,而不是随机截断?
实验的关键对照是:将 LASER 与”随机低秩投影”(random rank reduction)相比——使用随机正交基而非 SVD 给出的基,截断到相同的秩 。
结果:随机截断没有提升,有时还会降低性能。 提升来自于 SVD 方向的特殊性,而不是秩的降低本身。这排除了”仅靠压缩就能带来正则化效果”的简单解释,证明 SVD 揭示了权重矩阵中真实存在的信号-噪声结构。
flowchart TD
subgraph "权重矩阵 W 中的信息分层"
TOP["前 1pct 奇异分量 (k~41)\n大值 50-200\n鲁棒特征与语义结构\n正确推理所需信息"]
MID["中间 9pct 奇异分量 (k~410)\n中值 5-50\n通用统计模式"]
LOW["后 90pct 奇异分量 (k~3686)\n小值 0-5\n虚假共现与刻板印象\n训练噪声\nLASER 丢弃这部分"]
end
TOP --> G1["推理时有帮助"]
MID --> G2["中性或轻微有帮助"]
LOW --> G3["推理时有干扰\nLASER 移除后性能提升"]
style TOP fill:#4CAF50,color:#fff
style LOW fill:#FF5722,color:#fff
style G3 fill:#FF5722,color:#fff
style G1 fill:#4CAF50,color:#fff
图 4:权重矩阵中的信息分层。LASER 丢弃后 90% 的奇异分量,移除的正是干扰推理的噪声。
实验设置
被测模型
| 模型 | 参数量 | 架构 | 层数 |
|---|---|---|---|
| RoBERTa | 355M | 仅编码器,BERT 变体 | 12 |
| GPT-J | 6B | 仅解码器,28 层 | 28 |
| LLaMA-2 | 7B | 仅解码器,32 层,SwiGLU | 32 |
测试集
| 数据集 | 类型 | 简述 |
|---|---|---|
| CounterFact | 事实召回问答 | 多项选择,测试事实关联 |
| HotpotQA | 多跳推理 | 需要多步推理 |
| FEVER | 事实核查 | 二分类声明验证 |
| Bios-Gender | 性别预测 | 从职业简历预测性别 |
| Bios-Profession | 职业预测 | 从简历预测职业 |
| TruthfulQA | 真实性测试 | 测试模型是否给出真实答案 |
| BigBench-Epistemic | 认识推理 | 关于信念的逻辑推理 |
| BigBench-WikidataQA | 事实检索 | 多选 QA,基于 Wikidata |
评估协议
- 数据拆分:前 20% 作验证集(超参数搜索用),后 80% 作测试集
- 评估指标:基于对数似然排名(log-likelihood ranking)的准确率 —— 在候选答案中选择模型概率最高的那个
- 对比基线:基础模型(无干预)+ 随机低秩投影(相同秩,随机正交基)
一个重要细节: log-likelihood ranking 是一种限制性评估——它衡量的是模型在给定候选答案集合中的排名,而非模型能否从头生成正确答案。这种评估方式比开放式生成容易得多,LASER 的提升可能不能直接迁移到生成类任务上。
主要实验结果
核心数字
| 模型 | 数据集 | 基础准确率 | LASER 准确率 | 提升 | 最优参数 |
|---|---|---|---|---|---|
| GPT-J (6B) | CounterFact | 13.1% | 24.0% | +10.9 pp | (Uin, 27, 0.01) |
| GPT-J (6B) | Bios-Gender | 70.9% | 97.5% | +26.6 pp | (Uin, 14, 0.01) |
| GPT-J (6B) | BigBench-Wikidata | 51.8% | 65.9% | +14.1 pp | (Uin, 27, 0.01) |
| LLaMA-2 (7B) | Bios-Gender | 75.5% | 88.4% | +12.9 pp | (Uin, 24, 0.01) |
| LLaMA-2 (7B) | BigBench-Epistemic | 44.8% | 63.4% | +18.6 pp | (Uout, 28, 0.01) |
| LLaMA-2 (7B) | TruthfulQA | 50.5% | 56.2% | +5.7 pp | (Uin, 30, 0.05) |
| RoBERTa (355M) | Bios-Profession | 64.5% | 72.5% | +8.0 pp | (Uin, 3, 0.9) |
规律总结:
- 最优 几乎总是 (只保留 1% 的秩!极度激进)
- 最优 几乎总是
fc_in(MLP 第一层 / Uin) - 最优层 几乎总是位于网络的后 25%(LLaMA-2 的第 24–30 层,GPT-J 的第 26–27 层)
flowchart LR
subgraph "LASER 效果 vs 基线 — LLaMA-2 7B"
E1["BigBench-Epistemic\n基础: 44.8pct\n随机低秩: ~44pct\nLASER: 63.4pct ✓ (+18.6pp)"]
E2["Bios-Gender\n基础: 75.5pct\n随机低秩: ~75pct\nLASER: 88.4pct ✓ (+12.9pp)"]
E3["TruthfulQA\n基础: 50.5pct\n随机低秩: ~50pct\nLASER: 56.2pct ✓ (+5.7pp)"]
end
style E1 fill:#4CAF50,color:#fff
style E2 fill:#4CAF50,color:#fff
style E3 fill:#4CAF50,color:#fff
图 5:LASER 与随机低秩投影(相同秩的随机正交基)的对比。随机截断不提升性能,说明 SVD 方向的选择至关重要。
为什么后期层最重要?
系统性地扫描所有层后发现:LASER 的提升高度集中在后 20–30% 的 Transformer 层。早期层(嵌入层 + 初始处理)几乎没有帮助;后期层(尤其是最后 2–5 层)的收益最大。
这与 Transformer 的分层计算模型一致:
- 早期层:提取低级特征(词法、句法)
- 中间层:构建上下文化表征
- 后期层:进行最终的”决策”——预测下一个 token 或选择答案
后期层的 MLP 矩阵积累了最多的任务特定噪声,也因此从 LASER 中获益最多。
泛化到强化学习:Decision Transformer
为了证明这一发现不局限于语言模型,论文将 LASER 应用到 Decision Transformer(DT)——一种用于离线强化学习的 Transformer 模型,完全没有语言建模目标。
结果:LASER 在 RL 任务上同样提升了 DT 的性能。这说明这一现象是 Transformer 训练动态的普遍属性,而非语言建模特有的现象。
奇异值谱的深度分析
真正理解 LASER 为何奏效,需要深入观察 Transformer 权重矩阵的奇异值分布实际上是什么形状。
典型的奇异值谱
预训练 LLM 的权重矩阵奇异值分布呈重尾分布:少数几个非常大的奇异值,之后迅速跌落,然后是一条很长、很平的小奇异值尾巴。
对 LLaMA-2-7B 的 MLP 矩阵()而言:
- 前 1%(约 41 个分量):
- 前 10%(约 410 个分量):
- 后 90%(约 3686 个分量):,极长尾巴
保留比例与保留方差的关系:
由于矩阵奇异值是重尾分布,保留前 1% 的分量通常能保留约 60–80% 的 Frobenius 范数(矩阵总方差)!后 90% 的分量数量虽多,但总方差贡献只有约 10%。这解释了为什么 的极端截断在数学上是合理的——大部分”信息质量”已经被前几个奇异值捕获。
有效秩(Effective Rank)。 用奇异值分布的熵来定量衡量矩阵的实际维度:
对于预训练 LLM 的 MLP 矩阵,–,说明其实际信息维度只有全秩的 5–15%。这是自然语言低维结构 + 梯度下降信息集中效应的共同结果。
数值例子:LASER 的实际效果
为了让抽象的矩阵操作更加具体,我们用一个小例子来演示 LASER 的工作原理(实际模型中矩阵是 ,但原理完全相同)。
假设有一个 的权重矩阵:
做 SVD 分解后,奇异值为 , , 。
用 (保留 1 个分量,类比真实矩阵中的 1% 截断):
丢弃的误差 。
关键观察:
- 的主要结构(对角线的大数值)被完美保留
- 丢弃了 对应的分量——这是一个中等大小的方向,可能编码了特定训练数据的虚假关联
- 基本是纯噪声,丢弃无影响
MLP 输出的变化。 给定输入 ,MLP 计算 ,包含了在所有奇异方向上的投影。替换为 后:
被丢弃的分量 就是 LASER 从隐藏表征中消除的”噪声贡献”。
层间传播效应
LASER 修改的是第 层的单个权重矩阵,但其效果会通过后续层传播。修改 层会影响 到 层的所有计算。这解释了为什么后期层的 LASER 效果最显著:
- 在第 层(最后一层)应用 LASER:直接影响最终预测,后续无更多噪声层干扰
- 在第 0 层(第一层)应用 LASER:清理后的表征还需经过 个可能含噪的层,收益被稀释
数学上,设第 到 层的函数复合为 ,则输出变化为:
后期层的变化对输出的影响(即上式的 Jacobian)通常更大,因此 LASER 的最佳层总是靠近输出端。
与知识编辑(Model Editing)研究的关联
LASER 的发现与近年来兴起的**模型编辑(Model Editing)**研究密切相关,理解这个关联有助于深刻理解 LASER 的意义。
ROME:事实知识的定位
ROME(Meng et al. 2022, NeurIPS 2022)是模型编辑领域的里程碑工作。它发现:
GPT 类模型中的事实性知识(如”埃菲尔铁塔在哪个城市”)可以被精确定位到特定 MLP 层的特定权重区域,并且可以通过只修改那个区域来改变模型的答案。
ROME 的核心发现与 LASER 高度一致:
- 两者都表明 MLP 层(而非注意力层)是事实信息的主要存储地
- 两者都关注模型层次中的后期层
- ROME 通过增量修改改变单个事实,LASER 通过截断去除积累的噪声
关键区别: ROME 是外科手术式的精准编辑(修改一个事实),LASER 是粗粒度的噪声清除(截断整个矩阵的高阶分量)。ROME 假设模型编码的知识是正确的只是需要更新,LASER 假设模型编码了过多”错误”的知识(虚假关联)需要去除。
Transformer FFN 作为键值记忆
Geva et al. (2021) 将 FFN 层类比为键值记忆:
- 的每一行 是一个”键”(key),当输入 与之对齐时激活
- 的每一列 是对应的”值”(value),被读出并加到输出中
在这个框架下,LASER 的效果是:截断 (或 )的高阶奇异分量相当于删除那些被少数样本强烈激活、在多数样本中产生干扰的”虚假键值对”。留下来的是在大量样本中稳定激活的、鲁棒的键值对——即真正有用的推理知识。
flowchart LR
subgraph "FFN 作为键值记忆(Geva et al. 2021)"
W1["W₁(键矩阵)\n每行 w₁^(j) = 一个模式检测器\n匹配时激活第 j 个神经元"]
ACT["激活函数 ReLU\n稀疏激活:只有少数 j 激活"]
W2["W₂(值矩阵)\n每列 w₂^(j) = 对应的知识读出\n加权求和到输出"]
end
X["输入 x"] --> W1 --> ACT --> W2 --> H["输出 h = FFN(x)"]
subgraph "LASER 的效果"
L1["截断 W₁ 的高阶分量\n= 删除不鲁棒的键(稀有模式检测器)"]
L2["截断 W₂ 的高阶分量\n= 删除不鲁棒的值(稀有知识读出)"]
end
W1 -.-> L1
W2 -.-> L2
style L1 fill:#FF9800,color:#000
style L2 fill:#FF9800,color:#000
图 6:将 FFN 层视为键值记忆的框架。LASER 截断高阶奇异分量等价于去除那些不鲁棒的键值对。
实用指南:如何在自己的模型上尝试 LASER
如果你想在自己的模型和任务上尝试 LASER,以下是一个实用步骤指引:
第一步:准备验证集。 需要约 500–2000 条标注样本作为验证集(用于超参数搜索),剩余样本作为测试集。
第二步:确定搜索空间。 根据论文的经验,优先搜索:
- 参数类型:
fc_in(MLP 第一层)>fc_out(MLP 第二层)> 注意力矩阵 - 层范围:后 25% 的层(例如 32 层模型的第 24–32 层)
- 秩保留比例:
第三步:运行 SVD 并评估。
import torch
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-2-7b-hf",
torch_dtype=torch.float16)
def apply_laser(model, layer_idx, param_name, rho):
"""应用 LASER 干预"""
# 获取目标权重矩阵
W = model.model.layers[layer_idx].mlp.gate_proj.weight.data
# SVD 分解
U, S, Vt = torch.linalg.svd(W, full_matrices=False)
# 计算截断秩
k = int(rho * min(W.shape))
# 重建低秩近似
W_k = U[:, :k] @ torch.diag(S[:k]) @ Vt[:k, :]
# 替换权重
model.model.layers[layer_idx].mlp.gate_proj.weight.data = W_k
return model
第四步:选择最优超参数并评估测试集。 记录每组超参数在验证集上的准确率,选择最高的组合在测试集上评估。
预期计算成本: LLaMA-2-7B,200 个搜索配置,1000 条验证样本 → 约 4–8 小时(单 A100 80GB GPU)。SVD 计算本身很快,瓶颈在验证集的前向传播评估。
本文贡献的深远意义
LASER 的影响超出了方法本身,它提出了几个对整个 LLM 领域都有深远意义的问题:
1. 训练目标与推理目标之间存在根本性偏差。 LLM 通过预测下一个 token 训练,这个目标包含大量与下游推理任务无关甚至有害的监督信号。LASER 是对这种偏差的一个后验校正。更根本的问题是:能否在训练中就避免学到这些”噪声”?谱正则化(spectral regularization)或者低秩约束训练可能是一个方向。
2. 模型的”有效参数量”远小于名义参数量。 LASER 证明,7B 参数的模型在特定推理任务上,真正被用到的关键信息只分布在某一层权重矩阵的 ~41 个奇异方向里。“有效参数量”的概念需要重新定义。
3. 压缩的目标不一定是”保持性能”,而可以是”提升性能”。 传统模型压缩追求的是压缩后性能与原始模型持平(或降低尽可能少)。LASER 开了一个先例:在某些设置下,有针对性地压缩反而能提升性能。这个视角值得在量化、剪枝等其他压缩方法中加以探索。
与 LoRA 等低秩方法的对比
LASER 和 LoRA 都利用了权重矩阵的低秩结构,但方向截然相反:
| 方面 | LoRA | LASER |
|---|---|---|
| 使用时机 | 微调阶段 | 训练完成后 |
| 操作方式 | 向 加上低秩更新 | 把 替换为 (截断) |
| 所需数据 | 完整的微调数据集 | 小型验证集(超参数搜索) |
| 变化方向 | 加入低秩增量 | 去除高秩分量 |
| 动机 | 参数效率 | 噪声去除 |
核心哲学差异: LoRA 假设预训练的 是一个好的起点,只需要加上任务相关的微调量。LASER 假设 本身就包含了推理所需的全部信息,只是被噪声遮盖了——去掉噪声就够了,不需要额外学习。
LASER 与现有 LLM 知识的整合
有效秩假设与 LoRA 的共同基础
LoRA 和 LASER 看似方向相反,但都建立在同一个关于大型语言模型的基本观察上:权重矩阵的有效维数远小于其名义维数。
- LoRA 的做法:既然有效秩低,我们只需要学习低秩的更新量 (, ,),而无需更新整个矩阵
- LASER 的做法:既然有效秩低,我们直接把无效的高秩分量截断掉,只保留真正有用的低维信息
两者其实都在说同一件事:模型的权重矩阵里有大量”无用”的维度空间。区别在于:LoRA 认为这些空间是”空的”可以用来写入新知识;LASER 认为这些空间是”被噪声占据的”应该清空它们。
与量化方法的比较
量化(Quantization)(如 GPTQ, AWQ)把每个权重的浮点精度从 FP16 降到 INT8 或 INT4。这是一种不同维度的信息压缩:
- 量化保留权重的结构(秩不变),但降低每个数值的精度
- LASER 保留权重的精度(数值仍然是 FP16/FP32),但降低矩阵的秩
有趣的组合实验:将 LASER 和量化结合(先做 LASER,再对低秩矩阵做量化),理论上可以获得两个维度的压缩效益。这是一个论文没有探索但值得尝试的方向。
与 SliceGPT 的对比
SliceGPT(另一种 SVD 剪枝方法)对整个模型进行全局 SVD 分析,统一截断所有层到相同的目标秩,并配合 PCA 白化来最小化截断误差。
LASER 与 SliceGPT 的关键区别在于:
- LASER 是逐层独立的,每层可以有不同的 (甚至大部分层的 ,即不做任何截断)
- SliceGPT 是全局统一的,追求模型整体压缩后的最小性能损失
- LASER 的目标是提升性能,SliceGPT 的目标是保持性能同时降低计算量
这两个目标在不同场景下各有价值,并非互相竞争而是互补的。
批判性分析:不足与可改进之处
主要弱点与问题
(a) 超参数极端区间令人疑惑。 (只保留 1% 的秩)几乎在所有实验中都是最优值。对于一个 4096 维的矩阵,这意味着只保留约 41 个分量(而不是 4096 个)。论文没有回答:为什么 或更激进的截断不行?为什么 1% 是一个特殊的点?这个区间的选择缺乏理论解释。
(b) 需要标注验证集,但被低估了。 论文声称”不需要额外的参数或数据”,但超参数搜索使用了标注好的验证集(20% 的数据)。在实际应用中,为每个新任务收集标注数据并非零成本。这种表述有误导性——LASER 的正确定性是”不需要梯度”,而不是”不需要任何数据”。
(c) 缺少关键基线对比。 论文只与基础模型和随机低秩投影对比,没有与以下方法对比:
- 在相同 20% 验证集上做 LoRA 微调
- Few-shot prompting(将验证集样本作为示例)
- 量化方法(AWQ、GPTQ)应用于相同层
没有这些对比,就无法判断 LASER 在同等数据预算下的竞争力。
(d) 没有报告方差。 所有结果都是单次运行的点估计值。对于 +2.5pp 这样的小提升,没有误差棒就无法判断是否显著。
(e) 评估指标局限性被淡化。 所有基准测试都用 log-likelihood ranking,而非自由文本生成。这是一种相对容易的评估范式。LASER 对生成质量的影响完全未知。
作者淡化或回避的局限
(a) 机制本质上仍然不明。 噪声假设是一个直觉性解释,没有数学证明。论文给出的是相关性证据(改进集中在后期 MLP 层,与知识存储文献一致),但没有因果分析。具体来说:被丢弃的高阶奇异向量到底编码了什么信息?能不能可解释地展示这些”噪声”分量对应哪些虚假关联?对比验证实验(如:去除特定分量后,模型在对应的虚假关联问题上是否性能下降?)是验证这一假设的关键,但论文没有做。这个可解释性缺口在论文中几乎没有被提及。
(b) 可扩展性完全是未知数。 论文发表于 2023 年底,测试的最大模型只有 7B。70B、140B 甚至更大规模的模型是否有相同现象?随着模型规模增大,奇异值谱的形状会如何变化?有理由猜测更大的模型可能需要不同的最优 ——因为更大模型的权重矩阵可能已经更好地分离了”信号”和”噪声”(更充分的训练),也可能更差(更多的刻板印象学习机会)。这些开放问题没有被明确标记为局限。
(c) 多任务部署不可行。 LASER 的最优超参数是任务特定的。在一个需要同时服务多种任务的系统中,你无法使用为某一个任务优化的 LASER 参数——针对 CounterFact 优化的 LASER 可能会损害 TruthfulQA 上的性能,反之亦然。这是一个严重的实际部署约束,但论文没有讨论。
(d) log-likelihood ranking 局限性被忽视。 所有实验使用的评估方式是在给定的候选答案集合中选最高概率的那个,而非让模型自由生成答案。论文中几乎没有对这一局限性发出任何警示,读者容易对结果的迁移性产生过度乐观的预期。
具体可改进的方向
-
与在相同验证集上微调的 LoRA 做对比。 这是最重要的缺失基线。如果 LASER 能在相同数据量下胜过微调,那才是真正令人信服的结果;如果不能,则 LASER 的定位应该是”廉价的微调替代品”而非”优于微调的新范式”。
-
基于谱特性自动选择超参数。 探索是否可以用权重矩阵的谱间隙( 的最大跌落位置)来预测最优截断点,从而不需要标注验证集就能确定 。这会大幅扩大 LASER 的实用价值。
-
实现并测试分解式推理。 将 以 的分解形式存储,在推理时计算 ,而不是重建完整矩阵。理论上可节省 50× 计算量(在该层),这会让 LASER 真正具备推理加速价值。
-
测试指令微调模型。 实验只在基础预训练模型上进行。指令微调和 RLHF 显著改变了权重结构,LASER 是否同样有效是完全开放的问题。
-
可解释性分析。 检查被丢弃的奇异向量(),找出在这些方向上投影值最大的词表 token,看看它们是否对应虚假关联或刻板印象。这是对噪声假设的最直接验证,也是缺失最明显的实验。
-
扩展到生成任务评估。 在 MMLU、HELM 等需要自由文本生成的基准上测试 LASER,而非只用 log-likelihood ranking。
-
分析多任务 LASER 的兼容性。 验证为任务 A 优化的 LASER 超参数是否会损害任务 B 的性能。如果不兼容,则 LASER 只适合单任务专用部署,这是一个严重的实用限制,需要在论文中明确指出。
-
探索 LASER + 量化的组合。 量化(INT8/INT4)和 LASER 是两个正交的压缩维度(精度 vs. 秩)。系统地研究先 LASER 再量化,或者反过来,能否在准确率和压缩率上同时取得更好的效果,是一个很有实践价值的方向。
-
测试 LASER 在较大规模上的规律。 从 355M(RoBERTa)到 7B(LLaMA-2)只跨越了不到一个数量级。在 13B、34B、70B 甚至 140B 参数规模上,最优 会如何变化?改善比例会增大还是缩小?这些都是重要的 scaling law 问题。
各基准测试的深度解读
不同基准测试在 LASER 下的表现差异很大,值得逐一分析原因:
CounterFact (+10.9 pp for GPT-J): CounterFact 测试事实性问答,问题形式是”[X] 是 [属性],因为它位于 [Y]“。这类任务要求模型在多个相关事实间做出判断,虚假关联的干扰最为明显——模型可能因为见过太多关于”著名建筑在欧洲”的文本而对某些选项有偏好,即使答案是错的。LASER 移除这些偏好后,准确率大幅提升。
Bios-Gender (+26.6 pp for GPT-J): 这是提升最大的任务。从职业简历预测性别的任务高度依赖对”职业-性别关联”的推断,而这正是 LLM 预训练时最容易学到刻板印象的领域(训练数据中职业与性别的虚假共现极多)。LASER 在这里的巨大提升,强烈支持了”高阶奇异分量编码了偏见性刻板印象”的噪声假设。
BigBench-Epistemic Reasoning (+18.6 pp for LLaMA-2): 认识推理要求模型理解”什么是真实的、什么是被相信的、什么是不确定的”——这是一种元认知能力。LLM 在这类任务上通常会因为过度依赖表面语言模式而失败。LASER 在这里的显著提升,说明后期 MLP 层中的噪声特别妨碍了这种抽象推理能力。
TruthfulQA (+5.7 pp for LLaMA-2): TruthfulQA 测试模型是否给出真实的(而非看似合理的)答案。这类任务的特点是”反直觉”——常见的错误答案通常在语言上听起来比正确答案更”自然”。LASER 的适度提升说明它确实降低了模型对流行错误答案的偏好,但效果不如直接的事实推理任务那么大。
HotpotQA(多跳推理): 这个任务的结果是混合的(部分模型提升不大)。多跳推理需要多次信息检索和组合,LASER 的单层单矩阵干预可能不足以清理所有推理步骤中积累的噪声,需要多层组合 LASER 才能充分受益。
LASER 告诉我们关于预训练的什么
LASER 的成功是一个对预训练过程的诊断结果:
诊断 1:标准预训练在权重中注入了系统性噪声。 如果所有训练下来的信息都是有用的,LASER 不可能通过去除信息来提升性能。LASER 的成功意味着”学得更多不等于推理更好”——模型学到了很多干扰推理的冗余信息。
诊断 2:有用信息的维度极低。 最优 意味着一个特定任务所需的推理信息,可以被压缩到原权重矩阵 1% 的低维子空间里。这与”大模型是过参数化的”这个常识一致,但 LASER 给出了一个更精确的量化:不只是整体过参数化,而是逐层、逐矩阵地过参数化,且有用信息高度集中。
诊断 3:预训练目标(下一个 token 预测)与推理能力之间有结构性偏差。 预训练迫使模型学习大量表面统计规律(哪些 token 在哪些上下文中高频出现),而这些规律中有很多在推理任务中是有害的。LASER 的后验清理可以看作是对这种偏差的一种廉价修正。
对未来预训练方法的启示: 能否在训练时就引入谱正则化(惩罚权重矩阵的有效秩过大),让模型从一开始就学到更低秩、更鲁棒的表征?这是一个尚未被充分探索的研究方向,而 LASER 的发现为这个方向提供了强力的动机。
关键收获总结
以下是这篇论文建立的结论、没有建立的结论,以及仍然开放的问题:
已建立的结论:
- SVD 截断特定层的特定权重矩阵,在不训练的情况下可以显著提升推理准确率
- 最优区间极度激进:(1% 的秩),集中在后期 MLP 层的 fc_in
- 随机低秩截断无效——SVD 方向是关键,而非仅仅秩的降低
- 效果泛化到 Decision Transformer(强化学习),说明这是 Transformer 训练动态的普遍现象
尚未建立的结论:
- 理论解释(噪声假设是直觉,不是数学证明)
- 70B+ 大模型上的可扩展性
- 在指令微调或 RLHF 模型上的效果
- 与微调(LoRA、full fine-tuning)在相同数据预算下的对比竞争力
- 在开放式生成任务(而非分类)上的效果
最值得探索的开放问题:
- 能否基于权重矩阵的谱特性(谱间隙、有效秩)自动确定最优截断点,从而不需要验证集?
- 高阶奇异方向(被 LASER 丢弃的分量)到底编码了哪些可解释的知识?能否直接可视化这些”噪声”?
- 是否存在一种训练方法,可以从源头减少这种噪声的积累?
LASER 中的数学自洽性
值得注意的是,LASER 方法具有很好的数学自洽性:截断 SVD 在 Frobenius 范数意义下是最优的低秩近似,这意味着 LASER 在”给定保留秩数,尽可能保留原矩阵信息”这个目标下是最优的。
然而,这个数学最优性是对原矩阵 的近似最优性,不是对下游任务性能的最优性。“尽可能接近 “和”在任务 T 上表现最好”是两个不同的目标。事实上,LASER 的成功恰恰说明了这两个目标之间的根本分歧:对 保真度最高的近似(,接近原始矩阵)并不是在任务 T 上表现最好的,反而是对 保真度最差的极端截断(,丢弃 99% 的信息)才是任务性能最高的。
这个悖论背后的含义深远:Frobenius 范数近似误差与任务误差之间存在系统性的负相关——至少在特定层和特定任务上。这意味着 本身不是一个好的”任务代理”,原始权重矩阵编码了大量与任务负相关的信息。
这也对传统的”压缩-评估”范式提出了挑战。 过去我们评估模型压缩方法的好坏,往往用”被压缩后在通用基准上的性能下降了多少”作为评价标准。LASER 说明这个标准是有问题的——某种压缩方式可能在通用基准上看起来”损害了很多性能”,但在特定任务上反而有帮助。评估框架需要更加任务感知(task-aware)。
可复现性说明
如果你想复现这篇论文的结果,以下是一些关键的实践细节:
代码: 开源于 GitHub (github.com/pratyushasharma/laser),MIT 许可证。
数据集获取:
- CounterFact:需要运行仓库中的下载脚本
scripts/get_counterfact.py - HotpotQA、FEVER、BigBench:通过 HuggingFace Datasets 获取
- Bios(Gender/Profession):论文附带数据集链接
模型获取:
- GPT-J-6B:HuggingFace 开放访问(
EleutherAI/gpt-j-6B) - LLaMA-2-7B:需要 Meta AI 申请访问权限(通常 1–2 天批复)
- RoBERTa-large:HuggingFace 开放访问(
roberta-large)
硬件要求:
- LLaMA-2-7B:FP16 加载约需 14 GB GPU 显存,SVD 计算和评估需额外 8 GB → 建议 24 GB 显存(RTX 3090 / A5000 / A6000)
- 搜索总时间:约 4–8 小时(单卡,约 200 个配置)
关于随机种子: 论文没有明确说明验证/测试拆分的随机种子,复现时数据拆分的随机性可能导致最优超参数略有不同(但大趋势应该一致)。
最有可能遇到的坑:
- 新模型需要手动写参数名映射(
lname→ 实际 PyTorch 参数路径) - BigBench 需要安装额外的
bigbench包,依赖较多 - 某些实验文件把验证集和测试集的计算混合在一起,需要仔细阅读代码才能正确分离
总结
LASER 是一个让人难以置信却又实验翔实的结果:极度激进的 SVD 截断——保留 1% 的秩——在后期 MLP 层能让 LLM 的推理性能大幅提升,且不需要任何梯度计算。这个结果在多个模型(RoBERTa 355M、GPT-J 6B、LLaMA-2 7B)和多个基准(CounterFact、Bios、BigBench、FEVER、TruthfulQA)上都得到了验证,并且成功泛化到了强化学习的 Decision Transformer,说明这不是某个特定模型或数据集的偶发现象,而是 Transformer 训练动态的普遍特征。
对这篇论文最深的印象,不是 LASER 方法本身有多复杂(它其实非常简单——核心就是 SVD 加截断),而是它揭示的一个不舒服的现实:大型语言模型的训练权重里,存在大量对推理有害的”噪声”,这些噪声被系统性地编码在权重矩阵的高阶奇异分量里。我们花了巨大的算力训练这些模型,却发现推理所需的”真相”只藏在权重信息的一个很小的子空间里(约为全秩的 1%),其余的大部分反而是负担。
换句话说:真相就在那里,只是被太多噪声掩盖了。 这正是这篇论文标题的含义——“The Truth is in There”。清除噪声,让真相浮现,这就是 LASER 的全部。
作为一篇 ICLR 2024 论文,LASER 在评审时显然也引发了争议——“丢掉 99% 的矩阵信息,性能反而提升”这个结论对任何审稿人来说都是反直觉的。能在顶会上发表,说明实验设计足够严格,结论足够稳健。这也是这篇论文值得认真阅读、深入思考的原因:反直觉的结果,往往才是最有价值的发现。
关于所需标注数据量的实际建议: 超参数搜索需要标注验证集。根据论文协议,使用数据集的 20% 作为验证集。如果总数据量很小(如 500 条),可以考虑使用更少(如 100 条)作为验证集,只要搜索的超参数数量也相应减少(专注于最有可能的区间:后期层 + fc_in + )。
对实践者的建议: 如果你有目标任务的少量标注数据,花几小时跑一次 LASER 搜索,成本比微调低得多,可能带来意外收获。使用建议的搜索策略:优先搜索后 25% 的层,参数类型优先试 fc_in, 从 0.01 开始。如果没有效果,再扩大搜索范围到其他参数类型和更多层。
对研究者的建议: 最有价值的后续工作是理解为什么——为什么 SVD 方向有效、为什么是 1% 的秩、为什么集中在后期 MLP 层——而不仅仅是证明 LASER 在更多模型上有效。理解机制,才能设计出更好的训练方法,从根本上减少权重噪声的产生。最高优先级的两个后续工作:(1) 用可解释性工具检查被丢弃的奇异方向,证明它们确实编码了刻板印象或虚假关联;(2) 在 70B+ 模型上验证该现象是否仍然成立。
这篇论文最深刻的贡献,不是提供了一个实用工具(虽然 LASER 确实有实用价值),而是揭示了一个令人不安的现实:我们花费了巨大算力训练出来的大型语言模型,其权重矩阵里充斥着大量对推理有害的噪声,而真正有用的推理知识只隐藏在一个极低维的子空间里。如何让训练过程一开始就不产生这种噪声,是值得整个领域深思的根本问题。
本笔记的范围说明
这篇笔记基于论文公开的 arXiv 版本(2312.13558,ICLR 2024 版本)和论文网站上的实验结果。部分实验细节(例如超参数网格搜索的完整范围、验证集和测试集拆分的具体随机种子、某些模型的参数名映射细节)从论文的正文、附录和 GitHub 代码库中综合整理得出。
笔记中的奇异值谱数值(如”前 1% 保留约 70% 方差”)是基于预训练 LLM 权重矩阵典型重尾分布的合理估算,非论文原文中的精确数字——论文本身没有给出这些量化数据。读者如需精确数字,建议直接在目标模型的实际权重矩阵上运行 torch.linalg.svd 进行测量。
关于 LASER 名字的一个小注解
“LASER”这个名字来自 LAyer-SElective Rank Reduction,层选择性秩截断。这个命名很贴切:就像激光(laser)把光聚焦到一个极小的点上,LASER(方法)把模型的改进聚焦到一个极小的秩子空间里。
激光的工作原理是通过受激辐射放大特定波长的光,同时滤除其他波长——这与 LASER 方法(保留特定奇异方向,滤除其他方向)在概念上完全吻合。这个类比也许是作者有意为之的,它揭示了该方法的本质:精准地放大信号,同时消除噪声。
从技术上讲,LASER 是一种后验(post-hoc)干预,不改变模型的架构,不增加参数量,也不需要重新训练。它是一种纯粹基于线性代数操作的模型行为调整方法。在这个意义上,它更像是”模型校准(calibration)“而非”模型压缩”或”模型微调”——虽然压缩和性能提升都是其副产品。
参考文献
- Sharma, P., Ash, J. T., & Misra, D. (2023). The Truth is in There: Improving Reasoning in Language Models with Layer-Selective Rank Reduction. arXiv:2312.13558 [ICLR 2024]
- Meng, K., Bau, D., Andonian, A., & Belinkov, Y. (2022). Locating and Editing Factual Associations in GPT. NeurIPS 2022 (ROME)
- Geva, M., Schuster, R., Berant, J., & Levy, O. (2021). Transformer Feed-Forward Layers Are Key-Value Memories. EMNLP 2021
- Hu, E. J., et al. (2022). LoRA: Low-Rank Adaptation of Large Language Models. ICLR 2022
- Zhang, Q., et al. (2023). AdaLoRA: Adaptive Budget Allocation for Parameter-Efficient Fine-Tuning. ICLR 2023
- Eckart, C., & Young, G. (1936). The approximation of one matrix by another of lower rank. Psychometrika
- Aghajanyan, A., et al. (2021). Intrinsic Dimensionality Explains the Effectiveness of Language Model Fine-Tuning. ACL 2021
- Chen, L., et al. (2021). Decision Transformer: Reinforcement Learning via Sequence Modeling. NeurIPS 2021
- Frantar, E., et al. (2022). GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers. ICLR 2023
- Lin, J., et al. (2024). AWQ: Activation-aware Weight Quantization for LLM Compression and Acceleration. MLSys 2024
本笔记由 Zhongzhu Zhou 撰写,2026-06-19。如有问题或讨论,欢迎通过博客留言联系。 所有实验数据来源于论文原文及其官方网站(pratyushasharma.github.io/laser/)的公开结果。 LASER 代码已开源:github.com/pratyushasharma/laser — 推荐直接克隆跑通后再阅读本笔记。