模型简介
模型特点
模型能力
使用案例
🚀 MrT5 Small模型卡片
MrT5 Small 是一种更高效的字节级语言模型,它在ByT5的基础上集成了动态令牌删除机制,有效缩短输入序列长度,解决了现有字节级模型的实际限制问题。
🚀 快速开始
MrT5与ByT5一样,可处理原始UTF - 8字节,无需分词器。加载MrT5代码时,请确保设置 trust_remote_code=True
:
from transformers import AutoModelForSeq2SeqLM
import torch
model = AutoModelForSeq2SeqLM.from_pretrained('stanfordnlp/mrt5-small', trust_remote_code=True)
input_ids = torch.tensor([list("Life is like a box of chocolates.".encode("utf-8"))]) + 3 # add 3 for special tokens
labels = torch.tensor([list("La vie est comme une boîte de chocolat.".encode("utf-8"))]) + 3 # add 3 for special tokens
# Forward pass with hard deletion
loss = model(input_ids, labels=labels, hard_delete=True).loss
对于批量推理和训练,可使用ByT5的分词器类:
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
model = AutoModelForSeq2SeqLM.from_pretrained('stanfordnlp/mrt5-small', trust_remote_code=True)
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
# Forward pass with hard deletion
loss = model(**model_inputs, labels=labels, hard_delete=True).loss
✨ 主要特性
- 动态令牌合并:集成令牌删除机制,动态缩短输入序列长度,有效合并关键信息。
- 高效性能:相比ByT5,能在减少约50%编码器序列长度的情况下,保持较好的性能。
- 多语言支持:支持英语、法语、西班牙语、德语等15种语言。
📦 安装指南
文档未提及安装相关内容,故跳过此章节。
💻 使用示例
基础用法
from transformers import AutoModelForSeq2SeqLM
import torch
model = AutoModelForSeq2SeqLM.from_pretrained('stanfordnlp/mrt5-small', trust_remote_code=True)
input_ids = torch.tensor([list("Life is like a box of chocolates.".encode("utf-8"))]) + 3 # add 3 for special tokens
labels = torch.tensor([list("La vie est comme une boîte de chocolat.".encode("utf-8"))]) + 3 # add 3 for special tokens
# Forward pass with hard deletion
loss = model(input_ids, labels=labels, hard_delete=True).loss
高级用法
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
model = AutoModelForSeq2SeqLM.from_pretrained('stanfordnlp/mrt5-small', trust_remote_code=True)
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
# Forward pass with hard deletion
loss = model(**model_inputs, labels=labels, hard_delete=True).loss
📚 详细文档
模型详情
这是3亿参数的 MrT5 Small (mrt5-small
) 模型卡片,它是ByT5 Small (google/byt5-small
) 的更高效变体。该模型经训练后,平均可将序列长度减少约50%。
属性 | 详情 |
---|---|
开发者 | Julie Kallini、Shikhar Murty、Christopher D. Manning、Christopher Potts、Róbert Csordás |
模型类型 | MrT5 |
支持语言 | 英语、法语、西班牙语、德语、希腊语、保加利亚语、俄语、土耳其语、阿拉伯语、越南语、泰语、中文、印地语、斯瓦希里语和乌尔都语 |
微调基础模型 | google/byt5-small |
更多信息来源 | GitHub仓库、论文 |
模型架构
MrT5 Small采用标准ByT5 Small的模型配置,前馈维度为3584,模型维度为1472,有12个编码器层、4个解码器层,每层有6个注意力头,总参数为3亿。 MrT5有一个额外的 删除门,可动态减少编码器序列长度。在该模型中,它位于第三个编码器层之后,后续所有层都在缩短后的序列上操作。该模型的删除率δ = 0.5,即模型在第三层后将编码器序列长度减少约50%。MrT5的门控机制仅引入了额外的3000个参数。 MrT5 Small从ByT5 Small初始化,并在相同的训练目标上进行微调。训练前,仅MrT5的删除门是随机初始化的。MrT5的另一个显著特点是在其注意力机制中使用了 softmax1。
用途
该模型是一种编码器 - 解码器架构,主要用于序列到序列任务。虽然可直接用于探索或学术目的,但建议进行微调以在特定下游任务上实现最佳性能。 要利用模型的删除功能,请使用 配套仓库 中提供的自定义 MrT5Trainer。这个专门的训练器可确保在微调过程中正确维护和集成删除机制。 由于这是一个为学术和研究探索而构建的基础模型,不适合生产级部署。用户应仔细评估模型的输出,尤其是在对可靠性和鲁棒性要求较高的环境中。
偏差、风险和局限性
语言模型已知会表现出各种形式的社会偏差,可能产生有害或冒犯性内容(Bender等人,2021;Bommasani等人,2022;Liang等人,2022)。与其他语言模型一样,该模型可能产生有偏差或有害的输出。它未针对安全性进行微调,使用时应谨慎,尤其是在敏感环境中。
训练详情
训练数据
为进行持续预训练,使用 多语言C4 (mC4) 语料库(Raffel等人,2020;Xue等人,2021)。MrT5在15种类型多样的语言上进行训练:英语、法语、西班牙语、德语、希腊语、保加利亚语、俄语、土耳其语、阿拉伯语、越南语、泰语、中文、印地语、斯瓦希里语和乌尔都语。 为避免对模型进行多个周期的训练,确保从mC4语料库中抽取的样本足够大。此外,从mC4训练分割中为每种语言抽取相同大小(按字节计算)的样本。
训练过程
MrT5在ByT5的跨度损坏预训练目标上进行训练。在这个任务中,未标记文本数据中的令牌跨度被每个跨度一个 哨兵令牌 ID 替换,模型必须填充缺失的令牌。对于ByT5和MrT5,这些是字节跨度,掩码可能会干扰单词边界。
预处理
在跨度损坏目标上训练时,计算损坏跨度,使平均掩码跨度长度为20个令牌,噪声密度为15%,即序列中15%的令牌被掩码,遵循ByT5论文中规定的规范。
优化
MrT5在2^20个令牌的批次上进行5000次梯度步骤的训练(即编码器序列长度为1024,有效批次大小为1024)。使用AdamW优化器,初始学习率为1e - 4,线性衰减,无预热。 为实现特定的序列长度减少率,使用PI控制器,目标删除率δ = 0.5,如论文第3.2节所述。还使用了注意力分数正则化,如论文附录D所述。
环境影响
- 硬件类型:NVIDIA RTX 6000 Ada Generation
- GPU数量:1
- 使用时长:约63小时
- 云服务提供商:斯坦福NLP集群
🔧 技术细节
MrT5的核心技术在于其动态令牌删除机制和特殊的注意力机制。删除门在第三个编码器层后发挥作用,减少序列长度,且仅引入少量额外参数。同时,注意力机制使用 softmax1,提升了模型性能。
📄 许可证
文档未提及许可证相关内容,故跳过此章节。
引用
如果使用此模型,请引用MrT5论文:
@inproceedings{
kallini2025mrt,
title={MrT5: Dynamic Token Merging for Efficient Byte-level Language Models},
author={Julie Kallini and Shikhar Murty and Christopher D Manning and Christopher Potts and R{\'o}bert Csord{\'a}s},
booktitle={The Thirteenth International Conference on Learning Representations},
year={2025},
url={https://openreview.net/forum?id=VYWBMq1L7H}
}
同时引用ByT5论文:
@article{xue-etal-2022-byt5,
title = "{B}y{T}5: Towards a Token-Free Future with Pre-trained Byte-to-Byte Models",
author = "Xue, Linting and
Barua, Aditya and
Constant, Noah and
Al-Rfou, Rami and
Narang, Sharan and
Kale, Mihir and
Roberts, Adam and
Raffel, Colin",
editor = "Roark, Brian and
Nenkova, Ani",
journal = "Transactions of the Association for Computational Linguistics",
volume = "10",
year = "2022",
address = "Cambridge, MA",
publisher = "MIT Press",
url = "https://aclanthology.org/2022.tacl-1.17",
doi = "10.1162/tacl_a_00461",
pages = "291--306",
}
⚠️ 重要提示
语言模型可能存在各种社会偏差,会产生有害或冒犯性内容。此模型未针对安全性进行微调,使用时需谨慎,尤其是在敏感环境中。
💡 使用建议
该模型为基础模型,用于学术和研究探索,不适合生产级部署。若要利用模型的删除功能,请使用 配套仓库 中的 MrT5Trainer 进行微调。



