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.