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=true を benchmark_model に渡します。