🚀 ByT5 - 小型模型
ByT5是谷歌的T5的无分词器版本,总体上遵循MT5的架构。它能够直接处理原始文本,无需分词器,在多语言处理和处理噪声文本数据方面表现出色。
🚀 快速开始
ByT5是谷歌T5的无分词器版本,总体上遵循MT5的架构。
ByT5仅在多语言C4(mC4)上进行了预训练,不包含任何监督训练,平均跨度掩码为20个UTF - 8字符。因此,该模型在用于下游任务之前需要进行微调。
ByT5在处理噪声文本数据方面表现特别出色。例如,google/byt5-small
在TweetQA任务上显著优于mt5-small。
论文:ByT5:借助预训练的字节到字节模型迈向无分词器的未来
作者:薛林廷、阿迪亚·巴鲁阿、诺亚·康斯坦特、拉米·阿尔 - 鲁福、沙兰·纳朗、米希尔·凯尔、亚当·罗伯茨、科林·拉菲尔
✨ 主要特性
- 无分词器处理:ByT5是无分词器版本,可直接处理原始UTF - 8字节,无需额外的分词步骤。
- 多语言支持:支持众多语言,包括但不限于英语、中文、法语、德语等。
- 噪声文本处理能力强:在处理噪声文本数据时表现出色,如在TweetQA任务上显著优于其他模型。
- 基于标准架构:采用标准的Transformer架构,只需进行最小的修改即可处理字节序列。
📦 安装指南
文档未提供安装步骤,可参考Hugging Face的transformers
库安装方法来使用该模型:
pip install transformers
💻 使用示例
基础用法
ByT5可直接处理原始UTF - 8字节,无需分词器:
from transformers import T5ForConditionalGeneration
import torch
model = T5ForConditionalGeneration.from_pretrained('google/byt5-small')
input_ids = torch.tensor([list("Life is like a box of chocolates.".encode("utf-8"))]) + 3
labels = torch.tensor([list("La vie est comme une boîte de chocolat.".encode("utf-8"))]) + 3
loss = model(input_ids, labels=labels).loss
高级用法
对于批量推理和训练,建议使用分词器类进行填充:
from transformers import T5ForConditionalGeneration, AutoTokenizer
model = T5ForConditionalGeneration.from_pretrained('google/byt5-small')
tokenizer = AutoTokenizer.from_pretrained('google/byt5-small')
model_inputs = tokenizer(["Life is like a box of chocolates.", "Today is Monday."], padding="longest", return_tensors="pt")
labels = tokenizer(["La vie est comme une boîte de chocolat.", "Aujourd'hui c'est lundi."], padding="longest", return_tensors="pt").input_ids
loss = model(**model_inputs, labels=labels).loss
📚 详细文档
大多数广泛使用的预训练语言模型处理的是与单词或子词单元对应的标记序列。将文本编码为标记序列需要一个分词器,而分词器通常是与模型独立创建的。相反,无分词器模型直接处理原始文本(字节或字符),具有许多优点:它们可以直接处理任何语言的文本,对噪声更具鲁棒性,并且通过去除复杂且容易出错的文本预处理流程,减少了技术债务。由于字节或字符序列比标记序列更长,过去关于无分词器模型的工作通常引入了新的模型架构,旨在分摊直接处理原始文本的成本。在本文中,我们表明标准的Transformer架构只需进行最小的修改即可用于处理字节序列。我们仔细分析了在参数数量、训练FLOP数和推理速度方面的权衡,并表明字节级模型与其标记级对应模型具有竞争力。我们还证明了字节级模型对噪声的鲁棒性显著更强,并且在对拼写和发音敏感的任务上表现更好。作为我们工作的一部分,我们发布了一组基于T5架构的新的预训练字节级Transformer模型,以及我们实验中使用的所有代码和数据。

📄 许可证
本项目采用Apache - 2.0许可证。
📋 信息表格
属性 |
详情 |
支持语言 |
多语言,包括af、am、ar等众多语言 |
训练数据集 |
mC4 |
许可证 |
Apache - 2.0 |