Googleは、Android ML Platformという名称で、新たなモバイルMLスタックを発表した。TensorFlow Liteを中核におくことにより、デバイス上でマシンラーニングを使用する際に生じる、さまざまな問題の解決を目指す。
今回の発表の背後にある真意は、その基盤であるTensorFlow Liteが、Google Play ServicesをサポートするすべてのAndroidデバイスで使用可能になる、ということだ。これはつまり、TensorFlow Liteが、Androidプラットフォームを支えるバックボーンのひとつになることを意味する。これによってGoogleやサードパーティのアプリは、自身のパッケージにTensorFlow Liteをバンドルする必要がなくなる。APIを既定のものとして使用することが可能になるのだ。
すべてのアプリで共用されることにより、デバイス全体のストレージ使用量も削減できる。ストレージ使用量は重要な課題だ、とGoogleは言う。サイズに制限のある多くのアプリにとって、TensorFlow Liteは決して小規模なライブラリではない、という事実を考えれば、この問題はさらに重要だ。
さらに、これによって、Google Play Services経由でインストールされる他のAndroidコンポーネントと同じように、TensorFlow Liteを自動アップデートすることが可能になる。APIの可用性を最大化する目的で、TensorFlowの古いバージョンを使用し続けることが珍しくないので、自動アップデートは開発者にとってメリットがある、とGoogleは言う。
しかしながらGoogleは、Android ML Platformに関して、単にTensorFlow Liteをデフォルトで使用可能にする以上の、より野心的な目標に向かって進んでいる。実際に、Googleが取り組もうとしている大きな課題のひとつであるデバイスの不均一性は、Androidの世界における極端な複雑性の一因になっているのだ。この問題は、パフォーマンスとテストの2面に関連して顕在化する。
TensorFlow Liteは、その基本的な機能に加えて、デバイスで使用可能なハードウェアアクセラレーションを自動的に使用する、Automatic Accelerationを備えている。今年後半に使用可能になるとGoogleのいうこの機能は、パフォーマンス、正確性、安定性を考慮にいれた、そのデバイスの許可リスト(allow-list)の生成に基づいている。許可リストはモデルのテスト時に生成され、実行時にハードウェアアクセラレーションの使用を決定するために使用される。Automatic Accelerationの正確性を検証するために、開発者は、追加のメタデータを提供する必要がある。
Google Play Service経由でTensorFlow Liteの自動アップデートがサポートされることで、Googleは、Androidバージョン間のNeural Network APIの安定化も実現することになる。これにより、下位互換性のないアップデートによって既存アプリに支障が生じるのを防止することが可能になる。さらにGoogleは、アプリのテストを容易にするために、チップセットベンダと協力して、数千のデバイスから少数のコンフィギュレーションへと、テスト対象の削減を可能にしている。
Android ML Platformは現在まだプレビュー版である。関心のあるユーザからはアーリーアクセス版に関する要求もある。