type: concept tags: [fine-tuning, hallucinations, self-distillation, continual-learning, on-device, LLM质量, 推理优化, 端侧微调, 知识蒸馏, 参数冻结] related: [[edge-optimization]], [[weak-to-strong-knowledge-distillation]], [[pairzero-wireless-llm-fl]], [[pAirZero-federated-finetuning]], [[llamacpp]], [[mnn-350]] sources: - url: https://arxiv.org/abs/2604.15574 title: "Why Fine-Tuning Encourages Hallucinations and How to Fix It" date: 2026-04-16 reliability: high created: 2026-04-20 updated: 2026-04-20
SFT 导致的幻觉:原因与自蒸馏修复方案¶
微调不仅教会模型新技能,还会"腐蚀"预训练知识导致幻觉。本文揭示机制并提出自蒸馏+参数冻结两种解决方案。来源:Hebrew University / Technion / UIUC / USC (arXiv:2604.15574)
核心问题¶
当 LLM 通过监督微调 (SFT) 学习新的事实性知识时,会同时开始对预训练阶段已掌握的事实产生错误回答——即"微调诱导的幻觉"。这对端侧 AI 尤为关键:在手机上对小模型进行 LoRA/QLoRA 微调时,模型容量更小,知识干扰更严重,幻觉风险更高。
核心发现:三种假说验证¶
作者在 Llama-3.2-3B 和 Mistral-7B 上通过受控实验验证了三个假说:
1. 容量限制假说 ❌¶
如果幻觉源于全局容量不足,那么引入任意新事实(无论语义是否重叠)都应导致同等退化。实验结果:当引入随机 UUID 事实(与现有知识无语义关联)时,幻觉率仅 0-4%,即使引入 10⁶ 个新事实。这否定了全局容量限制假说。
2. 行为克隆假说 ❌¶
如果幻觉源于模型模仿训练数据的分布,那么仅训练已知事实(不引入新知识)也应导致退化。实验结果:仅在已知事实上微调时,held-out 准确率维持在 95.8%。这否定了纯行为克隆假说。
3. 局部干扰假说 ✅ (主驱动因素)¶
当新实体与已有实体在语义上重叠(如相似的命名/语义关系),它们的表征空间发生干扰,导致梯度更新"泄漏"到附近的知识表示。这是 SFT 导致幻觉的主要机制。
方法一:参数冻结¶
基于"不同参数组在知识存储中扮演不同角色"的发现:
| 更新的参数 | D_Unk (新知识获取) | D_Known (任务学习) | D_Held (知识稳定性) |
|---|---|---|---|
| 仅 Attention (q,k,v,o) | 0.005-0.010 | 0.912-0.946 | 0.901-0.931 |
| 仅 FFN (gate+up+down) | 0.941 | 0.997 | 0.782 |
| 全参数 (标准 SFT) | 0.946 | 0.990 | 0.780 |
| 仅已知事实训练 | — | 0.999 | 0.958 |
关键洞察:FFN 层驱动了绝大部分事实可塑性 (D_Unk=0.941),而 Attention 层对新知识获取贡献极小 (D_Unk=0.010)。冻结 FFN 仅更新 Attention,可将新知识获取抑制到 0.010,同时维持高任务学习性能 (D_Known=0.946)。
端侧意义¶
在手机端微调小模型时,如果不需要学习新事实(仅做任务适配),冻结 FFN 是最安全的选择——几乎零幻觉风险。
方法二:自蒸馏 (Self-Distillation)¶
当需要学习新事实时,自蒸馏方法: 1. 在微调开始时记录模型的输出分布 p₀(y|x) 2. 训练过程中,除了标准 SFT 损失外,添加 KL 散度正则化项:L = L_SFT + λ · KL(p₀ ‖ p_t) 3. 这迫使模型在学习新任务的同时,保持与初始输出分布的接近
实验效果¶
| 方法 | D_Held 下降 (Δ) | D_Unk (新知识) | D_Known (任务) |
|---|---|---|---|
| 标准 SFT | ~15% | 100% | ≥90% |
| 自蒸馏 | ~3% | 100% | ≥90% |
自蒸馏将幻觉率从约 15% 降低到约 3%,同时完全保留了新知识获取能力和任务学习性能。
为什么有效¶
自蒸馏通过抑制输出分布漂移,阻止了新实体的梯度更新通过共享表征区域传播到已有的知识表示——直接针对了"局部干扰"这一主驱动因素。
关键洞察¶
- 幻觉不是微调的必然代价,而是表征干扰的可定位后果——可以被直接针对
- 语义重叠是关键:新旧知识的语义相似度决定干扰程度,而非训练数据量
- FFN vs Attention 分工明确:FFN 存储事实,Attention 处理任务格式——冻结前者可精准抑制知识获取
- 稳定性-可塑性权衡:这是一个经典的持续学习问题,微调诱导的幻觉本质上是灾难性遗忘的变体
- 对端侧微调的启示:手机端 LoRA/QLoRA 微调应优先考虑自蒸馏正则化,尤其当微调数据与预训练知识有语义重叠时
为什么重要¶
- 端侧模型质量保障:手机上的 Gemma、Phi 等小模型通过 LoRA 微调适配用户偏好时,需要最小化幻觉风险
- 持续学习基础:随着端侧 Agent 需要从交互中学习(如用户习惯、偏好),防止知识遗忘是核心挑战
- 参数高效微调优化:现有的 LoRA/QLoRA 方法可集成自蒸馏正则化,在不增加计算成本的情况下提升事实稳定性
- 模型压缩安全网:量化+微调的组合在端侧常见,了解干扰机制有助于避免"压缩+微调"双重退化
关联¶
- [[edge-optimization]] — 端侧推理优化技术,微调是其中关键环节
- [[weak-to-strong-knowledge-distillation]] — 知识蒸馏的另一应用场景
- [[pairzero-wireless-llm-fl]] — 无线联邦微调面临类似的稳定性挑战
- [[pAirZero-federated-finetuning]] — 端侧联邦微调框架
- [[llamacpp]] — llama.cpp 微调支持
- [[mnn-350]] — 阿里端侧推理引擎