引言

我们通常认为,随着大型语言模型 (LLM) 规模的扩大以及在更多多语言数据上的训练,它们对所有语言语法的掌握自然会随之提高。看着 MMLU 等基准测试中令人印象深刻的推理得分,我们很容易相信基础问题已经解决了。但事实真的如此吗?

事实证明,即使是像 GPT-4o 和 Llama 3 这样最先进的模型,在英语以外的语言中,面对某些细微的语法规则时也会陷入挣扎。这不仅仅是关于捏造事实 (hallucinating facts) ;而是未能遵守语言的基本结构规则。

在一篇题为 “Inconsistent Tokenizations Cause Language Models to be Perplexed by Japanese Grammar” (分词不一致导致语言模型对日语语法感到困惑) 的精彩论文中,来自东京大学的研究人员发现了一个惊人的现象。他们发现,庞大而复杂的模型往往更喜欢不符合语法的日语句子,而不是正确的句子。更令人惊讶的是,一个较小的、看似“更差”的模型实际上掌握了正确的语法——但原因却出人意料。

罪魁祸首? 分词 (Tokenization) 。

在这篇文章中,我们将剖析日语中的“第一人称心理谓语限制”,探讨为什么顶级 LLM 无法对其建模,并揭示不一致的分词如何作为一个隐蔽的偏差,甚至迷惑了最聪明的人工智能。

图 1: 最先进的语言模型经常无法遵守日语语法的细微方面,例如第一人称心理谓语限制。如图所示,GPT-4o 生成了一个在功能上与第 2.1 节中不符合语法的例句 (2) 完全相同的句子。

如上图 1 所示,当被要求翻译“My mother is cold” (我母亲很冷) 时,像 GPT-4o 这样复杂的模型生成的句子虽然可以理解,但对以日语为母语的人来说听起来极不自然,甚至不符合语法。让我们来探讨一下原因。

背景: 日语中的“读心术”规则

要理解模型为何失败,我们首先需要上一堂关于日语语言学特定怪癖的速成课: 第一人称心理谓语限制 (First Person Psych Predicate Restriction)

规则

在英语中,描述内部状态 (感觉、知觉) 的形容词,无论你在谈论谁,用法都是一样的。

  • “I am cold.” (我冷。) —— 符合语法
  • “My mother is cold.” (我母亲冷。) —— 符合语法

然而在日语中,有一条严格的认识论规则: 你不能直接断言另一个人的内部状态。 你可以感觉自己冷,但你无法确知你的母亲感到冷;你只能观察到她看起来很冷。

例子

让我们来看看这项研究中使用的“最小对立体 (minimal pairs) ”。表示“感到冷”的词是 samui

1. 第一人称 (说话者) :

Watashi wa samui. (“我感到冷。”) 状态: 符合语法。 陈述自己的感受是可以的。

2. 第三人称 (直接表达错误) :

Haha wa samui. (“我的母亲感到冷。”) 状态: 不符合语法。 这暗示你可以直接访问你母亲的神经系统。听起来就像你在读心。

3. 第三人称 (示证修正) :

Haha wa samu-soo da. (“我的母亲看起来很冷。”) 状态: 符合语法。 通过添加示证后缀 -soo,你在描述一种观察,这是被允许的。

对于一个“懂”日语的 LLM 来说,它应该意识到句子 #2 相比于句子 #3 发生的可能性极低 (困惑度高) 。

实验: 测试困惑度

研究人员着手测试开源模型 (70 亿到 100 亿参数) 是否遵守这一规则。他们测试了几种流行的模型,包括:

  • 多语言模型: Llama 2, Llama 3, Mistral。
  • 针对日语调优的模型: Swallow, Weblab-10B。

衡量标准: 困惑度 (Perplexity)

他们使用 困惑度 作为衡量标准。简单来说,困惑度衡量的是模型对一段文本感到多么“惊讶”。

  • 低困惑度: 模型认为这句话很自然且可能性高。
  • 高困惑度: 模型认为这句话奇怪、错误或出乎意料。

假设: 一个理想的模型在谈论第三人称时,应该给符合语法的示证句子 (samu-soo) 分配较低的困惑度,而给不符合语法的直接表达句子 (samui) 分配较高的困惑度。

结果: 强模型惨败

结果如下面的表 1 所示,令人震惊。

表 1: 语言模型在对应第 2.1 节介绍的句子上的困惑度中位数。Weblab 是唯一一个对所有符合语法的结构 (标记为 a, b, c) 的困惑度都低于不符合语法的直接第三人称心理谓语 (标记为 #) 的模型,我们认为这是由于其一视同仁的糟糕分词造成的。绿色、黄色和红色分别表示符合语法的结构的困惑度低于、等于或高于不符合语法的结构。

看看 Llama 3 这一列。

  • 不符合语法 (行 #) : 困惑度为 6.9e+03
  • 符合语法的示证 (行 c) : 困惑度为 3.7e+04

Llama 3 对正确的日语语法比对错误的语法感到困惑!它更喜欢不符合语法的“读心”句子。这种趋势在 Mistral 和 Llama 2 中也同样存在。

然而,看看 Weblab 。 它是唯一被标记为绿色的模型。它给符合语法的句子 (行 c) 分配的困惑度低于不符合语法的句子 (行 #) 。

Weblab 是一个具有卓越语言理解能力的天才模型吗?不完全是。它成功的原因要奇怪得多。

核心方法: 分词陷阱

研究人员发现,根本原因不在于模型的“大脑” (权重和注意力机制) ,而在于模型的“眼睛” (分词器) 。

理解分词 (Tokenization)

在 LLM 处理文本之前,它会将文本切分成 Token (词元) 。 一个 Token 可以是一个完整的单词、单词的一部分,甚至是一个字节。

  • 高效分词: 常见单词是单个 Token。 (例如,“apple” = 1 个 Token) 。
  • 低效分词: 罕见或复杂的单词被拆分成许多小块。 (例如,“unprecedented” 可能会变成 “un-pre-ced-ent-ed”) 。

字节回退 (Byte Fallback) 问题

现代分词器使用一种称为 字节回退 的机制。如果某个字符 (如特定的日文汉字或平假名) 不在模型的词表中,分词器就会恐慌并将其分解为原始字节。这会导致单个字符变成由许多 Token 组成的序列。

这里是关键发现: 像 Llama 3 这样的模型针对多语言性能进行了优化,但它们的日语词汇表是不一致的。

  1. 常见形容词:samui (冷) 这样的词可能被高效地分词。
  2. 语法后缀: 使句子符合语法所需的特定变位 (-soo 或以 -shii 结尾的形容词后缀) 通常会触发 字节回退

因为符合语法的版本 (samusoo) 依赖于这些后缀,分词器将其打碎成一长串破碎的字节 Token。

  • 更多 Token = 更低的联合概率。
  • 更低概率 = 更高困惑度。

模型给正确句子打低分,并不是因为语法是错的,而是因为分词太混乱了

为什么 Weblab “成功” 了

现在,为什么 Weblab 通过了测试? Weblab 是使用 未经修改的英语分词器 训练的。它几乎没有日语词汇。

  • 它对不符合语法的句子分词很差 (大量字节回退) 。
  • 它对符合语法的句子分词也很差 (大量字节回退) 。

因为 Weblab 对 所有内容 处理得都一样差,“分词惩罚”在整体上是平等的。唯一剩下的信号就是模型在训练中学到的实际模式。在公平的竞争环境下,模型正确地识别出示证形式更好。

Llama 3 失败是因为它有一个 不一致 的分词器: 它高效地处理不符合语法的词根,但在符合语法的后缀上卡壳了。

表 2: 在研究的模型中,由附录 B 给出的模板生成的句子的日语分词数量 (Fertility) 得分和字节回退率。由于使用了未经修改的英语分词器,Weblab 生成的大部分 Token 都在词汇表之外。

上方的表 2 证实了这一点。“分词数量 (Fertility) ”指的是每个单词需要多少个 Token。

  • Llama 3 的字节回退率非常低 (0.08) ,意味着它通常很高效。但当它遇到那个特定的边缘情况 (语法后缀) 时,Token 数量的突然激增破坏了困惑度得分。
  • Weblab 有巨大的字节回退率 (0.66) 。它一直在挣扎,但挣扎得很一致。

启示: 生成不符合语法的翻译

这仅仅影响困惑度分数吗?不幸的是,不。它也影响文本生成。

当 LLM 生成文本时,它会寻找阻力最小的路径 (最高概率) 。如果语法后缀需要一系列“昂贵”的字节 Token,模型就会避免使用它。

研究人员通过要求模型将英语句子如 “My mother is embarrassed” (我母亲很尴尬) 翻译成日语来测试这一点。

表 3: 当被要求将英语句子“My mother is {psych predicate}”翻译成日语时,Weblab 和 Llama 3 的输出。虽然 Llama 3 几乎难以输出任何示证表达,但 Weblab 能够一致地输出带有第三人称主语感到“冷”或“尴尬”的示证表达。这里的“grammatical”表示该句子的其他符合语法的翻译措辞,但不要求使用示证表达。

如表 3 所示:

  • Weblab (那个“较弱”的模型) 在 100 个关于 “embarrassed” (尴尬) 的案例中,有 90 次成功使用了正确的示证表达 (标记为对勾) 。
  • Llama 3 挣扎得很厉害。对于 “lonely” (寂寞) 和 “pain” (疼痛) ,它 从未 使用示证形式。它 100% 的时间都默认使用了不符合语法的“无示证”形式。

Llama 3 对正确后缀的分词存在如此严重的偏见,以至于它宁愿输出破碎的日语,也不愿“付出代价”来生成那些 Token。

结论

这项研究凸显了当前 LLM 开发中的一个关键盲点。我们通常假设扩大参数和数据规模能解决所有问题。然而, 分词是语言建模的基础 。 如果基础有裂痕——或者不一致——模型构建的语言视图就会扭曲。

主要启示如下:

  1. 语法受限于分词: 模型学习语法的能力上限取决于它对必要语素分词的一致性。
  2. 效率并不总是等于效果: 一个 99% 高效但在高级语法所需的 1% 后缀上失败的分词器,会导致模型听起来像个初学者。
  3. 一致性很重要: 似是而非的是,一个一视同仁地糟糕的分词器 (像 Weblab 的) 允许底层的统计学习显现出来,而 Llama 3 不一致的能力反而掩盖了它自己的知识。

为了让未来的模型真正掌握像日语这样的语言,我们不仅需要更多的数据——我们需要能够尊重语法结构的分词器。在此之前,即使是最聪明的人工智能可能也会继续被那些对它们来说不自然、但对我们来说完全正常的事物所困扰。