LiteRT は、効率的な変換、ランタイム、最適化を使用して、エッジ プラットフォームでの高パフォーマンス ML と GenAI のデプロイを行う Google のオンデバイス フレームワークです。
LiteRT 2.x には、最新のランタイム API である CompiledModel API が含まれています。この API は、ハードウェア アクセラレーションとデバイス上の ML アプリケーションおよび AI アプリケーションの全体的なパフォーマンスを向上させることで、Interpreter API(TensorFlow Lite API)を改善します。CompiledModel API はベータ版で、Kotlin と C++ の両方で利用できます。
LiteRT の主な機能
サポートされているモデル
LiteRT は、Pytorch、TensorFlow、JAX フレームワークから .tflite または .litertlm 形式への効率的な変換をサポートしています。
LiteRT で開発を効率化する
アクセラレータの自動選択と明示的なデリゲート作成。シンプルな NPU ランタイムとモデル配信。 優れたパフォーマンスを実現する効率的な I/O バッファ処理と非同期実行。
クラス最高の GPU パフォーマンス
ML Drift を搭載し、GPU API で ML モデルと生成 AI モデルの両方をサポートするようになりました。
統合された NPU アクセラレーション
主要なチップセット プロバイダの簡素化された NPU アクセスを使用して、モデルを高速化します。
LiteRT による LLM サポートの簡素化
LiteRT を搭載した LiteRT-LM を使用できます。LiteRT-LM は、最新の LLM と、マルチモーダル、制約付きデコードなどの便利な機能をサポートしています。
開発ワークフロー
LiteRT は、Android、iOS、ウェブ、IoT、パソコン/ノートパソコンで推論を完全にオンデバイスで実行します。デバイスにかかわらず、最も一般的なワークフローは次のとおりです。詳細な手順へのリンクも記載しています。

ML の課題に対する最適なソリューションを特定する
LiteRT は、ML の問題の解決に関してユーザーに高い柔軟性とカスタマイズ性を提供します。そのため、特定のモデルや特殊な実装を必要とするユーザーに適しています。プラグ アンド プレイ ソリューションをお探しのユーザーは、オブジェクト検出、テキスト分類、LLM 推論などの一般的な ML タスク用の既製ソリューションを提供する MediaPipe Tasks を選択することをおすすめします。
モデルの取得と準備
LiteRT モデルは、FlatBuffers と呼ばれる効率的なポータブル フォーマットで表されます。このフォーマットでは、.tflite ファイル拡張子が使用されます。
LiteRT モデルは次の方法で取得できます。
事前トレーニング済みモデルを取得する: 画像セグメンテーションやオブジェクト検出などの一般的な ML ワークロードの場合。
最も簡単な方法は、
.tflite形式の LiteRT モデルをすでに使用することです。これらのモデルでは、コンバージョン手順を追加する必要はありません。モデルタイプ 事前トレーニング済みモデルのソース 従来の ML
(.tflite形式)Kaggle または HuggingFace
にアクセスします。例: 画像セグメンテーション モデルとサンプルアプリ生成 AI
(.litertlm形式)LiteRT Hugging Face ページ
例: Gemma ファミリー事前トレーニング済みモデルを使用しない場合は、選択した PyTorch、TensorFlow、JAX モデルを LiteRT モデルに変換します。[PRO USER]
モデル フレームワーク サンプルモデル 変換ツール PyTorch Hugging Face
Torchvisionリンク TensorFlow Kaggle モデル
Hugging Faceリンク Jax Hugging Face リンク 生成 API を使用してさらに最適化するために LLM を作成する [PRO ユーザー]
Generative API ライブラリは、モバイル フレンドリーな抽象化を使用して Gemma、TinyLlama などの Transformer モデルを構成するための PyTorch 組み込みのビルディング ブロックを提供します。これにより、変換を保証し、モバイル ランタイム LiteRT でパフォーマンスの高い実行を実現できます。生成 API のドキュメントをご覧ください。
量子化 [PRO ユーザー]
高度なデベロッパー向けの AI Edge Quantizer は、変換された LiteRT モデルを量子化するツールです。このモードは、リソースを大量に消費するモデル(生成 AI モデル)。
ML モデルと生成 AI モデルについては、Ai-Edge-Quantization のドキュメントをご覧ください。
利用を開始するための前提条件
- Python 3.10 ~ 3.12
.tfliteモデルファイル- 詳細については、各プラットフォームのセクションを参照してください
エッジ プラットフォームのアプリにモデルを統合する
LiteRT モデルを実装して、Android、iOS、ウェブ、IoT、パソコンのデバイスで推論を完全に実行できます。LiteRT には、Android 向けの Python、Java、Kotlin、iOS 向けの Swift、マイクロ デバイス向けの C++ の API が含まれています。
次のガイドを使用して、お好みのプラットフォームに LiteRT モデルを実装します。
| モデル フレームワーク | サンプルモデル | 変換ツール |
|---|---|---|
| Android で実行 | Android モバイル デバイス | C++/Kotlin API |
| iOS で実行する | iOS モバイル デバイス | C++/Swift* API |
| LiteRT.js を使用してウェブで実行する | Chrome、Firefox、Safari がインストールされているデバイス | JavaScript API |
| Run on Micro | 組み込みデバイス | C++ API |
*近日提供予定
Kotlin のコード例
// Load model and initialize runtime
val compiledModel = CompiledModel.create("/path/to/mymodel.tflite", CompiledModel.Options(Accelerator.CPU))
// Prepare I/O buffers and fill in the data
val inputBuffers = compiledModel.createInputBuffers()
inputBuffers.get(0).writeFloat(input0)
inputBuffers.get(1).writeFloat(input1)
val outputBuffers = compiledModel.createOutputBuffers()
// Execute model
compiledModel.run(inputBuffers, outputBuffers)
// Access model output
val output = outputBuffers.get(0).readFloat()
inputBuffers.forEach { it.close() }
outputBuffers.forEach { it.close() }
compiledModel.close()
C++ コードの例
LITERT_ASSIGN_OR_RETURN(auto env, GetEnvironment());
LITERT_ASSIGN_OR_RETURN(auto options, GetOptions());
LITERT_ASSIGN_OR_RETURN(
auto compiled_model,
CompiledModel::Create(env, "/path/to/mymodel.tflite", options));
LITERT_ASSIGN_OR_RETURN(auto input_buffers,compiled_model.CreateInputBuffers(signature_index));
LITERT_ASSIGN_OR_RETURN(auto output_buffers,compiled_model.CreateOutputBuffers(signature_index));
LITERT_ABORT_IF_ERROR(input_buffers[0].Write(input0));
LITERT_ABORT_IF_ERROR(input_buffers[1].Write(input1));
LITERT_ABORT_IF_ERROR(compiled_model.Run(signature_index, input_buffers, output_buffers));
LITERT_ABORT_IF_ERROR(output_buffers[0].Read(output0));
バックエンドを選択する
LiteRT にバックエンドを組み込む最も簡単な方法は、ランタイムの組み込みインテリジェンスを利用することです。最新の変更により、LiteRT はターゲット バックエンドをオプションとして指定できるため、設定が大幅に簡素化されます。
LiteRT v2.x のコアは CompiledModel オブジェクトです。モデルを読み込むと、LiteRT はシステムで使用可能なハードウェアと内部優先度ロジックを使用して、手動で構成しなくても最適なバックエンドを選択します。詳しくは、バックエンドをご覧ください。
| Android | パソコン | ウェブ | iOS | macOS | IoT | |
|---|---|---|---|---|---|---|
| CPU | XNNPack | XNNPack | XNNPack | XNNPack | XNNPack | XNNPack |
| GPU | WebGPU OpenCL |
WebGPU OpenCL |
WebGPU | WebGPU Metal |
WebGPU Metal |
WebGPU |
| NPU | MediaTek Qualcomm |
- | - | - | - | - |
その他のドキュメントとサポート
LiteRT v2.x サンプルアプリ LiteRT 画像セグメンテーション サンプルアプリをご覧ください。
TensorFlow Lite の既存のユーザーの場合 移行ガイドを参照してください
Ops Coverage 互換性のある演算子
サポートされている LLM モデル LiteRT Hugging face と Gen API - サンプル
ツール LiteRT ツールページ - パフォーマンス、プロファイリング、エラーレポートなど。