AIというのがより我々の身近な技術となった昨今、エッジ環境でリアルタイムにAI処理を実行したいというニーズが増えている。通常、AIはGPU処理が一般的だが、エッジ環境では、グラフィックボードを搭載したPCが適さない場合や、インターネット接続ができずクラウド上でのAI処理ができないケースが多い。また、CPUだけでAI処理を実行すると、期待していたパフォーマンスがでないことがほとんどだろう。

こうした現状のなか、東京発AIスタートアップDAI Labs株式会社が取り組んだのが、インテル® OpenVINO™ ツールキット(以下、OpenVINO™ ツールキット)を活用した、AIをインテル製CPUで処理することによる、AIの高パフォーマンス化の実現だ。その期待と効果について、DAI Labs株式会社のCEO、アトウッド ブライアン氏に話を聞いた。

  • DAI Labs(ダイラボ)株式会社 CEO アトウッド ブライアン(Atwood Bryan)氏

    DAI Labs(ダイラボ)株式会社 CEO アトウッド ブライアン(Atwood Bryan)氏

ノートPCのCPUだけで映像をリアルタイムにAI処理できる方法を探していた

──DAI Labs株式会社についてご紹介いただけますか。

DAI Labs株式会社は、2023年に設立した東京を拠点とするスタートアップ企業です。私たちは、日本企業へ向けて、AI技術を用いて業務効率を向上させ、既存の技術では不可能だった新製品の立ち上げを支援するコンサルティング会社になります。CTOのスバス チャタクリ(Subas Chhatkuli)とともに共同創業しました。もともと私たちは別の会社でAIの開発に取り組んでいましたが、AI技術をリアルタイムで動画に適用するプロジェクトに関わるなかで、AIに対する新しいニーズを実感し、創業に至りました。

──日本の滞在歴も長く、国内外問わずさまざまな企業に務めていらっしゃったそうですね。社名のDAIは何か由来があるのでしょうか。

DAIは、日本語の“大”という漢字が大好きでそこからつけました。またDAIという文字には“AI”が含まれるため、DynamicなAIという意味も込めています。

──なるほど、素敵な由来ですね!
AIを使ってどのように企業を支援しているのでしょうか。

インテルのOpenVINO™ ツールキットを使って取り組んだ、エッジ環境でのリアルタイム映像分析プロジェクトがわかりやすいと思います。このプロジェクトは、建設工事現場向けソフトウェアやシステムを開発する(株)演算工房さんと一緒に取り組んだものです。(株)演算工房さんでは、トンネル工事などに利用される掘削機向けソフトウェアを開発しています。

掘削の作業では、掘り出される土の状況をリアルタイムに映像で監視する必要がありました。映像を監視して、掘削機に影響を与える、または工事中の事故につながる危険を含む、そのような土の問題があれば、作業員に警告を出します。ご存知のようにAI処理には、高速なGPUを使うのが一般的です。しかし、建設現場の掘削機のような環境では、GPUを搭載した高性能PCをそもそも持ち込みにくいという事情があります。そこで一般的なノートPCだけでリアルタイムに映像をAI処理する方法を探していたのです。この課題を解決するのがOpenVINO™ ツールキットでした。

  • インタビュー風景

──建設現場などのエッジ環境でのAIニーズは高まっているのですか。

高まっています。特に日本ではエッジ環境で簡単に素早くAIを実行したいというニーズが増えています。GPUを搭載した高性能PCを持ち込めない環境や、クラウドにインターネット接続できない環境、一般的なノートPCしか使えない環境などです。近年では、AI PCのようにNPUを搭載したノートPCも登場し、クラウドに接続せずにエッジだけでAIの処理・活用をできるようになってきていますが、一方で求められる高パフォーマンスをどのように出すかが課題でした。

「Pytorch+CPU」から「OpenVINO™ ツールキット+CPU」に変換することで7倍の性能向上を実現

──GPUを持ち込めない環境でリアルタイムのAI処理を行なうというのは、かなりチャレンジングだと思います。どのように開発を進めたのですか。

掘削機に備えられたカメラで土の状態を監視するために、カスタムAIを開発することになりました。AIを使って土の画像を分析し、掘削機が急停止したり、故障につながったりしないように「良好」「注意」「不良」「停止」といったアラートを出す仕組みです。

まずはGPUを使ってAI処理を行なうソフトウェアを開発しましたが、実際に現場で利用する際には、グラフィックボードを搭載していないノートPCでの実行が求められました。もちろん、単にGPUの処理をCPUで行なうだけでは、設計で期待した数値には届きません。具体的には、グラフィックボードなしのPCで、10fpsの動画(画像)をリアルタイムでAI処理する必要がありました。どうすればこの要求を満たすことができるのか、悩んでいたときに出会ったのがOpenVINO™ ツールキットでした。

──OpenVINO™ ツールキットは以前より利用されていたのですか。

いいえ、解決方法を模索している時に初めて知りました。出会いはまったくの偶然です。展示会の会場でインテルさんの担当者の方と知りあい、その場で課題を相談したところ、OpenVINO™ ツールキットというものがあるとご紹介いただいたのです。掘削機プロジェクトだけでなく、これまでにもスマートフォンやノートデバイスなどのローカルデバイスでAI処理を行なう取り組みを進めていましたが、パフォーマンスがでないことが課題でした。ですが、それらプロジェクトも含めてOpenVINO™ ツールキットを試してみると、驚くほどのパフォーマンス向上がみられたのです。掘削機プロジェクトにおいては、OpenVINO™ ツールキット使用前と比較してパフォーマンスが7倍に向上しました。

──7倍というのはすごい数字です。具体的にどのような環境で7倍になったのか教えてください。

AI処理は、3D CNN(畳み込みニューラルネットワークモデル)を用いており、機械学習ライブラリとしてPyTorchを使っています。まずこの環境で、CPUにインテル® Core™ i7-13700H プロセッサー(14コア)を、グラフィックボードと比較しました。Pytorch GPUの場合、50フレーム(10fps)の処理に10ミリ秒かかっていましたが、GPUなしのPytorch+CPUでは、140ミリ秒にまで落ちてしまっていました。そこでOpenVINO™ ツールキット+CPUをテストしたところ、GPUを使ったときと実用上問題のない20ミリ秒を実現することができたのです。

140ミリ秒から20ミリ秒へ短縮ができ、パフォーマンスが7倍向上しました。これによりリアルタイム処理が可能になったわけです。

  • インタビュー風景

OpenVINO™ ツールキットとの出会いが業務効率を大幅に向上させる

──パフォーマンス以外で効果を実感したことはありますか。

PytorchからOpenVINO™ ツールキットへの変換が非常に簡単だったことが印象的です。JITスクリプトのロード、OpenVINO™ ツールキットモデルへの変換、変換したモデルの保存、デバイスの上でのOpenVINO™ ツールキットモデルのロードと実行という数ステップで変換作業は終わります。もし変換ミスがあればどこに問題があったか調査する必要がありますが、私たちはそうした手間も不要でした。変換してそのまま問題なく使えることに驚いたほどです。

また最適化も自動で行ないます。通常はパフォーマンスを向上させるために最適化作業を手動で行ないますが、AIの開発においてはその作業が大きな負担になることが多いです。その点、OpenVINO™ ツールキットは自動で最適化してくれるので、変換作業や品質の維持管理が簡単で、結果として、全体のファイルサイズとシステム要件の低減にもつながります。

──リアルタイム性を確保できることもメリットでしょうか。

そうですね。特に動画はリアルタイムで認識することで、現場での作業効率を大幅に高めてくれます。逆に判定が遅くなるとその分、掘削機の停止や故障といった事故につながります。そこで、リアルタイム処理を行なうことで素早く現場対応ができるようになるのです。

また、必ずしもリアルタイム性が必要でないシーンにおいても、処理時間が問題になるケースというのも多いです。たとえば、PytorchをCPUだけで処理すると1分かかるものがあったとして、現場の作業員はAI判定で結果がでるまでに1分待たなければならず、作業効率が大きく落ちてしまいます。ですが、OpneVINO™ ツールキットを使うことで、いままで1分かかっていた処理を10秒に短縮できた事例もあります。

──もしOpenVINO™ ツールキットに出会わなかったらどうなっていたのでしょうか。

さまざまなライブラリを試すことになったでしょう。数多くの企業の技術を試しながら最適化していくことになるので、その分、開発にも時間がかかります。ですが、OpenVINO™ツールキットであればインテル製CPUの命令をスムーズに利用できますし、最適化も自動的に行なわれ、最適な選択肢でした。

──自動最適化することで影響はないのでしょうか。

精度が少し変わります。ただ、私たちが試したところではその差は0.1%以下でした。私たちが進行しているプロジェクトでは全く影響の無い数値でしたが、アプリケーションによっては精度の変化が品質に影響を与えることもあると思います。その点は利用する際に注意が必要でしょう。

インテルとともに新しい技術の発展に貢献し、日本企業を支援していく

──ところで掘削機のカメラ映像はこれまでどう判定していたのですか。

作業員が目視で判定していました。ベテランの作業員になると、土の状況をカメラ映像で見ただけで、このまま掘り進んでいいのかが判断できるそうです。ただ、専門知識やノウハウを持った作業員がずっと映像を監視するわけにはいきません。AIを活用することでそうした専門的な判定を機械的に実施できるようになります。AIが人間のようにカメラを見て、問題があったら報告してくれるのです。

またトンネル内のため、常時インターネットへの安定的な接続が保証できません。ローカルでリアルタイムにAI処理をするという点で、非常に興味深いプロジェクトでした。

  • インタビュー風景

──OpenVINO™ ツールキットを活用することで、そうしたエッジ環境でのAI処理の可能性が大きく広がったということですね。

そうですね、いまは新たに取り組むプロジェクトで積極的にOpenVINO™ ツールキットを活用しています。その1つに、建築図面分析プロジェクトがあります。AIを利用して建築図面に記された記号などを分析し、建築にあたってどのような建築部材が必要になるかを自動で列挙し整理してくれるというものです。

これにより建築コストを自動で計算できるようになるのですが、社員のノートPCを使ったAI処理が遅く、作業に時間がかかっていました。ですが、OpenVINO™ ツールキットを使うことで、1分もかからずに建築コストを算出できるようになりました。OpenVINO™ ツールキットへの変換作業も1時間かからずにすべて終えることができ、開発の効率向上という点でも大きな効果が得られました。

──ノートPCでのAI処理のニーズは高まっているので、OpenVINO™ ツールキットが活躍する場面はこれから増えていきそうです。

実際に、AI学習では同じプロセスを使うことも多いです。OpenVINO™ ツールキットの有用性が確認できたので、いまは、後処理の段階でPytorchのモデルとあわせて、OpenVINO™ ツールキットのモデルも出力するように開発プロセスを見直しました。アプリケーションによって適したモデルをすぐに利用できる体制です。

──OpenVINO™ ツールキットを利用したいという方に向けてアドバイスをいただけますか。

すでにPytorchのモデルがあるならすぐに使えます。珍しい構造の場合は問題もあるかもしれません。ですがその場合は、インテルが提供しているクラウドサービスを利用すればいいでしょう。Pytorchのモデルを投げるとOpenVINO™ ツールキットに自動で変換してくれます。

──DAI Labs株式会社の今後の展望をお聞かせください。

DAI Labs株式会社では、日本企業に向けてカスタムAIの構築やAIアプリケーションの開発をこれからも支援していきます。AIを使うことで、さまざまな効率を向上させ、近年の驚くような進化にも追いつくことができるでしょう。また、パートナーとしてお客様を支援するだけでなく、自社プロダクトの開発にも取り組んでいます。インテルさんとともに新しい技術の発展に貢献し、日本企業のさらなる成長とお客様のサポートを行なっていきたいです。

関連リンク

[PR]提供:インテル