1 万 Star!来自 Facebook 的翻译模型:Fairseq

1 万 Star!来自 Facebook 的翻译模型:Fairseq

【导语】:Fairseq是一个序列建模工具包,可对翻译、摘要、语言建模和其他文本作业训练自定义建模,完全使用python实现,主要面向科研人员和开发者

简介

Fairseq 这个翻译模型由Facebook AI实验室在2017年提出,和以往以RNN为基础的翻译模型相比,使用一种全新的卷积神经网络(CNN)进行语言翻译,结果以 9 倍于以往循环神经网络(CNN)的速度实现了目前最高准确率。

项目地址:github.com/pytorch/fai…

特点

  • 单机多GPU训练或者多机器并行(数据和模型并行)

  • CPU和GPU的快速生成基于多个搜索算法的实现:

    • 柱型搜索

    • 多样化柱型搜索

    • 抽样(无约束,top-k和top-p/nucleus)

    • 词法约束译码(Post & Vilar, 2018)

  • 梯度堆积可以在单个GPU上完成大量的小块训练

  • 混合精度训练 (基于英伟达张量内核,可以用更少的GPU进行更快速的训练)

  • 可拓展:注册新模型,测量规范,任务优化器以及学习率的调度十分便捷

  • 基于Hydra的灵活配置,可满足代码,命令行和配置文件的混合使用

也为翻译提供了预训练模型,此外还为语言模型提供了便利的torch.hub接口:

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

安装和要求

  • PyTorch 版本 >= 1.5.0

  • Python 版本 >= 3.6

  • 为了训练新模型, 你需要一个英伟达 GPU 和 NCCL

  • 安装fairseq以及本地开发,可用如下命令:

git clone https://github.com/pytorch/fairseqcd fairseqpip install --editable ./# on MacOS:# CFLAGS="-stdlib=libc++" pip install --editable ./# to install the latest stable release (0.10.0)# pip install fairseq==0.10.0
  • 安装英伟达的apex库,以提高训练速度。安装命令如下:
git clone https://github.com/NVIDIA/apexcd apexpip 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的详细说明。

具体细节,查看如下链接:
fairseq.readthedocs.io/

开源前哨 日常分享热门、有趣和实用的开源项目。参与维护 10万+ Star 的开源技术资源库,包括:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部