大規模モデルは AI コミュニティのトレンドとなり、主要なパフォーマンス チャートを席巻するだけでなく、多くの興味深いアプリケーションも生み出しています。たとえば、Microsoft と OpenAI が開発した自動コード提案および補完ツールである Copilot は、プログラマーにとって最高のアシスタントとなり、作業効率を向上させました。 OpenAI は、リアルなテキストから画像を生成できるモデルである DALL-E 2 をリリースしたばかりです。Google も Imagen でこれに続きました。大規模なモデルに関しては、大企業もかなり競争力があり、CV ランキングに劣りません。 テキストから画像への生成例「猫につまずくギリシャ人の像」(左2列がImagen、右2列がDALL·E 2) 拡大モデルがもたらす驚異的なパフォーマンスにより、近年、事前学習済みモデルの規模が爆発的に増加しています。ただし、大規模なモデルのトレーニングや微調整には、数十または数百の GPU など、非常に高いハードウェア コストが必要になります。さらに、PyTorch や TensorFlow などの既存のディープラーニング フレームワークでも、非常に大規模なモデルを効果的に処理することが難しく、通常は専門の AI システム エンジニアが特定のモデルを適応および最適化する必要があります。さらに重要なのは、大規模な GPU クラスターを呼び出していつでも大規模なモデルを使用するための資金がすべての研究室や研究開発チームにあるわけではないことです。ましてや、グラフィック カードを 1 枚しか持っていない個々の開発者にとってはなおさらです。そのため、大型モデルは注目を集めているものの、参入障壁が高く、一般の人には「手の届かない」ものとなっています。 大規模モデルの使用コストが増加する主な理由は、ビデオ メモリの制限です。 GPU コンピューティングは高速ですが、ビデオ メモリの容量が限られているため、大規模なモデルに対応できません。この問題点を解決するために、Colossal-AI は異種メモリシステムを使用して、GPU ビデオメモリと安価な CPU メモリを同時に効率的に使用します。1 つの GPU のみを搭載した個人用 PC で最大 180 億のパラメータ GPT をトレーニングできるため、モデル容量を 10 倍以上に増やすことができ、大規模 AI モデルの微調整や推論などの下流タスクやアプリケーション展開の敷居が大幅に下がり、大規模な配布にも簡単に拡張できます。 Hugging Face は、GPT や OPT などの大規模モデルを含む 50,000 以上の AI モデル実装をディープラーニング コミュニティに提供しており、現在では最も人気のある AI ライブラリの 1 つとなっています。 Colossal-AI は Hugging Face コミュニティ モデルをシームレスにサポートし、すべての開発者が大規模なモデルにアクセスできるようにします。次に、Meta がリリースした大規模モデル OPT を例に、Colossal-AI を使用して、数行のコードを追加するだけで大規模モデルの低コストのトレーニングと微調整を実現する方法を説明します。 オープンソースアドレス: https://github.com/hpcaitech/ColossalAI 低コストで高速化された大規模モデル OPTOPT モデルの正式名称は Open Pretrained Transformer で、Meta (Facebook) AI Laboratory がリリースした GPT-3 に匹敵する大規模 Transformer モデルです。 OpenAI によってモデルの重みがまだ公開されていない GPT-3 と比較して、Meta AI はすべてのコードとモデルの重みを惜しみなくオープンソース化し、大規模 AI モデルの民主化を大幅に促進しました。すべての開発者は、それらを基盤として使用して、パーソナライズされた下流タスクを開発できます。次に、Hugging Face が提供する OPT モデルの事前トレーニング済みの重みを使用して、カジュアル言語モデリングを微調整します。構成ファイルを追加する Colossal-AI の強力な機能を使用するために、ユーザーはコード トレーニング ロジックを変更する必要はありません。混合精度、勾配累積、多次元並列トレーニング、冗長メモリ最適化などの必要な機能をモデルに付与するには、シンプルな構成ファイルを追加するだけです。 GPU では、異種トレーニングを例にとると、構成ファイルに関連する構成項目を追加するだけで済みます。その中で、tensor_placement_policy は異種トレーニング戦略を決定します。このパラメータは、cuda、cpu、auto のいずれかになります。それぞれの戦略には異なる利点があります。
一般ユーザーは自動戦略を選択するだけで、Colossal-AI がリアルタイムで最適な異種戦略を自動的かつ動的に選択し、コンピューティング効率を最大化します。 colossalai.zero.shard_utils から TensorShardStrategy をインポートします 構成ファイルの準備ができたら、宣言された新しい機能を開始するために数行のコードを挿入するだけです。まず、1 行のコードを含む構成ファイルを使用して Colossal-AI を起動します。Colossal-AI は分散環境を自動的に初期化し、関連する構成を読み取ります。次に、構成内の関数をモデルやオプティマイザーなどのコンポーネントに自動的に挿入します。 colossalai.launch_from_torch(config='./configs/colossalai_zero.py') 次に、ユーザーは通常どおり、たとえばネイティブ PyTorch コードを直接使用して、データセット、モデル、オプティマイザー、損失関数などを定義できます。モデルを定義するときは、初期化のためにモデルを ZeroInitContext に配置するだけで済みます。この例では、Hugging Face が提供する OPTForCausalLM モデルと事前トレーニング済みの重みを使用し、Wikitext データセットで微調整します。 ZeroInitContext(target_device=torch.cuda.current_device(), の場合、 次に、colossalai.initialize を呼び出して、構成ファイルで定義された異種メモリ関数をトレーニング エンジンに挿入し、対応する関数を開始するだけです。 エンジン、train_dataloader、eval_dataloader、lr_scheduler = colossalai.initialize(model=model、 単一の GPU では利点は明らかです。Microsoft DeepSpeed と比較すると、Colossal-AI の自動戦略の使用は、さまざまなモデル スケールで DeepSpeed の ZeRO Offloading 戦略よりも大きな利点を示し、最大 40% の高速化を実現します。しかし、PyTorch などの従来のディープラーニング フレームワークでは、このような大規模なモデルを単一の GPU で実行できなくなりました。 8 つの GPU を使用した並列トレーニングの場合、Colossal-AI は起動コマンドに -nprocs 8 を追加するだけで済みます。このような大幅な改善の秘密は、Colossal-AI の効率的な異種メモリ管理サブシステム Gemini にあります。簡単に言うと、モデルをトレーニングする際、Gemini は最初の数ステップでウォームアップを実行し、PyTorch 動的計算グラフでメモリ消費情報を収集します。ウォームアップ後、演算子を計算する前に、Gemini は収集されたメモリ使用量記録を使用して、コンピューティング デバイス上で演算子に必要なピーク メモリを予約し、同時に一部のモデル テンソルを GPU ビデオ メモリから CPU メモリに移動します。 Gemini の組み込みメモリ マネージャーは、各テンソルに HOLD、COMPUTE、FREE などのステータス メッセージをマークします。次に、動的にクエリされたメモリ使用量に基づいて、テンソルの状態が継続的に変換され、テンソルの位置が調整されます。DeepSpeed の ZeRO Offload の静的パーティショニングと比較して、Colossal-AI Gemini は GPU ビデオメモリと CPU メモリをより効率的に利用し、モデル容量を最大化し、非常に制限されたハードウェア条件下でトレーニング速度のバランスをとることができます。 大規模モデルの代表であるGPTの場合、RTX 2060 6GBを搭載した一般的なゲーミングノートPCでColossal-AIを使用すると、最大15億のパラメータを持つモデルをトレーニングするのに十分です。RTX3090 24GBを搭載したパソコンでは、180億のパラメータを持つモデルを直接トレーニングできます。Tesla V100などのプロフェッショナルコンピューティングカードの場合、Colossal-AIは大幅な改善も示します。さらに一歩進んで:便利で効率的な並列拡張並列分散技術は、モデルのトレーニングをさらに加速するための重要な手段です。世界最大かつ最先端の AI モデルを最短時間でトレーニングしたい場合、効率的な分散並列拡張が依然として必要です。並列次元の制限、効率の低さ、汎用性の低さ、導入の難しさ、メンテナンスの欠如など、既存のソリューションの問題点に対処するために、Colossal-AI は効率的な多次元並列処理や異種並列処理などのテクノロジーを使用して、ユーザーが最小限の変更のみで大規模な AI モデル トレーニングを効率的かつ迅速に導入できるようにします。たとえば、データ並列処理、パイプライン並列処理、2.5 次元テンソル並列処理などの複雑な並列戦略の場合、それらを自動的に実装するには、単純な宣言だけが必要です。Colossal-AI は、他のシステムやフレームワークのようにコードに侵入して、複雑な基礎ロジックを手動で処理する必要はありません。 パイソン 具体的には、GPT-3 などの超大規模 AI モデルの場合、Colossal-AI は NVIDIA のソリューションと比較して、トレーニングを開始するために必要なコンピューティング リソースが半分しかなく、同じコンピューティング リソースを使用した場合、速度が 11% 向上し、GPT-3 のトレーニング コストを 100 万ドル以上削減できます。 Colossal-AI関連のソリューションは、自動運転、クラウドコンピューティング、小売、医療、チップなどの業界の有名メーカーによって成功裏に適用され、広く賞賛されています。 例えば、タンパク質構造予測アプリケーション AlphaFold2 の場合、Colossal-AI の高速化ソリューションをベースとした FastFold は、Google やコロンビア大学のソリューションを上回ることに成功し、AlphaFold2 のトレーニング時間を 11 日から 67 時間に短縮して総コストを削減し、長い配列の推論では 9.3 ~ 11.6 倍の速度向上も達成しました。 Colossal-AI はオープンソース コミュニティの構築に注力しており、中国語のチュートリアルを提供し、ユーザー コミュニティとフォーラムを開設し、ユーザーからのフィードバックに基づいて効率的なコミュニケーションと反復的な更新を実施し、PaLM や AlphaFold などの最先端のアプリケーションを継続的に追加しています。 Colossal-AIはオープンソースリリース以来、GitHubやPapers With Codeのホットリストで何度も世界1位を獲得し、数万のスターを獲得した数多くのスターオープンソースプロジェクトとともに国内外で注目を集めています! ポータルプロジェクトアドレス: https://github.com/hpcaitech/ColossalAI |
>>: 馬懿、沈向陽、曹英の最新AIレビューが人気に!作成に3か月かかりました。ネットユーザー必読の論文です
商業ビルでは、顧客と居住者の快適性がポジティブな体験を保証するために重要です。快適さの重要な要素は、...
[[186778]]近年、機械学習やデータマイニングは非常に人気があり、徐々に世界に実用的な価値をも...
[51CTO.comより引用] 近年、わが国の興行収入市場は飛躍的に成長し、2011年には150億ド...
人工知能の分野における画像分類問題に関して言えば、トレーニングとテストに最もよく使用されるデータセッ...
水中の海洋生物を研究する場合、動物たちにとって不自然に見えて怖がらせないような装置を使うと役に立つで...
今回、人工知能アルゴリズムが国際数学オリンピック(IMO)で大きな進歩を遂げました。本日発行された国...
ハリウッドのSF大作では、人工知能は常に、将来の人類の生存を脅かす自己認識機械として定義されています...
[[380706]]この記事はWeChatパブリックアカウント「Full-Stack Cultiva...
序文前回の記事では列挙型の最適化について説明しました。今回は時刻形式である DateTime の最適...
[[211628]] 1. ニューラルネットワークの基礎ニューラル ネットワークは、あらゆる関数に適...
[[205998]]皆さんのお役に立てれば幸いですので、この投稿を書くのは大変でした。機械学習とデ...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
[[327809]]画像ソース: unsplash繰り返し作業はいつも面倒です。新しいプロジェクトを...