LiteRT の概要

LiteRT(Lite Runtime の略、以前は TensorFlow Lite と呼ばれていました)は、オンデバイス AI 向けの Google の高性能ランタイムです。幅広い ML/AI タスクに対応した LiteRT モデルをすぐに実行できます。また、AI Edge 変換ツールと最適化ツールを使用して、TensorFlow、PyTorch、JAX のモデルを TFLite 形式に変換して実行することもできます。

主な機能

  • オンデバイス ML 向けに最適化: LiteRT は、レイテンシ(サーバーへの往復がない)、プライバシー(個人データがデバイスから離れない)、接続性(インターネット接続が不要)、サイズ(モデルとバイナリのサイズが縮小)、消費電力(効率的な推論とネットワーク接続の欠如)という 5 つの主要な ODML 制約に対応しています。

  • マルチプラットフォーム サポート: Android デバイス、iOS デバイス、組み込み Linuxマイクロコントローラに対応しています。

  • マルチ フレームワーク モデル オプション: AI Edge は、PyTorch モデルと TensorFlow モデルを FlatBuffers 形式(.tflite)に変換するツールを提供します。これにより、LiteRT で最先端のモデルを幅広く使用できます。また、量子化とメタデータを処理できるモデル最適化ツールにもアクセスできます。

  • 複数の言語: Java/Kotlin、Swift、Objective-C、C++、Python 用の SDK が含まれています。

  • 高パフォーマンス: GPU や iOS Core ML などの専用デリゲートによるハードウェア アクセラレーション

開発ワークフロー

LiteRT 開発ワークフローでは、ML/AI の問題を特定し、その問題を解決するモデルを選択して、モデルをオンデバイスで実装します。以下の手順では、ワークフローについて説明し、さらに詳しい説明へのリンクを紹介します。

1. ML の問題に最適なソリューションを特定する

LiteRT は、ML の問題を解決する際に高い柔軟性とカスタマイズ性を提供するため、特定のモデルや特殊な実装を必要とするユーザーに適しています。プラグ アンド プレイ ソリューションをお探しのユーザーは、オブジェクト検出、テキスト分類、LLM 推論などの一般的な ML タスク用の既製ソリューションを提供する MediaPipe Tasks を選択する場合があります。

次のいずれかの 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 モデルに変換する: PyTorch コンバータまたは TensorFlow コンバータを使用して、モデルを FlatBuffers 形式(.tflite)に変換し、LiteRT で実行できます。まず、次のサイトでモデルを見つけてください。

LiteRT モデルは、オプションでメタデータを含めることができます。このメタデータに人間が読めるモデルの説明や機械が読めるデータを追加して、デバイス上の推論時に前処理と後処理のパイプラインを自動的に生成できます。詳しくは、メタデータを追加するをご覧ください。

3. モデルをアプリに統合する

LiteRT モデルを実装して、ウェブ、組み込み、モバイル デバイスで推論を完全にオンデバイスで実行できます。LiteRT には、Android 用の PythonJava、Kotlin、iOS 用の Swift、マイクロ デバイス用の C++ の API が含まれています。

次のガイドを使用して、お好みのプラットフォームに LiteRT モデルを実装します。

  • Android で実行: Java/Kotlin API を使用して Android デバイスでモデルを実行します。
  • iOS で実行: Swift API を使用して iOS デバイスでモデルを実行します。
  • 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 クイックスタートから始めることをおすすめします。詳細については、次のセクションをご覧ください。

モデルの変換

プラットフォーム ガイド