GPT-2トランス語モデルのトレーニングは、conterpieceトークン化を備えた独自のコーパスでモデルを作成します。
このレポは、マルチGPUトレーニングをサポートするGPT-2のPytorch実装が含まれています。また、 lm/gpt_2_tfでのTensorFlow実装も含まれていますが、これ以上開発されていません。彼らは同じデータ準備スクリプトを共有します。 TFトレーニングコマンドはgpt-2-tf-trainであり、TensorFlow 1.13が必要です。以下のドキュメントは、Pytorchバージョン用です。
コンテンツ
Python 3.6+は、Torch Nightlyまたは1.6.0+で必要です。 Virtualenvでの作業は、以下で想定されています。最初にPytorchの適切なバージョンをインストールし、次に:
PIPインストール-R要件。txt python setup.py開発
指示は以下にあります。小さなコーパスの完全なパイプラインデモについてはtest/test_shakespeare.shも参照してください(CPUで1分かかります)。
Corpus形式:トップレベルのtrain 、 valid 、 testフォルダーを備えたディレクトリ。各トップレベルフォルダーにはサブフォルダーが含まれている場合があります。その中には、 .txt拡張子を備えたUTF-8エンコードされたテキストファイルがある必要があります。
文章モデルを訓練し、コーパスサポートをエンコードするコマンドは複数のコーパスをエンコードします。以下の例では、それらをdata/corpora-*としてリストできると想定しています。
train econtepieceモデル( sp-text.txtは、実行後に削除できます)。これにより、大量のメモリを消費でき、必要に応じてアドバイスされたように、 sp-trainコマンドではサポートされていません)を調整できます。
sp-trainデータ/corpora-* sp-text.txt sp-model
Corporaをエンコードし、Numpyファイルの作成:
SP-ENCODE DATA/CORPORA-* SP-MODEL.MODEL DATA/ENCODED
コマンドの例:
GPT-2 RUN-ROOTデータ/エンコードされたSP-Model.Model
run-rootはjson_log_plots.plot("run-root")を使用したJupyterノートブックにプロットできるモデルチェックポイントとJSONラインログが含まれ、x軸にトークンの数が表示されます。
デフォルトのハイパーパラメーターは、リリースされた「Small」GPT-2モデルに対応しています。
複数のGPUが利用可能な場合、 torch.distributedの助けを借りてトレーニングに使用されます。
パスが存在し、 --cleanキーが渡されない場合、トレーニングが再開されます。すべてのパラメーターを指定する必要があり、モデルパラメーターが一致する必要があることに注意してください。
トレーニングパラメーターに関するメモ:
--batch-sizeはPER-GPUなので、GPUの数を変更するときに再調整する必要はありません。メモリに収まるMaxを使用するだけです。--g-accum-gradients勾配蓄積の世界的な数であり、GPUの数によって割り切れる必要があります。効果的なグローバルバッチサイズは、常にbatch_size * g_accum_gradientsです。--lr 、 --batch-sizeまたは--g-accum-gradientsまたはgpusまたは--n-ctxの数を変更するときに変更する必要はありません:損失はすでに適切に拡張されています。コマンドの例:
GPT-2-Gen Run-Root「人工知能」
run-rootにはモデルチェックポイント"Artificial intelligence"は、トークンを生成するための開始点として使用されるテキストプレフィックスです
推論パラメーターに関するメモ:
--tokens-to-generate :生成するトークンの数、デフォルトは42です--top-k :各位置(ビーム幅)に生成するトークン候補の数、デフォルトは8です。 ライセンスはMITです。
Tensorflow GPT-2モデルはhttps://github.com/openai/gpt-2/blob/master/src/model.pyおよびtensorflow gpt-2トレーニングコードから取得されます。
Pytorchポートは、元のOpenaiコードに基づいています。
tests/shakespeareは、パブリックドメインの下のhttp://shakespeare.mit.eduからです。
Openai GPT-2ペーパーとブログも参照してください。