LiteRT を使用したモバイル AI 開発で Qualcomm NPU を活用する

モバイル 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 アプリケーションを開発する方法に関する最新情報にご注目ください。