LiteRT(Lite ランタイムの略)は、以前は TensorFlow Lite と呼ばれていた、デバイス上の AI 向けの Google の高性能ランタイムです。幅広い ML/AI タスクに対応するすぐに実行可能な LiteRT モデルを見つけることができます。また、AI Edge 変換ツールと最適化ツールを使用して、TensorFlow、PyTorch、JAX モデルを TFLite 形式に変換して実行することもできます。
主な機能
オンデバイス機械学習向けに最適化: LiteRT は、レイテンシ(サーバーへのラウンドトリップなし)、プライバシー(デバイスから個人データが漏洩しない)、接続(インターネット接続は不要)、サイズ(モデルとバイナリサイズの削減)、消費電力(効率的な推論とネットワーク接続なし)という 5 つの主要な ODML 制約に対応しています。
マルチプラットフォーム サポート: Android デバイス、iOS デバイス、組み込み Linux、マイクロコントローラに対応しています。
マルチフレームワーク モデル オプション: AI Edge には、TensorFlow、PyTorch、JAX モデルから FlatBuffers 形式(
.tflite
)に変換するツールが用意されているため、LiteRT で幅広い最先端モデルを使用できます。また、量子化とメタデータを処理できるモデル最適化ツールにもアクセスできます。さまざまな言語のサポート: Java/Kotlin、Swift、Objective-C、C++、Python の SDK が含まれています。
高パフォーマンス: GPU や iOS Core ML などの専用の委任者によるハードウェア アクセラレーション。
開発ワークフロー
LiteRT 開発ワークフローは、ML/AI の問題の特定、その問題を解決するモデルの選択、モデルのデバイス上の実装で構成されています。次の手順では、ワークフローの詳細と、詳細な手順へのリンクを示します。
1. ML の問題に最も適したソリューションを特定する
LiteRT は、機械学習の問題を解決する際に高い柔軟性とカスタマイズ性をユーザーに提供します。そのため、特定のモデルや特殊な実装を必要とするユーザーに適しています。プラグアンド プレイ ソリューションを探している場合は、MediaPipe Tasks が適しています。MediaPipe Tasks は、オブジェクト検出、テキスト分類、LLM 推論などの一般的な ML タスクに既製のソリューションを提供します。
次のいずれかの AI Edge フレームワークを選択します。
- LiteRT: 幅広いモデルを実行できる、柔軟でカスタマイズ可能なランタイム。ユースケースに適したモデルを選択し、必要に応じて LiteRT 形式に変換して、デバイス上で実行します。LiteRT を使用する場合は、読み進めてください。
- MediaPipe Tasks: カスタマイズ可能なデフォルトモデルを備えたプラグアンド プレイ ソリューション。AI/ML の問題を解決するタスクを選択し、複数のプラットフォームに実装します。MediaPipe Tasks を使用する場合は、MediaPipe Tasks のドキュメントをご覧ください。
2. モデルを選択する
LiteRT モデルは、FlatBuffers と呼ばれる効率的なポータブル フォーマットで表されます。このフォーマットは .tflite
というファイル拡張子を使用します。
LiteRT モデルは次の方法で使用できます。
既存の LiteRT モデルを使用する: 最も簡単な方法は、すでに
.tflite
形式の LiteRT モデルを使用することです。これらのモデルでは、追加のコンバージョン ステップは必要ありません。LiteRT モデルは Kaggle Models で確認できます。モデルを LiteRT モデルに変換する: TensorFlow コンバータ、PyToch コンバータ、または JAX コンバータを使用して、モデルを FlatBuffers 形式(
.tflite
)に変換し、LiteRT で実行できます。モデルは、次のサイトから入手できます。- Kaggle Models と Hugging Face の TensorFlow モデル
- Hugging Face と
torchvision
の PyTorch モデル - Hugging Face の JAX モデル
LiteRT モデルは、オプションでメタデータを含めることができます。このメタデータに人間が読めるモデルの説明や機械が読めるデータを追加して、デバイス上の推論時に前処理と後処理のパイプラインを自動的に生成できます。詳細については、メタデータを追加するをご覧ください。
3. モデルをアプリに統合する
LiteRT モデルを実装して、ウェブ デバイス、組み込みデバイス、モバイル デバイスで推論を完全にデバイス上で実行できます。LiteRT には、Python、Android 用の Java と Kotlin、iOS 用の Swift、マイクロデバイス用の C++ の API が含まれています。
次のガイドを使用して、お好みのプラットフォームに LiteRT モデルを実装します。
- Android で実行: Java/Kotlin API を使用して Android デバイスでモデルを実行します。
- iOS で実行: Swift API を使用して iOS デバイスでモデルを実行します。
- Run on Micro: C++ API を使用して組み込みデバイスでモデルを実行します。
Android デバイスと iOS デバイスでは、ハードウェア アクセラレーションを使用してパフォーマンスを向上させることができます。どちらのプラットフォームでも GPU デリゲートを使用できます。iOS では Core ML デリゲートを使用できます。新しいハードウェア・アクセラレータのサポートを追加するために、独自のデリゲートを定義できます。
モデルの種類に応じて、以下のような方法で推論を行うことができます。
メタデータのないモデル: LiteRT インタープリタ API を使用します。Java、Swift、C++、Objective-C、Python など、複数のプラットフォームと言語に対応しています。
メタデータを含むモデル: LiteRT サポート ライブラリを使用してカスタム推論パイプラインを構築できます。
TF Lite から移行する
TF Lite ライブラリを使用するアプリは引き続き機能しますが、新しい開発と更新はすべて LiteRT パッケージにのみ含まれます。LiteRT API には TF Lite API と同じメソッド名が含まれているため、LiteRT に移行しても詳細なコード変更は必要ありません。
詳細については、移行ガイドをご覧ください。
次のステップ
初めて使用する場合は、LiteRT クイックスタートから始めてください。具体的な情報については、次のセクションをご覧ください。
モデルの変換
プラットフォーム ガイド