SASFT: Sparse Autoencoder-guided Supervised Finetuning to Mitigate Unexpected Code-Switching in LLMs¶
基本信息¶
- 会议: ICLR 2026
- arXiv: 2507.14894
- 代码: GitHub
- 领域: 自然语言处理 / 大语言模型
- 关键词: Code-Switching, Sparse Autoencoder, Multilingual LLMs, SFT, Language Features
一句话总结¶
利用稀疏自编码器(SAE)发现 LLM 中意外语言切换与目标语言特征异常高预激活值相关,提出 SASFT 方法在 SFT 训练中约束语言特征预激活值,将意外代码切换降低 50% 以上。
研究背景与动机¶
问题背景¶
多语言 LLM(如 Qwen-3、Llama-4、Gemma-3)在生成回复时经常出现意外的语言切换(code-switching),例如英文问题的回答中突然插入中文或韩文,严重影响用户体验。
现有方法的局限¶
唯一已知尝试:Guo et al. (2025) 使用 GRPO + 语言一致性奖励处理 DeepSeek-R1 的代码切换问题,但缺乏机理分析,效果有限;
缺乏根本理解:现有工作未深入分析代码切换的内部机制。
核心发现¶
通过 SAE 分析发现: 1. LLM 中存在语言特异性特征(language-specific features)——残差流中仅在处理特定语言 token 时有大投影值的方向; 2. 意外代码切换发生时,目标语言特征的预激活值异常升高; 3. 消融实验证实降低这些特征可减少代码切换。
方法详解¶
整体框架¶
SASFT 分两步:(1) 识别 LLM 中的语言特异性特征;(2) 在 SFT 训练中引入辅助损失约束这些特征。
1. 稀疏自编码器(SAE)回顾¶
给定残差流 \(\mathbf{x} \in \mathbb{R}^N\),SAE 计算特征激活 \(\mathbf{a} \in \mathbb{R}^M\)(\(M \gg N\)):
本文关注预激活值 \(\mathbf{f(x)}\) 而非激活值 \(\mathbf{a(x)}\),因为后者忽略了有意义的负预激活值。
2. 语言特异性特征识别¶
使用 Deng et al. (2025) 的方法度量特征的单语性。对特征 \(s\) 和语言 \(L\),计算:
其中 \(\mu_s^L\) 是该特征在语言 \(L\) 上的平均激活,\(\gamma_s^L\) 是在其他语言上的平均激活。\(\nu\) 值最高的特征被视为语言特异性特征。
3. 代码切换的机理分析¶
关键发现 1:代码切换前,目标语言特征的预激活值逐渐升高(图 3)。
关键发现 2:通过方向消融(directional ablation)减去语言特征可降低代码切换率(图 4):
但推理时消融有缺点:(1) 需要大幅降低预激活值,可能损害其他能力;(2) 需要外部干预,增加推理开销。
4. SASFT 训练目标¶
在 SFT 期间引入辅助损失,教 LLM 自主保持适当的语言特征预激活值:
其中 \(\mathcal{S}_L\) 是语言 \(L\) 的特异性特征集,\(\alpha_j\) 是预估的平均预激活值阈值。
最终训练损失:
设计要点¶
- 排除目标语言数据 \(\mathcal{D}_L\)(同语言生成不算代码切换)
- 阈值 \(\alpha_j\) 不设为零,因为预激活平均值可能为负
- 可跨多层应用以获得更稳定效果
实验¶
主实验:代码切换率对比¶
| 模型 | 方法 | CS→中文 | CS→俄语 | CS→韩语 |
|---|---|---|---|---|
| Gemma-2-2B | SFT (基线) | 0.74% | 0.57% | 3.45% |
| SFT+GRPO | 0.74 (0%) | 0.49 (-14%) | 3.44 (0%) | |
| SFT+Penalty | 0.67 (-10%) | 0.41 (-27%) | 1.18 (-66%) | |
| SASFT | 0.42 (-43%) | 0.22 (-61%) | 0.73 (-79%) | |
| Gemma-2-9B | SFT (基线) | 0.78% | 0.12% | 0.81% |
| SASFT | 0.41 (-47%) | 0.01 (-94%) | 0.13 (-84%) | |
| Llama-3.1-8B | SFT (基线) | 1.16% | 0.67% | 0.57% |
| SASFT | — | — | — |
消融实验:不同组件的影响¶
| 配置 | CS→中文 (↓) | MMLU (↑) | HumanEval (↑) |
|---|---|---|---|
| SFT 基线 | 0.78% | 69.2 | 42.1 |
| SASFT (单层) | 0.52% | 69.5 | 42.8 |
| SASFT (多层) | 0.41% | 69.8 | 43.2 |
| 推理时消融 | 0.45% | 67.3 | 40.5 |
关键发现¶
- SASFT 在大多数情况下将代码切换降低 50% 以上,韩语场景甚至实现 100% 消除;
- 显著优于 GRPO:GRPO 在多数设置下几乎无效(0% 改善),而 SASFT 持续有效;
- 不损害多语言能力:在 MMLU、HumanEval、Flores-200 等 6 个基准上性能保持甚至提升;
- 多层应用效果更稳定:跨层 SASFT 比单层更鲁棒;
- 降低比增强更有效:降低非目标语言特征优于增强源语言特征;
- 训练式方法优于推理干预:SASFT 改变模型内部行为,无推理额外开销。
亮点¶
- 首次深入分析 LLM 意外代码切换的内部机制,揭示与语言特征预激活值的因果关系
- 从推理干预到训练时约束的巧妙转换,解决了推理干预的两大缺陷
- 通用性强:在 Gemma-2、Llama-3.1、Qwen-3 三个系列五个模型上验证
- 辅助损失设计优雅,利用 ReLU 门控仅惩罚超过阈值的预激活值
局限性¶
- 需要对应模型的 SAE(Qwen-3 需自训练 SAE,额外开销未量化)
- 语言特异性特征识别依赖多语言校准数据
- 论文主要关注中文、韩文、俄文三种语言,更多语言的泛化性待验证
- 对代码切换的定义基于脚本检测,可能遗漏细粒度的词汇混用
相关工作¶
- LLM 代码切换: Guo et al. (2025) 发现并尝试用 GRPO 解决 DeepSeek-R1 的代码切换
- SAE 分析: Deng et al. (2025) 发现 LLM 中的语言特异性特征
- 多语言 LLM: Qwen-3 (Yang et al., 2025), Llama-4 (Meta, 2025), Gemma-3 (Team et al., 2025)
- 机械可解释性: 稀疏自编码器用于理解 LLM 内部表征
评分¶
- 新颖性:⭐⭐⭐⭐⭐ — 首次将 SAE 可解释性与代码切换问题结合,从机理到解法一气呵成
- 技术深度:⭐⭐⭐⭐ — 完整的分析-发现-解决链路,预激活值约束设计巧妙
- 实验充分度:⭐⭐⭐⭐⭐ — 5 个模型 × 3 种语言 × 6 个基准,全面覆盖
- 实用价值:⭐⭐⭐⭐⭐ — 直接解决多语言 LLM 部署中的痛点问题
相关论文¶
- [ACL 2025] Code-Switching Curriculum Learning for Multilingual Transfer in LLMs
- [ACL 2025] Code-Switching Red-Teaming: LLM Evaluation for Safety and Multilingual Understanding
- [ICLR 2026] ATLAS: Adaptive Transfer Scaling Laws for Multilingual Pretraining, Finetuning, and Decoding the Curse of Multilinguality
- [CVPR 2026] MMTIT-Bench: A Multilingual and Multi-Scenario Benchmark with Cognition-Perception-Reasoning Guided Text-Image Machine Translation
- [ACL 2025] CC-Tuning: A Cross-Lingual Connection Mechanism for Improving Joint Multilingual Supervised Fine-Tuning