Fairseq-用Python编写的Facebook AI Research Sequence-to-Sequence工具包

Fairseq(-py)是一个序列建模工具包,允许研究人员和开发人员为翻译、摘要、语言建模和其他文本生成任务培训自定义模型

我们提供了各种序列建模论文的参考实现:

实施文件一览表

最新消息:

以前的更新

功能:

我们还提供pre-trained models for translation and language modeling以一种方便的方式torch.hub接口:

en2de = torch.hub.load('pytorch/fairseq', 'transformer.wmt19.en-de.single_model')
en2de.translate('Hello world', beam=5)
# 'Hallo Welt'

请参阅Pych Torch Hub教程,了解translationRoBERTa有关更多示例,请参阅

要求和安装

  • PyTorch版本>=1.5.0
  • Python版本>=3.6
  • 要培训新型号,您还需要NVIDIA图形处理器和NCCL
  • 要安装airseq,请执行以下操作并在当地发展:
git clone https://github.com/pytorch/fairseq
cd fairseq
pip install --editable ./

# on MacOS:
# CFLAGS="-stdlib=libc++" pip install --editable ./

# to install the latest stable release (0.10.x)
# pip install fairseq
  • 提供更快的培训安装NVIDIAapex库:
git clone https://github.com/NVIDIA/apex
cd apex
pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" \
  --global-option="--deprecated_fused_adam" --global-option="--xentropy" \
  --global-option="--fast_multihead_attn" ./
  • 对于大型数据集安装PyArrowpip install pyarrow
  • 如果您使用Docker,请确保使用以下命令增加共享内存大小--ipc=host--shm-size作为命令行选项执行以下操作nvidia-docker run

快速入门

这个full documentation包含有关入门、培训新模型以及使用新模型类型和任务扩展airseq的说明

预先训练的模型和示例

我们为下面列出的几个任务提供预先训练的模型和预处理的二进制测试集,以及示例培训和评估命令

我们还提供了更详细的自述文件,以转载特定论文的结果:

加入FIRSEQ社区

许可证

airseq(-py)是麻省理工学院授权的。许可证也适用于预先培训的模型

引文

请引述如下:

@inproceedings{ott2019fairseq,
  title = {fairseq: A Fast, Extensible Toolkit for Sequence Modeling},
  author = {Myle Ott and Sergey Edunov and Alexei Baevski and Angela Fan and Sam Gross and Nathan Ng and David Grangier and Michael Auli},
  booktitle = {Proceedings of NAACL-HLT 2019: Demonstrations},
  year = {2019},
}