LiteRT (Lite Runtime の略) は、TensorFlow Lite (TFLite) の新しい名前です。名前は新しいものの、オンデバイス AI 向けの信頼できる高性能ランタイムであることに変わりはなく、ビジョンが拡張されました。
TFLite は 2017 年のリリース以来、27 億台以上のデバイスの 10 万を超えるアプリで、ML 対応のエクスペリエンスを動作させてきました。最近の TFLite は、ルーツである TensorFlow を超えて成長し、PyTorch、JAX、Keras で作成したモデルでも、同じように高いパフォーマンスを発揮しています。LiteRT という名前は、この未来のマルチフレームワーク ビジョンを捉えたものです。つまり、人気のフレームワークから始めたデベロッパーが、優れたパフォーマンスでモデルをオンデバイス実行できるようにしたいという意図が込められています。
LiteRT は、Google AI Edge ツールスイートの一部であり、Android、iOS、そして組み込みデバイスに、ML モデルや AI モデルをシームレスにデプロイできるランタイムです。AI Edge の堅牢なモデル変換と最適化ツールを活用すれば、オープンソース モデルを利用したオンデバイス開発も、カスタムモデルを利用したオンデバイス開発も実現できます。
この変更は徐々にロールアウトされます。本日より、LiteRT という名前がデベロッパー向けドキュメントと AI Edge ウェブサイト全体の他のリファレンスに反映されます。ドキュメントは ai.google.dev/edge/litert に移動します。また、tensorflow.org/lite のドキュメントは、ai.google.dev/edge/litert の対応するページにリダイレクトされます。
メインの TensorFlow ブランドが影響を受けることはありません。すでに TensorFlow Lite を使っているアプリにも影響しません。
私たちの目標は、この変更による影響を最小限に抑え、デベロッパーのコード変更をできる限り少なくすることです。
現在、パッケージから TensorFlow Lite を使っている方が Maven、PyPi、Cocoapods から新しい LiteRT を使う場合は、依存関係を更新する必要があります。
現在、Google Play 開発者サービスから TensorFlow Lite を使っている方は、現時点では変更は必要ありません。
現在、ソースから TensorFlow Lite をビルドしている方は、今年中にコードが完全に新しい LiteRT リポジトリに移動するまでは、TensorFlow リポジトリからビルドを続けてください。
1. LiteRT という新しい名前に変わったこと以外に何か変更はありますか?
今のところ、変更点は LiteRT という新しい名前に変わったことだけです。本番環境のアプリは影響を受けません。新しい名前になり、ビジョンが刷新されたことで、LiteRT にはこれまで以上にアップデートが行われるので、ご期待ください。従来型の ML モデルや LLM、拡散モデルのデプロイが改善され、さまざまなプラットフォームで GPU や NPU のアクセラレーションが利用できるようになる予定です。
2. TensorFlow Lite サポート ライブラリ(TensorFlow Lite Tasks を含む)はどうなりますか?
現時点では、TensorFlow Lite サポート ライブラリと TensorFlow Lite Tasks は、/tensorflow リポジトリに残ります。今後の開発には、MediaPipe Tasks を使うことをおすすめします。
3. TensorFlow Lite Model Maker はどうなりますか?
TFLite Model Maker には、今後も https://pypi.org/project/tflite-model-maker/ からアクセスできます。
4. コードを提供したい場合はどうすればいいですか?
現時点では、既存の TensorFlow Lite リポジトリにコードを提供してください。LiteRT リポジトリへの提供の準備が整いましたら、改めてお知らせします。
5. .tflite ファイル拡張子とファイル形式はどうなりますか?
.tflite ファイル拡張子や形式は変更されていません。変換ツールは、今後も .tflite フラットバッファ ファイルを出力します。LiteRT は .tflite ファイルを読み取ることができます。
6. モデルを .tflite 形式に変換するにはどうすればいいですか?
Tensorflow、Keras、Jax では、今後も同じフローを利用できます。PyTorch のサポートについては、ai-edge-torch をご覧ください。
7. クラスやメソッドに変更はありますか?
いいえ。これまで書いたコードで、変更の必要があるのはパッケージ名だけです。
8. TensorFlow.js に変更はありますか?
いいえ。TensorFlow.js は今後も Tensorflow コードベースの一部として独立して動作します。
9. 本番環境向けアプリで TensorFlow Lite を使っていますが、影響はありますか?
すでに TensorFlow Lite をデプロイしているアプリは影響を受けません。Google Play 開発者サービスから TensorFlow Lite にアクセスするアプリも同様です。(TFLite はビルド時にコンパイルされてアプリに組み込まれるため、デプロイしてしまえば依存関係はなくなります。)
10. なぜ「LiteRT」なのか?
LiteRT (Lite Runtime の略)は、先駆的な「ライト」オンデバイス ランタイムである TensorFlow Lite の伝統に加え、今日の繁栄をサポートする Google の取り組みを反映しています。マルチフレームワークのエコシステム。
11. TensorFlow Lite は今も活発に開発が続いていますか?
はい。ただし、LiteRT という名前になっています。変換や最適化のためのツールで、ランタイム(現在は LiteRT と呼ばれています)も、活発な開発が続きます。確実に最新バージョンのランタイムを利用できるように、LiteRT を使うようにしてください。
12. LiteRT の実際の例はどこで確認できますか?
公式 LiteRT サンプル リポジトリで、Python、Android、iOS の例を公開しています。
私たちはオンデバイス ML の未来に期待しています。LiteRT がさまざまなモデルで一番使いやすく、最高のパフォーマンスを発揮できるランタイムとなるように、懸命に取り組んでいきます。