AIハードウェアとソフトウェアスタック

ニューラルネットワークのプルーニング(枝刈り)について正しいものはどれか。

  1. A重要でない重みを0にして減らす方法で、ばらばらに0にする非構造化の方式は、ハードウェアで速くしにくい
  2. B重みを増やして、モデルの精度を必ず上げる方法である
  3. C学習のデータを減らす方法である
答えと解説を見る

正解:A. 重要でない重みを0にして減らす方法で、ばらばらに0にする非構造化の方式は、ハードウェアで速くしにくい

プルーニングは、値が小さいなど影響の少ない重みを0にして、計算やメモリを減らす方法です。しかし0がばらばらに散らばると、どこが0かを調べる手間がかかり、行列の演算器やメモリはまとまった単位で動くので、実際にはあまり速くなりません。チャネルや層ごと、または決まった形で0にする構造化のプルーニングなら、ハードウェアで速くしやすくなります。

  • A. 正しい。決まった形で0にする構造化の方式もあります。
  • B. 重みを減らす方法です。
  • C. 減らすのはデータではなく重みです。
この分野を解く 分野ページへ

AIハードウェアとソフトウェアスタックのほかの問題

  1. GPUの行列演算器が対応している「2:4の構造化スパース」の説明として正しいものはどれか。
  2. 知識蒸留(ナレッジディスティレーション)の説明として正しいものはどれか。
  3. 複数のGPUで学習するデータ並列の説明として正しいものはどれか。
  4. 1つのGPUのメモリに収まらない大きな層の行列の積を、複数のGPUで分けて計算するテンソル並列の説明として正しいものはどれか。
  5. モデルの層を順に複数のGPUに分けて受け持つパイプライン並列で、バッチを小さなマイクロバッチに分けて流す理由として正しいものはどれか。