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

AIのソフトウェアスタックを、利用者に近い上の層からハードウェアに近い下の層へ並べたものとして正しいものはどれか。

  1. Aフレームワーク(PyTorchなど) → コンパイラやランタイム → 演算のライブラリ(cuBLASなど) → ドライバ → ハードウェア
  2. Bハードウェア → フレームワーク → ドライバ → ライブラリ
  3. Cドライバ → フレームワーク → ハードウェア → コンパイラ
答えと解説を見る

正解:A. フレームワーク(PyTorchなど) → コンパイラやランタイム → 演算のライブラリ(cuBLASなど) → ドライバ → ハードウェア

利用者はPyTorchなどのフレームワークでモデルを書きます。フレームワークやAIコンパイラ・ランタイムが計算グラフを最適化し、行列の積や畳み込みなどは高度に最適化された演算のライブラリのカーネルを呼びます。ライブラリはドライバを通してGPUやNPUに命令を送ります。新しいハードウェアが広く使われるには、演算器の性能だけでなく、この積み重なったソフトウェアが整っていることが欠かせません。

  • A. 正しい。各層が下の層の違いを隠しています。
  • B. 順番が合っていません。
  • C. 順番が合っていません。
この分野を解く 分野ページへ

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

  1. ニューラルネットワークの「学習」と「推論」の違いとして正しいものはどれか。
  2. 学習に必要なメモリが、同じモデルの推論よりずっと大きくなる理由として当てはまらないものはどれか。
  3. パラメータ数70億(7B)のモデルを、重み・勾配・Adamの2つの状態をすべてFP32(4バイト)で持って学習する。活性化を除いて必要なメモリに最も近いものはどれか。
  4. パラメータ数70億(7B)のモデルの重みをFP16(2バイト)で持つと、重みのメモリはおよそいくらか。
  5. 前の問いの7BのモデルをFP16(約14 GB)から4ビットの整数(INT4)に量子化すると、重みのメモリはおよそいくらになるか。