AI新工具
banner

fairseq


介绍:

fairseq是一个用于训练自定义翻译、摘要和语言模型等序列模型的工具包。









fairseq

Fairseq是一个由Facebook开发的序列建模工具包,旨在帮助研究人员和开发者训练自定义模型,用于翻译、摘要生成、语言建模以及其他文本生成任务。它实现了多种序列建模方法,包括卷积神经网络(CNN)、轻量和动态卷积模型、长短期记忆网络(LSTM)和自注意力变换器(Transformer)等。

使用场景
  1. 机器翻译

    • 支持多种语言间的机器翻译任务,提供预训练模型和适合多语言翻译的方案。
  2. 文本摘要

    • 可以训练模型从长文本中生成简洁的摘要,适用于新闻、科学文献等领域。
  3. 语言建模

    • 包括基于CNN和Transformer的语言模型,用于生成自然语言文本如对话、脚本等。
  4. 语音识别

    • 提供了如wav2vec等模型,适用于自监督学习的语音表示和无监督语音识别。
  5. 生成式任务

    • 支持各种生成文本的任务,如故事生成、对话生成等。
特性
  • 多GPU训练: 支持单机多GPU或多机分布式训练。
  • 快速生成: 实现了多种搜索算法,如束搜索、采样(包括top-k和top-p)等。
  • 梯度累积: 允许在单个GPU上进行大批量训练。
  • 混合精度训练: 使用混合精度训练加速训练速度并减少GPU内存消耗。
  • 可扩展性: 用户可以轻松注册新的模型、损失函数、任务、优化器和学习率调度器。
  • 灵活的配置: 基于Hydra的配置框架,支持代码、命令行和文件的混合配置。
  • 参数分片与CPU卸载: 支持将参数和优化状态分片并卸载到CPU,适合大型模型训练。
安装

基本安装步骤如下:

git clone https://github.com/pytorch/fairseq
cd fairseq
pip install --editable ./

若需要更快的训练,可以安装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" ./
社区与支持

Fairseq除了一些预训练模型外,还提供详细的文档和示例,帮助用户快速上手。有关完整的文档和更多示例,可访问Fairseq官方文档

可关注我们的公众号:每天AI新工具

广告:私人定制视频文本提取,字幕翻译制作等,欢迎联系QQ:1752338621