Google は TensorFlow の Android/iOS バージョンをリリースしました。
チョコレートファクトリーは、今週火曜日のブログ投稿でTensorFlow Liteの開発者プレビューを発表しました。投稿によると、このリリースは当初スマートモバイルを対象とし、その後のバージョンでは組み込みデバイスも対象とする予定です。
Google は 5 月の I/O カンファレンスで初めて、あらゆる場所で機械学習を実現したいという意向を明らかにしました。
機械学習をデバイスにプッシュすることは理にかなっています。推論を実行する際のレイテンシを削減できるからです。そして、このことに気づいたのはGoogleだけではありません。例えば、Qualcommは2013年にモバイル専用のチップ「Zeroth」を初めて発表しました。
Google は、TensorFlow Lite のアーキテクチャでは、下の図に示すように、モデル トレーニングの面倒な作業が上流で行われることを前提としていると説明しました。
Google はこのツールのコンポーネントを次のようにリストしました。
- TensorFlow モデル:ディスクに保存されたトレーニング済みの TensorFlow モデル。
- TensorFlow Lite コンバーター:モデルを TensorFlow Lite ファイル形式に変換するプログラム。
- TensorFlow Lite モデル ファイル: 最大速度と最小サイズに最適化されている FlatBuffers に基づくモデル ファイル形式。
対象のスマートフォンでは、C++ API (iOS ではネイティブ、Android では Java API にラップ) が TensorFlow Lite モデルを読み込み、インタープリターを呼び出します。
フルロードされたインタープリタは、すべての機械学習演算子を含めて300KBです(インタープリタ単体ではわずか70KBです)。Googleによると、現在のTensorFlow Mobileは1.5MBです。
Android では、Android Neural Networks API を使用して、利用可能な場合はハードウェア アクセラレータに処理をオフロードすることもできます。
TensorFlow Lite で利用できるモデルには、MobileNet および Inception v3 ビジョン モデル、および Smart Reply 会話モデルが含まれます。
現時点では、TensorFlow MobileはGoogleの管轄下にあります。Googleの発表では、TensorFlow Mobileを本番環境アプリケーションをサポートするシステムと位置付けていると述べられています。しかし、「今後、TensorFlow LiteはTensorFlow Mobileの進化形と捉えるべきであり、成熟するにつれて、モバイルデバイスや組み込みデバイスへのモデル展開に推奨されるソリューションとなるでしょう」とも述べられています。®