はじめに
研究を進める中でエッジコンピューティングについてサーベイする必要があったので本記事にまとめておきます。特にエッジコンピューティングについてはコンテキストにより解釈を変える必要があるケースがある印象があり他の方の参考にもなればと思います。
エッジコンピューティングとは
エッジ(Edge)デバイス上で計算処理を行うこと、といえるかと思います。肝心なのはそのエッジデバイスというのが何か、という点になるかと思います。僕の場合はそのエッジデバイスというのが何を指しているかうまくつかめず理解するのに時間がかかりました。後述しますが、エッジコンピューティングについて何の文脈で話されているのかを把握してから読み進めるといいでしょう。
エッジ,エッジデバイスとは
IoTに関する文脈において、エッジ、エッジデバイスとはユーザに近い端末のことでその末端に位置するデバイス、といえます。より具体的には例えばRaspberry PI、そしてスマートフォンなどをエッジデバイスとよびます。この点について、僕は把握するのに時間がかかりました。この場合、エッジデバイスの特徴としては小型、省電力、そして安価であることが挙げられます。よって、自然とエッジデバイスでは計算量が多い処理はしないことになります。
エッジデバイスの特徴
- 小型
- 省電力
- 安価
- エッジデバイスの例
- Raspberry PI
- スマートフォン
Raspberry PIは下記のようにセットで売られていることも多く初学者がセットアップすることも容易。もちろんボード単体で売っていることもあり、付属品が不要な場合も問題なし。値段も記載の通り安価。
新品価格 ¥11,999から (2019/10/31 07:44時点) |
RSコンポーネントRaspberry Pi 3 B マザーボード
新品価格 ¥8,980から (2019/10/31 07:48時点) |
エッジコンピューティングについて調べていると同じような意味合いで、フォグコンピューティング、という概念もあります。フォグコンピューティングとエッジコンピューティングは非常に似た定義のようで明確に使い分けをしているようなケースは稀なように思います(多くの人がその違いを理解して使い分けしていることは少ない)。フォグコンピューティングはネットワーク機器を扱うCisco社が提唱した概念であることからエッジコンピューティングより一歩クラウドに近いエッジというイメージという理解でもいいようにも思いますが、人やコンテキストによって様々に使われているようです。
上記はCisco社のサイトより引用しています。右側のイラストを見てもフォグコンピューティングを提唱しているCisco社はフォグコンピューティングをユーザに近い端末というよりはユーザに近いネットワーク機器と定義しているように見えます。ネットワークエッジ、と記載もあります。前述のように明確に使い分けをしている方も稀な印象ですので文脈を見つつ判断するのが良さそうです。
また、CDNを利用している方や詳しい方はエッジというとCDNにおけるコンテンツを配信するエッジサーバのことを連想し、そちらと混同してしまうこともあるでしょう。広義の意味でのエッジコンピューティングという捉え方がある場合、それでも間違ってはいないのかもしれません。が、IoTの文脈でエッジという場合はCDNにおけるエッジとは違いますのでこちらもコンテキストによって読み替えをする必要があるでしょう。CDNについて少し前にWEB+DBで特集がありそちらも参照しました。
新品価格 ¥1,628から (2019/10/31 20:57時点) |
特集記事中でもエッジコンピューティングについて言及があります。
近年では、エッジサーバ上で任意の処理を実行できるようにして、エッジコンピューティングを後押しする機能が追加されています。 従来はオリジンサーバで行なっていた処理の一部をエッジサーバで行えるようにする利点の一つは、応答が高速になる点です。エッジサーバは世界中に配置されているため、利用者に近いサーバで処理を行うことで、無駄なネットワーク通信を削減できます。出典:WEB DB vol.109
この記述からも読み取れるようにCDNのコンテキストにおいてエッジといえばエッジサーバのことを指します。
エッジコンピューティングといってもコンテキストに応じてエッジという言葉が指す対象が異なってくることは注意する必要があります。
最近の動向
Microsoft CEOがエッジコンピューティングについて言及
マイクロソフトCEOがエッジコンピューティングについてMicrosoftのカンファレンスにて言及しています。
ナデラ氏は「コンピューティングはまずローカルで実行され、抽出されたデータがAIや機械学習のような強力な能力を必要とする処理のためにクラウドに送られる」からだとその意味を説明した。情報はクラウドに出て行く前にローカルに入ってこなければならない、ということだ。
エッジ・コンピューティングのコンピューティング全般に与える影響を真に理解するめには2030年までにインターネットには500億のデバイスが接続されることになると予測したレポートを吟味する必要がある。これは驚くべき数字だ。現在我々のWindowsマシンは10億台ほどある。スマートフォンが数十億台あるだろう。これが2030年には500億台になっているだろうというのだ。
エッジの方が大事ということではなく、クラウド側ももちろん大切なものの、今後接続されるだろうデバイス数の予測を考慮するとエッジコンピューティングの重要性は必然の流れ、ということでしょう。そして、この文脈においてはIoTデバイス(エッジデバイス)もCDNのエッジサーバで大量の処理をさばくという意味でのエッジコンピューティングも意味合いとしては入っているのでしょう。そして、集まったデータをどうするかというと機械学習で処理をする、というのも今後の当然の流れのようです。
Gartnerが未来を作る2020年注目の技術トレンドにエッジコンピューティングを選出
こちらはGartnerが選出した今後5年から10年マーケットを賑わす注目すべき技術トレンドについての記事です。この記事の中でもエッジコンピューティングについては取り上げられています。
Gartner’s Top 10 Technology Trends For 2020 That Will Shape The Future
エッジコンピューティングとML
GoogleがRaspberryPIのようなエッジデバイスを準備中
Google's Raspberry Pi-like Coral: AI board with TPU is ready for business
Microsoft CEOが述べているように2030年には500億台のデバイスがインターネットに接続されると予測されています。そうするとこの領域にも大きなマーケットがある、というのは容易に想像できます。Googleがその視点で判断しているかはもちろんわかりませんが、500億台のエッジからデータを送信するということと、それらで集めたデータを用いて今までより機械学習が利用されるケースが増えることも合わせて予想できます。機械学習は今までの演繹的なプログラミングではなく、帰納的なプログラミングであることを考えてもそれは自明なように思います。また、その500億台のデバイスがマシンパワーが必要な機械学習処理(推論)を行うオリジンサーバへアクセスされてはやはり耐えきれないこと、そして推論処理の処理時間などを考慮すると推論を出来るだけエッジでやる、というのは自然な流れなのかもしれません。そのため以下記事にあるようにGoogleもRaspberryPIのようなデバイス、特に推論処理を高速に行えるよう設計したデバイスを販売するのはエッジコンピューティングと機械学習の今後を考えて行った時には自然な選択なのでしょう。あくまでここは僕の推測です。
スマートフォン(エッジ)でのML
前述のようにスマートフォンもエッジデバイスとして捉えることになります。スマートフォンとRaspberryPIではデバイスよりますがスペックに差があります。また、提供されているソフトウェアやアプリの存在など多くの違いがあります。スマートフォンというエッジデバイスにおけるMLはどういう状況なのか、ということについて以下書籍を読みました。
iPhone/Androidアプリ開発者のための機械学習・深層学習 実践入門 新品価格 ¥4,536から (2019/10/31 08:03時点) |
当たり前ではありますが深層学習においてはiOS、Android共にスマートフォン側で機械学習のモデルを作るようなSDKはほぼ提供されていないようです。もちろんこの書籍で紹介されているOSS等についてのみ見ていますので探せばあるように思いますが、TensorFlow Liteにしてももちろんデバイス上で推論をすることを思想として持っています。深層学習ではない機械学習アルゴリズムについてはスマートフォンのようなスペックを持っていれば程度にもよりますが可能なためスマートフォン上で学習モデルを作り推論をすることはあるでしょう。個人情報についての扱いが厳しくなっていることも考慮するとスマートフォン上で学習モデルを作り推論させることは選択肢の一つだと思います。
エッジでの深層学習推論の高速化
Practical Developers ――機械学習時代のソフトウェア開発[ゲームアプリ/インフラ/エッジ編] (WEB DB PRESSプラスシリーズ) 新品価格 ¥2,618から (2019/10/31 08:07時点) |
こちらの書籍は機械学習について現場経験のあるエンジニアの方々が書いた記事が多くあります。その中でもエッジでの深層学習の高速化についての記事について読みました。エッジコンピューティングのことについても記載があり非常に参考になり本記事でもいくつか参考にさせていただいています。Ideinのエンジニアの方が書いている記事ですのでエッジでの推論高速化について興味がある方はぜひ一読するといいでしょう。僕自身はそこのテーマではなく、エッジコンピューティング全般について今回はサーベイしていたこともあり、記事について深くは読み込んでいません。
機械学習基盤のアーキテクチャについての情報収集
ようこそ Machine Learning for productionization Wiki へ
こちらのページはまだ最近作成されたのですがエッジコンピューティングと機械学習基盤のアーキテクチャについて情報が集まってきています。仕事ではじめる機械学習の著者の方もこちらのサイトの運営に参加されているようで日本においてこの分野について情報が集まっている良いサイトになりそうです。仕事ではじめる機械学習は機械学習基盤のアーキテクチャについて非常にまとまった書籍です。僕も読みましたが非常に参考になる書籍でした。
新品価格 ¥3,080から (2019/10/31 22:57時点) |
終わりに
もう少し論文など読んだものも引用しようかと思いましたがまとめきれなかったため後日時間があれば追記します。もともとは冒頭の方で何度か記載したようにエッジコンピューティングについての話が文脈によってなんのことを話しているかわからなくなることが多かったため調べていたことです。そのため、同じようにエッジコンピューティングについて理解できず困っている方の参考になれば幸いです。