Megatron-LMとtorch-nativeバックエンドを基盤に、NVIDIA GPUとKunlun XPUでLLM、VLM、拡散モデル、身体性モデルを学習するためのフレームワーク。
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
リポジトリのルートから基本的な依存関係をインストールします
pip install -r requirements/requirements.txt - 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 の数値は毎日更新されます。
関連プロジェクト
RayとvLLMを基盤とする、大規模言語モデルや視覚言語モデルのRLHFおよびエージェント型RL学習フレームワーク。
多次元並列処理で大規模Transformerモデルを学習するための、GPU向け最適化ライブラリと学習用リファレンススクリプト。
Hugging Faceが提供する、マルチGPUクラスター上で3D並列化(DP、TP、PP)を使ってTransformer LLMを事前学習するためのミニマルなライブラリです。
書籍『Build a Large Language Model (From Scratch)』のサンプルコード。PyTorchでGPT風LLMを段階的に実装します。
PaddlePaddleベースのTransformers風ライブラリ。Hugging Face互換APIで、大規模言語モデルや視覚言語モデルの学習に対応します。