AI Facebook AI Research Sequence-to-Sequence Toolkit
fairseq的Python项目详细描述
简介
Fairseq(-py)是一个序列建模工具包,允许研究人员和 开发人员培训翻译、摘要、语言的自定义模型 建模和其他文本生成任务。
新功能:
- 2019年7月:Fairseq根据麻省理工学院许可证重新获得许可
- 2019年7月:RoBERTa models and code release
- 2019年6月:wav2vec models and code release
- 2019年4月:fairseq demo paper @ NAACL 2019
特点:
FairSeq提供了各种序列到序列模型的参考实现,包括:
- 卷积神经网络(cnn)
- Language Modeling with Gated Convolutional Networks (Dauphin et al., 2017)
- Convolutional Sequence to Sequence Learning (Gehring et al., 2017)
- Classical Structured Prediction Losses for Sequence to Sequence Learning (Edunov et al., 2018)
- Hierarchical Neural Story Generation (Fan et al., 2018)
- wav2vec: Unsupervised Pre-training for Speech Recognition (Schneider et al., 2019)
- lightconv和dynamicconv型号
- 长短期内存(lstm)网络
- 基于注意的神经机器翻译的有效途径(LUN等人,2015)
- transformer(自我关注)网络
- 关注是你所需要的(Vaswani等人,2017年)
- Scaling Neural Machine Translation (Ott et al., 2018)
- Understanding Back-Translation at Scale (Edunov et al., 2018)
- Adaptive Input Representations for Neural Language Modeling (Baevski and Auli, 2018)
- Mixture Models for Diverse Machine Translation: Tricks of the Trade (Shen et al., 2019)
- RoBERTa: A Robustly Optimized BERT Pretraining Approach (Liu et al., 2019)
另外:
- 在一台机器上或跨多台机器进行多GPU(分布式)培训
- 在CPU和GPU上快速生成,实现多种搜索算法:
- 光束搜索
- 多样化波束搜索(Vijayakumar et al., 2016)
- 采样(无约束、top-k和top-p/nucleus)
- 通过延迟更新,即使在单个GPU上也可以进行大规模的小批量培训
- 混合精度训练(训练速度更快,gpu内存更少NVIDIA tensor cores)
- 可扩展:轻松注册新的模型、标准、任务、优化器和学习率调度程序
我们还为几个基准测试提供pre-trained models 翻译和语言建模数据集。
要求和安装
请按照此处的说明安装pytorch:https://github.com/pytorch/pytorch#installation。
如果使用Docker,请确保使用
--ipc=host
或--shm-size
作为nvidia-docker run
的命令行选项。
Pythorch安装后,您可以使用pip
:
pip install fairseq
在MacOS上,
CFLAGS="-stdlib=libc++" pip install fairseq
从源安装
从源代码安装FairSeq并在本地开发:
git clone https://github.com/pytorch/fairseq
cd fairseq
pip install --editable .
提高了训练速度
通过安装nvidia的
apex带有--cuda_ext
选项的库。
Fairseq将自动切换到Apex提供的更快的模块。
入门
full documentation包含指令 开始时,培训新模型并用新模型扩展Fairseq 类型和任务。
预先培训的模型和示例
我们为下面列出的几个任务提供预训练模型和预处理的二值化测试集, 以及示例培训和评估命令。
- Translation:卷积和变换模型可用
- Language Modeling:卷积模型可用
我们还提供了更详细的自述文件,以重现特定论文的结果:
- RoBERTa: A Robustly Optimized BERT Pretraining Approach (Liu et al., 2019)
- wav2vec: Unsupervised Pre-training for Speech Recognition (Schneider et al., 2019)
- Mixture Models for Diverse Machine Translation: Tricks of the Trade (Shen et al., 2019)
- Pay Less Attention with Lightweight and Dynamic Convolutions (Wu et al., 2019)
- Understanding Back-Translation at Scale (Edunov et al., 2018)
- Classical Structured Prediction Losses for Sequence to Sequence Learning (Edunov et al., 2018)
- Hierarchical Neural Story Generation (Fan et al., 2018)
- Scaling Neural Machine Translation (Ott et al., 2018)
- Convolutional Sequence to Sequence Learning (Gehring et al., 2017)
- Language Modeling with Gated Convolutional Networks (Dauphin et al., 2017)
加入FairSeq社区
- Facebook页面:https://www.facebook.com/groups/fairseq.users
- 谷歌集团:https://groups.google.com/forum/#!forum/fairseq-users
许可证
Fairseq(-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},}