🚀 mBART-large-50:用於英語到葡萄牙語翻譯的微調模型
mBART-large-50 是在 opus100 和 opusbook 數據集上進行微調的模型,專門用於英語到葡萄牙語的神經機器翻譯(NMT)下游任務。它基於 mBART-50 架構,為多語言翻譯提供了強大的支持。
✨ 主要特性
- 多語言支持:mBART-50 是一個多語言序列到序列模型,支持 50 種語言的機器翻譯。
- 微調優化:在 opus100 和 opusbook 數據集上進行微調,針對英語到葡萄牙語的翻譯任務進行了優化。
- 先進的預訓練目標:採用多語言去噪預訓練(Multilingual Denoising Pretraining),提高了模型的泛化能力。
📦 安裝指南
git clone https://github.com/huggingface/transformers.git
pip install -q ./transformers
💻 使用示例
基礎用法
from transformers import MBart50TokenizerFast, MBartForConditionalGeneration
ckpt = 'Narrativa/mbart-large-50-finetuned-opus-en-pt-translation'
tokenizer = MBart50TokenizerFast.from_pretrained(ckpt)
model = MBartForConditionalGeneration.from_pretrained(ckpt).to("cuda")
tokenizer.src_lang = 'en_XX'
def translate(text):
inputs = tokenizer(text, return_tensors='pt')
input_ids = inputs.input_ids.to('cuda')
attention_mask = inputs.attention_mask.to('cuda')
output = model.generate(input_ids, attention_mask=attention_mask, forced_bos_token_id=tokenizer.lang_code_to_id['pt_XX'])
return tokenizer.decode(output[0], skip_special_tokens=True)
translate('here your English text to be translated to Portuguese...')
📚 詳細文檔
mBART-50 模型細節 🧠
mBART-50 是一個多語言序列到序列模型,它通過多語言微調展示了多語言翻譯模型的創建方式。該模型基於原始的 mBART 模型擴展而來,額外添加了 25 種語言,支持 50 種語言的機器翻譯。其預訓練目標為多語言去噪預訓練,具體如下:
- 多語言去噪預訓練:模型通過連接數據合併 N 種語言:
D = {D1, ..., DN }
,其中每個 Di 是語言 i
的單語文檔集合。源文檔使用兩種方案進行加噪,一是隨機打亂原始句子的順序,二是一種新穎的填充方案,即將文本片段替換為單個掩碼標記。然後模型的任務是重構原始文本。每個實例的 35% 的單詞通過根據泊松分佈 (λ = 3.5)
隨機採樣片段長度進行掩碼。解碼器輸入是原始文本,偏移一個位置。語言 ID 符號 LID
用作預測句子的初始標記。
下游任務(NMT) - 數據集詳情 📚
數據集概述
OPUS-100 以英語為中心,即所有訓練對的源端或目標端都包含英語。該語料庫涵蓋 100 種語言(包括英語)。語言的選擇基於 OPUS 中可用的平行數據量。
語言情況
OPUS-100 包含約 5500 萬個句子對。在 99 個語言對中,44 個有 100 萬個句子對的訓練數據,73 個至少有 10 萬個,95 個至少有 1 萬個。
數據集結構
- 數據字段:
src_tag
:源語言的 string
文本
tgt_tag
:源語言在目標語言中的翻譯 string
- 數據分割:數據集分為訓練集、開發集和測試集。數據的準備方式是為每個語言對隨機採樣最多 100 萬個句子對用於訓練,開發集和測試集各最多 2000 個。為確保訓練集和開發/測試數據之間沒有重疊(在單語句子級別),在採樣期間應用了一個過濾器,排除已經被採樣的句子。
測試集指標 🧾
我們在測試集上獲得了 20.61 的 BLEU 分數。
🔧 技術細節
模型類型
多語言序列到序列模型
訓練數據
- OPUS-100:以英語為中心的多語言平行語料庫,涵蓋 100 種語言。
- opusbook:具體信息可參考相關文檔。
預訓練目標
多語言去噪預訓練,通過隨機打亂句子順序和填充文本片段的方式對源文檔進行加噪,然後讓模型重構原始文本。
🔗 相關鏈接
- 模型創建者:Narrativa
- 關於 Narrativa:自然語言生成(NLG) | Gabriele 是基於機器學習的平臺,用於構建和部署自然語言解決方案。 #NLG #AI