模型概述
模型特點
模型能力
使用案例
🚀 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 進行微調。



