🚀 FSMT
FSMT是一个用于机器翻译的模型,它基于fairseq的wmt19 transformer架构,支持德语和英语之间的翻译。该模型在WMT19数据集上进行训练,具有较高的翻译质量。
🚀 快速开始
你可以按照以下步骤使用FSMT模型进行德语到英语的翻译:
from transformers import FSMTForConditionalGeneration, FSMTTokenizer
mname = "facebook/wmt19-de-en"
tokenizer = FSMTTokenizer.from_pretrained(mname)
model = FSMTForConditionalGeneration.from_pretrained(mname)
input = "Maschinelles Lernen ist großartig, oder?"
input_ids = tokenizer.encode(input, return_tensors="pt")
outputs = model.generate(input_ids)
decoded = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(decoded)
✨ 主要特性
- 多语言支持:支持德语和英语之间的翻译。
- 高翻译质量:在WMT19数据集上进行训练,具有较高的翻译质量。
- 易于使用:通过Hugging Face的
transformers
库可以方便地加载和使用。
📦 安装指南
要使用FSMT模型,你需要安装transformers
库。可以使用以下命令进行安装:
pip install transformers
💻 使用示例
基础用法
from transformers import FSMTForConditionalGeneration, FSMTTokenizer
mname = "facebook/wmt19-de-en"
tokenizer = FSMTTokenizer.from_pretrained(mname)
model = FSMTForConditionalGeneration.from_pretrained(mname)
input = "Maschinelles Lernen ist großartig, oder?"
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 wmt19 transformer的德语到英语的移植版本。
更多详细信息,请参阅Facebook FAIR's WMT19 News Translation Task Submission。
缩写FSMT代表FairSeq Machine Translation。
所有四个模型均可使用:
预期用途和限制
限制和偏差
- 原始模型(以及这个移植版本)似乎不能很好地处理包含重复子短语的输入,内容会被截断
训练数据
预训练权重与fairseq发布的原始模型相同。更多详细信息,请参阅论文。
评估结果
语言对 |
fairseq |
transformers |
de-en |
42.3 |
41.35 |
由于transformers
目前不支持以下内容,因此得分略低于fairseq
报告的得分:
- 模型集成,因此移植了性能最佳的检查点(
model4.pt
)。
- 重新排序
得分使用以下代码计算:
git clone https://github.com/huggingface/transformers
cd transformers
export PAIR=de-en
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},
}
待办事项
📄 许可证
本项目采用Apache-2.0许可证。