🚀 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 许可证。