Skip to main content
QUICK REVIEW

[論文レビュー] Large-Scale Deep Learning Optimizations: A Comprehensive Survey

Xiaoxin He, Fuzhao Xue|arXiv (Cornell University)|Nov 1, 2021
Advanced Neural Network Applications参考文献 118被引用数 8
ひとこと要約

本サーベイは、大規模なディープラーニングにおける最適化技術について包括的な分析を提供し、モデルの精度と効率の向上に焦点を当てる。大バッチ学習、通信効率の高い分散学習、メモリ効率の良い最適化(特にZeRO)の最先端手法をレビューし、最大2000億パラメータのモデルを最大10倍速く学習可能にしている。

ABSTRACT

Deep learning have achieved promising results on a wide spectrum of AI applications. Larger datasets and models consistently yield better performance. However, we generally spend longer training time on more computation and communication. In this survey, we aim to provide a clear sketch about the optimizations for large-scale deep learning with regard to the model accuracy and model efficiency. We investigate algorithms that are most commonly used for optimizing, elaborate the debatable topic of generalization gap arises in large-batch training, and review the SOTA strategies in addressing the communication overhead and reducing the memory footprints.

研究の動機と目的

  • 大規模なディープラーニングにおけるモデル精度と学習効率を向上させる最適化技術の統合的概要を提供すること。
  • 大バッチ学習における一般化ギャップという重要な課題に取り組むこと。これは、バッチサイズが増加してもモデル性能が低下する現象である。
  • 数千のGPUやTPUを用いた分散学習における通信およびメモリのボトル neck を分析すること。
  • 収束性能を損なわずにメモリフットプリントを削減する最先端のメモリ最適化戦略(ZeRO、SM3、Adafactorなど)を評価すること。
  • 大規模な学習パイプラインにおけるアルゴリズム的改善とシステムレベルの最適化の間のトレードオフを明確にすること。

提案手法

  • 大規模なディープラーニング最適化を、モデル精度(例:勾配降下法の変種、適応的手法、2次最適化)とモデル効率(例:通信およびメモリ削減)の2つの主軸に分類する。
  • 一般化ギャップを軽減する大バッチ学習技術(例:初期学習率のウォームアップ、重み減衰、バッチ正則化の再パrameter化)をレビューする。
  • 通信効率の高い手法(例:勾配圧縮、量子化、パラメータサーバーアーキテクチャ)を分析し、ノード間通信のオーバーヘッドを低減する。
  • ZeROのようなメモリ効率の良い技術を検討し、最適化状態、勾配、活性化をデバイス間で分割することで、重複を排除する。
  • SM3(メモリを共有することで節約)を紹介。行と列にまたがるモーメント統計を共有することで、適応的最適化のストレージをΘ(mn)からΘ(m+n)に削減する。
  • ZeROの3段階最適化を提案:デバイス間での最適化状態、勾配、活性化の分割に加え、CPUオフロードおよびランタイムメモリのフラグメンテーション回避をサポートする。

実験結果

リサーチクエスチョン

  • RQ1非常に大きなミニバッチで学習する際、一般化ギャップが顕著であるにもかかわらず、モデルの精度を保持または向上させる方法は何か?
  • RQ2数千台のデバイスにわたる分散ディープラーニングにおける通信オーバーヘッドを低減する最も効果的な戦略は何か?
  • RQ3収束性やモデル性能を損なわずに、大規模な分散学習におけるメモリフットプリントを最小限に抑える方法は何か?
  • RQ4ZeRO、Adafactor、SM3といった異なるメモリ最適化手法の間で、メモリ節約と計算オーバーヘッドのトレードオフはどのように異なるか?
  • RQ5アルゴリズム的最適化(例:適応的手法)とシステムレベルの最適化(例:ZeRO)を組み合わせることで、大規模な学習をどの程度高速化できるか?

主な発見

  • 大バッチ学習では一般化ギャップが生じやすく、バッチサイズが一定値を超えるとモデル性能が低下する傾向があるが、学習率のウォームアップや重み減衰などの手法によりこれを緩和できる。
  • デバイス数が増加するにつれて、分散学習における通信オーバーヘッドが大きなボトル neck となる。これは勾配圧縮、量子化、効率的な同期方式により低減できる。
  • ZeROは、最適化状態、勾配、活性化をデバイス間で分割することで、1デバイスあたりのメモリ消費量を削減し、最大2000億パラメータのモデルの学習を可能にする。
  • SM3は、行と列にまたがるモーメント統計を共有することで、適応的最適化のメモリ使用量をΘ(mn)からΘ(m+n)に削減し、性能を維持しながらストレージ要件を削減する。
  • ZeROは、モデル状態の分割、活性化メモリの分割、CPUオフロード、ランタイムメモリのフラグメンテーション回避を組み合わせることで、大規模モデルの学習を最大10倍速くする。
  • メモリ最適化と通信最適化は排他的ではない。これらをアルゴリズム的改善と組み合わせることで、学習速度とスケーラビリティに相乗効果が得られる。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。