2017年9月,Facebook AI Research开源了序列建模工具Fairseq。作为对Lua/Torch版本的改进,新款Fairseq基于Python和Pytorch,更加简单易用人性化。经过三年的迭代,fairseq目前已经拥有近两百位contributor,总代码量7万余行,功能和规模都已不同往日。
作为一个通用的序列建模工具,fairseq可以在多个自然语言处理任务上使用,如机器翻译、自动摘要、语音识别等文本生成任务,或者BERT、GPT等语言模型的训练;同时fairseq还实现了目前常用的多数模型,如RNN、CNN、Transformer、RoBERTa、XLM等。除了大量内置的任务和模型,fairseq还提供了极为简洁的接口,以便于使用者扩展已有模型、验证新的想法。
本文将以训练Transformer-based机器翻译模型为例,介绍fairseq的基本使用方法。