Qian Wang
Fairseq漫游指南(1)——命令行工具
发布于: 2020-10-12

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的基本使用方法。

阅读更多
Fairseq漫游指南(2)——扩展模型
发布于: 2020-10-12

本文为Fairseq漫游指南系列的第二篇文章。前面一篇文章以基于Transformer的翻译模型为例,对Fairseq的命令行使用方法进行了初步的介绍。Fairseq预设了大量的任务和模型,可以根据需要准备数据,并参考对应任务、模型的参数进行训练和解码。

在实际的使用中,现有的模型可能无法满足真实任务的需要,我们可能需要处理不同类型的输入输出,或者需要对模型进行修改以验证新的想法。在这种情况下,只通过命令行调用预设任务和模型的方法就存在很大的局限,我们需要对Fairseq本身进行扩展,以满足实际多样化的需求。

本文以实现一个可以双向翻译(EN-DE和DE-EN)的Transformer模型为例,介绍Fairseq的插件扩展。

阅读更多