ITADN
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈



Support Ukraine MIT License Latest Release Build Status Documentation Status CicleCI Status


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

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

已实现论文列表

新增内容:

之前的更新

特性:

我们还提供了用于翻译和语言建模的 预训练模型 并配备了便捷的 torch.hub 接口:

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

请参阅 PyTorch Hub 教程,了解 translationRoBERTa 的更多示例。

要求和安装

  • PyTorch 版本 >= 1.10.0
  • Python 版本 >= 3.8
  • 若要训练新模型,还需要 NVIDIA GPU 和 NCCL
  • 安装 fairseq 并在本地开发:
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
  • 为了更快的训练 安装 NVIDIA 的 apex 库:
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" ./
  • 对于大型数据集 请安装 PyArrow: pip install pyarrow
  • 如果使用 Docker,请确保通过 --ipc=host--shm-size 作为 nvidia-docker run 的命令行选项来增加共享内存大小。

入门指南

完整文档 包含入门指南、训练新模型以及使用新模型 类型和任务扩展 fairseq 的说明。

预训练模型和示例

我们为以下列出的若干任务提供了预训练模型和经过预处理、二值化的测试集, 以及示例训练和评估命令。

  • 翻译: 提供卷积和 transformer 模型
  • 语言建模: 提供卷积和 transformer 模型

我们还有更详细的 README 以复现特定论文的结果:

加入 fairseq 社区

许可证

fairseq(-py) 采用 MIT 许可证。 该许可证同样适用于预训练模型。

引用

请引用为:

@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},
}