🚀 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 |