ガイド連動クイズ · ハード レベル

ZeRO とシャード オプティマイザーのクイズ

ZeRO ステージ、Adam 状態メモリ、パラメータ収集、勾配低減、オフロード オプション、および通信コストをカバーします。

質問 1 の 8

普通のデータ並列処理と比較して、ZeRO はどのような冗長性を排除しますか?

すべての質問をプレビューする8 質問

クイズに答えると、答えと解説が表示されます。

  1. 普通のデータ並列処理と比較して、ZeRO はどのような冗長性を排除しますか?
    • オプティマイザーの状態、勾配、パラメーターの完全なコピーをすべての GPU に複製します。
    • 各 GPU 上のトレーニング データの複製コピー
    • ノード間の冗長ネットワークケーブル
    • 同じバッチ上でフォワードパスを繰り返す
  2. Adam ではオプティマイザーの状態が最大のメモリを消費することが多いのはなぜですか?
    • Adam は余分な状態をまったく保存しません
    • Adam は、パラメータごとの追加の値 (運動量や分散など) を、多くの場合モデル サイズの数倍保持します。
    • Adam はデータセット全体を複製します
    • アダムは過去のすべての勾配を永久に保存する必要があります
  3. ZeRO ステージ 3 のシャードには、ステージ 1 および 2 にはないものは何ですか?
    • トレーニングデータ
    • 損失関数
    • モデルパラメータ自体
    • 学習率スケジュール
  4. ZeRO ステージ 3 では、GPU はレイヤーのフォワード パスに必要なすべてのパラメーターをどのように取得するのでしょうか?
    • 完全なパラメータは必要ありません
    • インターネットからダウンロードします
    • 毎回最初から再計算します
    • オールギャザーを実行して不足しているスライスを収集し、その後それらを破棄します。
  5. ZeRO スタイルのシャーディングをネイティブに実装する PyTorch 機能はどれですか?
    • FSDP (完全にシャードされたデータ並列)
    • データローダー
    • トーチスクリプト
    • オートグラード
  6. ZeRO がメモリを節約するために行う主なトレードオフは何ですか?
    • 速度のためにモデルの精度を犠牲にします
    • 必要に応じてシャードを収集および散布するための追加の通信が追加されます
    • モデルからレイヤーを削除します
    • 非常に小さなモデルでのみ動作します
  7. ZeRO Stage 1 ではどの状態が分割されますか?
    • オプティマイザの状態が複製されたパラメータのみ
    • パラメーター、勾配、オプティマイザーの状態はすべてシャード化されています
    • パラメーターと勾配は複製されたままのオプティマイザーの状態
    • アクティベーションとラベルのみを入力してください
  8. ZeRO スタイルのシャーディングの実際のコストはどれくらいですか?
    • 勾配を計算する必要がなくなります
    • データ交換を行わずに、すべてのオプティマイザー更新をローカルにします。
    • ステップごとにモデルを最初から再トレーニングする必要があります
    • パラメータを収集し、勾配を分配するための追加通信