🚀 t5-small-spanish-nahuatl
本項目旨在解決納瓦特爾語(Nahuatl)數據缺乏情況下的神經機器翻譯難題。通過利用T5文本到文本的前綴訓練策略,先讓多語言模型學習西班牙語,再適配納瓦特爾語,最終實現了短句子的成功翻譯,並給出了Chrf和BLEU評估結果。
🚀 快速開始
本模型可實現西班牙語到納瓦特爾語的翻譯,以下是使用示例:
from transformers import AutoModelForSeq2SeqLM
from transformers import AutoTokenizer
model = AutoModelForSeq2SeqLM.from_pretrained('hackathon-pln-es/t5-small-spanish-nahuatl')
tokenizer = AutoTokenizer.from_pretrained('hackathon-pln-es/t5-small-spanish-nahuatl')
model.eval()
sentence = 'muchas flores son blancas'
input_ids = tokenizer('translate Spanish to Nahuatl: ' + sentence, return_tensors='pt').input_ids
outputs = model.generate(input_ids)
outputs = tokenizer.batch_decode(outputs, skip_special_tokens=True)[0]
✨ 主要特性
- 數據補償策略:利用T5文本到文本前綴訓練策略,先讓多語言模型學習西班牙語,再適配納瓦特爾語,以補償數據的不足。
- 成功翻譯短句子:訓練得到的T5 Transformer能夠成功翻譯短句子。
- 評估指標報告:報告了Chrf和BLEU評估結果。
📦 安裝指南
暫未提及安裝相關內容,可參考使用示例中的代碼進行模型的加載和使用。
💻 使用示例
基礎用法
from transformers import AutoModelForSeq2SeqLM
from transformers import AutoTokenizer
model = AutoModelForSeq2SeqLM.from_pretrained('hackathon-pln-es/t5-small-spanish-nahuatl')
tokenizer = AutoTokenizer.from_pretrained('hackathon-pln-es/t5-small-spanish-nahuatl')
model.eval()
sentence = 'muchas flores son blancas'
input_ids = tokenizer('translate Spanish to Nahuatl: ' + sentence, return_tensors='pt').input_ids
outputs = model.generate(input_ids)
outputs = tokenizer.batch_decode(outputs, skip_special_tokens=True)[0]
📚 詳細文檔
模型描述
本模型是一個T5 Transformer(t5-small),在從網絡收集的西班牙語和納瓦特爾語句子上進行了微調。數據集使用了來自 py-elotl 的 'sep' 規範化方法進行規範化。
方法
數據集
由於Axolotl語料庫存在對齊問題,我們選擇了最佳樣本(12,207個)。我們還使用了 bible-corpus(7,821個)。此外,我們還從網絡收集了3,000個額外樣本以增加數據量。
Axolotl最佳對齊書籍 |
Anales de Tlatelolco |
Diario |
Documentos nauas de la Ciudad de México del siglo XVI |
Historia de México narrada en náhuatl y español |
La tinta negra y roja (antología de poesía náhuatl) |
Memorial Breve (Libro las ocho relaciones) |
Método auto-didáctico náhuatl-español |
Nican Mopohua |
Quinta Relación (Libro las ocho relaciones) |
Recetario Nahua de Milpa Alta D.F |
Testimonios de la antigua palabra |
Trece Poetas del Mundo Azteca |
Una tortillita nomás - Se taxkaltsin saj |
Vida económica de Tenochtitlan |
模型與訓練
我們使用多語言T5-small進行兩個階段的訓練。該模型的優勢在於它可以處理不同的詞彙表和前綴。T5-small在不同的任務和語言(法語、羅馬尼亞語、英語、德語)上進行了預訓練。
- 訓練階段1(學習西班牙語):在訓練階段1,我們首先讓模型學習西班牙語。目標是學習一種數據豐富的新語言(西班牙語),同時不丟失之前的知識。我們使用了英語 - 西班牙語的 Anki 數據集,該數據集包含118,964個文本對。模型訓練至收斂,並添加前綴 "Translate Spanish to English: "。
- 訓練階段2(學習納瓦特爾語):我們使用預訓練的西班牙語 - 英語模型來學習西班牙語 - 納瓦特爾語。由於納瓦特爾語對的數量有限,我們還添加了20,000個來自英語 - 西班牙語Anki數據集的樣本。這種雙任務訓練避免了過擬合,使模型更加健壯。
訓練設置
我們在相同的數據集上對模型進行了660,000步的訓練,使用的批量大小為16,學習率為2e-5。
評估結果
我們在相同的505個驗證納瓦特爾語句子上對模型進行了評估,以進行公平比較。最後,我們使用chrf和sacrebleu hugging face指標報告了結果:
英語 - 西班牙語預訓練 |
驗證損失 |
BLEU |
Chrf |
否 |
1.34 |
6.17 |
26.96 |
是 |
1.31 |
6.18 |
28.21 |
英語 - 西班牙語預訓練提高了BLEU和Chrf指標,並導致更快的收斂。評估可在 eval.ipynb 筆記本中查看。
🔧 技術細節
本項目利用T5文本到文本前綴訓練策略,先讓多語言模型學習西班牙語,再適配納瓦特爾語,以補償數據的不足。在數據集處理上,選擇最佳樣本並使用規範化方法。在模型訓練上,採用兩階段訓練策略,並添加額外樣本避免過擬合。
📄 許可證
本項目使用Apache-2.0許可證。
📖 參考文獻
- Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, and Peter J Liu. 2019. Exploring the limits of transfer learning with a unified Text-to-Text transformer.
- Ximena Gutierrez-Vasques, Gerardo Sierra, and Hernandez Isaac. 2016. Axolotl: a web accessible parallel corpus for Spanish-Nahuatl. In International Conference on Language Resources and Evaluation (LREC).
- https://github.com/christos-c/bible-corpus
- https://github.com/ElotlMX/py-elotl
👥 團隊成員