インテル® NPU (インテル® AI ブースト) に対応した最初の AI PC アプリを開発してビルドする方法

この記事は、Medium に公開されている「How to develop and build your first AI PC app on Intel NPU (Intel AI Boost)」の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。
https://medium.com/openvino-toolkit/how-to-run-and-develop-your-ai-app-on-intel-npu-intel-ai-boost-76f3efade169

この記事の PDF 版は下記からご利用になれます。
https://www.isus.jp/wp-content/uploads/pdf/openvino_16_how-to-run-and-develop-your-ai-app.pdf

![openvino_16_figure1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/71c43c24-47d8-6eb2-b418-926295ee7060.png)
OpenVINO™ nightly ビルドに NPU プラグインがデフォルトで含まれました。

AI PC 開発環境に対応した公式リリースも利用できるようになりました。オフラインで、zip ファイルを使用してアーカイブから OpenVINO™ 2023.2 または 2023.3 LTS をインストールしてください。このパッケージを使用すると、NPU、CPU、GPU、およびインテル® Core™ Ultra プロセッサーの GNA 向けの開発が可能になります。

アーキテクチャーの特定の制限により、「すべての」モデルが NPU とシームレスに統合されるわけではないことに注意することが重要です。良いニュースもあります。VPU と Movidius™ を調べると、以前に変換したモデルが適切に機能する可能性が高いことが分かりました。ノートブックの姿勢推定と画像分類のデモをテストしたところ、適切に機能しました。ノートブックには、そのまま機能するモデルがほかにも含まれています。さらに重要なのは、NPU がサポートされていない場合、つまり CPU と GPU 上でアプリを開発した場合でも、優れたパフォーマンスが得られることです。

インテルのチームは NPU のサポートを常に更新および改善しています。問題を発見した場合は、GitHub* (英語) で報告してリクエストを追加してください。
https://github.com/openvinotoolkit/openvino/issues

適切に機能させるための手順を次に示します。

① OpenVINO™ 2023.2 アーカイブ (英語) または OpenVINO™ 2023.3 アーカイブ (英語) をダウンロードし、指示に従ってすべてをインストールします。Windows のコマンドプロンプトを使用してください。PowerShell を使用するとインストールに失敗します。
https://github.com/openvinotoolkit/openvino/releases/tag/2023.2.0
https://storage.openvinotoolkit.org/repositories/openvino/packages/2023.3

![openvino_16_figure2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/1ab7865c-1dc1-1aad-53b3-81fe83e52b6f.png)
(PowerShell ではなく) コマンドプロンプトを使用して環境を初期化します。

また、新しいコマンドプロンプトを開始するたびに、setupvars.bat を実行してください。

② GitHub* から OpenVINO™ ノートブック (英語) をダウンロードします。重複してダウンロードしないように、requirements.txt とノートブックの先頭のすべての pip install から openvino-dev と openvino を手動で削除します。
https://github.com/openvinotoolkit/openvino_notebooks

![openvino_16_figure3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/ea052779-02cb-f075-d359-380aa4ec69d2.png)
ノートブックには、試すことができる 100 以上のデモが用意されています。NPU 上で動作するのは一部のみです。その他のデモは CPU と GPU 上で試すことができます。

![openvino_16_figure4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/0411f8e5-35e0-e486-ab70-036466adb539.png)
OpenVINO™ ノートブックを通常どおり実行します。ただし、pip install からではなくアーカイブから OpenVINO™ 2023.2 を使用します。

ノートブックの先頭のインストールを削除 (コメントアウト) してください。

![openvino_16_figure5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/9030458e-740b-4511-0ee0-8199af1b0dfa.png)
ノートブックの先頭のインストールを削除 (コメントアウト) してください。

③ デバイス名を「NPU」に変更して実行します。画像分類と人間の姿勢推定のノートブックをテスト済みです。

![openvino_16_figure6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/65de3b90-c11b-8e1a-6bfc-88181973317f.png)
推論デバイスとして NPU を選択します。

![openvino_16_figure7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/0ddb5c01-623c-4ebf-bf6a-a926dc7d2a46.png)
画像分類の結果です。

![openvino_16_figure8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/a2504379-918e-81d8-40be-b0bfa6a31f58.png)
人間の姿勢推定を NPU 上で実行します。

![openvino_16_figure9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/73a08f4b-5c66-8a3b-5e54-ad2bf23dc4ca.png)
低電力の推論に NPU を利用します。

これでおしまいです。Stable Diffusion、LLM チャットボット、物体検出を含む多くのサンプルを試すことができます。すべてのサンプルが NPU に対応しているわけではありませんが、ほとんどのタスクは、AI PC に搭載されている iGPU や CPU で実行できます。

![openvino_16_figure10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/b932f4e3-6495-8ec0-2b56-3ee0a9e0f867.png)
インテル® Core™ Ultra プロセッサーでは多くのハードウェア・アクセラレーターを使用できます。

ニューラル・プロセシング・ユニット (NPU) の詳細を知りたい場合は、インテル® Movidius™ ビジョン・プロセシング・ユニット (VPU) の情報が参考になります。

#iamintel

【OpenVINO™ ツールキットとは】
AI を加速する無償のツールである OpenVINO™ ツールキットは、インテルが無償で提供しているインテル製の CPU や GPU、VPU、FPGA などのパフォーマンスを最大限に活用して、コンピューター・ビジョン、画像関係をはじめ、自然言語処理や音声処理など、幅広いディープラーニング・モデルで推論を最適化し高速化する推論エンジン / ツールスイートです。

OpenVINO™ ツールキット・ページでは、ツールの概要、利用方法、導入事例、トレーニング、ツール・ダウンロードまでさまざまな情報を提供しています。ぜひ特設サイトにアクセスしてみてください。

https://www.intel.co.jp/content/www/jp/ja/internet-of-things/openvino-toolkit.html

◆法務上の注意書き

インテルのテクノロジーを使用するには、対応したハードウェア、ソフトウェア、またはサービスの有効化が必要となる場合があります。

絶対的なセキュリティーを提供できる製品またはコンポーネントはありません。

実際の費用と結果は異なる場合があります。

© Intel Corporation. Intel、インテル、Intel ロゴ、その他のインテルの名称やロゴは、Intel Corporation またはその子会社の商標です。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です