Qt Group の 2025 年ハッカソンでは、開発チームが実験的な取り組みに挑戦しました。その成果のひとつが、Qt AI 推論 API(PoC)と呼ばれる概念実証版ツールです。QML や C++ アプリケーションへの AI 統合をシンプルにすることを目指しています。
本ブログでは、その構想の一端を、いち早くご紹介します。今回の先行公開は、将来の可能性を探り、開発者コミュニティや業界パートナーの皆さまからのフィードバックをいただくことを目的としています。
Cisco 社が2024年に実施した調査よると、企業の41%が今後2年間でAIへの投資を優先すると回答しています。これは、AIが単なる実験的な技術ではなく、生産性、効率性、イノベーションを推進する中核的な要素として、産業オートメーションの分野に本格的に組み込まれ始めていることを示しています。
しかし、産業分野へのAI導入には依然として多くの課題が存在します。ハードウェアの制約や、AIフレームワークの断片化により、企業は多様なプラットフォーム上でAIモデルを効率的に展開するのに苦労しています。加えて、ロボティクスや産業用途における先進的なイノベーションへの関心も高まっており、複数のAIモデルが連携して動作するパイプラインのニーズも増しています。
産業オートメーションにおけるAIは、単なる漸進的な改善にとどまりません。生産性と効率を根本から高めるための鍵となる技術です。
産業分野に変革をもたらすさまざまな技術の中で、「エッジAI」はゲームチェンジャーとして注目を集めています。限られた計算資源しか持たないデバイス上で、リアルタイムな意思決定を可能にするこの技術は、従来の常識を覆しつつあります。
しかし、クラウドベースのAIとは異なり、エッジAIの展開には特有の技術的課題が伴います。代表的な課題には以下が挙げられます:
限られた計算能力:組込みデバイスはクラウドサーバーのような処理能力を持たないため、AIモデルの最適化が不可欠です。
電力消費: バッテリー駆動のデバイスでAIモデルを稼働させると、電力消費が大きな問題になります。
リアルタイム処理:産業オートメーションでは、AIモデルが即時に反応する必要があり、遅延は許されません。
サイバーセキュリティのリスク:センシティブな産業データをクラウドに送信する際のセキュリティリスクも無視できません。
これらの制約を乗り越えることは、産業用アプリケーションにおけるエッジAIの可能性を最大限に引き出すために極めて重要です。
クラウドは常に安全とは限らず、ローカルAI処理は安全性に優れる一方で、ハードウェアに制約があります。
現在のAI開発環境は、まさに断片化が進む「西部開拓時代」のようです。TensorFlow、PyTorch、ONNX から、NVIDIA、Intel、Qualcomm などのベンダー固有のツールキットまで、開発者は数多くのAIフレームワークを渡り歩かなければなりません。それぞれが独自のAPI、デプロイモデル、SDK、ハードウェア要件を持ち、技術の進化も非常に速いため、常に最新情報を追いかける必要があります。このような状況下では、膨大な学習コストと時間が必要となるだけでなく、高度な知識を持つAIの専門家の存在が不可欠です。しかし、そうした人材の確保は容易ではありません。
多くのアプリケーション開発者にとって、関心があるのは基盤となるAIフレームワークやモデルそのものではありません。音声認識、音声合成、最新の言語モデルの活用、画像・動画内の物体認識といった、実際のユースケースに対応した堅牢なソリューションを、統合された形でスムーズに利用できることが求められています。
さらに状況を複雑にしているのが、AI技術の進化スピードの速さです。企業は、旧来の技術にとどまるか、それとも急速に進化するAIの波に乗るためにリソースを投入するかという難しい判断を迫られています。
膨大なアダプターコードを書かなくても、AI を統合できる世界を想像してみてください。Qt で構築された統合型 AI ソリューションは、複数の AI モデルをクロスプラットフォーム対応のパイプラインにシームレスに統合し、Qt Multimedia や Qt AI 推論 API を活用することで、メディア処理やプロセス間通信をシンプルにします。さらに、QML の宣言型インターフェースを通じて、直感的なアプリケーションロジックと UI の挙動を実現します。
Qt AI 推論 API (PoC) を使えば、開発者は以下のような利点を活用できます:
主要な機能を統合:ASR(Whisper)、LLM(Ollama)、TTS(Piper)などを1つの統合フレームワークで利用可能
複数のAIフレームワークを1つのAPIで対応:ベンダー固有のコードは不要
QML & C++ にシームレス統合:数行のコードでAIモデルを統合可能
AIモデルの切り替えも簡単:Qt QMLアプリ内のパラメータを変更するだけで、たとえばDeepSeekへの切り替えも可能
ローカル・クラウド両対応のデプロイ:最小限の工数で柔軟に展開
柔軟なAIパイプライン構築:音声認識+音声合成など、複数モデルの組み合わせも容易
バックエンドプラグインシステム:商用/OSSどちらのAIソリューションにも対応
Qt AI 推論 API (PoC) なら、REST API、Pythonバインディング、C++ライブラリなど、AIモデルごとの実装差異を意識することなく、統一されたインターフェースで扱うことができます。
画像1: 一般的なAIパイプラインの構築方法
多くの場合、1つのユースケースを実現するためには複数のAIモデルが必要になります。そして、それらを連携させてAIパイプラインを構築する必要があります。たとえば、音声ベースのAIチャットアプリケーションでは、「音声 → テキスト → テキスト → 音声」というようなパイプラインが求められます。
こうしたAIパイプラインの実装方法には、一般的に2つのアプローチがあります。1つは、アプリケーションからそれぞれのAIモデルに直接アクセスし、アプリケーション内にAIパイプラインを構築する方法(画像の左側)です。もう1つは、ユースケースごとにカスタムで作成された外部のAIパイプラインを用意し、アプリケーションがそれを利用する方法(画像の右側)です。
画像の左側に示されているように、前者の方法ではアプリケーションが各AIモデルに対して直接APIを介してアクセスします。通常はREST APIが使用されますが、場合によってはgRPCやWebSocketなどのプロトコルが使われることもあります。これらのAPIは、ローカルまたはクラウド上で動作するPythonサーバーによって提供されます。Pythonサーバーは、特定のAIフレームワークのPython APIを介して、AIモデルのロードおよび「推論(Inference)」と呼ばれる実行処理を行います。アプリケーション側では、異なるAPIを持つ複数のAIモデルを連携させ、ひとつのAIパイプラインとして構築する必要があります。その結果、ユースケースやAIフレームワークに強く依存した、数千行にも及ぶ膨大なコードが発生することになり、本来なら避けられるはずの開発負荷となってしまいます。
画像の右側に示されているように、後者の方法ではアプリケーション内部のコードを外部のユースケース固有のAIパイプラインに切り出します。つまり、ユースケースごとに個別のAIパイプラインを実装する必要があります。この場合、アプリケーションはそのAIパイプラインが提供するユースケース特化型のプライベートAPIにアクセスすることになります。ユースケースに変更があれば、アプリケーション側とAIパイプライン側の両方に修正が必要になります。このアプローチでも、ユースケースやAIフレームワークに依存した数千行に及ぶコードが発生し、避けられるはずの開発コストが生じてしまいます。
いずれの方法でも、映像・音声・スピーチといったメディアデータを扱うには、録音や再生のためにプラットフォーム依存のマルチメディアフレームワークを使用する必要があります。そのため、アプリケーションやPythonサーバーの実装は、ターゲットとするプラットフォームごとに個別対応が求められます。
※ウィンドウを閉じるには、画面上部に戻り、右上の「×」をクリックしてください。
AIアプリ開発を
数日から数分へ
画像2: Qt による、よりスマートなAIパイプラインの実現方法
Qtなら、もっとシンプルかつ強力に。
メディアの録音や再生に関しては、Qt Framework はすでにクロスプラットフォーム対応の Qt Multimedia モジュールとそのAPIを提供しています。また、Qt Framework は Python にも対応しているため、このAPIはアプリケーション側でも Python サーバー側でも共通して使用でき、プラットフォームに依存しない実装が可能です。
さらに、AI 推論のためのクロスプラットフォームかつフレームワーク非依存な API として、新たに「Qt AI 推論 API(PoC)」が導入されました。このAPIは新しい 「Qt Data Processing」モジュールで提供されており、各AIフレームワークごとに専用のバックエンドアダプタープラグインが用意されており、Python サーバーと接続して推論(Inference)を実行します。
また、Qt Framework には独自のプロセス間通信機能 Qt Remote Objects(QtRO) モジュールがあり、これにより、メッセージのエンコード/デコードや送受信の処理を新たに記述することなく、バックエンドと Python サーバー間の通信を直接行うことができます。
このような仕組みにより、数千行にも及ぶコードの削減が可能になり、アプリケーションの複雑さも大幅に低減されます。そして何より、クライアント側も Python サーバー側も、プラットフォームやAIフレームワークを問わず、同じコードベースで動作させることができます。
さらに注目すべきは、QML内でAIパイプラインを定義するだけで、背後で自動的にパイプラインが構築される点です。これにより、AIモデルやAIパイプラインとUI要素をシームレスに連携させることができ、AIによってアプリケーションのロジックやUIの挙動を制御する、といった高度な統合が可能になります。これまでにない形で、より包括的にAIを活用できる環境が整っています。
新しい Qt Data Processing モジュールは、Qt AI 推論 APIと複数のAIバックエンドプラグインを提供します。これにより、各種推論サービスやAIフレームワークとの間で適応処理(アダプテーション)が可能になります。推論サービスは、対応するAIフレームワークを抽象化し、より高レベルなAPIとして提供されます。
各組込みボードベンダーは、通常1~2種類のAIフレームワークを推論用として提供しています。たとえば、ひとつは搭載ハードウェアのアクセラレーション機能を活かしたジェネレーティブAI向けの独自フレームワークであり、もうひとつはシンプルなAIモデル用です。
これらのAIフレームワークは、推論処理の実行において、CPU、GPU、あるいはAIプロセッサなどを用いた並列処理技術を活用します。
また、画像・映像・音声・スピーチといったメディアデータの処理・生成には、マルチメディアフレームワークが必要となります。これには、データのエンコード/デコード、推論処理に適した形式への変換、さらにはマイクやカメラといった入力ソースへのアクセスや、音声・映像の再生などが含まれます。
Qt Framework には、これらの機能をクロスプラットフォームで提供する Qt Multimedia モジュールが用意されており、プラットフォーム依存のマルチメディアフレームワークを意識せずに活用することができます。
このプロトタイプは、Windows や Linux はもちろん、NVIDIA Jetson のような組込みプラットフォームでも構築されました。
その結果は明確でした。多様なAIフレームワークの複雑さを抽象化することで、開発者は大幅に時間を節約でき、AIモデルのデプロイも数分で完了しました。Qt は、AIフレームワーク間の橋渡し役となります。
この柔軟性は、AIの専門家だけでなく、自社でAIモデルを構築している企業にも恩恵をもたらします。もはやベンダー固有のAIフレームワークを習得する必要はありません。Qt AI 推論 API(PoC)が、その複雑さを代わりに処理します。
Qt は間接的に、自社開発のAIモデルを使っている企業にも価値を提供しています。もはや、ハードウェア性能を最大化するために、すべてのベンダーのAIシステムを学ぶ必要はないのです。
Qt Group は現在、エッジ向けAIアプリケーションの開発を大幅に加速することを目指し、Qt AI 推論 API (PoC) およびそのサンプルアプリのリポジトリを公開しています。
ぜひこのAPIをお試しいただき、そのシンプルさと、将来にわたって活用できる柔軟性をご体感ください。皆さまからのフィードバックをお待ちしています。
AI に取り組む開発者の方、または業界のリーダーの皆さまへ。もし本アプローチに可能性を感じていただけたなら、ぜひお気軽にご連絡ください。Qt AI 推論 API( PoC) を通じて、産業オートメーションにおける新たな可能性を一緒に探っていきましょう。
Qt が産業オートメーション分野でどのように活用されているかについても、ぜひあわせてご覧ください。
これらのリソースに関するフィードバックも、ぜひお寄せいただけると嬉しいです!