本格化するクライアント側AIの世界
3月7日に開催されたMicrosoftのWindows Developer Dayで、Windows MLが発表されました。
Windows10を搭載したPCで学習済みのニューラルネットワークを実行(推論)する環境の提供と、その環境をWindowsアプリケーションから使うためのAPIから構成されています。APIをちゃんと一緒に発表するあたりは開発者重視のMicrosoftらしいところです。
以前も書きましたが、AIには学習のフェーズと推論のフェーズがあり、学習にはものすごいコンピューティングパワーが必要です。しかし、学習の結果できあがったニューラルネットワークを「利用」するフェーズである推論にはそこまでのパワーは必要ないため、クライアント側で用意できるアクセラレーション機構(GPUなど)があれば、AI処理をローカルで行う事が可能ということです。今回、デバイスレイヤーにDirect3D経由でGPUを使うAPIも設定されていますから、アプリ開発者にとっては朗報でしょうね。
クライアント側AIのメリット
クライアントの世界では、昨年発売されたiPhone8/Xに搭載されたA11チップにApple独自のneural engineが搭載されたり、Googleが推論に特化したTPUを発表したりと、クラウドに繋がずにデバイス上で推論を高速に行えるようになってきました。MicrosoftのWindows MLの売りもその辺で、記事にもありますが、「クラウドに接続することなくWindowsアプリにインテリジェンスを組み込める」ということがメリットとして挙げられています。
これより少し前、ARMも新しいAIのソリューションを発表しています。
ARMが新AIプロセッサ「ARM Machine Learning」を発表、クラウドなしで端末による機械学習処理が可能に
ARM Machine LearningとARM Object Detectionの2種類が発表されました。モバイルでの利用を想定しているはずですから、推論に特化しているか少なくとも重点を置いていると思うのですが、この記事では「機械学習」とあるだけで、学習と推論を厳密に分けていないようで、よくわかりません。ARMの公式発表も似たような感じですね。ただ、ARM Object Detectionのほうは、画像認識に特化しているようですから、推論用でしょう。この記事の中でも、クライアント側AIのメリットして以下が挙げられています。
クラウド利用ではデータを送受信するため応答速度やデータ転送量で不利です。さらに、データを送受信する際に傍受(盗み見)させるリスクもあります。これに対して、機械学習処理に特化した専用設計のAIチップであれば、端末側での機械学習処理が可能で、レスポンスやセキュリティの面で優れています。
Googleもこの分野には積極的に取り組んでおり、昨年、
という記事も出ています。
しかしフェイスブックもグーグルも、チップメーカーにこの種の演算に特化したプロセッサーをつくるよう促している。バークは「TensorFlow Lite」を発表した際、彼らのチームがこうした特別なチップとも連携できるようにAndroidのコードを設計していると語った。
以前も書きましたが、WiredはGoogleがハードウェア事業に再度参入するだろうと思っているようです。この先、Googleから独自のAIアクセラレータを搭載したスマホが出てくるかも知れませんね。