最終更新日:
【講座のご案内】リアルタイムに物体検出?実際の現場で高速処理を実現するためのエッジAI講座!
こんにちは、スキルアップAIの松井です。
これまで「エッジデバイス」という言葉や、「エッジコンピューティング」、「エッジ処理」などという言葉を聞いたことがある方は多いのではないでしょうか。ただ、具体的に、AI開発における「エッジ」とは何か、何をするのか、何が必要なのかをイメージできる方は少ないかもしれません。
近年のAIは、コンピュータの高性能化によって加速度的に発展してきた研究分野です。つまり、AIの主な開発環境は高性能なPCであることがほとんどでした。たくさんの研究者が、モデルの推論精度を高めるために、高性能なPCを使って、より複雑なAIモデルを構築して、今ではインターネットの様々な場所でAIが利用されています。
しかしながら、このような理想的な環境(高性能なPC)でしか利用できないAIだけで、本当に我々の生活は豊かになるのでしょうか?もちろん、インターネットのどこかに設置された高性能なPC上で動くAIにデータを送信し、帰ってきた結果を有効に利用する、API(Application Programming Interface)を経由した利用であれば、手軽にAIを利用できます。
ただ、アップロードするデータが、あなたの生活データやプライベートな通話履歴ならどうでしょう?あなたは、自身のデータを見られることに恥ずかしさを感じるかもしれません。
もしくは、ネット回線が利用できない環境ならどうでしょう?例えば、自動運転車がトンネルの中に入った瞬間にAIの思考が停止してしまうなら、あなたは自動運転車に乗りたいと思いますか?
さらに身近な例では、多数の画像をインターネットへアップロードすると、あなたの契約しているネット回線の利用料が跳ね上がるかもしれません。
このような場合に効果を発揮するのが、ネットワークに依存せずに、独立して動作するエッジデバイスと、その上で動作するエッジAIです。
今回スキルアップAIでは、これらの課題解決が可能な「エッジAI講座」をご用意しました。
AIに必要な要件は、必ずしも高い推論精度だけではありません。実際の現場では、精度よりも推論速度や低コスト、サイズ、高い対応力が求められることもしばしばあります。
本講座は、特に、業務でテスト用のプロトタイピングを行うAIエンジニアや、プロジェクトの意思決定者、AIには精通しているがハードウェアには触れてこなかったエンジニアの方々に必見の講座です。
以下に、本講座でご体験いただける内容をご紹介します。
1.エッジAIとは
エッジAIとは、エッジデバイス上で動作するAIの学習や推論を行うこと、またはその技術を意味します。エッジデバイスとは、ネットワークに依存せずに動作する、一般的には小型で低消費電力のデバイスのことです。
エッジデバイスとクラウドは対の関係であり、タスクによってどちらを利用するべきか大きく異なります。
エッジAIのメリットは主に以下3つです。
- エッジデバイスで処理を行うため、データを取得してから結果を得るまでの所要時間が短縮できる
- クラウドに送信するデータ量を減らせるため、低コストでシステムの構築が可能
- ネットワークが利用できない環境でもAIの利用が可能
近年、コンピュータの高機能化と並行して、市販されているデバイスの小型化も進んでいます。AIが動作するデバイスを様々なところに設置できるようになると、エッジAI分野もさらに盛り上がりを見せると考えられます。
教材内では、エッジAIで利用される代表的なセンサについても言及しています。
2.Raspberry PiとTensorflowを利用したエッジAIの構築
講座内では、代表的なエッジデバイスである、「Raspberry Pi」と、エッジAIを始めとした様々なAI開発に利用されるPythonパッケージ「Tensorflow」を利用した、物体検出用エッジAIの構築ハンズオンを実施します。
Raspberry Piの利用方法を知っている、またはTensorflowの利用方法を知っている方も、それらを組み合わせたエッジAIを構築したことがある方は少ないのではないでしょうか?
Raspberry Piなどのエッジデバイス上では計算資源が限られているため、Tensorflowを直接利用することは一般的に難しいと言われています。そこで、Tensorflow Liteといった軽量なライブラリと、それに適したデータ整形・入力、ソフトウェア実行が必要となります。
具体的には、データの収集と正解ラベル付与(アノテーション)、Raspberry Piに取り付けた小型カメラからの画像取得、物体検出モデルの作成、作成したモデルをRaspberry Pi上で動作させることが必要となります。
講座では、図表とプログラム例を利用して、分かりやすくこれらの手順を解説します。
3.AIモデルの軽量化技術
エッジAIシステムを構築したらそれで一件落着か?というと、実はそうではありません。テスト段階では十分に動作していても、本番環境(実際の現場)では様々な要因によって十分に動作しないことが考えられます。
講座内では、中でもよくある「AIの動作が遅い!」という問題に対して、AIモデルの軽量化というアプローチで解決する方法を解説しています。
エッジAIの動作を早くするためには、大まかに以下の2つの方法が有効です。
- ハードウェアによる工夫
- ソフトウェアによる工夫
ハードウェアによる工夫の代表例として、外付けGPU(Graphic Processing Unit)やTPU(Tensor Processing Unit)をエッジデバイスに接続し、AIの推論をそちらに任せることで処理を高速化することが挙げられます。
しかしながら、これらのデバイスは一般に安価ではなく、外付けする関係上、物理的なスペースを必要とすることから、エッジデバイスの利点である「安価であること」や「小型であること」を覆してしまいます。
そこで、ソフトウェアによる工夫が必要となってきます。
構築したAI(ニューラルネットワークのAIモデル)は、そのままでは最適な状態とは言えません。なぜならば、モデルの中には「推論に必要な部分」と「推論にはあまり必要でない部分」が混在しているためです。この「推論にはあまり必要でない部分」を見つけ、最適化を行うことで、モデルが専有するメモリ使用量の削減や処理時間の短縮を図る技術が存在します。
講座内では、以下のAIモデル軽量化技術を紹介しています。
- 蒸留
- プルーニング
- 量子化
- 畳み込みの軽量化
これらの技術は、エッジAIのみならず、一般的なPCで動作するAIモデルに対しても適用できますので、興味はあるが詳しく知らない方は、是非チェックしてみてはいかがでしょうか?
4.おわりに
いかがでしょうか。実際の現場では、しばしばPC上で動作する高性能AIよりも、エッジAIの方が用途に適している場合があります。エッジAIは、最近のコンピュータの小型化・高性能化によって普及可能性が増しつつあるコンテンツです。一方で、新たな技術が使われていることも多く、エッジAIを使いこなすことができるエンジニアはそう多くありません。
世の中のエンジニアよりも先んじてエッジAIの知識を学びたい方・興味がある方は、まずは受講ページをご確認ください。
エッジAI講座の詳細はこちら
配信を希望される方はこちら
また、SNSでも様々なコンテンツをお届けしています。興味を持った方は是非チェックしてください♪
公開日: