AI PC で夢を描く

この記事は、Medium に公開されている「Paint Your Dream with AI PC」の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。
https://medium.com/openvino-toolkit/paint-your-dream-with-ai-pc-e0c35cbeca9f

この記事の PDF 版は下記からご利用になれます。
https://www.isus.jp/wp-content/uploads/pdf/openvino_28_paint-your-dream-with-ai-pc.pdf

![openvino_28_figure1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/2dbb5450-bfcc-d71f-2c0c-230b4a6cef69.png)
OpenVINO™ で最適化された潜在一貫性モデルにより生成されたローマの画像。

前回のブログ (英語) では、ローマ旅行のプランを立てるバーチャル・アシスタントを作成する方法を説明しました。この記事では、AI PC (英語) で夢を描き、その夢を視覚化するために生成 AI がどのように役立つかを考えます。AI PC 開発の詳細については、このシリーズの最初のブログ (英語) も参照してください。この処理は、テキストから画像、画像から画像、テキストからビデオ、画像の補完など、さまざまな視覚的生成 AI モデルとユースケースをサポートするインテルの OpenVINO™ ツールキット (英語) を使用して行うと非常に便利です。ほとんどの視覚的生成 AI アプリケーションは、画像生成以外に、プロンプトとして提供されるテキストも理解する必要があるため、複数のモデルを使用して実装されています。
https://medium.com/openvino-toolkit/building-a-gen-ai-assistant-chatbot-on-ai-pc-72e8065396e3
https://medium.com/openvino-toolkit/ai-is-coming-to-the-pc-ai-pc-essentials-ba2aa8686a59
https://openvino.ai/

OpenVINO™ でできることを調べるのに最適な場所は、OpenVINO™ ノートブック GitHub* ページ (英語) です。このページで、興味のあるカテゴリーを選択して、ユースケースに適したモデルを見つけることができます。
https://openvinotoolkit.github.io/openvino_notebooks/

![openvino_28_figure2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/38957c3e-ba6d-3052-3afd-cf59f62cbe70.gif)
図 1: OpenVINO™ ノートブック GitHub* ページ (英語)。ユースケースに適したモデルをナビゲートして見つけることができます。
https://openvinotoolkit.github.io/openvino_notebooks/

このシリーズの最初のブログ (英語) で説明したように、インテル® Core™ Ultra プロセッサーには、ニューラル・プロセシング・ユニット (NPU) (英語、詳細は、ドキュメント (英語) を参照)、CPU、GPU の 3 つの計算エンジンが搭載されています。この視覚的生成 AI では、高いスループットを提供する内蔵のインテル® Arc™ GPU が最適な選択肢です。
https://www.intel.co.jp/content/www/jp/ja/products/details/processors/core-ultra.html
https://www.youtube.com/watch?v=QSzNoX0qplE
https://docs.openvino.ai/2024/openvino-workflow/running-inference/inference-devices-and-modes/npu-device.html?wapkw=NPU
https://www.intel.co.jp/content/www/jp/ja/products/docs/discrete-gpus/arc/mobile/a-series/overview.html

では、AI PC でローカルに実行する方法を説明します。テキストから画像を生成する最も一般的なモデルの 1 つは、潜在一貫性モデル (LCM) です。

【潜在一貫性モデル (LCM) を使用した画像の生成】
LCM は、潜在拡散モデル (LDM) に続く次世代の生成モデルで、高解像度画像の合成で優れた結果を実現します。LCM は、潜在拡散モデルの遅い反復サンプリング・プロセスを改善するのに役立ち、事前トレーニング済みの LDM (Stable Diffusion など) で最小限の手順での高速な推論が可能になります。

LCM を使用して生成した画像を図 2 に示します。LCM は、わずか 4 回または 2 回の反復で高品質の画像を生成できます。LCM 手法の例と詳細な説明は、こちら (英語) を参照してください。
https://latent-consistency-models.github.io/

![openvino_28_figure3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/950791e1-27e2-d4cd-4f43-ad3b7d1e5361.png)
図 2: OpenVINO™ で最適化された LCM モデル (英語) により生成された「a pink unicorn」(ピンクのユニコーン) テキストプロンプトの画像
https://github.com/openvinotoolkit/openvino_notebooks/tree/latest/notebooks/latent-consistency-models-image-generation

最初のブログ (英語) で説明したように、AI PC に OpenVINO™ をインストールした後、「Optimum Intel OpenVINO™ を使用した潜在一貫性モデル (英語)」 ノートブックの手順に従います。このノートブックでは、Optimum Intel (英語) のバックエンドとして OpenVINO™ を使用して LCM モデルの推論を実行する方法を紹介しています。
https://github.com/openvinotoolkit/openvino_notebooks/blob/latest/notebooks/latent-consistency-models-image-generation/latent-consistency-models-optimum-demo.ipynb
https://huggingface.co/docs/optimum/intel/inference

最初のセルで、ノートブックと LCM モデル推論に必要なすべての依存ファイルをインストールします。
![openvino_28_figure4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/8106a5a9-29b0-a081-6d42-424107207308.png)

このノートブックは自己完結型のため、必要なすべての依存ファイルが含まれていることを確認してください。
以下のセルを AI PC で実行すると、AI 推論に利用可能なすべてのデバイスがリストされます。
![openvino_28_figure5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/df156255-6866-5d65-3cb7-03df56ce13ee.png)
利用可能なデバイス:

CPU: Intel® Core™ Ultra 7 155H
GPU: Intel® Arc™ Graphics (iGPU)
NPU: Intel® AI Boost
低レイテンシーの CPU、AI オフロードに適した NPU に加えて、このシナリオに適した GPU も含まれています。このノートブックを使用して、Hugging Face のディフューザーを使用して CPU 上で LCM を実行する方法を学ぶことができます。

単純なサンプルコードを使用して、iGPU 上での Optimum Intel (英語) と OpenVINO™ を利用した AI 推論を見てみましょう。
https://github.com/huggingface/optimum-intel
![openvino_28_figure6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/b4ebf03c-86c9-cacf-45ee-3d12f0561ace.png)
これは、Hugging Face Hub からモデルをダウンロードし、エクスポートして、OpenVINO™ IR 形式で保存する非常に単純なサンプルコードです。

モデルのダウンロードとエクスポートは 1 回で十分なことが分かります。次回から、モデルはローカルディスクからロードされます。

また、任意の画像解像度を自由に使用できます。この例では、512×512 の解像度を使用しています。OpenVINO™ パイプラインを作成し、推論に GPU を選択して、GPU 向けにモデルをコンパイルします。
![openvino_28_figure7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/19ece51e-eba8-5f83-e129-a6bc00169d0b.png)

最初の実行ではモデルのコンパイルに時間がかかりますが、2 回目以降の実行では、コンパイルしたモデルがローカルにキャッシュされるため、非常に高速になります。Optimum Intel パッケージではモデルのキャッシュはデフォルトで有効で、追加の構成は必要ありません。モデルのキャッシュとその仕組みの詳細は、こちら (英語) を参照してください。
https://docs.openvino.ai/2024/openvino-workflow/running-inference/optimize-inference/optimizing-latency/model-caching-overview.html

バーチャル絵はがきの作成
前回のブログ (英語) では、ローカルで大規模言語モデル (LLM) を使用して OpenVINO™ でバーチャル・アシスタントを実装しました。旅行のプランに含まれているローマの友人や親戚にバーチャル絵はがきを送れば、体験を充実させることができそうです。プロンプトを使用して、ローマの有名な観光名所の画像を生成してみましょう。以下に例を示します。

プロンプト = “ A photo of Coliseum in Rome on a sunny day, highly detailed, masterpiece “ (晴れた日のローマのコロシアムの写真, 非常に詳細, マスターピース)
![openvino_28_figure8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/6a7dca73-6cfb-198c-0f29-9048714bfb10.png)
上記のサンプルコードを使用して、AI PC の統合 GPU で AI 推論を実行してみましょう。生成された画像を、図 3 に示します。
![openvino_28_figure9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/da34d8ad-7965-3cc2-d86a-13e430fa5426.png)
図 3: (左) Jorgen Hendriksen 氏の写真 (英語)
(右) OpenVINO™ で最適化された LCM モデルにより生成されたローマのバーチャル絵はがきの画像
https://unsplash.com/photos/brown-concrete-building-under-white-sky-during-daytime-RNkEeWhRT7k

もちろん、観光地で絵はがきを購入することもできますが、この試みは、自分で作成した非常に特別な絵はがきで友人や親戚を驚かせることです。さまざまなプロンプトを試して、多くの画像を生成し、最も適切なものを選択してください。視覚的生成 AI タスクを実行する AI PC の優れたパフォーマンスのおかげで、簡単に実験して、多くの画像を生成することができます。図 4 の例を参照してください。

![openvino_28_figure10.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/3586fde6-fb4a-f38e-fc1a-c33d59a1e59d.gif)

【次のステップ】
このノートブック (英語) を使用して、AI PC や任意のインテルのハードウェアで自分で試してみてください。更新情報を入手したい場合は、このページ (英語) で AI PC デベロッパー・プログラムに参加して、新しいリソースに関する最新情報を入手してください。
https://github.com/openvinotoolkit/openvino_notebooks/blob/latest/notebooks/latent-consistency-models-image-generation/latent-consistency-models-optimum-demo.ipynb
https://www.intel.com/content/www/us/en/developer/topic-technology/ai-pc/overview.html#gs.85rzmn

＜著者紹介＞
Dmitriy Pastushenkov
Dmitriy Pastushenkov (英語) は、Intel Germany の AI PC エバンジェリストで、産業オートメーション、産業用 IoT (IIoT)、リアルタイム・オペレーティング・システムおよび AI の分野において 20 年以上の包括的かつ国際的な経験があります。Dmitriy は、ソフトウェア開発とイネーブルメント、ソフトウェア・アーキテクチャー、技術管理のさまざまな役割を担ってきました。AI PC エバンジェリストとして、Dmitriy は OpenVINO™ および新しいインテル® AI PC 向けの AI ソフトウェア・スタックのほかのコンポーネントに重点的に取り組んでいます。Dmitriy は、モスクワ電力工学研究所 (工科大学) でコンピューター・サイエンスの修士号を取得しています。
https://www.linkedin.com/in/dmitriy-pastushenkov/

【貢献者紹介】
Ria Cheruvu
Ria Cheruvu (英語) は、インテル コーポレーションの AI ソフトウェア・アーキテクト兼エバンジェリストです。ハーバード大学でデータサイエンスの修士号を取得しており、データ・サイエンス・カリキュラムのインストラクターです。Ria は AI と信頼できる AI に関する複数の特許と出版物を保有しており、講演者としても活躍しています。Women in Data Science、QS EduData Summit、TEDx、DEF CON loT Village などのコミュニティーで基調講演や技術講演を行い、この分野の課題とソリューションについて情報を提供しています。技術のパイオニアとして、オープンソース・コミュニティーと STEM 分野における女性の重要性を示すことに情熱を注いでおり、劇的な変化をもたらすテクノロジー分野について学び、貢献することを楽しんでいます。
https://www.linkedin.com/in/ria-cheruvu-54348a173/

Max Domeika
Max Domeika (英語) は、インテルの主席エンジニアで、AI ソフトウェア・アプリケーションの開発に取り組んでいます。Max は革新的な研究の成果として複数の特許を取得しており、「Software Development for Embedded Multi-core Systems」 (エルゼビア) および「Break Away with Intel Atom Processors」 (Intel Press) の 2 冊の書籍の著者でもあります。Max は、ピュージェット・サウンド大学でコンピューター・サイエンスの学士号、クレムソン大学でコンピューター・サイエンスの修士号、オレゴン大学院大学で科学技術管理の修士号を取得しています。Max はインテルに 28 年間勤務しています。
https://www.linkedin.com/in/max-domeika-bb84192

Paula Ramos
Paula Ramos (英語) はコンピューター・ビジョンの博士号を取得しており、技術分野で 19 年以上の経験があります。2000年代初めから、コロンビアで、主に農業に適用するコンピューター・ビジョン、ロボット工学、マシンラーニングなどの分野で新しい統合エンジニアリング・テクノロジーを開発してきました。博士課程および大学院での研究中に、コンピューター・ビジョン・システムの専門知識がない農家などでも運用できる、複数の低コストのスマートエッジ IoT コンピューティング・テクノロジーをデプロイしました。Paula の研究の中心的課題は、農業業界などの現実世界のニーズを解決するため、我々の周囲の視覚的な世界を理解して再作成できるインテリジェントなシステム/マシンを開発することでした。現在は、インテル コーポレーションの AI エバンジェリストです。ゲスト出演したビデオ (英語) も参照してください。
https://www.linkedin.com/in/paula-ramos-41097319/
https://www.youtube.com/watch?v=QC7F0RYm0kQ&list=PL_0e4IxqgnG7jlL1vamiPOEEyiiRrBMCe

＜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 またはその子会社の商標です。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です