谷歌研究人员的新研究建议修改传统的转换器架构,以在自然语言处理 (NLP) 中处理字节序列。新的具有竞争力的字节级模型可以有效平衡当代大型语言模型的计算成本权衡。
标记化将句子拆分为一系列标记。大多数 NLP 任务都遵循标记化程序来预处理数据。然而,标记化可能会遇到拼写错误、拼写和大写不规则、形态变化和词汇外标记化问题。
研究建议使用无令牌模型来解决这个问题。无标记模型直接对原始文本进行操作。它们将文本数据存储为模型通常用于处理任意文本序列的字节序列。然而字节序列比它们对应的字级标记序列长得多,这使得这种方法计算量很大。
谷歌的研究人员推出了 ByT5,这是一种多语言 T5 的无令牌变体。ByT5 通过取消词汇构建、文本预处理和标记化来简化 NLP 管道。在他们最近的论文中,该团队证明了 ByT5 直接在 UTF-8 字节上运行,而不是使用类似于大多数预训练语言模型的子词词汇表。所提出的架构不需要文本预处理,并且可以很容易地用于处理字节序列,而不会增加计算成本。
ByT5 是一个基于标记的 mT5(多语言文本到文本传输转换器),在大量未标记文本数据的语料库上训练。它在各种多语言 NLP 任务中实现了 SOTA 性能。该团队进行了一小部分更改,使 mT5 无令牌。进行这些更改时要记住,它们不会显着增加计算成本。在进行必要的更改时,SentencePiece 词汇表的 UTF-8 字节直接输入模型,无需任何文本预处理并将这些字节嵌入模型的隐藏大小。
预先训练的任务被修改以重用最后的 100 字节 ID,而不是为哨兵添加 100 个新标记。此外,研究人员用平均掩码跨度长度来掩码更长的字节跨度。
使用消融,研究人员证明了编码器较重的编码器-解码器模型在分类和生成任务上的表现要好得多。预训练任务受益于屏蔽更长的 ID 序列。尽管 ByT5 模型预训练的文本比 mT5 中使用的文本少四倍,但它仍然取得了显着的收益。有了这个,该团队提出字节级模型是更具数据效率的学习者。
该团队评估了修改后的转换器架构在涉及计算成本权衡的字节级处理方面的性能。为此将 ByT5 与 mT5 在标准英语和多语言 NLP 基准的广泛任务上进行了比较。
结果显示了 ByT5 与参数匹配的 mT5 模型在下游任务质量方面的竞争力。ByT5 在所有模型大小和任务中的表现都优于 mT5,包括生成任务、具有语言内标签的多语言任务,即使在嘈杂的环境中也是如此。该团队还通过比较问答任务的 F1/EM 分数来评估其对 XTREME 基准的跨语言理解。ByT5 在包括英语分类和生成在内的所有任务上都取得了出色的表现。
GitHub:
https://github.com/google-research/byt5
论文:
https://arxiv.org/abs/2105.13626