「ディープニューラルネットワークのデプロイのための自動チューニング」
Automatic tuning for deploying deep neural networks
何が、なぜ、そして最も重要なのは…どのようにするか?
イントロダクション
異なるニューラルネットワーク(NN)のアーキテクチャを比較するために使用されるメトリックの1つは、トレーニングにかかる時間です。何時間かかるのでしょうか?何日かかるのでしょうか?何週間かかるのでしょうか?通常、これはトレーニングに使用するハードウェアを更新するだけで改善できます。より強力なGPUによるGPUの置き換え、複数のGPUでのトレーニングの並列化などがあります。推論ステップでも同様のことが起こります。トレーニング済みのネットワークをマイクロコントローラなどの組み込みデバイスに展開するのでしょうか?それともモバイルデバイスで実行するのでしょうか?ネットワークがあまりにも大きすぎて、埋め込みGPUまたはさらにはサーバーサイズのGPUが必要になるかもしれません。
では、それらのうちの1つを選びましょう。NNを取り出し、デバイス用にコンパイルし、どれくらい速く実行されるかをテストします。あらら!私たちのレイテンシ要件を満たしません!私たちはNNを1秒未満で実行する必要がありましたが、私たちのNNは2秒かかりました!今、選択肢は何ですか?
- よりパワフルなデバイスに置き換える:これは非常に問題があります。特に厳しいアプリケーションの制約がある場合です。おそらく、特定の認証済みハードウェアしか使用できないようなケースや、厳しいエネルギー制約を満たす必要があるケースなどです。
- NNの複雑さを減らす:これも慎重に行わないと、NNのメトリックの品質が損なわれる可能性があります。
- 特定のハードウェアに対してNNを自動調整する。
待ってください、何ですか?自動調整とは何ですか?それについてはこの記事のトピックです。この魅力的なテクニックについて学ぶために私と一緒にお付き合いください。この記事では、高レベルの視点からこのトピックを説明しようとします。記事の最後まで一緒にいていただければ、自分のNNを最適化するために使用できるソフトウェアフレームワークの例や、それらのチュートリアルへのリンクも見つけることができます。
自動…なぜ?
前回の投稿を読んでいただければ、コンピューターアーキテクチャの非常に単純化された説明を覚えているかもしれません。そこでは、2つの要素について話しました:計算ユニットとメモリユニットです。
NNのレイヤーを実行するためには、データはメモリヒエラルキーを介して計算ユニットに到達するまで転送される必要があります。その後、計算ユニットが実行します…
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles