核心概念
DNNインファレンスのパイプラインを最適化することで、ボトルネックステージの実行時間を最小化し、全体の処理スループットを最大化する。
要約
本論文では、深層学習(DNN)インファレンスのパイプラインを最適化する問題を扱っている。具体的には以下の取り組みを行っている:
-
モデルグラフをk個のステージに分割し、ボトルネックステージの実行時間(通信時間を含む)を最小化する「最大スループット分割問題(MTPP)」を定式化した。この問題はNP困難であることを示した。
-
MIPを用いて最適解を求める手法と、より効率的な下界値を計算する手法を提案した。下界値の計算には、3つのMIP緩和問題を用いた。
-
動的計画法とバイアス付きランダムキー遺伝的アルゴリズムを組み合わせた高速なパーティショニングアルゴリズム「SliceGraph」を提案した。
-
369個の実製品モデルを用いた実験により、提案手法の有効性を示した。例えば、k=16の場合、従来の組合せ論的下界値は0.4598だったのに対し、提案手法の下界値は0.9452まで改善された。
統計
最大スループット分割問題(MTPP)は、NP困難であり、多項式時間近似スキームは存在しない。
提案したMIP緩和問題の下界値は、従来の組合せ論的下界値に比べて大幅に強い。例えば、k=16の場合、下界値は0.9452まで改善された。
引用
"ML inference handles two main types of data: model parameters (weights learned during training) and activations (intermediate outputs of the model, e.g., from hidden layers). Keeping activations in fast memory (e.g., SRAM) is critical, so ML compilers often treat it as a hard constraint."
"Suppose you are an ML engineer who has been tasked with partitioning a model graph for pipelined inference as illustrated in Figure 1. We explain the practitioner's dilemma with a toy example."