Repolode
EleutherAI

EleutherAI/gpt-neox

Megatron-LMとDeepSpeedを基盤に、モデル並列・パイプライン並列・データ並列を活用してGPU上で大規模な自己回帰型言語モデルを学習するライブラリ。

スター
7,472
フォーク
1,126
未解決の Issue
128
最終コミット
3 日前

これは何?

GPT-NeoXは、EleutherAIが開発する、GPU上で大規模な自己回帰型言語モデルを学習するためのライブラリです。NVIDIAのMegatron-LMを基盤とし、ZeROや3D並列化などDeepSpeedの技術を取り入れ、独自の最適化も加えています。数十億のパラメータを持つモデルをスクラッチから事前学習したり、ファインチューニングしたりしたい研究者やチームを対象としています。

Pythia、PaLM、Falcon、LLaMAなどのアーキテクチャ向けに定義済みの設定が用意されています。また、RotaryやALiBiの位置埋め込み、Flash Attention、megablocksによるMixture of Experts、カリキュラム学習に対応しています。ジョブはpdsh、MPI、Slurmで起動でき、Weights & Biases、Comet、TensorBoardで学習状況をモニタリングできます。チェックポイントはHugging Face Transformers形式にエクスポートでき、LlamaやMistralの重みをインポートできます。

汎用的な推論には、Hugging Face transformersライブラリのほうが適しているとプロジェクトでは案内しています。

主な機能

  • 01ZeROと3D並列化による分散学習
  • 02Pythia、PaLM、Falcon、LLaMAアーキテクチャ向けの定義済み設定
  • 03Flash AttentionとMixture of Experts(megablocks)に対応
  • 04NVIDIAおよびAMD GPU上でSlurm、MPI、pdshを使ってジョブを起動
  • 05チェックポイントをHugging Face形式にエクスポートし、LlamaまたはMistralの重みをインポート
  • 06Weights & Biases、Comet、TensorBoardによる実験モニタリング

ユースケース

  • GPUクラスター上でカスタムの大規模言語モデルをスクラッチから事前学習する
  • Pythia形式の学習実験を再現、または発展させる
  • マルチノード並列化を使ってLlamaやMistralのチェックポイントをファインチューニングする
  • SlurmやHPCスーパーコンピューターで大規模な学習ジョブを実行する

クイックスタート

  1. 1

    リポジトリのルートから基本的な依存関係をインストールします

    pip install -r requirements/requirements.txt
  2. 2

    設定ファイルを指定して学習ジョブを起動します(パスは独自の設定ファイルのものに置き換えてください)

    python3 deepy.py train.py /path/to/configs/my_model.yml

使う前に知っておきたいこと

  • GPUで大規模モデルを学習するために構築されているため、高性能なGPUハードウェアが必要です。
  • READMEによると、推論だけが必要な場合は適したツールではない可能性があります。代わりにHugging Face transformersを使用してください。
  • 主にPython 3.8~3.10およびPyTorch 1.8~2.0で開発・テストされています。また、DeepSpeedのフォーク(DeeperSpeed)に依存しており、隔離された環境にインストールする必要があります。

収録されている特集

トピック

よくある質問

gpt-neox とは?
Megatron-LMとDeepSpeedを基盤に、モデル並列・パイプライン並列・データ並列を活用してGPU上で大規模な自己回帰型言語モデルを学習するライブラリ。 GPT-NeoXは、EleutherAIが開発する、GPU上で大規模な自己回帰型言語モデルを学習するためのライブラリです。NVIDIAのMegatron-LMを基盤とし、ZeROや3D並列化などDeepSpeedの技術を取り入れ、独自の最適化も加えています。数十億のパラメータを持つモデルをスクラッチから事前学習したり、ファインチューニングしたりしたい研究者やチームを対象としています。
gpt-neox は無料で使えますか?ライセンスは?
gpt-neox は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
gpt-neox は今もメンテナンスされていますか?
活発にメンテナンス中。gpt-neox の最終コミットは 2026年11月4日 です。
gpt-neox は何に使えますか?
GPUクラスター上でカスタムの大規模言語モデルをスクラッチから事前学習する Pythia形式の学習実験を再現、または発展させる マルチノード並列化を使ってLlamaやMistralのチェックポイントをファインチューニングする SlurmやHPCスーパーコンピューターで大規模な学習ジョブを実行する
gpt-neox のインストール方法は?
リポジトリのルートから基本的な依存関係をインストールします: pip install -r requirements/requirements.txt 設定ファイルを指定して学習ジョブを起動します(パスは独自の設定ファイルのものに置き換えてください): python3 deepy.py train.py /path/to/configs/my_model.yml
gpt-neox はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/EleutherAI/gpt-neox

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト