🚀 FSMT
FSMT 是一個用於機器翻譯的模型,它基於 fairseq 的 wmt19 變壓器架構,支持英語和德語之間的翻譯。該模型在 WMT19 數據集上進行訓練,可用於新聞翻譯等任務。
🚀 快速開始
模型描述
這是 fairseq wmt19 transformer 英語到德語的移植版本。
更多詳細信息,請參閱 Facebook FAIR's WMT19 News Translation Task Submission。
縮寫 FSMT 代表 FairSeqMachineTranslation(FairSeq 機器翻譯)。
所有四個模型均可使用:
✨ 主要特性
- 支持英語和德語之間的翻譯。
- 基於 fairseq 的 wmt19 變壓器架構。
- 提供四個不同方向的翻譯模型。
💻 使用示例
基礎用法
from transformers import FSMTForConditionalGeneration, FSMTTokenizer
mname = "facebook/wmt19-en-de"
tokenizer = FSMTTokenizer.from_pretrained(mname)
model = FSMTForConditionalGeneration.from_pretrained(mname)
input = "Machine learning is great, isn't it?"
input_ids = tokenizer.encode(input, return_tensors="pt")
outputs = model.generate(input_ids)
decoded = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(decoded)
📚 詳細文檔
預期用途與限制
如何使用
上述代碼展示瞭如何使用該模型進行英語到德語的翻譯。
限制和偏差
- 原始模型(以及此移植版本)似乎不能很好地處理包含重複子短語的輸入,內容會被截斷。
訓練數據
預訓練權重與 fairseq 發佈的原始模型相同。更多詳細信息,請參閱 論文。
評估結果
語言對 |
fairseq |
transformers |
en-de |
43.1 |
42.83 |
由於 transformers
目前不支持以下內容,因此得分略低於 fairseq
報告的得分:
- 模型集成,因此移植了性能最佳的檢查點 (
model4.pt
)。
- 重新排序。
得分使用以下代碼計算:
git clone https://github.com/huggingface/transformers
cd transformers
export PAIR=en-de
export DATA_DIR=data/$PAIR
export SAVE_DIR=data/$PAIR
export BS=8
export NUM_BEAMS=15
mkdir -p $DATA_DIR
sacrebleu -t wmt19 -l $PAIR --echo src > $DATA_DIR/val.source
sacrebleu -t wmt19 -l $PAIR --echo ref > $DATA_DIR/val.target
echo $PAIR
PYTHONPATH="src:examples/seq2seq" python examples/seq2seq/run_eval.py facebook/wmt19-$PAIR $DATA_DIR/val.source $SAVE_DIR/test_translations.txt --reference_path $DATA_DIR/val.target --score_path $SAVE_DIR/test_bleu.json --bs $BS --task translation --num_beams $NUM_BEAMS
注意:fairseq 報告使用的束寬為 50,因此如果使用 --num_beams 50
重新運行,你應該會得到略高的分數。
數據來源
BibTeX 引用和引用信息
@inproceedings{...,
year={2020},
title={Facebook FAIR's WMT19 News Translation Task Submission},
author={Ng, Nathan and Yee, Kyra and Baevski, Alexei and Ott, Myle and Auli, Michael and Edunov, Sergey},
booktitle={Proc. of WMT},
}
待辦事項
- 移植模型集成(fairseq 使用 4 個模型檢查點)
📄 許可證
該模型使用 apache-2.0 許可證。