WindowsアプリケーションにおけるハードウェアアクセラレーテッドAIをONNX RTを使用して実現する
ONNX RTを使用して、WindowsアプリケーションにおけるハードウェアアクセラレーテッドAIの実現
スポンサードコンテンツ
Qualcomm Developer Networkのアプリケーションエンジニア、Rajan Mistry Sr.による提供
今日、AIやStable Diffusionのような生成AIモデルの成熟度の高さについてのメディアの見出しを読まずにいられません。Windowsでの生成AIの使用例として、Microsoft 365 Copilotがあります。このAIアシスタントは、スプレッドシートの分析、コンテンツの生成、会議の組織化などのタスクを実行することができます。
- 『React開発の向上:ChatGPTの力を解き放つReact開発者』
- 「Synthesiaレビュー:2023年11月の#1 AIビデオジェネレーター?」
- 「AI彼女の世界を探検する:関係の未来への一瞥」
そして、そのような知能は魔法のように感じられるかもしれませんが、それが実現するためには魔法ではありません。それらは急速に進化してきた強力なMLモデルの基盤の上に構築されています。これらのモデルのキーエンブレムは、ML開発者が実験し協力するための強力なモデルフレームワークです。
これらの新興MLフレームワークの1つはONNX Runtime(ONNX RT)です。このオープンソースのフレームワークの基盤であるONNX形式により、ML開発者はモデルを交換することができ、ONNX RTはさまざまな言語(Python、C++、C#など)およびハードウェアプラットフォームから実行することができます。
私たちのQualcomm AIスタックは、現在ONNX RTをサポートし、Windows on SnapdragonアプリでハードウェアアクセラレーションされたAIを可能にします。聞いたことがない場合、Windows on Snapdragonはモバイルコンピューティングの進化の数年間にわたって構築された次世代のWindowsプラットフォームです。その主な特徴には、異種コンピューティング、一日中バッテリー駆動、Qualcomm Hexagon NPUなどがあります。
それでは、Windows on SnapdragonアプリでQualcomm AIスタックとONNX RTを使用してベアメタルのハードウェアアクセラレーションAIをどのように使用できるか、詳しく見てみましょう。
Qualcomm AIスタックでのONNX Runtimeサポート
以下の図1に示すように、Qualcomm AIスタックはNPUを活用するためのツールとランタイムを提供します。
図1 – Qualcomm AIスタックは、すべてのSnapdragonプラットフォームでエッジAIにおいてハードウェアとソフトウェアのコンポーネントを提供します。
スタックの最上位には、モデルの生成のための人気のあるAIフレームワークがあります。これらのモデルは、ONNX RTを含むさまざまなAIランタイムで実行できます。ONNX RTには、Hexagon NPUを含むSnapdragonのさまざまなコアに対して、Qualcomm AI Engine Direct SDKによるベアメタルの推論を実行するExecution Providerが含まれています。図2は、Qualcomm AIスタックのコンポーネントの詳細なビューを示しています。
図2 – Qualcomm AIスタックの概要とランタイムフレームワークのサポートおよびバックエンドライブラリ。
アプリケーションレベルでの統合
アプリケーションレベルでは、開発者はQualcomm AI Engine Direct SDKのサポートを備えたONNXランタイム用にアプリケーションをコンパイルすることができます。ONNX RTのExecution Providerは、サポートされたバックエンドライブラリで実行するために、ONNXモデルからグラフを構築します。
開発者は、すべてのExecution Providersで一貫したインタフェースを提供するONNXランタイムAPIを使用することができます。また、Python、C/C++/C#、Java、Node.jsなど、さまざまなプログラミング言語をサポートするように設計されています。
コンテキストバイナリを生成する方法は2つあります。1つはQualcomm AI Engine Directツールチェーンを使用する方法です。もう1つは、Qualcomm AI Engine Direct APIを使用するONNX RT EPを使用してバイナリを生成する方法です。コンテキストバイナリファイルは、アプリが初めて実行されたときに作成され、ネットワークのコンパイル時間を短縮するためのアプリケーションの実行時に使用されます。再実行時には、モデルはキャッシュされたコンテキストバイナリファイルからロードされます。
始めるには
始める準備ができたら、Qualcomm AI Engine Direct SDKページを訪れ、SDKをダウンロードしてドキュメンテーションにアクセスできます。
SnapdragonおよびQualcommブランド製品は、Qualcomm Technologies, Inc.および/またはその子会社の製品です。
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