mT5
mT5 的多語版本。mT5(multilingual T5)延續 T5 的 text-to-text 架構
把分類、摘要、翻譯、問答、改寫都統一成「輸入文字 -> 輸出文字」的形式
多語言、生成式
核心概念
- 多語言預訓練
- mT5 在 101 種語言上做 pretraining,中文、英文、日文都在範圍內。
- Encoder-decoder / seq2seq
- 不只是理解文字,也能直接產生答案、摘要、改寫後句子。
- Task unification
- classification、Query Rewrite、summarization、QA、translation 都能用同一種 text-to-text 格式處理。
- Cross-lingual transfer
- 某些任務可以用高資源語言的資料幫助其他語言。
模型大小
| Model | Params | FP16 / BF16 權重大致大小 | 特性 |
|---|---|---|---|
google/mt5-small |
~300M | ~0.6 GB | 最輕量,適合 baseline 與原型 |
google/mt5-base |
~580M | ~1.2 GB | 成本與效果較平衡 |
google/mt5-large |
~1.2B | ~2.4 GB | 品質通常更穩,訓練成本上升 |
google/mt5-xl |
~3.7B | ~7.4 GB | 高品質,但部署門檻高 |
google/mt5-xxl |
~13B | ~26 GB | 通常要多卡或量化 |
Note
上表只是在估模型權重本體,不包含 activation、batch、beam search、optimizer state。實際訓練與推論顯存通常會再高很多。
mT5 能做什麼
- 改寫
- 多輪對話補全
- standalone query rewrite
- query normalization
- paraphrase
- 摘要
- 多語摘要
- 長文重點壓縮
- FAQ / QA summary
- 問答
- extractive QA
- generative QA
- multilingual QA
- 分類
- intent classification
- topic classification
- routing
- 資訊抽取
- NER
- slot filling
- relation / event extraction
- 翻譯
- 可以 fine-tune 做 translation,但它的主場仍然是多任務整合,不是純翻譯最佳化。
為什麼適合 Query Rewrite
mT5 本質上就是 seq2seq,因此很適合把不完整、口語化、依賴上下文的問句,改寫成較完整、可檢索的查詢。
- History-aware rewrite
- 把前文資訊補回當前問題。
- Intent-preserving rewrite
- 重點不是擴寫得很漂亮,而是保留原意。
- 多語與中英混用
- 對中文句子中混入英文品牌、術語、代碼的情境較合理。
- 階層式檢索前處理
- 可以先 rewrite,再接 RAG, Retrieval-Augmented Generation 或搜尋系統。
Example
輸入:那 Costco 呢?
輸出:好市多可以使用 SEPower 開立發票嗎?
優點
- 多語能力強
- 比純英文 mT5 更適合中文、英文與混合文本。
- 改寫自然
- rewrite、normalization、query completion 這類任務通常很合適。
- 任務格式統一
- 工程上可以用相同的輸入輸出框架處理多種 NLP 任務。
- 對低資源語言較友善
- 多語預訓練本來就是設計重點之一。
限制
- 不是 instruction-tuned
- 原始 mT5 比較像 pretrained model,不像 Flan-T5 那樣擅長直接 obey prompt。
- 所以 zero-shot 能用,但穩定性通常不如 instruction model。
- 分類與檢索效率不一定最好
- 如果任務只是分類、embedding、retrieval、reranking,encoder-only 模型常更便宜。
- 中文任務不一定贏中文專用模型
- 如果資料非常在地、術語很重,中文專用模型可能更強。
- Accidental translation
- 多語生成時,輸出偶爾會飄到其他語言。
實務選型
mt5-small- 適合快速驗證、小型 rewrite、低成本測試。
mt5-base- 最常見的起點,適合一般研究、原型、FAQ rewrite、基本摘要。
mt5-large- 適合品質比成本重要的情境,尤其是 production 級 rewrite / summarization。
mt5-xl/mt5-xxl- 偏研究或高資源部署,不適合多數團隊直接 full fine-tune。
與其他 Google T5 系列的差別
- mT5
- 基礎架構來源,偏英文。
- mT5
- 多語版 T5,適合中文、英文、多語混合任務。
- ByT5
- byte-level 表示,對 typo、OCR noise、特殊符號更穩,但通常更慢。
- Flan-T5
- instruction-tuned,zero-shot / few-shot prompt following 更好,但不是以多語為核心。
一句話判斷
- 多語 query rewrite / 中文可用 / 可 fine-tune -> mT5
- 輸入很髒、很多 typo / OCR noise -> ByT5
- zero-shot 指令跟隨更重要 -> Flan-T5
- 只做英文 seq2seq -> mT5 / Flan-T5
結論
mT5 是 Google T5 家族中很實用的多語 seq2seq 模型。若任務重點是 中文或多語的 query rewrite、摘要、問答、分類,它是很合理的起點;如果要在效果與成本之間取平衡,通常先看 mt5-base,品質優先時再看 mt5-large。
Reference
- T5: Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer
- mT5: A Massively Multilingual Pre-trained Text-to-Text Transformer
- ByT5: Towards a token-free future with pre-trained byte-to-byte models
- Scaling Instruction-Finetuned Language Models (Flan-T5)
- google/mt5-small
- google/mt5-base
- google/mt5-large
- google/mt5-xl
- google/mt5-xxl