モバイル AI モデルのサイズが大きくなるにつれて、LiteRT デベロッパーはパフォーマンスを最大化する必要があります。NPU は、CPU や GPU と比較してレイテンシが低く、スループットが高く、消費電力が少ないオンデバイス AI にとってますます重要になっています。Qualcomm AI Engine Direct Delegate を介して Qualcomm® NPU を活用することで、Snapdragon デバイス上のモバイル AI アプリのパフォーマンスが大幅に向上します。Google AI Edge チームは Qualcomm と連携して、このデリゲートを Android アプリに統合するデモを行い、従来のプロセッサよりもパフォーマンスが向上したことを強調し、使用を開始する方法を示します。
Qualcomm AI Engine Direct Delegate
Qualcomm AI Engine Direct Delegate を使用すると、ユーザーは Qualcomm AI Stack を使用して LiteRT モデルを実行できます。デバイス上の LiteRT モデルの NPU で推論を実行するには、Qualcomm AI Engine Direct Delegate を使用する必要があります。サポートされているデバイスは次のとおりです。
- Snapdragon 8 Gen 1(SM8450)
- Snapdragon 8 Gen 2(SM8550)
- Snapdragon 8 Gen 3(SM8650)
- Snapdragon 8 Elite(SM8750)
- など
これらのデバイス上のアプリケーションは、AI モデルに最適なパフォーマンスを提供する NPU をターゲットにすることで、Qualcomm AI スタックを利用できます。
Qualcomm AI Engine Direct Delegate を使用して NPU を活用する方法
まず、Maven Central で入手できる Qualcomm AI Engine Direct Delegate をダウンロードします。Android Java アプリケーションでデリゲートを設定するには、次の依存関係が必要です。
dependencies {
implementation 'com.qualcomm.qti:qnn-runtime:2.34.0'
implementation 'com.qualcomm.qti:qnn-litert-delegate:2.34.0' }
デリゲートを使用するには:
try {
// Created default Options
QnnDelegate.Options options = new QnnDelegate.Options();
// Set the backend and library path
options.setBackendType(QnnDelegate.Options.BackendType.HTP_BACKEND);
options.setSkelLibraryDir(activity.getApplicationInfo().nativeLibraryDir);
// Create the Delegate instance.
qnnDelegate = new QnnDelegate(options);
tfliteOptions.addDelegate(qnnDelegate);
}
catch (UnsupportedOperationException e) {
// Delegate creation failed
}
tfliteInterpreter = new Interpreter(tfliteModel, tfliteOptions);
LiteRT 用の QNN Delegate を使用する Android アプリの例については、Qualcomm AI Hub の Android サンプルアプリをご覧ください。
パフォーマンス上のメリット
Qualcomm® Hexagon Tensor Processor を搭載した Snapdragon SOC を搭載したデバイスでは、ほとんどのモデルで GPU や CPU と比較して大幅に高速なパフォーマンスが得られます。HTP は、ニューラル ネットワークの計算に使用される、より電力効率の高いプロセッサでもあります。このパフォーマンス分析のサンプルとして、AI Hub Models の一部として事前最適化されたオープンソース モデルの MobileNetv2 を使用しました。
デバイス | NPU(HTP 用 QNN デリゲート) | GPU(GPUv2) | CPU(XNNPACK) |
---|---|---|---|
Samsung S25 | 0.3 ミリ秒 | 1.8 ミリ秒 | 2.8 ミリ秒 |
Samsung S24 | 0.4 ミリ秒 | 2.3 ミリ秒 | 3.6 ミリ秒 |
Samsung S23 | 0.6 ミリ秒 | 2.7 ミリ秒 | 4.1 ミリ秒 |
デバイス | NPU(HTP 用 QNN デリゲート) | GPU(GPUv2) | CPU(XNNPACK) |
---|---|---|---|
Samsung S25 | 24.9 ミリ秒 | 43 ミリ秒 | 481.7 ミリ秒 |
Samsung S24 | 29.8 ミリ秒 | 52.6 ミリ秒 | 621.4 ミリ秒 |
Samsung S23 | 43.7 ミリ秒 | 68.2 ミリ秒 | 871.1 ミリ秒 |
Snapdragon および Qualcomm ブランドの製品は、Qualcomm Technologies, Inc. および/またはその子会社の製品です。
次のステップ
LiteRT Next で NPU をシームレスに活用して AI アプリケーションを開発する方法に関する最新情報にご注目ください。