ByteDance、最大6.9倍のパフォーマンス向上を実現した大規模モデルトレーニングフレームワークveGiantModelをオープンソース化

ByteDance、最大6.9倍のパフォーマンス向上を実現した大規模モデルトレーニングフレームワークveGiantModelをオープンソース化

背景

近年、NLPの応用分野では大きな進歩がありました。Bert、GPT、GPT-3などの超大規模モデルがさまざまなNLPテストを席巻した後、モデルパラメータが大きいほどアルゴリズムのパフォーマンスが向上することがわかりました。そのため、大規模モデルの方向への開発が急速に進み、モデルサイズが爆発的に増加しました。大規模モデルのトレーニングが既存のトレーニング システムにもたらす主な課題は、メモリの負荷、コンピューティングの負荷、および通信の負荷です。

言語モデルのサイズは指数関数的に増加しています (出典: https://huggingface.co/blog/large-language-models)

Volcano Engine 大規模モデルトレーニングフレームワーク veGiantModel

この需要に応えるために、ByteDance の AML チームは、Volcano Engine 用の大規模モデル トレーニング フレームワークである veGiantModel を開発しました。 veGiantModel は、PyTorch フレームワークをベースに、Megatron と DeepSpeed をベースにした高性能な大規模モデル トレーニング フレームワークです。機能は次のとおりです:

  • データ並列処理、演算子セグメンテーション、パイプライン並列処理の 3 つの分散並列処理戦略と、自動化およびカスタマイズされた並列処理戦略をサポートします。
  • ByteCCL 高性能非同期通信ライブラリに基づいて、他のオープンソース フレームワークと比較してトレーニング タスクのスループットが 1.2 倍~ 3.5 倍向上します。
  • より使いやすく柔軟なパイプライン サポートを提供し、モデル開発の反復に必要な人員を削減します。
  • GPU 上で数十億から数千億のパラメータを持つ大規模モデルを効率的にサポートできます。
  • 帯域幅要件が低く、プライベート展開では RDMA に大きく依存しません。

このうち、ByteCCLはByteDanceが開発したBytePSのアップグレード版であり、A100/V100などのさまざまなモデルトポロジー向けに階層化プロトコルの最適化が行われ、allgatherやalltoallなどのより包括的な通信プリミティブをサポートしています。

veGiantModel パフォーマンス

ハードウェア構成

VeGiantModel のパフォーマンスを実証するために、veGiantModel チームは自社のコンピュータ ルームで物理マシンを使用し、A100 モデルと V100 モデルのテストを実施しました。実験構成は次のとおりです。

  • V100 テスト: マシンあたり 8 個の Tesla V100 32G GPU、ネットワーク帯域幅 100G
  • A100 テスト: マシンあたり 8 個の Ampere A100 40G GPU、ネットワーク帯域幅 800G

モデルとコントロールグループの選択

veGiantModel は評価用に GPT-13B モデルを選択しました。シーケンス長は 256、グローバル バッチ サイズは 1536 です。 GPT は、市場で最も人気のあるトランスフォーマーベースの言語モデルです。パフォーマンス制御グループは、最も人気のあるオープンソース コミュニティ ツールである Megatron と DeepSpeed を選択しました。

テスト結果

  1. V100/TCP: 100Gb/s TCP ネットワーク帯域幅、マシン 4 台、マシンあたり 8 個の Tesla V100 32G GPU
  2. V100/RDMA: 100Gb/s RDMA ネットワーク帯域幅、マシン 4 台、マシンあたり 8 個の Tesla V100 32G GPU
  3. A100/TCP: 800Gb/s TCP ネットワーク帯域幅、マシン 4 台、マシンあたり 8 個の Tesla A100 40G GPU
  4. A100/RDMA: 800Gb/s RDMA ネットワーク帯域幅、マシン 4 台、マシンあたり 8 個の Tesla A100 40G GPU
  • モデル: GPT-13B
  • Megatron: v2.4、tensor-model-parallel-size は 4 に設定され、pipeline-model-parallel-size は 4 に設定されています
  • DeepSpeed: v0.4.2、DeepSpeedExamples オープンソース コミュニティのデフォルトの zero3 構成を使用
  • 動作環境
  • 統計: スループット (サンプル/秒)

上記のデータから、次のことがわかります。

  1. veGiantModel のパフォーマンスが優れています: veGiantModel は、V100 と A100 の両方で Megatron と DeepSpeed を上回り、高帯域幅と低帯域幅の両方のシナリオで最大 6.9 倍の改善が見られます。
  2. veGiantModel はネットワーク帯域幅の要件が低く、帯域幅の変化によるスループットへの影響は比較的最小限 (<10%) ですが、DeepSpeed ​​(ZeRO) は帯域幅要件が最も高く、その差は最大で約 5 倍になります。

原因分析

veGiantModel が Megatron や DeepSpeed よりも高速なのはなぜですか?理由は次のとおりです。

  • ByteCCL (BytePS) 高性能非同期通信ライブラリ。
  • パフォーマンスの最適化を極限まで高めることができるカスタマイズされた並列戦略をサポートします。
  • veGiantModel は、データ並列処理、演算子分割、パイプライン並列処理という 3 つの分散並列戦略をサポートする際に、マシン間の帯域幅を総合的に考慮し、トポロジの配置を自動的に調整します。

ポータル

veGiantModel は現在、次のアドレスの GitHub でオープンソース化されています。

https://github.com/volcengine/veGiantModel

GitHub では、veGiantModel の使用方法と、veGiantModel を使用して GPT 事前トレーニングをすばやく実行する方法について詳しく説明しています。 Volcano Engine 機械学習プラットフォームは、veGiantModel をネイティブにサポートしています。このプラットフォームは現在パブリック ベータ版であり、誰でも試すことができます: https://www.volcengine.com/product/ml-platform

<<:  AIカーゴのロープロファイルバージョン?ネットユーザーがCNN1台を使って「ニード・フォー・スピード9」でレース

>>:  ML アルゴリズムが製造業に及ぼす影響

ブログ    

推薦する

2022年、PyTorchはトップAIカンファレンスの80%を占める

2012 年にディープラーニングが再び注目されて以来、初期の学術フレームワークである Caffe ...

...

インテリジェントオートメーションの台頭:デジタル時代のAI、ロボット工学、製造業

人工知能 (AI)、ロボット工学、自動化の融合により、生産性、効率性、革新の新しい時代が到来していま...

プライバシー保護を再構築するには、AIモデルに「あなたを忘れさせる」ことを早く行う必要がある

この時代において、プライバシーは長い間誤った主張となってきました。プライバシー保護をある程度回復する...

...

...

中国の大学はいかにして「新世代の人工知能」をリードできるのか?

教育省は最近、「高等教育機関における人工知能イノベーションのための行動計画」を発行しました。計画によ...

AIに人間主義の精神を持ち込むことについて、フェイフェイ・リーとビル・ゲイツは今日スタンフォードで何について話したのでしょうか?

マイクロソフト創業者のビル・ゲイツ氏、グーグルの人工知能の第一人者ジェフ・ディーン氏、ディープマイン...

AIスタートアップが成熟するための4つの段階と懸念事項

[[281520]] [51CTO.com クイック翻訳] 現時点では、「人工知能企業」が何であるか...

CV の世界における 3D ビジョンの究極の実現: コンピューターがこの 3 次元の世界を「見る」方法

携帯電話を開くと顔がロック解除されます。VR と AR 技術は、このような仮想でありながら現実のシー...

...

Google、視覚障害者が世界を見るのを助けるAIメガネを開発

海外メディアの報道によると、オランダの新興企業EnvisionはGoogle Glassと提携し、視...

EU AI法が規則を承認

欧州連合の人工知能法(AI法)は、政策立案者が画期的な規制のルールをうまく策定したことで、法律化に向...

注目すべき新たな AI 統計とトレンド

『2001年宇宙の旅』のHAL 9000の恐ろしい宣言から『ターミネーター』映画における終末的な機械...

機械学習の実践: Spark と Python を組み合わせるには?

Apache Sparkはビッグデータの処理や活用に最も広く使われているフレームワークの一つであり...