红鲑鱼
红鲑鱼已进入维护模式,不再添加新功能。我们感谢所有通过提交拉取请求、报告问题等方式为红鲑鱼的开发做出贡献的人。
红鲑鱼是一个基于PyTorch构建的开源序列到序列神经机器翻译框架。它实现了分布式训练和优化推理,为最先进的模型提供支持,为亚马逊翻译和其他机器翻译应用提供动力。最新的开发和变更都记录在我们的更新日志中。
如需快速入门指南,了解如何在任意规模的数据上训练标准神经机器翻译模型,请参阅WMT 2014英德教程。
如有问题和问题报告,请在GitHub上提交问题。
3.1.x版本:仅支持PyTorch
从3.1.x版本开始,我们移除了对MXNet 2.x的支持。使用PyTorch和红鲑鱼3.0.x训练的模型与红鲑鱼3.1.x保持兼容。使用2.3.x(基于MXNet)训练并通过红鲑鱼3.0.x的转换工具转换为PyTorch的模型无法在红鲑鱼3.1.x中使用。
3.0.0版本:同时支持PyTorch和MXNet
从3.0.0版本开始,红鲑鱼也基于PyTorch。我们在3.0.x版本中保持与2.3.x版本MXNet模型的向后兼容性。如果安装了MXNet 2.x,红鲑鱼可以同时使用PyTorch或MXNet运行。
所有使用2.3.x(基于MXNet)训练的模型都可以使用转换器CLI(sockeye.mx_to_pt
)转换为使用PyTorch运行的模型。这将创建一个PyTorch参数文件(<model>/params.best
),并将现有的MXNet参数文件备份为<model>/params.best.mx
。请注意,这仅适用于用于推理的完全训练好的模型。不支持使用PyTorch继续训练MXNet模型(因为我们不转换训练和优化器状态)。sockeye.mx_to_pt
需要在环境中安装MXNet。
3.0.0版本的所有CLI现在默认使用PyTorch,例如sockeye-{train,translate,score}
。基于MXNet的CLI/模块仍然可以通过sockeye-{train,translate,score}-mx
使用。
红鲑鱼3可以在不安装MXNet的情况下安装和运行,但如果安装了MXNet,将执行扩展的测试套件以确保PyTorch和MXNet模型之间的等效性。请注意,使用MXNet运行红鲑鱼3.0.0需要安装MXNet 2.x(pip install --pre -f https://dist.mxnet.io/python 'mxnet>=2.0.0b2021'
)
安装
下载红鲑鱼的当前版本:
git clone https://github.com/awslabs/sockeye.git
安装红鲑鱼模块及其依赖项:
cd sockeye && pip3 install --editable .
为了更快的GPU训练,请安装NVIDIA Apex。NVIDIA还提供包含Apex的PyTorch Docker容器。
文档
旧版本
- 基于PyTorch和MXNet 2.x的红鲑鱼3.0版本可在
sockeye_30
分支获得。 - 基于MXNet Gluon API的红鲑鱼2.x版本可在
sockeye_2
分支获得。 - 基于MXNet Module API的红鲑鱼1.x版本可在
sockeye_1
分支获得。
引用
有关红鲑鱼的更多信息,请参阅我们的论文(BibTeX)。
红鲑鱼3.x
Felix Hieber, Michael Denkowski, Tobias Domhan, Barbara Darques Barros, Celina Dong Ye, Xing Niu, Cuong Hoang, Ke Tran, Benjamin Hsu, Maria Nadejde, Surafel Lakew, Prashant Mathur, Anna Currey, Marcello Federico. 红鲑鱼3:基于PyTorch的快速神经机器翻译。ArXiv电子预印本。
红鲑鱼2.x
Tobias Domhan, Michael Denkowski, David Vilar, Xing Niu, Felix Hieber, Kenneth Heafield. AMTA 2020上的红鲑鱼2神经机器翻译工具包。第14届美洲机器翻译协会会议论文集(AMTA'20)。
Felix Hieber, Tobias Domhan, Michael Denkowski, David Vilar. 红鲑鱼2:一个神经机器翻译工具包。第22届欧洲机器翻译协会年会项目轨道论文集(EAMT'20)。
红鲑鱼1.x
Felix Hieber, Tobias Domhan, Michael Denkowski, David Vilar, Artem Sokolov, Ann Clifton, Matt Post. AMTA 2018上的红鲑鱼神经机器翻译工具包。第13届美洲机器翻译协会会议论文集(AMTA'18)。
Felix Hieber, Tobias Domhan, Michael Denkowski, David Vilar, Artem Sokolov, Ann Clifton and Matt Post. 2017. 红鲑鱼:一个神经机器翻译工具包。ArXiv电子预印本。
使用红鲑鱼进行研究
红鲑鱼已被用于学术和工业研究。下面列出了已知使用红鲑鱼的出版物。如果您知道更多,请告诉我们或提交拉取请求(最后更新:2022年5月)。
2023
- Zhang, Xuan, Kevin Duh, Paul McNamee. "用于神经机器翻译研究的超参数优化工具包"。ACL会议论文集(2023)。
2022年
- Currey, Anna等人。"MT-GenEval:一个用于评估机器翻译性别准确性的反事实和上下文数据集"。EMNLP会议论文集(2022)。
- Domhan, Tobias等人。"魔鬼藏于细节:神经机器翻译词汇选择的陷阱"。NAACL-HLT会议论文集(2022)
- Fischer, Lukas等人。"16世纪拉丁文信件到德语的机器翻译"。历史和古代语言技术研讨会(2022)。
- Knowles, Rebecca, Patrick Littell。"翻译记忆作为低资源机器翻译的基线"。LREC会议论文集(2022)
- McNamee, Paul, Kevin Duh。"多语言微博翻译语料库:改进和评估用户生成文本的翻译"。LREC会议论文集(2022)
- Nadejde Maria等人。"CoCoA-MT:一个用于对比控制机器翻译的数据集和基准,应用于正式性"。NAACL会议论文集(2022)。
- Weller-Di Marco, Marion等人。"神经机器翻译中目标端形态学建模:策略比较"。arXiv预印本arXiv:2203.13550(2022)
2021年
- Bergmanis, Toms, Mārcis Pinnis。"通过目标词元注释促进术语翻译"。arXiv预印本arXiv:2101.10035(2021)
- Briakou, Eleftheria, Marine Carpuat。"超越噪音:缓解细粒度语义差异对神经机器翻译的影响"。arXiv预印本arXiv:2105.15087(2021)
- Hasler, Eva等人。"改善神经机器翻译多领域适应的质量权衡"。EMNLP会议论文集(2021)
- Tang, Gongbo等人。"重新审视神经机器翻译中的否定"。计算语言学协会学报9(2021)
- Vu, Thuy, Alessandro Moschitti。"通过从网络自动选择训练数据实现机器翻译定制"。arXiv预印本arXiv:2102.1024(2021)
- Xu, Weijia, Marine Carpuat。"EDITOR:一种基于编辑的具有重新定位功能的Transformer,用于带软词汇约束的神经机器翻译"。计算语言学协会学报9(2021)
- Müller, Mathias, Rico Sennrich。"理解神经机器翻译中最小贝叶斯风险解码的特性"。第59届计算语言学年会暨第11届自然语言处理国际联合会议论文集(第1卷:长文)(2021)
- Popović, Maja, Alberto Poncelas。"关于用户评论的机器翻译"。RANLP会议论文集(2021)
- Popović, Maja。"关于观察到的机器翻译错误的性质和原因"。第18届机器翻译峰会论文集(第1卷:研究轨道)(2021)
- Jain, Nishtha等人。"为自然语言处理生成性别增强数据"。第三届自然语言处理中的性别偏见研讨会论文集(2021)
- Vilar, David, Marcello Federico。"字节对编码的统计扩展"。IWSLT会议论文集(2021)
2020年
- Dinu, Georgiana等人。"端到端本地化的联合翻译和单位转换"。IWSLT会议论文集(2020)
- Exel, Miriam等人。"SAP的术语约束神经机器翻译"。EAMT会议论文集(2020)。
- Hisamoto, Sorami等人。"序列到序列模型的成员推理攻击:我的数据在你的机器翻译系统中吗?"计算语言学协会学报,第8卷(2020)
- Naradowsky, Jason等人。"基于赌博反馈的机器翻译系统选择"。arXiv预印本arXiv:2002.09646(2020)
- Niu, Xing等人。"评估神经机器翻译对输入扰动的鲁棒性"。arXiv预印本arXiv:2005.00580(2020)
- Niu, Xing, Marine Carpuat。"使用合成监督控制神经机器翻译的正式性"。AAAI会议论文集(2020)
- Keung, Phillip等人。"通过自训练上下文嵌入进行无监督双语文本挖掘和翻译"。arXiv预印本arXiv:2010.07761(2020)。
- Sokolov, Alex等人。"用于多语言字形到音素转换的神经机器翻译"。arXiv预印本arXiv:2006.14194(2020)
- Stafanovičs, Artūrs等人。"使用目标性别注释缓解机器翻译中的性别偏见"。arXiv预印本arXiv:2010.06203(2020)
- Stojanovski, Dario, Alexander Fraser。"在神经机器翻译中使用文档级上下文处理零资源领域"。arXiv预印本arXiv:2004.14927(2020)
- Stojanovski, Dario等人。"ContraCAT:机器翻译的对比指代分析模板"。COLING会议论文集(2020)
- Zhang, Xuan, Kevin Duh。"神经机器翻译系统超参数优化的可复现和高效基准"。计算语言学协会学报,第8卷(2020)
- Swe Zin Moe等人,"缅甸手语和缅甸语之间的无监督神经机器翻译",智能信息学与智能技术杂志,4月1日刊,2020年,第53-61页。(2019年12月21日提交;2020年3月6日接受;2020年3月16日修订;2020年4月30日在线发表)
- Thazin Myint Oo等人,"缅甸语(缅甸语)和道圭语(Tavoyan)之间的神经机器翻译",第18届计算机应用国际会议(ICCA 2020)论文集,2020年2月27-28日,缅甸仰光,第219-227页
- Müller, Mathias等人。"神经机器翻译中的领域鲁棒性"。AMTA会议论文集(2020)
- Rios, Annette等人。"子词分割和单一桥接语言影响零样本神经机器翻译"。第五届WMT研究论文集(2020)
- Popović, Maja, Alberto Poncelas。"相似南斯拉夫语言之间的神经机器翻译"。第五届WMT研究论文集(2020)
- Popović, Maja, Alberto Poncelas。"使用字符n-gram匹配从不干净的平行数据中提取正确对齐的片段"。语言技术与数字人文会议(JTDH 2020)论文集。
- Popović, Maja等人。"用于翻译成克罗地亚语和塞尔维亚语的神经机器翻译"。第七届相似语言、变体和方言NLP研讨会论文集(2020)
2019年
- Agrawal, Sweta, Marine Carpuat。《在神经机器翻译中控制文本复杂度》。EMNLP会议论文集(2019)
- Beck, Daniel, Trevor Cohn, Gholamreza Haffari。《使用格子转换和图网络的神经语音翻译》。TextGraphs-13会议论文集(EMNLP 2019)
- Currey, Anna, Kenneth Heafield。《使用单语枢轴数据的零资源神经机器翻译》。EMNLP会议论文集(2019)
- Gupta, Prabhakar, Mayank Sharma。《数字娱乐内容字幕的无监督翻译质量评估》。IEEE国际语义计算期刊(2019)
- Hu, J. Edward等。《改进的词汇约束解码用于翻译和单语重写》。NAACL-HLT会议论文集(2019)
- Rosendahl, Jan等。《RWTH亚琛大学WMT 2019机器翻译系统》。第四届WMT研究论文集(2019)
- Thompson, Brian等。《克服神经机器翻译领域适应中的灾难性遗忘》。NAACL-HLT 2019会议论文集(2019)
- Tättar, Andre, Elizaveta Korotkova, Mark Fishel。《塔尔图大学多语言多领域WMT19新闻翻译共享任务提交》。第四届WMT研究论文集(2019)
- Thazin Myint Oo, Ye Kyaw Thu和Khin Mar Soe。《缅甸语(缅甸语)和若开语(阿拉干语)之间的神经机器翻译》。第六届相似语言、变体和方言NLP研讨会论文集,NAACL-2019,2019年6月7日,美国明尼阿波利斯,第80-88页
2018
- Domhan, Tobias。《你需要多少注意力?神经机器翻译架构的细粒度分析》。第56届ACL会议论文集(2018)
- Kim, Yunsu, Yingbo Gao和Hermann Ney。《无共享词汇的有效跨语言神经机器翻译模型迁移》。arXiv预印本arXiv:1905.05475(2019)
- Korotkova, Elizaveta, Maksym Del和Mark Fishel。《单语和跨语言零样本风格迁移》。arXiv预印本arXiv:1808.00179(2018)
- Niu, Xing, Michael Denkowski和Marine Carpuat。《使用合成平行数据的双向神经机器翻译》。arXiv预印本arXiv:1805.11213(2018)
- Niu, Xing, Sudha Rao和Marine Carpuat。《用于语言内外风格转换的多任务神经模型》。COLING(2018)
- Post, Matt和David Vilar。《用于神经机器翻译的快速词汇约束解码与动态束分配》。NAACL-HLT会议论文集(2018)
- Schamper, Julian等。《RWTH亚琛大学WMT 2018监督机器翻译系统》。第三届WMT共享任务论文集(2018)
- Schulz, Philip, Wilker Aziz和Trevor Cohn。《神经机器翻译的随机解码器》。arXiv预印本arXiv:1805.10844(2018)
- Tamer, Alkouli, Gabriel Bretschner和Hermann Ney。《基于多头注意力的神经机器翻译中的对齐问题》。第三届WMT研究论文集(2018)
- Tang, Gongbo, Rico Sennrich和Joakim Nivre。《注意力机制分析:神经机器翻译中词义消歧的案例》。第三届WMT研究论文集(2018)
- Thompson, Brian等。《冻结子网络以分析神经机器翻译中的领域适应》。arXiv预印本arXiv:1809.05218(2018)
- Vilar, David。《学习隐藏单元贡献以适应神经机器翻译模型》。NAACL-HLT会议论文集(2018)
- Vyas, Yogarshi, Xing Niu和Marine Carpuat。《无需注释识别平行文本中的语义差异》。NAACL-HLT会议论文集(2018)
- Wang, Weiyue等。《机器翻译的神经隐马尔可夫模型》。第56届ACL会议论文集(2018)
- Zhang, Xuan等。《神经机器翻译课程学习的实证探索》。arXiv预印本arXiv:1811.00739(2018)
- Swe Zin Moe, Ye Kyaw Thu, Hnin Aye Thant和Nandar Win Min。《缅甸手语和缅甸书面文本之间的神经机器翻译》。第二届东盟语言光学字符识别和自然语言处理技术区域会议(ONA 2018),2018年12月13-14日,柬埔寨金边。
- Tang, Gongbo, Mathias Müller, Annette Rios和Rico Sennrich。《为什么是自注意力?神经机器翻译架构的有针对性评估》。EMNLP会议论文集(2018)
2017
- Domhan, Tobias和Felix Hieber。《通过多任务学习使用目标端单语数据进行神经机器翻译》。EMNLP会议论文集(2017)。