fairseq 0.10 : 概要

fairseq 0.10 : 概要 (翻訳/解説)
翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 11/23/2020 (0.10.1)

* 本ページは、fairseq の github 上の以下のページを翻訳した上で適宜、補足説明したものです:

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

無料セミナー開催中 クラスキャット主催 人工知能 & ビジネス Web セミナー

人工知能とビジネスをテーマにウェビナー (WEB セミナー) を定期的に開催しています。スケジュールは弊社 公式 Web サイト でご確認頂けます。
  • お住まいの地域に関係なく Web ブラウザからご参加頂けます。事前登録 が必要ですのでご注意ください。
  • Windows PC のブラウザからご参加が可能です。スマートデバイスもご利用可能です。

お問合せ : 本件に関するお問い合わせ先は下記までお願いいたします。

株式会社クラスキャット セールス・マーケティング本部 セールス・インフォメーション
E-Mail:sales-info@classcat.com ; WebSite: https://www.classcat.com/
Facebook: https://www.facebook.com/ClassCatJP/

 

fairseq 0.10 : 概要

Fairseq(-py) はシークエンス・モデリング・ツールキットで、研究者や開発者が翻訳、要約、言語モデリングと他のテキスト生成タスクのためのカスタムモデルを訓練することを可能にします。

様々なシークエンス・モデリング論文の参照実装を提供しています :

実装された論文のリスト :

 

特徴

  • 一つのマシン上か複数マシンに渡るマルチ GPU 訓練 (データとモデル並列)
  • 実装された複数の検索アルゴリズムを持つ CPU と GPU の両者上の高速な生成 :
  • 勾配集積 は単一 GPU 上でさえも大規模ミニバッチを持つ訓練を可能にします。
  • 混合精度訓練 (NVIDIA tensor コア 上でより少ない GPU メモリで高速に訓練)
  • 拡張可能: 新しいモデル、criterions、タスク、optimizers と学習率スケジューラの容易な登録
  • Hydra に基づく 柔軟な configuration、これはコード、コマンドラインとファイルベースの configuration の組合せを可能にします。

 
私達はまた便利な torch.hub インターフェイスを持つ 翻訳と言語モデリングのための事前訓練モデル を提供します :

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

より多くのサンプルについて 翻訳RoBERTa のための PyTorch Hub チュートリアルを見てください。

 

要件とインストール

  • PyTorch version >= 1.5.0
  • Python version >= 3.6
  • 新しいモデルを訓練するためには、NVIDIA GPU と NCCL もまた必要です。
  • fairseq をインストールしてローカルで開発するには :
    git clone https://github.com/pytorch/fairseq
    cd fairseq
    pip 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
    
  • より高速な訓練のためには 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" ./
    
  • 大規模データセットのためには PyArrow をインストールします: pip install pyarrow
  • Docker を使用する場合には nvidia-docker run へのコマンドライン・オプションとして共有メモリサイズを –ipc=host か –shm-size により増やすことを確実にしてください。

 

Getting Started

full ドキュメント は getting started、新しいモデルの訓練、そして新しいモデルタイプとタスクによる fairseq の拡張のための手順を含みます。

 

事前訓練モデルとサンプル

サンプル訓練と評価コマンドに加えて、下でリストされる幾つかのタスクのための事前訓練モデルと前処理され、バイナリ化されたテストセットを提供します。

  • 翻訳: 畳込みと transformer モデルが利用可能です。
  • 言語モデリング: 畳込みと transformer モデルが利用可能です。

私達はまた特定の論文から結果を再生成するためにより詳細な README も持ちます :

 

fairseq コミュニティに参加する

 

ライセンス / Citation

(訳注: 原文参照)

 

以上