現段階では、ビジュアル トランスフォーマー (ViT) モデルは、画像分類、ターゲット検出、セグメンテーションなどのさまざまなコンピューター ビジョン タスクで広く使用されており、視覚的表現と認識において SOTA の結果を達成できます。コンピューター ビジョン モデルのパフォーマンスはパラメーターの数やトレーニング時間と正の相関があることが多いため、AI コミュニティはますます大規模な ViT モデルを実験してきました。
しかし、モデルがテラフロップスの規模を超え始めているため、この分野ではいくつかの大きなボトルネックが発生していることに注意する必要があります。単一モデルのトレーニングには数か月かかる場合があり、数千の GPU が必要となるため、アクセラレータの要件が増大し、その結果、多くの実践者を排除する大規模な ViT モデルが生成されます。
ViT モデルの使用範囲を拡大するために、メタ AI 研究者はより効率的なトレーニング方法を開発しました。アクセラレータを最適に利用するにはトレーニングを最適化することが非常に重要です。ただし、このプロセスには時間がかかり、かなりの専門知識が必要です。秩序ある実験をセットアップするには、研究者は無数の最適化の中から選択する必要があります。トレーニング セッション中に実行される何百万もの操作のいずれかが非効率によって妨げられる可能性があります。
Meta AI は、画像分類コード ライブラリである PyCls の ViT 実装に一連の最適化を適用することで、 計算効率とストレージ効率を向上できることを発見しました。 PyCI を使用してトレーニングされた ViT モデルの場合、Meta AI のアプローチにより、トレーニング速度とアクセラレータあたりのスループット (TFLOPS) が向上します。
次の図は、最適化されたコード ライブラリ PyCI を使用した V100 ベンチマークと比較したチップあたりのアクセラレータ スループットの相対的な増加を示しています。一方、A100 の最適化アクセラレータ スループットは V100 ベンチマークの 4.05 倍です。
メタ AI はまず PyCI コード ベースを分析し、トレーニング効率が低い潜在的なソースを特定します。 、最終的にはデジタル形式の選択に焦点を当てます。デフォルトでは、ほとんどのアプリケーションは 32 ビット単精度浮動小数点形式を使用してニューラル ネットワーク値を表します。 16 ビットの半精度形式 (FP16) に変換すると、モデルのメモリ フットプリントと実行時間を削減できますが、多くの場合、精度も低下します。
研究者らは妥協の解決策、つまり混合精度を採用しました。これにより、システムは単精度形式で計算を実行してトレーニングを高速化し、メモリ使用量を削減すると同時に、結果を単精度で保存して精度を維持します。彼らは、ネットワークの一部を手動で半精度に変換するのではなく、数値形式を自動的に切り替える自動混合精度トレーニングのさまざまなモードを実験しました。より高度なモードの自動混合精度は、主に半精度演算とモデルの重みに依存します。研究者が使用するバランスの取れた設定により、精度を犠牲にすることなくトレーニングを大幅にスピードアップできます。
プロセスをより効率的にするために、研究者たちは、FairScale ライブラリの Fully Sharder Data Parallel (FSDP) トレーニング アルゴリズムを最大限に活用し、パラメーター、勾配、オプティマイザーの状態を比較しました。シャーディングされています。 FSDP アルゴリズムを通じて、研究者はより少ない GPU を使用して大規模なモデルを構築できます。さらに、MTA オプティマイザー、プールされた ViT 分類器、およびバッチ秒入力テンソル レイアウトを使用して、冗長な転置操作をスキップしました。
以下の図の X 軸は可能な最適化を示し、Y 軸は ViT でトレーニングした場合の分散データ並列 (DDP) ベンチマークと比較したアクセラレータ スループットの相対的な増加を示しています。 -H/16。
研究者らは、パッチの合計サイズが 560 の場合、各アクセラレータ チップでの 1 秒あたりの実行時間の観点から、アクセラレータのスループットが 1.51 倍増加することを達成しました。 . 浮動小数点演算の数によって測定されます。画像サイズを 224 ピクセルから 256 ピクセルに増やすことで、スループットを 1.86 倍に高めることができました。ただし、画像サイズの変更はハイパーパラメーターの変更を意味するため、モデルの精度に影響します。フル FP16 モードでトレーニングすると、相対スループットは 2.18 倍に増加します。精度が低下する場合もありましたが、実験では精度の低下は 10% 未満でした。
以下の図の Y 軸はエポック時間、つまり ImageNet-1K データセット全体における最後のトレーニングの期間です。ここでは、通常 224 ピクセルの画像サイズを使用する既存の構成の実際のトレーニング時間に焦点を当てます。
メタ AI 研究者は、最適化スキームを使用して、エポック タイム (ImageNet-1K データセット全体に対する 1 つのトレーニング セッションの継続時間) を 0.65 時間から 0.43 時間に短縮しました。
以下の図の X 軸は、特定の構成における A100 GPU アクセラレータ チップの数を表し、Y 軸はチップあたりの絶対スループットを TFLOPS で表します。
この調査では、さまざまな GPU 構成の影響についても説明しています。いずれの場合も、システムは分散データ並列 (DDP) ベースライン レベルよりも高いスループットを達成しました。チップの数が増えると、デバイス間通信のオーバーヘッドによりスループットがわずかに低下することがわかります。ただし、64 個の GPU を使用しても、Meta のシステムは DDP ベンチマークより 1.83 倍高速です。
ViT トレーニングで達成可能なスループットを 2 倍にすることで、トレーニング クラスターのサイズを効果的に 2 倍にし、アクセラレータの使用率を直接改善できます。 AI モデルの二酸化炭素排出量を削減します。最近の大規模モデルの開発により、モデルが大型化してトレーニング時間が長くなる傾向にあるため、この最適化は研究分野で最先端のテクノロジーをさらに推進し、納期を短縮し、生産性を向上させるのに役立つと期待されています。
以上がMeta は、パラメータを積み上げたり、時間に依存したりすることなく、ViT トレーニング プロセスを加速し、スループットを 4 倍に向上させます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。