今どきのIoT考察

組み込みだから実現できる、IoTと新しいフォグコンピューティングの世界

「IoT*」という言葉が当たり前のように聞かれるようになった今、さまざまな機器やセンサーがインターネットに接続されるようになりました。IoTによって生成されたデータは分析・解析され、それによって導き出された知見は課題改善などに役立てられます。
こうしたデータをソリューションとして活用できるか否かは、すなわち如何にデータから有意義な情報を引き出せるかどうかにかかっています。しかし、2017年現在までに生成されたデータはもはや膨大な量。今後も止まることなく増え続け、このままいけば情報処理の精度が下がるどころか、2020年には重大な問題が起こるといわれています。それらを解消する手立てとして、フォグコンピューティングが注目されています。
*Internet of Things(モノのインターネット)

IoTにフォグコンピューティングが不可欠なワケ

ところで今、IoTによって生成され続けているデータはどのくらいあるのでしょうか。 たとえば、自動車の内部では毎秒1GB、石油・ガスプラットフォームでは1日あたり8TB、航空機にいたっては1時間あたり40TBものデータが生成され、すべてクラウドに送信されていきます。
データの中から活用できる情報を収集するためには、クラウド側でストレージして分析・解析をかけなければなりません。しかし、近い将来500億個にも到達すると予想されるデータを、今後も同じように処理し続けることは不可能です。

これまでIoTのデータ処理は、エッジ(ネットワーク的にセンサや制御機器に近い領域)から出力されたデータをダイレクトにクラウドへ送り込み、蓄積や分析を行う、という構図でした。しかし、データが膨大になればなるほどクラウドの負荷はどんどん増していき、データを処理しきれなくなります。具体的な問題としては、通信帯域の不足、クラウドのデータ爆発、応答性能の悪化、コストの激増などが挙げられます。

これら課題は、ほとんどが通信費やサーバー使用料などコストに関わることです。しかし、もっとも重大なのはクラウド側のリソース消費による「応答性能の悪化」でしょう。
機器の応答性能が鈍くなることにより、たとえば自動運転車が障害物を検知できずにぶつかってしまったり、監視カメラが異常事態を見逃してしまったりなど、命に関わる事故を招きかねません。

IoTを利用したサービスは、安定してミッションクリティカルであることが求められます。「エッジ→クラウド」の二者構造ではミッションの遂行が不可能になるとわかった今、新たなリソースとして考えられたのが「フォグコンピューティング」です。
フォグコンピューティングとは、エッジからクラウドまでのネットワーク上にコンピューティングリソース(フォグ)を置くことで、クラウドで行なっていたデータ処理の一部をフォグで分散処理するアプローチのことです(イメージ図を参照)。

IoTフォグコンピューティング概念図

ちなみに、フォグコンピューティングは世界最大のコンピュータネットワーク機器開発会社であるCisco(シスコシステムズ)が提唱しました。

FPGAフォグコンピューティングで実現するIoTの未来

今、GoogleやIBMなどが提供するAIのサービスは、基本的にクラウドベースです。ニューラルネットワークの層が非常に深く、さまざまなパターンのものを分析できる。機能はどんどん肥大化し、性能も上がってリソースをどんどん消費する。
反対に、組み込みのAIは未来に向けてどんどん小さくなっていくでしょう。何百、何千のモノを看る必要はなく、その代わりにミリセックあるいはマイクロセックレベルの判断が求められるのが組み込みのAIです。

何でもできて性能も複雑なAIとは対極にある、小さくて速く、機能が限られた組み込みの世界のAIは、さまざまなモノに埋め込むことができるようになります。
たとえばUSBメモリのような小さなモノにAIを埋め込んでスマホに入れれば、それはもう手のひらサイズのAIになります。おもちゃにUSBを挿せば、インテリジェンスが上がって会話ができるようになるかもしれません。
家電製品のほとんどにAIが埋め込める可能性もあります。電子レンジや冷蔵庫がAI化すれば、人間はただ「はい」「いいえ」と答えるだけで、勝手に調理してくれる。そんな時代がくるかもしれません。

つまり、ヒューマンインターフェース事業の分野、機械制御の分野など、組み込みの世界にAIが入ってくることで、あらゆることが可能になるのです。 そんな夢のようなIoTの未来を実現するのに適しているのが、FPGAの持つ特性です。

AIの考え方や技術はどんどん進化しています。半年前の技術すら、もう古いのです。当然、それを実装するシステムやハードウェアは進化するべきでしょう。 そんな進化に対応できるという意味で、FPGAというのはとても向いています。新しいAIの技術が出てきたらすぐにロジック化して、ハードウェアのプログラムを入れ替えれば、FPGAが最新のAIに対応できるわけですから。

フォグコンピューティングのメリットとデメリット

では、フォグコンピューティングを採用すると、どういったメリットがあるのでしょうか。

エッジとクラウドの二者構造の場合、エッジから送り込まれる有象無象のデータをクラウドが一手に引き受けていたため、本当に必要な情報以外の処理もクラウドが行わなければなりませんでした。
そこで、エッジとクラウドの間にフォグを挟むフォグコンピューティングという構図ができたわけですが、フォグを中継させることにより、これまでクラウドがエッジからダイレクトに受け取っていた処理の一部を、一旦フォグが請け負う形になります。ここでフォグは、クラウドに送るべき情報はクラウドへ、フォグ側で完結できるものは自身で対応してエッジへ返す、という処理を行います。そのおかげで、クラウドは本当に必要な情報だけを受け取ることができ、二者構造だったときと比べて格段に負荷が減るというわけです。その結果として、今までかかっていた通信コストやサーバーコ ストを減らすことができます。 特に、フォグコンピューティング内で処理を完結できる事象であれば、低いレーテンシーでエッジ側にフィードバックを返すことも可能になります。 ミッションクリティカルでなければならないIoTサービスの実現には、フォグというレイヤーは不可欠といえるでしょう。

また、機能拡張がしやすいのもフォグコンピューティングのメリットです。これまでは、新たな機能が欲しい場合、エッジ(端末)ごと入れ替える必要がありました。当然コストがかかります。一方、フォグには「新しい機能を追加」できるという利点があります。フォグコンピューティングなら、高額な装置を増設することなく、欲しい機能をフォグに追加するだけで機能拡張できるため、多様なニーズに応えやすく、同時にコストも抑えることができます。

とはいえフォグコンピューティングは、メリットばかりではありません。それには、フォグコンピューティングに求められる高い性能が関係しています。 フォグでの分散処理というのは、たとえばFFT演算やデジタルフィルタリング、機械学習など、いずれも相当な演算能力を要します。高度な要求を実現するためには、当然ながらコストがかかります。
従来のフォグコンピューティングでは、オンプレミス小型DCやサーバーワークステーションによって分散処理を可能にしていましたが、設備や運用が非常に高コストになってしまうという問題がありました。
では、安価な組み込みゲートウェイを簡易的に設置して、処理の集約を行えばどうかというと、これには演算能力の不足という課題がつきまといます。特に、大量のデータのクレンジングと圧縮にはSWベースの処理系の高い演算能力が必要です。また、機械学習のような高度な処理性能を必要とするタスクにも十分に対応できません。

そこで、これらの問題を解決するために開発されたのが、FPGAを実装したフォグコンピューティング「FPGA内蔵フォグコンピューティングゲートウェイ」です。

FPGAフォグコンピューティングなら「コスト」と「性能」の両立が可能!

FPGAフォグコンピューティングの特筆すべき点は、なんといっても「コストメリット」と「高性能」を両立できるところでしょう。
FPGAは、プログラムの自由な書き換えが可能な組み込み機器にも多く利用されるデバイスです。
購入者や設計者が、現場で後から回路を書き換えることができるので出荷後の仕様変更やカスタマイズ、不具合・バグの修正などがフィールドでも実施できるデバイスです。ハードウェアロジックをプログラミングすることでFPGA内部では並列処理されることになり、大量のデータを一瞬で処理させて返すような処理や、分散処理、演算、デジタルフィルタリングなどを得意としています。
一般的な組み込みプロセッサ上のソフトウェアプログラムによる処理と比べて、FPGAは100倍以上も速く処理を終えることができます。この高速処理によって膨大な量のデータからノイズ除去や各種デジタル処理を行った上、FFT演算をかけてデータ量を1/50にまで圧縮してクラウドに送ることで、ネットワークの帯域やクラウドの使用リソースも大幅に削減できます。
またFPGAは、使用環境にフレキシブルに対応できるという特長もあります。一番のポイントはロングライフ、一般的なCPUやASSPでは数年で量産が終わってしまうものが通例ですが、FPGAは10年、はたまた10年以上の量産がされており、製造メーカが製品出荷後も安心してFPGAを購入することができるのです。さらに温度拡張品があったり、真冬の工場のような温度の低い環境でも動作可能なラインナップもそろえており、こちらの観点でも自由度が高いといえるでしょう。
FPGAをハードウェア構成に加えることで、システムを低コストでカスタマイズでき、かつ従来型のフォグコンピューティングから飛躍的に性能がアップする、というメリットが生まれるのです。

FPGAフォグコンピューティング×AIで何ができる?

フォグコンピューティングに対する機能追加のニーズは多岐に渡りますが、そのうちのひとつにAIがあります。フォグコンピューティングにAIの機能を追加することで、どういったことが実現できるのでしょうか。

これまでAIの機能というのは、クラウド側に置かれることがほとんどでした。しかし、これでは時間もコストもかかるサービスになってしまいます。そこで、AIをできるだけエッジに近いところに持ってきて利用したいとのニーズが高まりました。最近では「エッジAI」と呼ばれるものがこれにあたります。そして、これを高性能で実現するのがFPGA内蔵フォグコンピューティングゲートウェイです。
AIで実現する機能のひとつに、ビジュアルインスペクションのような画像データの認識があります。カメラで見た映像を一時的に処理し、目的とすることと合っているのか違っているのかの判断を、リアルタイムに結果として返す機能です。たとえば工場のラインに秒速100個の製造物が流れていた場合、どこに傷が付いているのかを人間が判断するのはなかなか難しいでしょう。これを、AIなら高速かつ正確に処理判断し、結果を返すことができます。
そのほか、「予知保全」が可能になることも挙げられます。これまでは、工場などでは予防保全(定期メンテナンス)として、機械を止めて点検を行う必要がありました。予知保全では、機械の振動、音、温度、湿度、その他さまざまなセンサーを元にAIに推測させ、機械の「今」の状態でいつ異常が生じるかを予知させることができるようになります。これにより、機械を動かし続けたまま保全ができるようになり、生産効率の維持につながります。
そのほかにも、従業員の動きをカメラで監視して、従業員が正しい動きをしているかどうかを遠隔で判断する、といったような事例も考えられます。

今、AIがセンサーやカメラなどのさまざまなデータを使って、人間の行動を正確に監視し、判断する時代になりつつあります。出来上がった製品の良し悪しの判断も、人間の目より精度が高いAIに頼る世界になっていくでしょう。

こうしたエッジAIを実現するために必要なのが、FPGA内蔵フォグコンピューティングゲートウェイなのです。

組み込みだからできるIoT

IoTという、非常に広く多岐にわたる概念の中で、「組み込み」だから実現できることはまだまだたくさんあります。進化し続ける技術を組み込めるフレキシビリティを持ったFPGA内蔵フォグコンピューティングゲートウェイなら、きっと夢のようなIoTの世界を実現できることでしょう。

富士ソフトでは、FPGA搭載エッジAI検証プラットフォーム「IoTフォグコンピューティングゲートウェイ」を開発しました。今後はAI開発者向けに、「Deep Learning開発パッケージ」の提供も予定していますので、導入事例とともにいずれ詳しく紹介したいと思います。