G検定 › Web参考書 › 第6章

モデルの軽量化(エッジAI、蒸留、プルーニング、量子化、宝くじ仮説)

第6章 ディープラーニングの応用例 / 節 9

シラバスのキーワード: エッジAIモデル圧縮蒸留プルーニング量子化宝くじ仮説

本文を読んだあと、覚えているか確認してください。

軽量化が必要な背景

高精度なモデルはパラメータ数と計算量が大きく、クラウドの大規模なGPUが必要です。しかし自動運転や工場の検査のように通信遅延が許されない場面、機密データを外部に送りたくない場面、スマートフォンや組み込み機器で動かしたい場面では、端末側で推論するエッジAIが求められます。そのためにモデルを小さく速くする技術がモデル圧縮です。

主な手法

手法 内容
蒸留 大きく高精度な教師モデルの出力(クラスごとの確率分布などのソフトターゲット)を目標に、小さな生徒モデルを学習させる。確率分布にはクラス間の類似性など正解ラベル以上の情報が含まれる
プルーニング 寄与の小さい重みやノード、チャネルを削除してネットワークをまばらにする
量子化 重みや計算を32ビット浮動小数点から8ビット整数などに変換し、メモリと計算量を減らす

宝くじ仮説

密なネットワークには、単独で学習しても元のネットワークと同等の精度に達する小さな部分ネットワーク(当たりくじ)が含まれているという仮説です。プルーニングで残った構造を初期値から学習し直しても高精度になることから提唱され、軽量化の理論的な背景の一つになっています。

試験で問われる観点

この節の練習問題(4問)

答えを見る前に選んでから開いてください。同じ問題は章別演習でランダム出題されます。

  1. 問1
    モデルの軽量化手法に関する記述として、最も適切なものを選びなさい。
    1. 1宝くじ仮説とは、モデルの最終的な精度は初期値の運で決まるためモデルの軽量化は意味を持たないという仮説であり、蒸留・プルーニング・量子化はいずれもクラウドのサーバーでのみ有効で、端末で動かすエッジAIには適用できない
    2. 2蒸留は大きな教師モデルの出力を小さな生徒モデルに学習させて性能を引き継ぐ手法、プルーニングは重要度の低い重みや接続を削除する手法、量子化はパラメータを32ビット浮動小数点から8ビット整数などに低精度化して容量と計算量を減らす手法である
    3. 3蒸留は大きなモデルを複数の小さなモデルに分割して並列に実行する手法、プルーニングは学習中に層を追加して表現力を高める手法、量子化はパラメータを量子コンピュータ上の量子ビットとして表現し、計算量を指数的に減らす手法である
    4. 4蒸留は重要度の低い重みや接続を削除する手法、プルーニングは大きな教師モデルの出力を小さな生徒モデルに学習させて性能を引き継ぐ手法、量子化はパラメータを8ビット整数から32ビット浮動小数点に高精度化して計算の安定性を高める手法である
    答えと解説

    正解: 2

    スマートフォンや組み込み機器の上でAIを動かすエッジAIでは、計算資源とメモリが限られるためモデル圧縮が重要です。蒸留(知識蒸留)は教師モデルの出力分布を生徒モデルが真似ることで小さなモデルでも高い性能を得る手法、プルーニングは寄与の小さい重みや枝を刈り込む手法、量子化はパラメータの数値精度を落として軽量化する手法です。宝くじ仮説は、大きなネットワークの中に、単独で学習しても同等の性能に達する小さな部分ネットワーク(当たりくじ)が存在するという仮説で、プルーニングの理論的背景として注目されました。

  2. 問2
    知識の蒸留(Knowledge Distillation)の説明として、最も適切なものを選びなさい。
    1. 1学習済みモデルの重みの値を32ビット浮動小数点から8ビット整数などの低精度な表現に変換し、精度をできるだけ保ったままメモリ使用量と計算量を減らす
    2. 2学習済みモデルのうち寄与の小さい重みやノードを削除してネットワークをまばらにし、必要に応じて再学習することで精度を保ったまま軽量なモデルを得る
    3. 3小さな生徒モデルの出力を目標として大きな教師モデルを学習させることで、生徒モデルの誤りを教師モデルに吸収させ、精度の高いモデルを得る
    4. 4大きく高精度な教師モデルの出力(クラスごとの確率分布など)を目標として、小さな生徒モデルを学習させ、精度をできるだけ保ったまま軽量なモデルを得る
    答えと解説

    正解: 4

    蒸留は、教師モデルが出力する確率分布(ソフトターゲット)には正解ラベル以上の情報(クラス間の類似性など)が含まれるという考えに基づき、それを模倣するように小さな生徒モデルを学習させる手法です。スマートフォンや組み込み機器で推論するエッジAIに向けたモデル圧縮の代表的な方法です。ビット数の削減は量子化、重みの削除はプルーニングです。

  3. 問3
    生産ラインのカメラ画像から不良品を瞬時に判定したいが、高精度なモデルをクラウドで動かすと通信遅延が問題になる。対応として最も適切なものを選びなさい。
    1. 1より大きなモデルに置き換え、クラウドのGPUを増やして精度を上げる
    2. 2画像の解像度を上げて、クラウドへ送信するデータ量を増やす
    3. 3推論のたびに学習をやり直し、モデルを常に最新の状態に保つ
    4. 4量子化や蒸留でモデルを軽量化し、現場の端末で推論する
    答えと解説

    正解: 4

    通信遅延が許されない場面では、端末側で推論するエッジAIが適しており、そのために量子化や蒸留などでモデルを小さく速くします。モデルを大きくしたり送信データ量を増やしたりしても、クラウドとの通信による遅延は解消せず、かえって悪化します。推論のたびに再学習するのは計算量が増えるだけで、遅延の対策になりません。

  4. 問4
    「密なネットワークには、単独で学習しても元のネットワークと同等の精度に達する小さな部分ネットワークが含まれている」という仮説を何というか。最も適切なものを選びなさい。
    1. 1ノーフリーランチの定理
    2. 2オッカムの剃刀
    3. 3宝くじ仮説
    4. 4二重降下現象
    答えと解説

    正解: 3

    宝くじ仮説は、密なネットワークの中に当たりくじにあたる小さな部分ネットワークが含まれているという仮説で、プルーニングで残った構造を初期値から学習し直しても高精度になることから提唱されました。ノーフリーランチの定理はあらゆる問題に最良の手法は存在しないという定理、オッカムの剃刀は同じ説明力なら単純な仮説を選ぶという考え方です。二重降下現象はモデルを大きくしていくと一度悪化した汎化誤差が再び改善する現象で、部分ネットワークの存在を述べたものではありません。