语言模型的安全错误纠正:冻结基座调整与能力保持
摘要
本文提出了CRN v2,一个轻量级的纠正模块,能够在不降低基座能力的前提下修复冻结语言模型中的错误,在领域考试中实现53.3%的纠正率,同时保持标准基准测试的性能。
arXiv:2609.16145v1 Announce Type: new
摘要:我们研究一个实际问题:一个小纠正模块能否在不降低基座能力的前提下修复冻结语言模型输出中的错误?我们提出了CRN v2,一个轻量级的logit级纠正模块(约3400万可训练参数,占46.5亿文本模块的0.73%),它置于一个完全冻结的Gemma 4 E2B模型之上。基座模型从未更新;只有纠正模块通过监督微调和随后的无参考DPO在83,400个错误纠正对上进行学习。在一个60题的领域考试(CEHRI:认证人类机器人智能,涵盖事实、算术和隐式目标推理)上,CRN v2纠正了53.3%的基座模型错误(重述变体:43.3%),同时在测试的能力基准(MMLU/BoolQ N=200;car-wash N=8)上没有显示出性能下降。匹配CRN v1预算的LoRA基线(660万参数,秩19)实现了83.3%的纠正率,但在相同基准上遭受30-75%的能力损失——这是纠正与能力之间的权衡。消融研究表明,KL保留项(lambda=0.1)至关重要:将其降低到0.01会使纠正率降至35.0%。一个在较早层注入隐藏状态的变体(160万参数,仅SFT)达到50.0%/55.8%,但不超过logit纠正;较浅层注入(第4层)降至30.0%/28.3%;多深度logit纠正(约3500万)仅达到40%;更长的训练(5,000 SFT + 2,000 DPO)保持在53.3%——我们测试的任何替代配置都未超过秩128的logit结果,这与约53%的最佳达成结果一致,而非下限。这是一项设计原则(冻结基座 + logit纠正 + KL锚定)的研究,而非架构新颖性的主张。所有代码、主要结果权重和评估脚本均已发布(深度变体仅提供代码——无训练深度检查点)。
查看缓存全文
缓存时间: 2026/09/16 08:56
# 语言模型的安全纠错:冻结基座与能力保持的调整方案
来源:https://arxiv.org/html/2609.16145
Gautam Kishore
2026年9月14日
###### 摘要
我们研究一个实际问题:一个小型纠错模块能否修复冻结语言模型输出中的错误,而不损害其基础能力?我们提出了 **CRN v2**,这是一个轻量级的 logit 级纠错模块(约 **34M** 可训练参数,占 4.65B 文本模块的 **0.73%**),它位于完全冻结的 Gemma 4 E2B 模型之上。基础模型从不更新;只有纠错模块通过监督微调(SFT)以及在 83,400 对纠错样本上的无参考 DPO 进行学习。在一个包含 60 道题目的领域考试(CEHRI:认证人类-机器人智能,涵盖事实、算术和隐含目标推理)中,CRN v2 纠正了基础模型 **53.3%** 的错误(重述变体为 **43.3%**),同时在测试的能力基准(MMLU/BoolQ N=200;car-wash N=8)上表现出 **无能力下降**。在匹配的 *CRN v1* 预算(6.6M 参数,秩为 19)下,LoRA 基线实现了 83.3% 的纠错率,但在相同基准上出现了 30–75% 的能力损失——这就是 **纠错与能力之间的权衡**。一项消融研究显示,KL 保留项(λ=0.1)至关重要:将其降低至 0.01 会导致纠错率下降至 35.0%。在较早层(1.6M 参数,仅 SFT)进行的隐藏状态注入变体达到了 50.0%/55.8%,但并未超越 logit 纠错;较浅层的注入(第 4 层)降至 30.0%/28.3%;多层深度 logit 纠错(约 35M)仅达到 40%;更长的训练(5,000 SFT + 2,000 DPO)保持在 53.3%——我们测试的所有替代配置均未超过秩为 128 的 logit 结果,这符合约 **53%** 的最佳达成结果而非下限。这是一项关于设计原则(冻结基座 + logit 纠错 + KL 锚定)的研究,而非声称架构新颖。所有代码、主要结果权重和评估脚本均已发布(深度变体仅提供代码——无训练好的深度检查点)。
**关键词**:纠错;冻结骨干适配器;能力保持;logit 调整;参数高效微调
## 1 引言
语言模型会犯错——事实错误、推理缺陷、不良建议。在部署中,必须在不损害模型已有优势的情况下捕捉和修复这些错误。朴素的解决方案是调整模型本身——例如通过 LoRA[2] 或全量微调——以减少在目标领域的错误。但调整通常会损害通用能力[9, 10, 11]:模型学会了修复特定错误,却忘记了它已知的知识。我们称此为 ***纠错与能力权衡***——激进的纠错会损害其他所有方面。
我们研究这种权衡是否必然。具体而言:一个小型纠错模块能否位于 ***冻结*** 的基础模型之上,学习修复错误,同时在无关任务上不损害基础模型的任何能力?
我们提出了 **CRN v2**(认知共振网络,版本 2),这是一个轻量级纠错模块,它读取基础模型的最终隐藏状态,并产生一个加性的 logit 纠正:
$$
\hat{\ell} = \ell_{\text{base}} + g \cdot W_{\text{up}} \!\big(\text{GELU}(W_{\text{down}} \, h^{(L)})\big)
$$
其中 $h^{(L)}$ 是冻结基础的最终隐藏状态,$W_{\text{down}} \in \mathbb{R}^{r \times d}$ 和 $W_{\text{up}} \in \mathbb{R}^{V \times r}$ 是低秩矩阵($d=1536$, $V=262,144$, $r=128$),$g$ 是一个初始化为接近零的可学习标量门控。基础模型不接收任何梯度。
#### 贡献。
1. **设计原则**:冻结基座 logit 调整与 KL 保留可在测试基准上纠错而不损失能力。纠错模块学习在需要时调整基础模型的 logit,同时在其他所有地方保持其行为接近。
2. **经验发现**:CRN v2 纠正了 53.3% 的错误,在 MMLU/BoolQ(N=200)和 car-wash(N=8)上未观察到可测量的能力下降;LoRA 基线纠正了 83.3% 的错误,但在相同基准上下降了 30–75%。
3. **消融研究**:将 KL 保留权重从 λ=0.1 降低至 0.01,纠错率从 53.3% 降至 35.0%,表明该项是承重项。
4. **注入深度扫描(探索性)**:在第 7 层的隐藏状态注入变体(1.6M 参数,秩 512)达到 50.0%/55.8%(仅 SFT),在第 4 层降至 30.0%/28.3%——更深的注入有帮助,但未超越 logit 纠错;多层深度 logit 纠错(约 35M)仅达到 40%;更长的训练(5,000 SFT + 2,000 DPO)保持在 53.3%;在深度 7 进行的 DPO 会破坏能力。这些是单次运行、会话观察的结果;仅第 7 层仅 SFT 行有独立日志验证。
5. **透明度**:所有代码、主要结果权重、评估脚本和确切运行日志均已发布(深度变体仅提供代码)。
#### 范围与诚实性。这是一项关于设计原则的研究,而非声称架构新颖性。公式 (1) 中的纠正是一个标准的低秩瓶颈。CEHRI 考试提示词在训练数据中逐字出现(第 3.3 节);我们同时报告了分布内和重述结果。评估套件较小(60 + 120 道纠错题;MMLU/BoolQ N=200,car-wash N=8)。深度注入变体(第 3.6 节)是探索性的:仅其仅 SFT 行有日志验证;深度 4 和 DPO 行是会话观察的(第 4.4 节)。我们报告我们的发现,包括负面结果。
## 2 相关工作
**参数高效调整。** 适配器[1]在冻结层之间插入可训练模块;LoRA[2]学习低秩权重更新;前缀调优[3]优化软提示。这些方法在基础模型的计算图 *内部* 注入容量。CRN v2 是一个 *侧网络*:它读取冻结基础的最终隐藏状态并产生 logit 级纠正,而不触及任何基础参数。(第 3.6 节的探索性深度变体介于两者之间:它通过钩子在图内部注入,但不更新任何基础参数。)
**模型编辑。** ROME[4] 和 MEMIT[5] 在 transformer 权重中定位事实关联并直接重写,修改基础权重。CRN v2 通过 ***加性 logit 调整*** 实现纠正——这是一种更轻量级的方法,避免权重手术并保持基础模型完整。
**LLM 中的纠错。** 自我修正[7] 提示模型批评和修改其自身输出;验证链[8] 生成验证问题并回答它们。这些是需要多次前向传播的推理时技术。CRN v2 是一个经过训练的纠错模块,在单次前向传播中产生纠正后的 logit;在推理时,自回归生成需要每个生成的 token 进行一次基础前向传播(第 3.4 节)。
**能力保持。** 微调期间的灾难性遗忘已被充分研究[9]。正则化方法[10, 11] 添加惩罚项以保护重要权重。CRN v2 完全规避了这个问题:基础模型是冻结的,因此没有东西可以遗忘。
## 3 方法
### 3.1 架构
基础模型 $B$ 是 Gemma 4 E2B(在 5.12B 多模态检查点中包含 4.65B 文本参数;35 层;$d=1536$;绑定嵌入;词汇表 $V=262,144$)。对于输入 token $x_{1:n}$,冻结的前向传播在每一层产生隐藏状态 $h^{(l)} \in \mathbb{R}^{n \times d}$ 和基础 logit $\ell_{\text{base}} \in \mathbb{R}^{n \times V}$。纠错模块仅读取最终隐藏状态 $h^{(L)}$ 并计算公式 (1)。下一个 token 的分布为 $\text{softmax}(\hat{\ell})$。可训练参数:$d \cdot r$(下投影,无偏置)+ $r \cdot V$(上投影权重)+ $V$(上投影偏置)+ $1$(门控)= $196,608 + 33,554,432 + 262,144 + 1 = 34,013,185$(约 **0.73%** 的 4.65B 文本模块)。
### 3.2 训练
**阶段 1:监督微调(SFT)。** 给定提示 $x$ 的正确答案 $y$,完整输入是 `"prompt: answer"`,采用仅答案掩码(提示 token 的标签为 -100)。每个训练行通过意译变体扩展,从 83,400 对中产生 166,800 个 SFT 行。损失是答案 token 上的锚点加权交叉熵(锚点 $4\times$,EOS $5\times$)加上一个 KL 保留项(下文)。SFT 运行 2,000 步(AdamW,学习率 $3 \times 10^{-4}$,余弦退火至 $0.1\times$,梯度累积 8,批大小 1)。
**阶段 2:直接偏好优化(DPO)。** 无参考 DPO[6] 倾向于正确答案而非基础模型的错误答案:
$$
\mathcal{L}_{\text{DPO}} = -\log\sigma\!\left(\beta\left[\log p_\theta(y_c \mid x) - \log p_\theta(y_r \mid x)\right]\right)
$$
其中 $y_c$ 是正确答案,$y_r$ 是冻结基础的错误答案,$\beta=0.1$。没有参考模型——冻结基础生成被拒绝的补全。DPO 运行 500 步(AdamW,学习率 $5 \times 10^{-6}$)。
**KL 保留。** 在 SFT 期间,一项 KL 惩罚项惩罚偏离基础模型分布的行为:
$$
\mathcal{L} = \mathcal{L}_{\text{task}} + \lambda \cdot \text{KL}(p_{\text{base}} \| p_{\text{corrected}})
$$
在所有非掩码位置上逐 token 计算并平均。这推动纠正模块在输入基础处理正确时接近基础,同时允许其在基础出错时偏离。默认 $\lambda=0.1$;第 4.3 节对此进行了消融。
### 3.3 数据
训练文件 `error_correction_pairs_v2.json` 包含 83,400 对,字段为 `{prompt, chosen, rejected, domain, variant}`。有三个领域(事实、算术、隐含目标推理)的 17,810 个唯一提示,由于意译变体和选择/拒绝配对,每个提示平均约有 4.7 行。CEHRI 考试(60 道题)及其重述变体(120 道题,基于模板的意译,平均 71.6% 字符重叠)来自此分布:**所有 60 道考试提示在训练数据中逐字出现**。重述考试应用了前缀/后缀模板(例如,"Can you answer: " / "Respond to this: "),因此相似度范围为 0.881–0.990(中位数 0.972;118/120 ≥ 0.9 余弦相似度)。因此,原始考试测量分布内纠错,重述考试测量近似重复纠错;两者均未测试分布外泛化。
### 3.4 推理
在测试时,CRN v2 自回归生成:在每一步,***完整*** 生成的序列通过冻结基础以获得 $h^{(L)}$ 和 $\ell_{\text{base}}$,应用纠正(公式 (1)),并从 $\hat{\ell}$ 贪婪解码下一个 token。这需要每个生成的 token 进行一次基础前向传播(无 KV 缓存,因为纠正读取完整序列的 $h^{(L)}$)。在 Apple M4(MPS)上,这约为 **1 秒/token**;一个 16 token 的答案需要约 **16 秒**。
### 3.5 基线:匹配 CRN v1 预算的 LoRA
CRN v1 有 6,721,444 个可训练参数。LoRA 基线匹配此预算:秩 **19**,$\alpha=38$,应用于 8 个深度 $\{3,7,11,15,19,23,27,31\}$ 的所有线性层(q/k/v/o + gate/up/down),产生 6,624,768 个可训练参数(比 CRN v1 少 **1.4%**)。它使用相同的数据和 DPO 目标(无参考排序,$\beta=0.1$)。两者均使用锚点($4\times$)和 EOS($5\times$)位置加权的仅答案 CE,采用 AdamW 和余弦退火的 SFT(学习率 $3 \times 10^{-4}$)和 DPO(学习率 $5 \times 10^{-6}$)。LoRA 运行 SFT 3,000 步 / DPO 600 步,而 CRN v2 运行 2,000/500 步——如果有的话,这更有利于 LoRA 的纠错。CRN v2 的 34M 参数比 LoRA 的 6.6M 大约 **5倍**;我们直接比较并披露此点(第 4 节)。训练和评估在相同的 Apple M4(16 GB;MPS)上运行。LoRA 也冻结基础模型——两种方法都保留了基础 *权重*;只有 LoRA 损害了基础 *行为*(第 4.2 节)。
### 3.6 变体:深度隐藏状态注入
Logit 纠正仅触及最后一层的输出,没有下游放大。我们测试是否通过 *更早* 注入纠正——让冻结的下游层放大它——能超越 logit 纠正结果。深度变体通过前向钩子在选定的层 $k$ 向隐藏状态添加一个低秩残差:
$$
h^{(k)} \leftarrow h^{(k)} + g \cdot W_{\text{up}} \!\big(\text{GELU}(W_{\text{down}} \, h^{(k)})\big)
$$
其中 $W_{\text{down}} \in \mathbb{R}^{r \times d}$, $W_{\text{up}} \in \mathbb{R}^{d \times r}$($d=1536$, $r=512$),加上上投影的偏置和一个可学习的标量门控 $g$。在层 $k$ 的纠正通过冻结层 $k+1 \dots L$ 传播,然后到达输出头。每个注入深度的可训练参数:$d \cdot r$(下投影,无偏置)+ $r \cdot d$(上投影权重)+ $d$(上投影偏置)+ $1$(门控)= $786,432 + 786,432 + 1,536 + 1 = 1,574,401$(约 **0.034%** 的基础模型)。训练流程与 CRN v2 相同(SFT 采用锚点/EOS 加权 + KL $\lambda=0.1$;可选 DPO 阶段),梯度 *通过* 冻结的下游层流回纠错模块——基础参数不接收梯度。我们测试了单层深度注入,$k=7$(27 个下游层)和 $k=4$(30 个下游层)。
## 4 结果
### 4.1 纠错
**表 1:CEHRI 考试上的纠错。** 模型自回归生成答案;CRN v2 在每一步使用纠正后的 logit,基础和 LoRA 使用它们自身的 logit。子串匹配:生成内容中必须包含标准答案。CRN v2 纠正了基础模型在原始考试上 **53.3%** 的错误(重述版本为 **43.3%**)。LoRA 基线纠正了 **83.3%**(重述版本为 77.5%)——严格更高。冻结基础单独答对了 7/60 道题(生成文本中标准答案的子串匹配),因此 CRN v2 在原始考试上增加了 25 个正确答案(32–7),LoRA 增加了 43 个。对于 N=60,53.3% 的 95% Wilson 区间是 [40.9%, 65.4%];83.3% 的区间是 [72.0%, 90.7%]。对于 N=120,43.3% 的区间是 [34.6%, 52.4%];77.5% 的区间是 [69.0%, 84.4%]。差距在两种考试中都是真实的,相似文章
语言模型虽努力仍出错:自纠正科学生成的共形预测
介绍了科学可行性控制(SFC),一种共形预测框架,为大型语言模型中的科学推理有效性提供统计保证,在PhyX物理推理上达到50.1%的准确率,优于DeepSeek-R1和GPT-4,同时将科学违规减少73%。
大型语言模型中的稳定校准错误:高置信度错误的实用视角
本文探讨大型语言模型中的稳定校准错误现象,即高置信度错误在微小扰动下局部保持稳定。通过审计分数和探测等诊断方法评估校准程度和内部敏感性。
ReAD:面向大型语言模型的强化引导能力蒸馏
本文提出了 ReAD,这是一种强化引导的能力蒸馏框架,通过考虑大型语言模型中的跨能力迁移来优化 token 预算。与现有基线相比,该方法在提升下游效用的同时,减少了有害溢出。
参数对齐缓解多语言专家语言模型中的灾难性遗忘
本文研究了持续预训练过程中多语言专家语言模型面临的灾难性遗忘问题,并提出了五种参数对齐策略(硬层冻结、软正则化、事后权重还原和模型合并),以在32种训练语言中最小化语言习得成本的同时减轻遗忘。
大语言模型智能体中标准校准修订:失效模式与一种基于追踪锚定的协议
本文研究了语言模型智能体中的标准校准修订问题,识别了当前实现(如CMB-0.1)中的失效模式,并提出了一种新的基于追踪锚定的协议(CMB-0.4),以实现未来更精确的评估。