Utilizzo delle NPU Qualcomm per lo sviluppo di AI mobile con LiteRT

Con la crescita dei modelli di AI mobile, gli sviluppatori di LiteRT devono massimizzare le prestazioni. Le NPU sono sempre più importanti per l'AI on-device, in quanto offrono latenza inferiore, throughput superiore e consumo energetico ridotto rispetto a CPU e GPU. L'utilizzo delle NPU Qualcomm® tramite il delegato diretto del motore IA di Qualcomm migliora in modo significativo le prestazioni delle app di IA mobile sui dispositivi Snapdragon. In collaborazione con Qualcomm, il team di Google AI Edge dimostrerà l'integrazione di questo delegato nelle app Android, mettendo in evidenza i vantaggi in termini di prestazioni rispetto ai processori tradizionali e mostrando come iniziare.

Qualcomm AI Engine Direct Delegate

Il delegato diretto dell'AI Engine di Qualcomm consente agli utenti di eseguire modelli LiteRT utilizzando la piattaforma AI di Qualcomm. L'utilizzo di Qualcomm AI Engine Direct Delegate è essenziale per eseguire l'inferenza sull'NPU per il tuo modello LiteRT on-device. I dispositivi supportati includono:

  • Snapdragon 8 Gen 1 (SM8450)
  • Snapdragon 8 Gen 2 (SM8550)
  • Snapdragon 8 Gen 3 (SM8650)
  • Snapdragon 8 Elite (SM8750)
  • e altro ancora

Le applicazioni su questi dispositivi trarranno vantaggio dall'AI Stack di Qualcomm scegliendo come target l'NPU, che offre le migliori prestazioni per i modelli di IA.

Come sfruttare l'NPU utilizzando il delegato diretto dell'AI Engine di Qualcomm

Innanzitutto, scarica il componente Qualcomm AI Engine Direct Delegate disponibile su Maven Central. Per configurare il delegato in un'applicazione Java per Android, sono necessarie le seguenti dipendenze:

dependencies {
 implementation 'com.qualcomm.qti:qnn-runtime:2.34.0'
 implementation 'com.qualcomm.qti:qnn-litert-delegate:2.34.0' }

Per utilizzare il delegato:

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);

Per vedere un esempio di app per Android che utilizza il delegato QNN per LiteRT, consulta le app di esempio per Android di Qualcomm AI Hub.

Vantaggi in termini di rendimento

Sui dispositivi con SoC Snapdragon con il processore Qualcomm® Hexagon Tensor, la maggior parte dei modelli offre prestazioni notevolmente più elevate rispetto a GPU e CPU. L'HTP è anche un processore più efficiente in termini di consumo energetico per il calcolo delle reti neurali. MobileNetv2, un modello open source preottimizzato nell'ambito di Modelli di AI Hub, è stato utilizzato come campione per questa analisi delle prestazioni.

Dispositivo NPU (QNN Delegate for HTP) GPU (GPUv2) CPU (XNNPACK)
Samsung S25 0,3 ms 1,8 ms 2,8 ms
Samsung S24 0,4 ms 2,3 ms 3,6 ms
Samsung S23 0,6 ms 2,7 ms 4,1 ms
Dispositivo NPU (QNN Delegate for HTP) GPU (GPUv2) CPU (XNNPACK)
Samsung S25 24,9 ms 43ms 481,7 ms
Samsung S24 29,8 ms 52,6 ms 621,4 ms
Samsung S23 43,7 ms 68,2 ms 871,1 ms

I prodotti con marchio Snapdragon e Qualcomm sono prodotti di Qualcomm Technologies, Inc. e/o delle sue consociate.

Passaggi successivi

Continua a seguirci per altri aggiornamenti interessanti sull'utilizzo delle NPU per lo sviluppo di applicazioni di IA con LiteRT Next.