🚀 FSMT
FSMT是用于机器翻译的模型,它基于fairseq wmt19 transformer进行移植,支持英语和俄语等语言的互译。该模型在新闻翻译任务中表现良好,为自然语言处理领域的翻译工作提供了有效的解决方案。
🚀 快速开始
以下是使用该模型进行英语到俄语翻译的示例代码:
from transformers import FSMTForConditionalGeneration, FSMTTokenizer
mname = "facebook/wmt19-en-ru"
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 wmt19 transformer的移植版本。
更多详细信息,请参阅 Facebook FAIR的WMT19新闻翻译任务提交。
缩写FSMT代表FairSeq Machine Translation。
所有四个模型均可使用:
预期用途与限制
使用方法
上述快速开始部分已给出使用示例。
限制和偏差
- 原始模型(以及此移植模型)似乎不能很好地处理包含重复子短语的输入,内容会被截断
训练数据
预训练权重与fairseq发布的原始模型保持一致。更多详细信息,请参阅论文。
评估结果
语言对 |
fairseq |
transformers |
en-ru |
36.4 |
33.47 |
该分数略低于fairseq
报告的分数,因为transformers
目前不支持:
- 模型集成,因此移植了性能最佳的检查点(
model4.pt
)。
- 重新排序
分数使用以下代码计算:
git clone https://github.com/huggingface/transformers
cd transformers
export PAIR=en-ru
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。