Joint Optimization for Greedy Longest-match Tokenization
本文介绍了 JOLT,这是一个联合优化框架,它将词表学习建模为一个带有贪婪一致性约束的整数规划问题,以使训练与最长匹配解码保持一致,从而实现了显著优于标准 BPE 的近乎最优的压缩效果,并提供了一个近优性证明。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正试图将一座庞大的图书馆藏书装进一个极小的旅行箱里。你想在有限的空间内尽可能多地装入文本,但你不能直接把书页揉成一个球;你需要将它们组织成整齐、易于管理的块。在人工智能的世界里,这个“旅行箱”就是计算机的内存,而这些“块”被称为“Token”(标记/词元)。AI 模型阅读文本时,并不是以整个单词为单位,而是将其视为这些更小的碎片。切分单词的方式至关重要:如果切分得不好,就会占用更多空间,且计算机需要更费力地去读取它们。多年来,切分这些单词的标准方法是一种叫做“字节对编码”(Byte Pair Encoding, BPE)的方法。把 BPE 想象成一位非常高效但略显刻板的图书管理员,他遵循着一条严格的规则:“始终先将出现频率最高的两个文本片段粘合在一起。”这是一种快速、贪婪的方法,虽然行之有效,但它本质上是一种启发式算法——是基于简单规则的优秀猜测,而非完美的数学解。
最近,科学家们开始提出了一个大问题:这位图书管理员的“优秀猜测”真的是我们能做到的极限吗?或者说,是否存在一种更聪明的方法来切分单词,从而在旅行箱里装下更多的文本?这篇论文通过研究一种特定的 AI 阅读方式——“贪婪最长匹配”(Greedy Longest-Match),深入探讨了这个问题。想象一下,你在阅读一个句子,每一步都在尝试抓取你在词典中能找到的最长的单词,然后再移动到下一个字母。作者想要研究是否可以专门为这种阅读风格设计一套词汇,而不是仅仅寄希望于一个通用的词汇表能奏效。他们构建了一个名为 JOLT(面向贪婪最长匹配优化的联合优化系统)的新系统。JOLT 不再仅仅根据频率来粘合片段,而是将整个问题视为一个巨大且复杂的拼图。它利用高级数学来精确计算哪些单词片段应该保留,以及如何切分训练数据中的每一个单词,从而确保当 AI 使用“最长匹配”规则进行阅读时,使用的片段数量绝对最少。
论文发现,虽然旧的图书管理员(BPE)其实相当出色——已经达到了理论最优打包效率的 98% 到 99% 左右——但新的系统 JOLT 能够挤出更多的空间。通过解决这个数学谜题,JOLT 成功地填补了旧方法与完美理论极限之间几乎所有的差距。在不同规模的文本数据测试中,JOLT 比标准方法减少了高达 0.78% 的 Token 使用量。虽然这个数字听起来很小,但在 AI 世界中,即使是节省哪怕一丁点比例,也意味着模型可以阅读更多文本、思考更快,且运行成本更低。作者表明,通过将词汇表与 AI 实际的阅读方式完美对齐,我们可以回收之前遗留在桌上的几乎所有的“压缩余量”。
JOLT 的故事:解决单词拼图
为了理解 JOLT 是如何工作的,让我们想象你是一位顶级大厨,正在为一场盛大的宴会策划完美的菜单。你有一份巨大的食材清单(文本),你需要将它们切成特定的尺寸(Token),以便呈献给你的宾客(AI)。难点在于,你的宾客有一种非常特殊的进食习惯:他们在转向下一口之前,总是会抓取能塞进嘴里的最大的一口。这就是“贪婪最长匹配”规则。
长期以来,大厨们(AI 研究员)一直使用一种名为 BPE 的标准食谱。他们会观察食材并说:“嘿,‘th’和‘e’经常一起出现,让我们把它们粘成‘the’吧。”他们不断重复这个过程,粘合最常见的组合,直到拥有一个固定大小的菜单。这效果很好,但有点像是在盖房子时只是单纯地堆叠砖块,却不检查墙壁是否完全垂直。这是一种“贪婪”的方法——先做最简单、最直观的事情。
本文的作者意识到,如果你想让宾客吃得更高效,你不应该仅仅根据什么东西常见来制作菜单,而应该根据他们“如何吃”来制作菜单。他们创造了 JOLT,它就像一位超级聪明的厨师,能够同时规划整份菜单,考虑每一种食材以及每一种可能的切分方式,确保最终结果完美契合宾客“抓取最大一口”的习惯。
数学谜题
JOLT 的核心是一个巨大的数学问题。作者必须同时决定两件事:
- 保留哪些食材: 最终的词汇表中应该包含哪些单词片段?
- 如何切分文本: 对于训练数据中的每一个单词,应该使用哪些特定的片段来构建它?
棘手之处在于,这两个决策是相互锁定的。你不能在还没决定保留“ta”和“ble”的情况下,就决定将一个单词切分为“ta”和“ble”。此外,由于 AI 使用“最长匹配”规则,你必须确保如果你的计划是将一个单词切分为“ta”和“ble”,那么词汇表中不存在像“table”这样更长的片段来“抢戏”。如果“table”存在,AI 会直接吞下整个“table”,那么你原本计划提供的“ta”和“ble”就会失败。
为了解决这个问题,作者使用了名为“整数规划”(Integer Programming)的技术。想象一个巨大的开关网格。有些开关负责开启一个单词(将其放入词汇表),而另一些开关则负责开启一种特定的单词切分方式。目标是通过切换开关,使总的片段数量达到最低。然而,要在整个文本库上求解这个网格规模如此庞大,以至于即使是最快的计算机也会耗时永远。
聪明的捷径
因此,作者提出了一个巧妙的技巧。他们没有试图一次性解决整个谜题,而是从一个小型、简单的版本开始。他们最初只考虑将单词切分为一到两个片段。他们求解了这个数学问题,如果计算机反馈说:“嘿,这个单词仅靠这些片段太难切分了,我需要更多选项”,他们就会为该特定单词增加更复杂的切分选项。他们重复这个过程,只在需要的地方增加复杂度,直到方案趋于稳定。
这种方法使他们能够找到一个极其接近完美理论极限的解。他们发现,标准的 BPE 方法已经做得非常出色,其表现已处于最佳可能结果的 98% 到 99% 之间。但 JOLT 成功填补了那剩余的 89.6% 到 99.4% 的差距。
实验结果
当他们在不同数据量(从 100,000 到 400,000 个单词)和不同词汇表大小(32,000 和 64,000 个单词)下测试新系统时,结果非常明确。JOLT 使用的 Token 数量始终少于标准的 BPE 方法。
- 在 32,000 个词汇量的规模下,JOLT 比标准方法减少了高达 0.78% 的 Token 数量。
- 在 64,000 个词汇量的规模下,提升幅度虽有所减小,但依然存在,达到了 0.31%。
论文还检查了他们的解法与绝对数学极限的接近程度。他们发现,最终的“舍入”方案(即将数学解转化为真实的、可用的词汇表)与理论最优解的差距仅在 0.008% 到 0.176% 之间。这意味着“舍入”过程(将数学解转化为实际可用的词汇表)并没有损失太多效率。JOLT 相比 BPE 实现的小幅提升并非偶然,而是具有实际意义的结构性改进。
为什么这很重要
作者还研究了其他方法。他们发现,一种专门为同样的“最长匹配”阅读风格设计的流行方法 WordPiece,在测试中的表现实际上比 BPE 还要差。这是因为 WordPiece 是为了最大化另一个目标(预测下一个词)而训练的,而不是为了最小化片段数量。这证明了你不能仅仅使用一套为某种目的设计的词汇,就期望它在另一种用途下也能完美工作。你必须针对 AI 实际的阅读方式来专门训练词汇表。
总之,本文表明,虽然旧有的“贪婪”图书管理员(BPE)做得相当不错,但仍有微小的空间可以被进一步挖掘。通过使用一种全新的、具有严谨数学逻辑的方法,并将词汇表与 AI 的阅读风格完美对齐,JOLT 找回了几乎所有流失的空间。这提醒我们,在 AI 世界中,即使是效率上的微小提升,也能带来更快、更便宜且更强大的模型。作者不仅是在猜测,他们用数学证明了,他们的方法比以往任何时候都更接近完美的“打包作业”。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。