引言
我们通常认为,随着大型语言模型 (LLM) 规模的扩大以及在更多多语言数据上的训练,它们对所有语言语法的掌握自然会随之提高。看着 MMLU 等基准测试中令人印象深刻的推理得分,我们很容易相信基础问题已经解决了。但事实真的如此吗?
事实证明,即使是像 GPT-4o 和 Llama 3 这样最先进的模型,在英语以外的语言中,面对某些细微的语法规则时也会陷入挣扎。这不仅仅是关于捏造事实 (hallucinating facts) ;而是未能遵守语言的基本结构规则。
在一篇题为 “Inconsistent Tokenizations Cause Language Models to be Perplexed by Japanese Grammar” (分词不一致导致语言模型对日语语法感到困惑) 的精彩论文中,来自东京大学的研究人员发现了一个惊人的现象。他们发现,庞大而复杂的模型往往更喜欢不符合语法的日语句子,而不是正确的句子。更令人惊讶的是,一个较小的、看似“更差”的模型实际上掌握了正确的语法——但原因却出人意料。
罪魁祸首? 分词 (Tokenization) 。
在这篇文章中,我们将剖析日语中的“第一人称心理谓语限制”,探讨为什么顶级 LLM 无法对其建模,并揭示不一致的分词如何作为一个隐蔽的偏差,甚至迷惑了最聪明的人工智能。

如上图 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 所示,令人震惊。

看看 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 这样的模型针对多语言性能进行了优化,但它们的日语词汇表是不一致的。
- 常见形容词: 像 samui (冷) 这样的词可能被高效地分词。
- 语法后缀: 使句子符合语法所需的特定变位 (-soo 或以 -shii 结尾的形容词后缀) 通常会触发 字节回退 。
因为符合语法的版本 (samusoo) 依赖于这些后缀,分词器将其打碎成一长串破碎的字节 Token。
- 更多 Token = 更低的联合概率。
- 更低概率 = 更高困惑度。
模型给正确句子打低分,并不是因为语法是错的,而是因为分词太混乱了。
为什么 Weblab “成功” 了
现在,为什么 Weblab 通过了测试? Weblab 是使用 未经修改的英语分词器 训练的。它几乎没有日语词汇。
- 它对不符合语法的句子分词很差 (大量字节回退) 。
- 它对符合语法的句子分词也很差 (大量字节回退) 。
因为 Weblab 对 所有内容 处理得都一样差,“分词惩罚”在整体上是平等的。唯一剩下的信号就是模型在训练中学到的实际模式。在公平的竞争环境下,模型正确地识别出示证形式更好。
Llama 3 失败是因为它有一个 不一致 的分词器: 它高效地处理不符合语法的词根,但在符合语法的后缀上卡壳了。

上方的表 2 证实了这一点。“分词数量 (Fertility) ”指的是每个单词需要多少个 Token。
- Llama 3 的字节回退率非常低 (0.08) ,意味着它通常很高效。但当它遇到那个特定的边缘情况 (语法后缀) 时,Token 数量的突然激增破坏了困惑度得分。
- Weblab 有巨大的字节回退率 (0.66) 。它一直在挣扎,但挣扎得很一致。
启示: 生成不符合语法的翻译
这仅仅影响困惑度分数吗?不幸的是,不。它也影响文本生成。
当 LLM 生成文本时,它会寻找阻力最小的路径 (最高概率) 。如果语法后缀需要一系列“昂贵”的字节 Token,模型就会避免使用它。
研究人员通过要求模型将英语句子如 “My mother is embarrassed” (我母亲很尴尬) 翻译成日语来测试这一点。

如表 3 所示:
- Weblab (那个“较弱”的模型) 在 100 个关于 “embarrassed” (尴尬) 的案例中,有 90 次成功使用了正确的示证表达 (标记为对勾) 。
- Llama 3 挣扎得很厉害。对于 “lonely” (寂寞) 和 “pain” (疼痛) ,它 从未 使用示证形式。它 100% 的时间都默认使用了不符合语法的“无示证”形式。
Llama 3 对正确后缀的分词存在如此严重的偏见,以至于它宁愿输出破碎的日语,也不愿“付出代价”来生成那些 Token。
结论
这项研究凸显了当前 LLM 开发中的一个关键盲点。我们通常假设扩大参数和数据规模能解决所有问题。然而, 分词是语言建模的基础 。 如果基础有裂痕——或者不一致——模型构建的语言视图就会扭曲。
主要启示如下:
- 语法受限于分词: 模型学习语法的能力上限取决于它对必要语素分词的一致性。
- 效率并不总是等于效果: 一个 99% 高效但在高级语法所需的 1% 后缀上失败的分词器,会导致模型听起来像个初学者。
- 一致性很重要: 似是而非的是,一个一视同仁地糟糕的分词器 (像 Weblab 的) 允许底层的统计学习显现出来,而 Llama 3 不一致的能力反而掩盖了它自己的知识。
为了让未来的模型真正掌握像日语这样的语言,我们不仅需要更多的数据——我们需要能够尊重语法结构的分词器。在此之前,即使是最聪明的人工智能可能也会继续被那些对它们来说不自然、但对我们来说完全正常的事物所困扰。
](https://deep-paper.org/en/paper/2505.19599/images/cover.png)