DUICUO

650億のパラメータを持つ大規模モデル向けの事前トレーニングソリューションがオープンソースで商用化可能になりました!LLaMAトレーニングを38%高速化し、スターオープンソースプロジェクトから生まれました。

650 億のパラメータを持つ大規模モデルの事前トレーニング ソリューションがオープンソースとしてリリースされました。

従来の方法と比較してトレーニング速度が 38% 向上します。

これは、Colossal-AI がリリースした大規模基本モデル向けの最新の LLaMA のような事前トレーニング スキームです。

「100 のモデルの戦い」という文脈では、大規模な自社モデルを所有することが、競争上の優位性の中核となると考えられることが多いことを理解することが重要です。

現時点では、大規模なモデルをオープンソース化しようとする企業はほとんどありません。

ただし、大規模なモデルをゼロからトレーニングするには、かなりの技術的専門知識と資金が必要です。

したがって、Colossal-AI の最新のオープンソース化の動きは、時代への対応として捉えることができます。

さらに、商用利用の制限もなく、わずか 4 ステップですぐに使用できます。

プロジェクトの具体的な内容とは?早速見ていきましょう!

オープンソースアドレス: https://github.com/hpcaitech/ColossalAI

A100/A800 シートなら32枚で十分です。

実際、Meta が LLaMA をオープンソース化して以来、Alpaca、Vicuna、ColossalChat など、その基盤の上に構築された一連の微調整プロジェクトが巻き起こっています。

しかし、 LLaMA はモデルの重みをオープンソース化し、その商用利用を制限しただけなので、微調整を通じて改善および注入できる知識と機能は比較的限られています。

大規模モデルの流行に真に乗りたい企業にとって、自社の中核となる大規模モデルをトレーニングすることは非常に重要です。

オープンソース コミュニティも、次のような一連の作品に貢献しています。

  • RedPajama: オープンソースで商業的に実行可能な LLaMA のようなデータセット(トレーニング コードやモデルなし)。
  • OpenLLaMA: JAX と TPU を使用した EasyLM を使用してトレーニングされた、オープンソースで商業的に実行可能な LLaMA 7B/13B のようなモデル。
  • Falcon: オープンソースで商業的に実現可能な LLaMA 7B/40B のようなモデル(トレーニング コードなし)。

しかし、これらはまだ十分ではありません。最も主流の PyTorch + GPU エコシステムでは、大規模な基本モデル用の効率的で信頼性が高く、使いやすい LLaMA のような事前トレーニング ソリューションがまだ不足しているからです。

そのため、Colossal-AI は最新のオープンソース ソリューションを提供しました。

650 億のパラメータを持つ大規模な LLaMA モデルを事前トレーニングするために必要なのは 32 枚の A100/A800 画像のみで、トレーニング速度が 38% 向上します。

ただし、ネイティブ PyTorch と FSDP はメモリ オーバーフローのためこのタスクを実行できません。

Hugging Face accelerate、DeepSpeed、Megatron-LM は、LLaMA 事前トレーニングを公式にはサポートしていません。

箱から出してすぐに使える、4つの簡単なステップ

このプロジェクトは実はとても簡単に始めることができます。4つのステップで構成されています。

  • 1. Colossal-AIをインストールする
  • 2. その他の依存関係をインストールする
  • 3. データセット
  • 4. コマンドを実行する

具体的なコードは以下のとおりです。

ステップ 1: Colossal-AI をインストールします。

 git clone -b example/llama https://github.com/hpcaitech/ColossalAI.git cd ColossalAI # install and enable CUDA kernel fusion CUDA_EXT=1 pip install .

ステップ 2: 他の依存関係をインストールします。

 cd examples/language/llama # install other dependencies pip install -r requirements.txt # use flash attention pip install xformers

ステップ 3: データセット。

初回実行時には、デフォルトのデータセット togethercomputer/RedPajama-Data-1T-Sample が自動的にダウンロードされます。 -dまたは--datasetを使用してカスタムデータセットを指定することもできます。

ステップ 4: コマンドを実行します。

7Bと65Bの速度テストスクリプトが用意されています。実際のハードウェア環境に合わせて、使用するマルチノードのホスト名を設定するだけで、パフォーマンステストを実行できます。

 cd benchmark_65B/gemini_auto bash batch12_seq2048_flash_attn.sh

実際の事前トレーニング タスクでは、4 ノード * 8 カードを使用して 65B モデルをトレーニングするなど、速度テストと同じコマンドを使用します。

 colossalai run --nproc_per_node 8 --hostfile YOUR_HOST_FILE --master_addr YOUR_MASTER_ADDR pretrain.py -c '65b' --plugin "gemini" -l 2048 -g -b 8 -a

Colossal-AI gemini_auto 並列戦略を使用すると、マルチマシン、マルチ GPU 並列トレーニングを簡単に実現でき、高速トレーニングを維持しながら GPU メモリの消費を削減できます

ハードウェア環境や実際のニーズに応じて、パイプライン並列処理、テンソル並列処理、ZeRO1 などの複雑な並列戦略の組み合わせを選択することもできます。

その中で、Colossal-AI の Booster プラグインを使用すると、ユーザーは Low Level ZeRO、Gemini、DDP などの並列戦略を選択するなど、並列トレーニングを簡単にカスタマイズできます。

勾配チェックポイントは、バックプロパゲーション中にモデルのアクティベーションを再計算することでメモリ使用量を削減します。

Flashアテンションメカニズムは計算を高速化し、GPUメモリを節約します。ユーザーはコマンドライン引数を介して数十の類似したカスタムパラメータを簡単に制御できるため、高いパフォーマンスを維持しながら、カスタム開発の柔軟性を確保できます。

Colossal-AI の最新の ShardFormer は、多次元並列方式を使用して LLM をトレーニングするための学習曲線を大幅に短縮します。

現在では、LLaMA を含むさまざまな主流モデルをサポートし、Huggingface/transformers モデル ライブラリをネイティブにサポートしています。

モデルを変更することなく、多次元並列処理(パイプライン、テンソル、ZeRO、DDP など)のさまざまな構成の組み合わせをサポートし、さまざまなハードウェア構成で優れたパフォーマンスを実現できます。

Colossal-AI: 大規模モデルシステムのためのインフラストラクチャ

上記の新しい成果をもたらした Colossal-AI は、現在、大規模モデルのトレンドの中でスターとなる開発ツールおよびコミュニティとなっています。

Colossal-AI のソリューションはフォーチュン 500 企業に実装され、1,000 カロリーのクラスターで優れたパフォーマンスを発揮し、わずか数週間で数千億のパラメータを持つ大規模なプライベート モデルの事前トレーニングを完了しました。

上海AIラボとSenseTimeが新たにリリースしたInternLMも、Colossal-AIをベースに1000kcalでの効率的な事前トレーニングを実現しています。

Colossal-AIはオープンソースリリース以来、GitHubのトレンドリストで繰り返し1位を獲得し、3万以上のGitHubスターを獲得し、SC、AAAI、PPoPP、CVPR、ISCといった主要な国際AI・HPCカンファレンスの公式チュートリアルにも採用されています。数百社もの企業がColossal-AIエコシステムの構築に参加しています。

これは、カリフォルニア大学バークレー校の著名な教授である James Demmel 氏とシンガポール国立大学の大統領若手教授である Yang You 氏のリーダーシップの下で開発されました。

PyTorch をベースとする Colossal-AI は、効率的な多次元並列処理と異種メモリを活用し、GPU 要件を下げることで、大規模な AI モデルのトレーニング/微調整/推論の開発およびアプリケーション コストを削減することを目指しています。

それを運営するLuchen Technology社は、設立後18か月以内にすでに3回の資金調達を完了し、最近シリーズAの資金調達で数億人民元を確保した。

オープンソース アドレス: https://github.com/hpcaitech/ColossalAI。

参考リンク: https://www.hpc-ai.tech/blog/large-model-pretraining.