Benchmark CompiledModel API

LiteRT ベンチマーク ツールは、次の重要なパフォーマンス指標の統計情報を測定して計算します。

  • 初期化時間
  • ウォームアップ状態の推論時間
  • 定常状態の推論時間
  • 初期化時のメモリ使用量
  • メモリ使用量の全体像

CompiledModel ベンチマーク ツールは、C++ バイナリ benchmark_model として提供されます。このツールは、Android、Linux、macOS、Windows、GPU アクセラレーションが有効になっている組み込みデバイスのシェル コマンドラインから実行できます。

ビルド済みのベンチマーク バイナリをダウンロードする

次のリンクから、ナイトリー プリビルド コマンドライン バイナリをダウンロードします。

ソースからベンチマーク バイナリをビルドする

ソースからベンチマーク バイナリをビルドできます。

bazel build -c opt //litert/tools:benchmark_model

Android NDK ツールチェーンでビルドするには、まずこのガイドに沿ってビルド環境を設定するか、このガイドで説明されているように Docker イメージを使用する必要があります。

bazel build -c opt --config=android_arm64 \
  //litert/tools:benchmark_model

ベンチマークを実行する

ベンチマークを実行するには、シェルからバイナリを実行します。

path/to/downloaded_or_built/benchmark_model \
  --graph=your_model.tflite \
  --num_threads=4

その他のパラメータ オプションについては、benchmark_model のソースコードをご覧ください。

GPU アクセラレーションのベンチマーク

これらのビルド済みバイナリには、LiteRT GPU アクセラレータが含まれています。次の機能に対応しています。

  • Android: OpenCL
  • Linux: OpenCL と WebGPU(Vulkan でサポート)
  • macOS: Metal
  • Windows: WebGPU(Direct3D を基盤とする)

GPU アクセラレータを使用するには、--use_gpu=true フラグを渡します。

モデルの運用のプロファイリング

ベンチマーク モデルのバイナリを使用すると、モデルのオペレーションをプロファイリングして、各オペレーターの実行時間を取得することもできます。これを行うには、呼び出し時にフラグ --use_profiler=truebenchmark_model に渡します。