跳转至

An Empirical Study on Noisy Data and LLM Pretraining Loss Divergence

会议: NeurIPS 2026
arXiv: 2602.02400
OpenReview: https://openreview.net/forum?id=dUlQyCtmxc
领域: 预训练
关键词: 大语言模型预训练、噪声数据、损失发散、训练稳定性、注意力Logit诊断

一句话总结

本文通过系统化注入可控的均匀随机噪声,首次在大规模可控实验中证实噪声数据能够直接诱发大语言模型预训练损失发散,揭示了受限噪声词表与网络深度对稳定性的致命破坏,并提出了区分高学习率与数据噪声诱发发散的注意力 logit 诊断体系及 QK-LayerNorm 防御方案。

研究背景与动机

基于海量网页语料的大规模自回归预训练是大语言模型(LLM)取得突破性能力的基础,但在万亿级 token 的训练过程中,训练不稳定甚至完全损失发散(Loss Divergence)时有发生,造成巨大的算力与工程成本浪费。以往研究大多将训练不稳定归因于优化配方(如学习率设置过高)或数值精度损失(如 FP8/低精度下溢与溢出),并提出了 QK-LayerNorm、z-loss 以及梯度裁剪等架构与优化补丁。然而,针对训练数据质量本身的系统性研究长期处于空白状态,社区虽普遍猜测网页中充斥的未清洗噪声数据(如散列哈希串、随机字符串、乱码内容)会导致训练崩溃,但由于缺乏受控实验和定量因果证据,这一假说一直未得到实质性确认。

近期有初步探索(如 Ru et al., 2025)认为噪声数据对预训练动态的影响微乎其微,仅会导致损失轻微上升而不会引发梯度尖峰或发散,使得数据清洗对稳定性的必要性受到质疑。然而,这种结论建立在一个极度狭窄且脱离实际的假设之上——即噪声是在全词表(整个 tokenizer 词表)上均匀采样的纯随机 token。现实网络中的噪声往往具有高度的局部结构与受限字符集特征(例如由十六进制数字和字母构成的哈希码),全词表采样严重稀释了同类噪声在上下文中的集中度,从而低估了真实噪声对注意力计算的极端冲击。

本文切入的角度在于构建一个跨越 480M 至 5.2B 参数规模的系统性受控实验平台,解构噪声类型(词表大小、Token 频次、插入 vs 替换)、网络架构维度(深度 vs 宽度、Dense vs MoE)与数据噪声比例之间的定量因果关系。核心 idea:通过限制噪声词表规模与采用插入扰动,首次确凿证明均匀随机噪声能够引发自回归预训练的完全损失发散;更关键的是,噪声引发的发散在注意力最大 Logit 与参数范数上展现出与高学习率崩溃截然不同的特征阈值(~1800 vs ~4000),为大模型训练故障提供了首个清晰的数据归因诊断依据。

方法详解

整体框架

本文构建了一套用于探究预训练损失发散的端到端可控实验与诊断流。整个研究流程首先从经过严格清洗的高质量基准语料(Llama 4 预训练数据混合子集 \(D_c\))出发,通过受控合成扰动生成不同噪声比例 \(\alpha\)、不同噪声词表规模 \(|V_N|\) 以及不同注入模式的噪声文本流。随后,将数据流输入不同规模与拓扑架构(覆盖 480M 到 5.2B 参数量、解耦深度与宽度、密集 Dense 与 MoE 稀疏结构)的 Decoder-only Transformer 中进行预训练。在训练过程中,系统连续监控验证损失轨迹、最大注意力 logit \(z_{ij}\)、参数与梯度 RMS 范数以及 MoE 专家的路由分布与激活,形成包含故障诊断与 QK-LayerNorm 防御机制的完整分析闭环。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["干净预训练语料 D_c"] --> B["受限词表噪声注入与扰动建模<br/>V_N 限制与插入机制采样"]
    B --> C["深度敏感的架构扩展与稳定性退化分析<br/>深度主导发散率激增"]
    C --> D["双阈值注意力 Logit 故障诊断体系<br/>区分高学习率与数据噪声机制"]
    D --> E["QK-LayerNorm 机制干预与 MoE 路由不变性验证<br/>注意力约束与专家负载解耦"]
    E --> F["稳定训练与低损失收敛"]

关键设计

1. 受限词表噪声注入与扰动建模:模拟局部结构化破坏

针对真实网络语料中噪声通常集中在特定子字符集(如哈希字符串 4f2a9c1e0d、系统日志机器码)的物理规律,本文设计了受限噪声词表与可控注入模式。设全词表为 \(V\)(大小为 200,000),噪声词表定义为子集 \(V_N \subseteq V\)。针对包含 \(n\) 个 clean token 的文档,引入两类注入模式: - 插入模式(Inserting):在文档中采样 \(\frac{n\alpha}{1-\alpha}\) 个位置(有放回采样,允许连续噪声),独立抽取噪声 token \(n_i \sim \text{Uniform}(V_N)\) 插入原序列; - 覆盖模式(Overwriting):以概率 \(\alpha\) 将原文档中的每个 token 替换为 \(n_i \sim \text{Uniform}(V_N)\)。

实验揭示,噪声词表大小 \(|V_N|\) 是决定训练是否发散的最核心变量:当全词表 \(|V_N|=200,000\) 时,模型表现出极强的鲁棒性且从不发散;而当压缩至 \(|V_N|=5\) 时,即便在小于 1B(540M)的常规稳定模型上,发散率亦会急剧攀升。与此同时,插入模式由于破坏了原有句法的自回归因果连续性并强行插入无语义重复基元,其引发发散的概率显著高于同等比例的覆盖模式。进一步探究发现,这 5 个 token 在干净语料中的先验词频高低对发散率几乎没有影响(皮尔逊相关系数仅为 0.125),证明破坏力纯粹源自「低熵均匀分布在狭窄符号空间内的局部重复冲击」,而非特定单词的语义先验。

2. 深度敏感的架构扩展与稳定性退化分析:层深累积引发崩溃

在确立 \(|V_N|=5\) 插入模式为最易破坏稳定性的基准后,本文在固定长宽比(\(\frac{\text{num\_layers}}{\text{model\_dim}} = 204.8\))、单向展宽(固定 10 层,维度从 1024 扩展至 4096)与单向加深(固定 2048 维度,层数从 5 层扩展至 35 层)三条轴线上对 472M 至 5.2B 参数量的模型展开 20 个随机种子的独立重复评测。发散判定准则严格界定为:训练损失超出历史最低值 0.5 nats/token 并持续超过 600 个连续 step,排除自愈型偶发 spike。

实验发现,模型参数总量的扩展会显著放大噪声敏感度,而这一放大效应几乎完全由网络深度驱动。在固定 10 层的模型中,宽度从 1024 扩展到 4096(参数量从 542M 暴增至 3.4B),各噪声比例下的发散概率仅有轻微上升;而在固定 2048 宽度的模型中,层数从 5 层增加到 35 层(参数量从 1.1B 增加到 2.5B),在极端情况下,35 层模型在仅有 5% 噪声比例时便有 15% 的几率彻底发散。这种深度放大效应源于自注意力残差流在跨深层传播时,受限噪声诱导的注意力异常在层间逐级放大累积,深层模型缺乏足够的隐状态阻尼,最终诱发数值雪崩。

3. 双阈值注意力 Logit 故障诊断体系:解耦学习率与数据病态

在多头自注意力机制中,注意力未归一化分数计算为: $\(z_{ij} = \frac{\langle q_i, k_j \rangle}{\sqrt{d_h}}\)$ 先前研究(Wortsman et al., 2023)指出,过高的学习率会驱使 \(z_{ij}\) 的最大值膨胀,导致 Softmax 分布退化为 One-Hot 冲激进而引发训练发散,并发现高学习率发散具有跨模型尺度的预警阈值(在 step 1000 处约为 4000)。

本文深入分析了噪声数据引发发散时的内部动力学,发现了与高学习率截然不同的病态机理: - 注意力 Logit 阈值差异:高学习率诱发的发散伴随着剧烈的注意力量纲膨胀,在 step 1000 处最大注意力 logit 一致性地突破 4000 阈值;而在数据噪声导致发散的配置中,即便在发散率达到 100% 的极度恶劣噪声下,最大 logit 也从未超过 4000,其发散呈现出另一条稳定且跨尺度适用的临界阈值——约为 1800。 - 参数范数(RMS Norm)行为解耦:过高学习率会引发模型参数全局 RMS 范数的系统性恶性增长;相反,噪声比例的增加完全不会引起参数范数的系统性上升,其发散时的权重范数甚至显著低于正常学习率下的高值。

这一发现为大模型预训练工程提供了关键的诊断法:如果在训练早期监测到最大注意力 logit 突破了 1800 但远低于 4000,且参数范数未发生反常膨胀却出现发散征兆,故障根本原因应当定位于「训练批次中混入了局部低熵的脏数据」,而非学习率设置过大,指导团队精准执行数据清洗而非盲目调小学习率。

4. QK-LayerNorm 机制干预与 MoE 路由不变性验证:有效防御与稀疏普适性

在明确了机制机理后,论文给出了工程防御与不同架构普适性的解决方案: - QK-LayerNorm 根治发散:通过分解 \(\langle q, k \rangle\) 的内积增长,发现最大 logit 暴涨源于 Query 与 Key 向量自身范数(Q-norm 和 K-norm)的无节制膨胀,而非它们之间的余弦相似度变化。因此,对每头 Query 与 Key 施加 LayerNorm(即 QK-LayerNorm)后,即便在 70% 极高噪声比例这一未防御时 100% 发散的严苛场景下,所有 20 个种子的发散概率全部清零,最大注意力 logit 被强制锁死在低位,同时测试集净损失表现亦优于无归一化的稳定 baseline。 - MoE 稀疏路由的鲁棒性一致性:针对业界对「Mixture of Experts 架构中某些专家可能会分流到过多噪声 token 成为坏死节点进而加剧不稳定」的担忧,作者设计了与 Dense 模型激活参数量对齐的 Dropless Top-2 MoE(16 专家,FFN 维度乘以 0.5)。多层跨步分析表明,各个专家所接收到的噪声 token 比例与其输出激活的绝对均值之间的皮尔逊相关系数仅为 -0.009,呈现完全解耦状态。无论是否使用 Router z-loss 正则化,MoE 在各参数规模下的发散率与对应 Dense 模型几乎完全吻合。

损失函数 / 训练策略

训练采用标准的自回归下文预测交叉熵损失。所有模型在 16 至 64 张 H100 GPU 上采用 PyTorch FSDP2 进行分布式训练,上下文长度统一为 8192。优化器为 AdamW(\(\beta_1=0.9, \beta_2=0.95, \epsilon=10^{-8}\),权重衰减 \(10^{-4}\),全局梯度裁剪范数 1.0)。学习率采用 2000 step 线性预热及余弦退火,峰值学习率为 \(1.85 \times 10^{-2}\)(配合基础宽度 256 的 Maximal Update Parametrization, \(\mu\text{P}\) 以实现跨规模迁移),总 batch 大小固定为 \(2.6 \times 10^5\) tokens。

实验关键数据

主实验

为了探究模型规模与噪声比例对发散率的影响,使用最具破坏力的噪声配置(\(|V_N|=5\) 插入模式),评估不同参数规模模型在不同噪声比例 \(\alpha\) 下 20 个随机种子的发散概率(%):

模型规模 参数量 隐藏层数 隐藏维度 噪声比例 \(\alpha=35\%\) 发散率 噪声比例 \(\alpha=55\%\) 发散率 噪声比例 \(\alpha=70\%\) 发散率
小型 Dense 480M 5 1024 0% 15% 75%
中型 Dense 1.3B 10 2048 10% 60% 100%
大型 Dense 2.8B 15 3072 25% 90% 100%
特大 Dense 5.2B 20 4096 45% 100% 100%
极端深层 2.5B 35 2048 85% (\(\alpha=15\%\)) 100% 100%

消融实验

对比不同训练异常源头(高学习率 vs 噪声数据)、架构变体及防御机制在 540M Dense 与 1.3B 规模下的统计指标差异:

实验配置 数据条件 / 超参设置 Step 1000 最大 Attention Logit 参数 RMS 范数趋势 发散率 (20 Seeds) Clean Token 最终损失
Clean Baseline 纯净语料 \(D_c\), 标称 LR ~800 稳定在基线 (~0.04) 0% 最低 (收敛最优)
High LR 异常 纯净语料 \(D_c, \text{LR} \ge 0.0425\) > 4000 显著系统性膨胀 (> 0.08) 70% - 100% 发散或严重劣化
噪声注入 (全词表) \(\alpha=55\%, \|V_N\|=200{,}000\) ~950 稳定在基线 0% 略有退化
噪声注入 (受限词表) \(\alpha=55\%, \|V_N\|=5\), 替换模式 ~1400 稳定在基线 20% 显著退化
噪声注入 (受限词表) \(\alpha=55\%, \|V_N\|=5\), 插入模式 ~1800 稳定在基线 (~0.04) 75% 严重退化
噪声 + QK-LayerNorm \(\alpha=70\%, \|V_N\|=5\), 插入模式 < 300 稳定受控 0% 优于无 QK-LN 存活模型
1.3B MoE (Top-2) \(\alpha=35\%, \|V_N\|=5\), 插入模式 ~1850 稳定受控 10% 与 Dense 1.3B 一致

关键发现

  • 深度主导脆弱性:将模型层数由 10 层加深至 35 层,模型在低至 5% 的微量噪声下即有 15% 几率发散;而在固定 10 层前提下单纯加宽网络至 4096 维(3.4B),发散概率变化甚微。
  • 噪声集中度远重于词频:词表中任意选取 5 个高频常用词或 5 个从未出现的罕见词构造噪声,发散率几乎相同(皮尔逊相关性仅 0.125);但将词表大小从 5 扩大至 200,000,发散率由 75% 骤降至 0%。
  • MoE 专家不因局部噪声富集而崩溃:专家被分配的噪声 token 比例与 FFN 激活强度的相关性为 -0.009,表明现代 Softmax 路由机制并未因局部噪声产生雪崩式正反馈,MoE 的训练稳定性边界与同等有效参数量的 Dense 模型等价。

亮点与洞察

  • 颠覆了「均匀随机噪声无害」的经验误区:系统澄清了为什么先前文献未观察到噪声导致的发散——关键在于现实数据噪声具有受限符号空间的集聚性;一旦模拟真实哈希与乱码的受限词表,小模型亦会轻易崩溃。
  • 提出可工程落地的二元故障诊断法则:利用 Step 1000 处的最大注意力 logit 结合参数 RMS 范数,建立起 ~1800(数据噪声型)与 ~4000(学习率过大型)的分水岭,为百亿/千亿模型预训练排障提供了免重复试错的归因度量。
  • 确立了数据治理与模型防御的分层准则:在训练稳定时,即使模型不发散,噪声依然会显著拖累干净 token 上的下游表征能力(清洗数据永远是最佳方案);而在工程无法完全提纯数据的场景下,QK-LayerNorm 提供了零代价消除发散的坚固防线。

局限与展望

  • 合成均匀噪声与真实网页脏数据的语义鸿沟:本文采用受限均匀随机生成合成噪声,虽然有效模拟了哈希串和乱码,但尚未涵盖更复杂的自然语言级脏数据(如语义重复刷屏、语法破损、对抗生成的幻觉文本)。
  • 受控训练步数的算力截断:为了在 20 个种子下进行海量并行对照,实验在 20,000 步处截断,虽然使用了模拟 15 万亿 token 的全局衰减 schedule,但未完全覆盖千亿级超长周期的全部潜在不稳定区间。
  • 未来方向:探索基于早期 token-level 损失分布的动态数据在线过滤清洗器,以及在多模态(Vision-Language)预训练跨模态交叉注意力中的噪声发散传播机理。

相关工作与启发

  • vs Wortsman et al. (2023): 均研究预训练损失发散与注意力 logit 动态,但 Wortsman et al. 专注于优化配方导致的崩溃并确立了 4000 logit 阈值;本文则开辟了数据质量维度,揭示了 ~1800 这一专属于噪声数据的独立发散阈值及低参数范数特征。
  • vs Ru et al. (2025): Ru et al. 认为预训练对随机噪声完全免疫;本文指出了其采用全词表均匀采样的局限性,证明了受限子词表和连续插入才是引发真实发散的病态诱因。
  • vs Dehghani et al. (2023) / QK-LayerNorm: Dehghani et al. 提出 QK-LayerNorm 以稳定超大 ViT 训练;本文进一步证明 QK-LayerNorm 对恶劣数据噪声同样具有强效免疫能力,其本质在于压制了 Query/Key 向量自身模长的恶性累积。

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 首次确凿揭示数据噪声引发 LLM 预训练发散的因果机理与关键阈值。
  • 实验充分度: ⭐⭐⭐⭐⭐ 跨 480M 至 5.2B 规模、20 个随机种子严谨重复、全面消融长宽比与 MoE 路由。
  • 写作质量: ⭐⭐⭐⭐⭐ 逻辑严谨、叙述清晰,实验对比层次分明且工程诊断意图明确。
  • 价值: ⭐⭐⭐⭐⭐ 为超大规模模型预训练的排障归因、数据清洗标准和架构选择提供了极具指导性的实证基准。