VPU向けのハードウェア特化型モデルでAIを進化させる
IntelのMovidius VPUのためのニューラルアーキテクチャサーチの利点を探る。
― 1 分で読む
目次
ニューラルアーキテクチャサーチ(NAS)は、AIモデルを自動的に設計する方法だよ。特定のハードウェア、例えばインテルのモビディウスビジョンプロセッシングユニット(VPU)にうまく動くモデルを作るのに役立つ。この技術は、モデルの質と予測時の速度を向上させることを目指してる。
従来の方法は、特定のハードウェアに最適化されてない一般的なAIモデルを作ることが多いんだ。これが原因で、パフォーマンスが遅くなったり、精度が低下したりすることがある。NASを使うことで、VPUの上でより良く、より速く動くモデルを作れるんだ。
ハードウェア特化型モデルの必要性
ほとんどのAIモデルは、実行される特定のハードウェアを考慮せずに設計されてる。一般的なモデルは、モビディウスVPUの能力を最大限に活用してないかもしれない。これによって、データをより早く処理したり、パフォーマンスを犠牲にすることなくより高い精度を提供するモデルを設計するチャンスが生まれる。
でも、可能なネットワークデザインのスペースは広くて複雑だから、専門家でも手動でデザインするのは難しいんだ。
VPU向けのニューラルアーキテクチャサーチの利用
このアプローチでは、NASをモビディウスVPU向けに適応させるんだ。そのためには、モデルがハードウェア上で実行されるのにどれくらい時間がかかるかを測定することが重要なんだ。この遅延は、レイテンシと呼ばれていて、デザインプロセスに含まれる。レイテンシを測定するために2つの方法を導入するよ:
- デバイス上での事前収集されたハードウェアコスト:これはVPUでの過去の測定から集めたデータを使うこと。
- デバイス特化型ハードウェアコストモデル(VPUNN):これは、特定のハードウェアのパラメータに基づいてコストを推定するモデル。
NASを活用することで、VPU上でタスクパフォーマンスを改善できる。例えば、分類タスクでは、Mobilenet-v2-1.4に比べて1.3倍、Resnet50に対しては2.2倍速くなりつつ、同じ精度を保ってる。スーパーレゾリューションタスクでは、既存モデルに比べて画像質が1.08倍向上し、速度は6倍向上したよ。
ハードウェアを意識したニューラルアーキテクチャサーチ
VPUを直接最適化するために、プロセスにレイテンシをデザイン基準に組み込むんだ。これは、選ばれたデザインが速度と精度の両方に焦点を当ててることを意味してる。
ProxylessNASは、仲介ステップに依存せずにモデルを作るために使われる方法だよ。これにより、ターゲットハードウェアに適したモデルを確保しながら、より広範なデザイン選択肢を可能にする。この方法は他のプラットフォームで成功を収めていて、今はVPUにも拡張されてる。
レイテンシプロファイリング
モデルの各コンポーネントがハードウェア上で実行されるのにどれくらい時間がかかるかを測定することは重要だよ。この情報は、選ばれたモデルが理論上だけでなく、実際のハードウェア上でも効率よく動作することを保証するのに役立つ。
正確な測定
レイテンシを評価するための最も簡単な方法は、オペレーター1つだけでモデルを実行して、どれくらい時間がかかるかを測ること。でも、この方法は開始時間に影響を与える他の要素があるため、一貫性のない結果につながることがあるんだ。これを対策するために、同じ入力と出力を持つ複数のオペレーターをスタックするテクニックを使うよ。このアプローチは、変動を最小限に抑えて、より安定したレイテンシ測定を提供する。
VPUNNを使った推定
レイテンシを測る別の方法は、VPUNNというニューラルネットワークベースのモデルを使うこと。このモデルは、ネットワークのタスクに関する関連情報を取り込み、実行にかかる時間を予測する。従来の測定方法と比べて、良好なパフォーマンスを示しているよ。
ProxylessNASの実装
ProxylessNASとレイテンシプロファイリング方法を組み合わせることで、画像分類やスーパーレゾリューションのタスクに特化した効果的なネットワークを探すことができる。このプロセスで生成されたモデルは、VPUに適したフォーマットに変換できるから、より速く、より正確なパフォーマンスにつながる。
画像分類の結果
分類タスクでは、ProxylessNASをハードウェアプロファイリング方法と組み合わせて使ったよ。MBConvと呼ばれる効率的なビルディングブロックに基づいてネットワークを構築することに焦点を当ててる。
モビディウスVPUでテストしたとき、これらのネットワークは既存モデルに対して大幅な改善を達成した。結果として、既存モデルに対して1.3倍の速度向上を示しながら、同等の精度レベルを維持したよ。
スーパーレゾリューションの結果
スーパーレゾリューションタスクでは、ProxylessNASをVPUNNと一緒に使って、最適なモデルを特定した。これらのモデルは、特定の活性化関数やアップサンプリング技術のようなVPU上で遅くなる方法を避けた。結果として、最新のVPUで6倍の速度向上が見られたよ。
VPUフレンドリーなネットワーク設計のための洞察
結果を分析してみると、VPU上でうまく動作するモデルを作るためのいくつかの重要な洞察が浮かび上がる:
- 性能を遅くするような複雑な活性化関数や特定のアップサンプリング方法は避けるべき。
- 出力チャネルサイズは16の倍数を目指すこと。これがVPUでの計算を最適化するのに役立つよ。
- 可能な限り深さ分離可能な畳み込みを使うこと。これが少ない計算時間で同等のパフォーマンスを実現できる。
今後の作業
このアプローチで示された方法は効果的だけど、より複雑なネットワークデザインにはまだ課題がある。今後の作業では、異なるレイヤーの相互作用やタスクのスケジューリングに関する既存の方法の制限を解決することに焦点を当てるつもり。
ネットワークをコンパイルしてシミュレーションするためのより効率的なツールや方法を開発することで、VPUのようなハードウェア向けにAIモデルを最適化するさらなるブレークスルーが達成できるかもしれない。
結論
この調査は、スピードと精度の両方を提供できるハードウェアを意識したモデルを作る重要性を示しているよ。ProxylessNASのような方法を適用し、効果的なレイテンシプロファイリングツールを開発することで、AIモデルをインテルのモビディウスVPUの提供する能力を最大限に活用できるように微調整できる。ここでの進展は、コンピュータビジョンや人工知能のさまざまなアプリケーションの要求に応える効率的なAIソリューションを設計するための新たな道を開いている。
タイトル: Neural Architecture Search for Intel Movidius VPU
概要: Hardware-aware Neural Architecture Search (NAS) technologies have been proposed to automate and speed up model design to meet both quality and inference efficiency requirements on a given hardware. Prior arts have shown the capability of NAS on hardware specific network design. In this whitepaper, we further extend the use of NAS to Intel Movidius VPU (Vision Processor Units). To determine the hardware-cost to be incorporated into the NAS process, we introduced two methods: pre-collected hardware-cost on device and device-specific hardware-cost model VPUNN. With the help of NAS, for classification task on VPU, we can achieve 1.3x fps acceleration over Mobilenet-v2-1.4 and 2.2x acceleration over Resnet50 with the same accuracy score. For super resolution task on VPU, we can achieve 1.08x PSNR and 6x higher fps compared with EDSR3.
著者: Qian Xu, Victor Li, Crews Darren S
最終更新: 2023-05-04 00:00:00
言語: English
ソースURL: https://arxiv.org/abs/2305.03739
ソースPDF: https://arxiv.org/pdf/2305.03739
ライセンス: https://creativecommons.org/licenses/by/4.0/
変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。
オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。
参照リンク
- https://doi.org/10.48550/arxiv.2101.09336
- https://doi.org/10.48550/arxiv.1910.11609
- https://doi.org/10.48550/arxiv.2103.10584
- https://doi.org/10.48550/arxiv.2205.04586
- https://doi.org/10.48550/arxiv.1704.04861
- https://doi.org/10.48550/arxiv.1512.03385
- https://doi.org/10.48550/arxiv.1707.02921
- https://doi.org/10.48550/arxiv.1812.00332