Tokenization不存在了?Meta最新研究,无需Tokenizer的架构来了

科技   2024-12-18 08:00   北京  
来源 | 机器之心
最近几天,来自 Meta 、芝加哥大学等机构的合著论文《 Byte Latent Transformer: Patches Scale Better Than Tokens 》火了,在 Hacker News 上受到广泛讨论。


有人表示,非常期待这项研究取得成功,这样就可以和 tokenizer 拜拜了!


还有人担心的表示,「现在 tokenization 是大多数模型的基础,这项研究被采用的可能性究竟有多大?」


总结而言,该研究提出了一种新的 LLM 思想。传统的语言模型依赖于 tokenizer 来预处理数据,但 tokenization 有其固有的局限性,包括固定的词汇表、处理多语言或噪声数据的效率低下,以及由压缩启发式方法引入的偏见。

该研究提出字节潜在 Transformer(Byte Latent Transformer,简称 BLT)挑战了这种常规做法。BLT 通过直接建模原始字节流,将它们根据熵动态分组为 patch 以实现高效计算。

具体而言,BLT 不需要 tokenizer 架构,可以直接从原始字节数据中学习,避免了静态词汇表的限制,并能更好地处理多样化和带噪声的输入。

基于熵的 Patch:根据信息复杂度动态地将字节分组为 Patch,对高熵区域(复杂输入)分配更多的计算资源,在低熵区域节省资源。 

高效扩展:通过优化 patch 大小并利用轻量级局部模型,BLT 实现了与基于 token 模型(如 LLaMA)相当或更好的性能,并在推理过程中节省高达 50% 的计算资源。

鲁棒性与灵活性:BLT 在需要字符级理解、噪声输入或长尾泛化的任务中表现出色,在许多基准测试中超越了基于 token 的架构。

图源:https://x.com/theraggedflesh/status/1867911485428482131

此外,该研究首次提出了对字节级模型进行 flop 控制的扩展研究,参数规模高达 8B,训练字节高达 4T,从而展示了在没有固定词汇表 tokenization 的情况下,从字节级别端到端地大规模训练模型。

总体而言,BLT 在训练时的 flop 控制性能与 Llama 3 相当,同时在推理时使用的 flop 减少了高达 50%。该研究还进行了 inference-flop 控制的扩展实验(图 1),并观察到与基于 tokenization 架构相比,BLT 扩展趋势明显更好。


这篇论文贡献如下:

  • 提出了 BLT,这是一种字节潜在 LLM 架构,动态分配计算资源以提高 flop 效率;
  • 展示了在 8B(即 80 亿)参数规模下,能够实现与 Llama 3 模型相当的训练 flop 控制,同时可以通过牺牲一小部分评估指标来换取高达 50% 的 flop 效率提升;
  • BLT 模型为扩展大型语言模型开启了一个新的维度,现在可以在保持固定推理预算的同时扩展模型大小。


  • 论文标题:Byte Latent Transformer: Patches Scale Better Than Tokens
  • 论文地址:https://arxiv.org/pdf/2412.09871
  • 项目地址:https://github.com/facebookresearch/blt

这种无需 tokenizer 的方法代表了语言建模的重大转变,为更高效、可扩展和鲁棒的人工智能系统铺平了道路。

对此,有研究者表示:「Meta 刚刚杀死了 TOKENIZATION,他们发布的 BLT 是一种无 tokenizer 的架构,可以动态地将字节编码为 patch,并实现更好的推理效率和稳健性!」


「2025 年可能是我们告别 tokenization 的一年。」


BLT 架构

BLT 由一个对 patch 表征进行操作的大型全局自回归语言模型以及两个较小的局部模型组成,两个较小的局部模型将字节序列编码为 patch 并将 patch 表征解码回字节(图 2)。


潜在全局 Transformer 模型

潜在全局 Transformer 是一个具有 l_G 层的自回归 transformer 模型 G,它将一系列潜在输入 patch 表征 p_j 映射到一系列输出 patch 表征 o_j。

论文使用下标 j 表示 patch,使用下标 i 表示字节。全局模型使用块因果注意力掩码(Dubey et al., 2024)。

局部编码器 

局部编码器模型(用 ε 表示)是一种基于 transformer 的轻量级模型,具有层,其主要作用是有效地将输入字节序列 b_i 映射为表达性 patch 表征 p_j。与 Transformer 架构的主要区别是在每个 Transformer 层之后添加了一个交叉注意力层,其功能是将字节表征池化为 patch 表征(图 5)。

首先,使用矩阵嵌入输入字节序列 b_i ,表示为 x_i 。然后,这些嵌入可以选择以散列嵌入的形式添加附加信息。然后,一系列交替的 transformer 和交叉注意力层将这些表征转换为由全局 transformer G 处理的 patch 表征 p_i。transformer 层使用局部块因果注意力掩码;每个字节都关注前面字节的固定窗口,该窗口通常可以跨越动态 patch 边界,但不能跨越文档边界。

局部解码器 

与局部编码器类似,局部解码器 D 是一个基于 transformer 的轻量级模型,具有层,它将全局 patch 表征序列 o_j 解码为原始字节 y_i 。局部解码器根据先前解码的字节来预测原始字节序列,因此将局部编码器为字节序列生成的隐藏表征作为输入。它应用了一系列交叉注意力层和 transformer 层的 lD 交替层。解码器中的交叉注意力层在 transformer 层之前应用,以首先从 patch 表征创建字节表征,并且局部解码器 transformer 层对生成的字节序列进行操作。

扩展趋势 

该研究展示了字节级模型扩展趋势的整体图景,可以为 BLT 模型的进一步扩展提供信息,旨在通过以下方式解决先前字节级模型研究的局限性:

  • 比较计算最优训练方案的趋势;
  • 在大量训练上训练匹配的 8B 模型数据并评估下游任务;
  • 测量推理成本控制设置中的扩展趋势。

参数匹配计算最优扩展趋势 

使用 Llama 2 数据集,该研究训练了四种不同大小(参数范围从 1B 到 8B)的各种计算最优 bpe 和 BLT 模型。然后在训练数据混合物的代表性子集上根据语言建模性能绘制训练 flops 图。BPE 模型使用 Llama 3 确定的模型参数与训练数据的最佳比率进行训练(Dubey et al., 2024)。这种计算最优设置理论上旨在在给定的训练预算内实现训练数据集的最佳性能(Hoffmann et al., 2022),为模型提供鲁棒的基线。对于每个 bpe 模型,该研究还使用与相应 bpe Transformer 的大小和架构相匹配的潜在 Transformer 在相同数据上训练相应的 BLT 模型。 

如图 6(右)所示,BLT 模型要么相当,要么优于 BPE 模型,并且随着扩展模型大小和 flops,这种趋势仍然存在。


为了进一步评估扩展特性,该研究在更大的高质量数据集 BLT-1T 上训练了一个 8B 参数规模的 BLT 模型。表 1 比较了在 BLT-1T 数据集上训练的三个模型,基于 tokenizer 的 BPE Llama 3 模型和 BLT 模型的两个变体(一个采用空间 - patch 方案 (BLT-Space),另一个采用基于熵的 patch 方案 (BLT-Entropy))。

结果显示,BLT-Entropy 模型在 7 项任务中的 4 项上的表现优于 Llama 3 模型。这种改进是由于 (1) 通过动态 patch 更好地利用了训练计算,以及 (2) 直接对字节级信息进行建模,而不是对 token 进行建模。



此外,论文还介绍了 Patch 比 Token 更容易扩展。


总结来说,对 patch 长度扩展研究表明,BLT 这种基于 patch 的架构可以通过同时增加 patch 和模型的大小来实现更好的扩展趋势。这样的趋势似乎在更大规模的模型中持续存在,甚至有所改善。

字节建模提高鲁棒性

字符级任务

在对带噪声的 HellaSwag 测试结果发现,BLT 确实在鲁棒性方面全面超越了基于 tokenizer 的模型,平均优势达到 8 个百分点,甚至超过了在更大数据集上训练的 Llama 3.1 模型。


图 7 展示了 Llama 3 tokenizer 模型表现不佳,但 BLT 模型表现良好的几个场景。


表 4 表明,BLT 的表现超过了使用 Llama 3 tokenizer 训练的模型。在流行的语言对中,BLT 的表现与 Llama 3 相当或略好。然而,在资源较少的语言对上,BLT 的表现超过了 Llama 3,这强调了字节建模在泛化到长尾字节序列上的有效性。


从 Llama 3 到 BLT 

最后,作者还探讨了一种工作流,其中 BLT 模型可以利用经过预训练的基于 tokenizer 的模型,通过使用经过预训练的 Llama 3.1 初始化 BLT 的全局 tokenizer 参数来实现更好更快的训练收敛。表 5 为结果。

很明显,经过 Llama 3.1 初始化的 BLT 显著优于 Llama 3 和 BLT 基线,这些基线是用相同数量的 flop 训练的。

深度学习与NLP
专注深度学习、NLP相关技术、资讯,追求纯粹的技术,享受学习、分享的快乐。
 最新文章