OpenNMT-py是OpenNMT项目的PyTorch实现版本,是一个开源的神经机器翻译和大型语言模型框架。它由Harvard NLP小组和SYSTRAN公司于2016年在Lua上孵化,并于2017年移植到PyTorch上。OpenNMT-py专为研究人员设计,可以方便地尝试翻译、语言建模、摘要等自然语言处理任务中的新想法。同时,一些公司已经证明该代码可以用于生产环境。
OpenNMT-py具有以下主要特点:
OpenNMT-py最近新增了一些重要功能:
对于所有用例(包括神经机器翻译),现在可以使用Multiquery代替Multihead注意力(在训练和推理时更快),并从所有Linear层(QKV和FeedForward模块)中移除偏置。
OpenNMT-py可以通过pip安装,也可以从源代码安装。它需要Python 3.8+和PyTorch 2.0+。
基本的安装步骤如下:
pip install OpenNMT-py
或者从源代码安装:
git clone https://github.com/OpenNMT/OpenNMT-py.git cd OpenNMT-py pip install -e .
OpenNMT-py提供了详细的文档和教程,帮助用户快速上手。例如:
OpenNMT-py是一个协作开源项目,欢迎社区贡献。贡献者可以查看标记为"contributions welcome"的issues。在提出问题之前,请确保阅读了要求和完整文档示例。
如果您在学术工作中使用OpenNMT-py,请引用2017年ACL发表的系统演示论文:
@misc{klein2018opennmt,
title={OpenNMT: Neural Machine Translation Toolkit},
author={Guillaume Klein and Yoon Kim and Yuntian Deng and Vincent Nguyen and Jean Senellart and Alexander M. Rush},
year={2018},
eprint={1805.11462},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
OpenNMT-py作为一个功能强大、灵活易用的开源神经机器翻译和大型语言模型框架,为NLP研究和应用提供了重要工具。它不断更新的功能和活跃的社区支持,使其成为探索和实现最新NLP技术的理想平台。无论是学术研究还是工业应用,OpenNMT-py都是一个值得考虑的选择。