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

XLAやTVM、PyTorchのコンパイル機能のようなAIコンパイラが行う主な処理として正しいものはどれか。

  1. AAIモデルの答えを人間の言葉に翻訳する
  2. B学習用のデータを自動で集める
  3. Cモデルの計算グラフを解析し、演算の融合やデータの並べ方、タイリングなどを最適化して、対象のハードウェア向けのコードを作る
答えと解説を見る

正解:C. モデルの計算グラフを解析し、演算の融合やデータの並べ方、タイリングなどを最適化して、対象のハードウェア向けのコードを作る

AIコンパイラは、モデルを演算とデータの流れの計算グラフとして受け取り、まとめられる演算の融合、不要な計算の削除、メモリの並べ方の選択、タイルの大きさの調整などを行い、GPUやNPUなどの対象に合ったカーネルを作ります。同じモデルでも、ハードウェアごとに最適なコードを自動で作れるので、手で最適化する手間を大きく減らせます。

  • A. 自然言語の翻訳とは関係ありません。
  • B. データ集めの道具ではありません。
  • C. 正しい。ハードウェアの性能を引き出すための道具です。
この分野を解く 分野ページへ

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

  1. AIのフレームワークやコンパイラで使われる「計算グラフ」の説明として正しいものはどれか。
  2. ONNXの説明として正しいものはどれか。
  3. TensorRTやONNX Runtimeのような推論ランタイムが、学習用のフレームワークでそのまま推論するより速くできる主な理由はどれか。
  4. ReLUやレイヤー正規化のような要素ごとの演算が、AIの計算の中で演算の回数の割に時間がかかりやすい理由として正しいものはどれか。
  5. 畳み込みニューラルネットワークで、畳み込みの計算をim2colなどの方法で行列の積に変換して計算することがある理由として正しいものはどれか。