10回!マイクロソフトは、1000億のパラメータをトレーニングできる史上最大のNLGモデルをオープンソース化しました。

10回!マイクロソフトは、1000億のパラメータをトレーニングできる史上最大のNLGモデルをオープンソース化しました。

AI の最新の傾向は、自然言語モデルが大きくなるほど精度が向上するということですが、コスト、時間、コード統合の障壁により、大規模なモデルのトレーニングは困難です。

Microsoft は最近、ディープラーニング最適化ライブラリ DeepSpeed をオープンソース化しました。これにより、スケール、速度、可用性が向上し、コストが削減され、大規模モデルのトレーニングが大幅に容易化され、1,000 億を超えるパラメータを持つディープラーニング モデルを現在の世代の GPU クラスターでトレーニングできるようになります。同時に、システムパフォーマンスは最新技術と比較して 5 倍以上向上します。

Microsoft によれば、DeepSpeed ライブラリには ZeRO (Zero Redundancy Optimizer) と呼ばれるコンポーネントがあり、これはモデルとデータの並列処理に必要なリソースを大幅に削減しながら、トレーニング可能なパラメータの数を大幅に増やすことができる新しい並列オプティマイザーです。

研究者たちはこれらの画期的な技術を利用して、170億のパラメータを持つ、公開されている最大の言語モデルであるチューリング自然言語生成(Turing-NLG)モデルを作成しました。

DeepSpeed の一部である ZeRO は、大規模分散型ディープラーニング向けの新しいメモリ最適化テクノロジであり、現在の最高システムの 3 ~ 5 倍のスループットで、現在の GPU クラスター上で 1,000 億のパラメータを持つディープラーニング モデルをトレーニングできます。また、数兆個のパラメータを持つモデルをトレーニングするための明確な道筋も提供します。

ZeRO には、最適化状態、勾配、およびパラメータ分割に対応する 3 つの主要な最適化フェーズがあります。

ZeRO は、データ並列処理とモデル並列処理の制限を克服しながら、両方の利点を実現します。モデル状態をコピーするのではなく、上の図に示すように、データ並列プロセス間でモデル状態をパラメーター、勾配、およびオプティマイザー状態のパーティションに分割することで、データ並列プロセス間のメモリの冗長性を排除します。

トレーニング中は、データ並列計算の粒度と通信量を維持するために、分散デバイス間で必要な状態を共有するために、動的な通信スケジュールが使用されます。

ZeRO の最初のフェーズである Partitioned Optimizer States (略して ZeRO-OS) は、1,000 億のパラメータ モデルをサポートする機能を備えて実装され、DeepSpeed とともにリリースされました。

DeepSpeed は PyTorch と互換性があり、DeepSpeed API は PyTorch 上の軽量ラッパーであるため、開発者は新しいプラットフォームを学習することなく PyTorch のすべてを利用できます。さらに、DeepSpeed は、分散トレーニング、混合精度、勾配累積、チェックポイント設定などのすべての定型 SOTA トレーニング手法を管理するため、開発者はモデル開発に集中できます。

同時に、開発者は DeepSpeed 独自の効率性と有効性を活用して、PyTorch モデル内のコードを数行変更するだけで速度とスケールを向上させることができます。

DeepSpeedは次の4つの点で優れています。

規模: OpenAI GPT-2、NVIDIA Megatron-LM、Google T5 などの現在の最先端の大規模モデルは、それぞれ 15 億、83 億、110 億のパラメーターを持ちますが、DeepSpeed の ZeRO Phase 1 は、現在の最先端モデルの 10 倍にあたる最大 1,000 億のパラメーターを持つモデルを実行するためのシステム サポートを提供します。

今後の計画では、ZeRO フェーズ 2 および 3 をサポートし、最大 2,000 億、さらには数兆のパラメータを持つモデルに対応する機能を提供することになっています。

速度: さまざまなハードウェアで、現在の最先端技術よりも最大 5 倍高いスループットが観測されています。たとえば、GPT ファミリーのワークロードで大規模なモデルをトレーニングする場合、DeepSpeed は ZeRO ベースのデータ並列処理と NVIDIA Megatron-LM モデル並列処理を組み合わせて、低帯域幅の相互接続 (NVIDIA NVLink または Infiniband なし) を備えた NVIDIA GPU のクラスターで 15 億のパラメーターを持つ標準 GPT-2 モデルに Megatron-LM のみを使用する場合と比較して、スループットを 3.75 倍向上させます。

高帯域幅インターコネクトを備えた NVIDIA DGX-2 クラスターでは、20 億から 800 億のパラメータを持つモデルで 3 倍から 5 倍の高速化が実現します。これらのスループットの向上は、DeepSpeed の優れたメモリ効率と、より低いモデル並列度とより大きなバッチ サイズを使用してこれらのモデルを適合する能力によって実現されます。

コスト: スループットの向上はトレーニング コストの大幅な削減を意味します。たとえば、200 億のパラメータを持つモデルをトレーニングする場合、DeepSpeed では元の 3/4 のリソースしか必要ありません。

使いやすさ: PyTorch モデルで DeepSpeed と ZeRO を使用できるようにするには、数行のコードを変更するだけで済みます。現在のモデル並列ライブラリと比較して、DeepSpeed ではコードの再設計やモデルの再構築は必要なく、モデル サイズ、バッチ サイズ、その他のトレーニング パラメータに制限も課しません。

最大 60 億のパラメータを持つモデルの場合、ZeRO が提供するデータ並列処理機能は、モデル並列処理なしでも簡単に使用できます。対照的に、標準的なデータ並列処理では、13 億を超えるパラメータを持つモデルではメモリが不足します。 ZeRO フェーズ 2 および 3 では、データ並列処理のみを使用してトレーニングできるモデルのサイズがさらに増加し​​ます。さらに、DeepSpeed は、ZeRO がサポートするデータ並列性とモデル並列性の柔軟な組み合わせをサポートします。

最後に、GitHub アドレスを添付します: https://github.com/microsoft/DeepSpeed

<<:  機械学習に必要なエンジニアリングの量は将来大幅に削減されるだろう

>>:  YOLOの父は抗議を表明するためにCV業界を辞め、軍事やプライバシーのスヌーピングにAIアルゴリズムを使用することを拒否

ブログ    
ブログ    
ブログ    

推薦する

...

...

...

...

業界の洞察 | 世界の人工知能とその産業チェーン

18 世紀半ば以降、3 度の産業革命により、蒸気駆動の機械生産から電気駆動の機械生産へと、人類社会に...

...

2頭のアルパカが頭と尻尾を切り落とし、それをくっつけてハギングフェイスリストのトップに

HuggingFace が再びオープンソースの大規模モデルのリストのトップに躍り出ました。最前列は、...

アナーキストとの対話: ノーム・チョムスキーが語るディープラーニングの未来

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

...

AIとブロックチェーンの統合:6つの予測と可能性

今のところ、AI とブロックチェーン技術がもたらす可能性について聞いたことも、気付いていないのであれ...

機械学習における不均衡なクラスに対処するための 5 つの戦略

クラスの不均衡: 希少疾患の機械学習データセット(陽性が約 8%)があるとします。この場合、トレーニ...

サーマルイメージングによって施設と従業員の安全性がどのように向上するのでしょうか?

監視範囲の死角、互換性のないビデオおよびアクセス制御システム、適切な境界保護の欠如...これらは、施...

2020 年の CIO にとっての 5 つの戦略的優先事項

ヘルスケア、小売、テクノロジー業界の IT リーダーが 2020 年の戦略的優先事項を共有します。ヒ...

自動運転と軌道予測についてはこちらの記事をお読みください。

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...