引言
想象一下当你读到这句话时: “The Golden Gate Bridge has been obnebulated every morning this week, limiting visibility.” (金门大桥这周每天早上都被obnebulated了,限制了能见度。)
除非你是19世纪文学的狂热读者,否则你可能以前从未遇到过 obnebulated 这个词。然而,你可能完全理解了这句话。你知道它是一个动词 (多亏了“-ed”后缀以及它位于“has been”之后的位置) ,而且关于“visibility” (能见度) 的上下文线索表明它的意思大概是“被云遮挡”或“被雾笼罩”。
人类非常擅长这一点。我们利用句法和语义线索将我们的知识泛化到我们很少见到的单词上。然而,像 GPT-4 或 RoBERTa 这样的大型语言模型 (LLM) 却在这方面很吃力。尽管它们能力惊人,但这些模型严重依赖频率统计。它们学习“高频”词的效果要比学习“低频”词好得简直是指更数级别的差距。
这种依赖性产生了两个主要问题:
- 频率偏差 (Frequency Bias) : 模型往往更喜欢包含常见词的语法错误句子,而不是包含罕见词的语法正确句子。
- 各向异性 (Anisotropy) : 模型内部单词的数学表示 (向量) 往往聚集在一个狭窄的锥体中,而不是散布开来,这使得区分不同的罕见词变得非常困难。
在这篇文章中,我们将深入探讨 Diehl Martinez 等人最近发表的一篇论文 《通过句法平滑缓解语言模型预训练中的频率偏差和各向异性》 (“Mitigating Frequency Bias and Anisotropy in Language Model Pre-Training with Syntactic Smoothing”) 。研究人员提出了一种对训练目标进行巧妙调整的方法——称为 句法平滑 (Syntactic Smoothing) ——强迫模型基于单词的语法角色在常用词和罕见词之间共享知识。
背景: 为什么 LLM 在罕见词上表现挣扎
要理解解决方案,我们需要先了解语言的“齐夫 (Zipfian) ”性质。齐夫定律指出,少数单词使用频率极高 (如“the”、“is”、“and”) ,而绝大多数单词使用频率极低 (如“obnebulated”) 。
当一个 LLM 使用最大似然目标 (预测下一个单词) 进行预训练时,它会看到高频 token 数百万次,而罕见 token 可能只有寥寥几次。因此,模型会极度优化高频词的表示,将罕见词推向一种“退化”状态,导致它们无法承载太多有用的信息。
各向异性问题
这种退化导致了模型向量空间中的一个几何问题,称为 各向异性 (Anisotropy) 。
理想情况下,词嵌入 (单词的向量表示) 应该是 各向同性 (isotropic) 的——这意味着它们应该指向向量空间中的所有方向,充分利用可用的维度容量。各向异性则相反: 向量都挤在一个狭窄的锥体里。
当向量被挤进一个狭窄的锥体时,任意两个随机单词之间的余弦相似度都会变得非常高。这使得模型很难区分语义不同但同样罕见的单词。
研究人员使用了一个数学定义来量化这一点。虽然各向同性的正式定义涉及配分函数 \(Z(c)\):

其中 \(Z(c)\) 定义为:

在实践中,这太难计算了。相反,作者使用了 Ethayarajh 提出的经验近似法。他们通过计算随机词对之间的平均余弦相似度来衡量各向异性:

如果这个值很高 (接近 1) ,意味着所有单词大致都指向同一个方向——即高各向异性。如果该值较低,则说明嵌入分布良好。
用 BLiMP 衡量频率偏差
我们如何知道模型是否存在频率偏差?研究人员利用 BLiMP (语言最小对立体基准,The Benchmark of Linguistic Minimal Pairs) 设计了一个巧妙的指标。
BLiMP 由成对的句子组成: 一句符合语法,一句不符合语法。例如:
- 符合语法: Grace’s piano teachers are known.
- 不符合语法: Grace’s piano teachers are replied.
模型应该给符合语法的句子分配更高的概率。然而,作者假设,如果不符合语法的句子比符合语法的句子包含更多的高频词,模型可能会感到困惑。
他们开发了一个流程来量化这一点:
- 计算词对中 token 的频率差异。
- 分离出那些“符合语法的句子使用罕见词,而不符合语法的句子使用高频词”的词对。
- 比较模型在这些“困难”词对上的准确率与那些频率对模型有帮助的词对上的准确率。

如 图 1 所示,前三分之一 (频率有帮助) 与后三分之一 (频率有阻碍) 之间的准确率差异就是 频率偏差 。 偏差分数高意味着模型在“作弊”: 它关注的是词频而不是语法。
核心方法: 句法平滑
训练语言模型的标准方法是使用“独热 (one-hot) ”目标分布。如果正确的下一个单词是 “cat”,目标向量在 “cat” 处为 1.0,而在字典中其他所有单词处为 0.0。如果模型预测除了 “cat” 以外的任何词,都会受到惩罚。
问题在于?如果正确的单词是一个罕见词 (例如 “ocelot”,豹猫) ,模型几乎没有机会学习它。
作者提出了 句法平滑 (Syntactic Smoothing) 。 我们不再将 100% 的目标概率放在正确的单词上,而是将部分概率分配给其他具有相同 句法角色 的单词。
如果目标是 “ocelot”,我们不应该只是告诉模型“它是 ocelot”。我们应该告诉它: “它是 ocelot,但它也类似于 ‘cat’、’tiger’ 和 ‘animal’。” 这使得罕见词 “ocelot” 能够从像 “cat” 这样的高频词的学习信号中受益。
第 1 步: 定义句法相似度
为此,我们需要知道哪些单词在句法上是相似的。作者使用词性 (POS) 作为代理。
他们在训练数据上运行 POS 标注器,并为每个 token 构建一个分布。例如,单词 “blind” 可以是名词、动词或形容词。单词 “the” 几乎完全是限定词。
我们可以可视化这种分布差异:

然后,他们通过计算两个 token \(i\) 和 \(j\) 的 POS 分布向量 \(M\) 的余弦相似度来计算它们之间的 句法相似度 :

这就创建了一个静态矩阵,告诉我们每个单词与所有其他单词在语法上的相似程度。
第 2 步: 平滑反向传播信号
现在,作者修改了损失函数。他们引入了一个平滑参数 \(\alpha\)。
- 如果 \(\alpha = 0\),我们进行标准训练 (100% 信号给正确单词) 。
- 如果 \(\alpha > 0\),我们为正确单词保留 \((1 - \alpha)\),并根据句法相似度将剩余的 \(\alpha\) 分配给所有其他单词。
给定正确目标为 \(j\),词汇表中 token \(i\) 的新目标分布 \(t_i\) 为:

为了使分布更尖锐 (这样我们不会将概率分散到太多单词上) ,他们对相似度分数应用了温度缩放:

第 3 步: 配速 (Pacing)
给句法相似的单词“部分分数”对于学习表征来说很棒,但最终,模型需要学会预测具体的正确单词才能变得有用。
作者引入了 配速 (Pacing) : 他们在训练开始时设定较高的 \(\alpha\) 值 (大量平滑) ,并在训练结束时将其线性降低到 0。这充当了一个“句法脚手架”——在早期支持模型,并随着模型的成熟移除支持。
实验与结果
研究人员在 BabyLM 数据集 (1000 万 token) 上训练了小型 RoBERTa 模型 (约 1.25 亿参数) 。他们将他们的 句法平滑 (SyS) 模型与以下模型进行了比较:
- 基线模型 (Base Model) : 标准 RoBERTa 训练。
- 标签平滑 (Label Smoothing, LS) : 一种标准技术,信号被均匀分布到所有其他 token 上,而不是基于句法。
1. 减少频率偏差
主要目标是阻止模型盲目信任高频词。

如 图 3 所示,标准模型 (OPT, RoBERTa, T5) 具有很高的频率偏差 (灰色条) 。作者的基线模型 (棕色) 也有很高的偏差 (~9.8) 。 然而, 句法平滑 (SyS) 变体 (红色条) 大幅降低了这种偏差,其中 “Mid” (中等) 平滑水平几乎将其降至零。这证实了模型正在学习减少对原始频率统计的依赖。
2. 降低各向异性
几何上的“锥体”问题改善了吗?

图 4 绘制了训练过程中的各向异性。基线模型 (虚线棕色线) 最终具有很高的各向异性 (~0.5) 。句法平滑模型 (实线) 始终保持较低的各向异性。
理想情况下,我们希望表征是分散的。 配速 (SyS-P) 模型虽然慢慢关闭了平滑,但表现出了有趣的行为: 即使移除了平滑,各向异性仍然低于基线。
我们可以放大特定层来看得更清楚:

图 5 比较了基线模型与配速句法平滑模型。注意 Layer 7 (实线) 。 在基线模型 (黑色) 中,各向异性飙升。在 SyS 模型 (橙色) 中,它保持得低很多。这表明最终的表征更加丰富且彼此不同。
3. 偏差与各向异性之间的联系
论文中最有趣的发现之一是这两种现象之间的相关性。

图 6 显示,频率偏差高的模型往往具有高各向异性。句法平滑模型 (红色/橙色标记) 聚集在左下角,表明它们成功地同时缓解了这两个问题。这支持了这样一种理论: 罕见词的“退化”表征是频率偏差的根本原因。
4. 替代相似度度量
你可能会问: 余弦相似度是比较 POS 分布的最佳方式吗?作者还测试了 Jensen-Shannon (JS) 散度 作为替代的距离度量。

无论使用哪种度量,结果都是稳健的。如下面的 表 2 所示,使用 JS 散度 (SyS [JS]) 在减少偏差和各向异性方面取得了与余弦版本相似的效果。

结论
大语言模型中 token 频率“富者越富”的动态是实现真正语言理解的一个重大障碍。当模型为了常见词而忽略罕见词时,它们就无法捕捉到人类语言的长尾效应。
这就论文提供了一个令人信服的解决方案: 句法平滑 。 通过将“句法先验”融入损失函数,研究人员强迫模型将罕见词与其高频的句法近亲归为一类。
主要收获:
- 罕见词很重要: 标准训练让罕见词处于“退化”状态 (各向异性) 。
- 平滑有帮助: 基于 POS 标签分布学习信号可以拯救这些罕见词。
- 偏差与几何结构相关联: 减少向量的几何聚集 (各向异性) 直接降低了模型利用频率进行作弊的倾向 (频率偏差) 。
虽然这项研究集中在较小的模型和英语数据上,但其意义是广泛的。随着我们致力于构建不仅仅是记忆统计数据,而是真正理解结构的各模型,像句法平滑这样基于语言学信息的训练目标可能会成为深度学习工具箱中的重要工具。
](https://deep-paper.org/en/paper/2410.11462/images/cover.png)