95
TensorFlow Lite がモバイルデバイスに低遅延推論をもたらす

Googleは、機械学習ソフトウェアフレームワークであり、TensorFlow Mobileの後継となるTensorFlow Liteを開発者向けにプレビュー版として公開したことを発表しました。TensorFlow Liteフレームワークの目的は、モバイルデバイスや組み込みデバイスに低レイテンシの推論性能をもたらし、小型デバイスに搭載される機械学習チップの普及率を高めることです。

デバイス上での機械学習

ますます多くのデバイスが、クラウドではなくローカルで機械学習推論を実行し始めています。これには、クラウド推論と比較して、次のような複数の利点があります。

レイテンシ:ネットワーク接続を介してリクエストを送信し、応答を待つ必要はありません。これは、カメラから送られてくる連続フレームを処理するビデオアプリケーションにとって非常に重要です。可用性:アプリケーションはネットワークの通信範囲外でも動作します。速度:ニューラルネットワーク処理に特化した新しいハードウェアにより、汎用CPUのみを使用する場合よりも大幅に高速な計算処理が可能になります。プライバシー:データはデバイス外に流出しません。コスト:すべての計算がデバイス上で実行されるため、サーバーファームは不要です。

オリジナルのTensorFlowフレームワークはモバイルデバイスでも使用可能でしたが、モバイルデバイスやIoTデバイスを想定して設計されていませんでした。そこでGoogleは、より軽量なTensorFlow Liteソフトウェアフレームワークを開発しました。このフレームワークは主にAndroidとiOSをサポートしていますが、Googleの開発者は組み込みデバイス上のLinuxでも簡単に使用できるはずだと述べています。

TensorFlow Lite アーキテクチャ

TensorFlow Lite アーキテクチャの個々のコンポーネントは次のとおりです。

TensorFlow モデル: ディスクに保存されたトレーニング済みの TensorFlow モデル。TensorFlow Lite コンバーター: モデルを TensorFlow Lite ファイル形式に変換するプログラム。TensorFlow Lite モデル ファイル: 最大速度と最小サイズに最適化されている、FlatBuffers に基づくモデル ファイル形式。

TensorFlowモデルはモバイルアプリにデプロイされ、C++ APIのラッパーであるJava API、モデルファイルをロードしてインタープリタを呼び出すC++ API、そして選択的な演算子ロードをサポートするインタープリタと連携します。演算子がない場合、インタープリタのサイズはわずか70KBですが、すべての演算子をロードすると300KBになります。これはTensorFlow Mobileと比較して5分の1の削減です。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

Android 8.1 以降では、インタープリターは、Google の最新の Pixel 2 スマートフォンなど、機械学習ハードウェア アクセラレータを搭載したデバイスで Neural Network API (NNAPI) を使用することもできます。

モバイルに最適化されたモデル

Google によれば、TensorFlow Lite はすでに、MobileNet や Inception V3 など、モバイル向けに最適化された機械学習モデルをいくつかサポートしているという。MobileNetや Inception V3 は、開発者がアプリ内の何千もの異なるオブジェクトを識別するために使用できる 2 つのビジョン モデルである。また、Smart Reply は、受信したチャット メッセージにスマートな返信を提供できるデバイス上の会話モデルである。

TensorFlow Mobile の廃止

Google は、TensorFlow Lite はまだテスト中であるため、開発者は今のところ本番環境では TensorFlow Mobile を使い続ける必要があるものの、最終的には後者が前者を完全に置き換えることになるため、最終的には TensorFlow Lite への移行を計画する必要がある、と述べた。