Qualcomm-NPU für die Entwicklung mobiler KI mit LiteRT verwenden

Da mobile KI-Modelle immer größer werden, müssen LiteRT-Entwickler die Leistung maximieren. NPUs sind für On-Device-KI immer wichtiger, da sie im Vergleich zu CPUs und GPUs eine geringere Latenz, einen höheren Durchsatz und einen geringeren Energieverbrauch bieten. Die Nutzung von Qualcomm®-NPUs über die Qualcomm AI Engine Direct Delegate verbessert die Leistung mobiler KI-Apps auf Snapdragon-Geräten erheblich. In Zusammenarbeit mit Qualcomm zeigt das Google AI Edge-Team, wie diese Delegation in Android-Apps eingebunden wird. Dabei werden Leistungssteigerungen im Vergleich zu herkömmlichen Prozessoren hervorgehoben und der Einstieg veranschaulicht.

Qualcomm AI Engine Direct Delegate

Mit der Qualcomm AI Engine Direct Delegate können Nutzer LiteRT-Modelle mit dem Qualcomm AI Stack ausführen. Die Verwendung der Qualcomm AI Engine Direct Delegate ist erforderlich, um die Inferenz für Ihr LiteRT-Modell auf dem Gerät auf der NPU auszuführen. Zu den unterstützten Geräten gehören:

  • Snapdragon 8 Gen 1 (SM8450)
  • Snapdragon 8 Gen 2 (SM8550)
  • Snapdragon 8 Gen 3 (SM8650)
  • Snapdragon 8 Elite (SM8750)
  • und mehr

Anwendungen auf diesen Geräten profitieren vom Qualcomm AI Stack, da sie auf die NPU ausgerichtet sind, die die beste Leistung für KI-Modelle bietet.

NPU mit Qualcomm AI Engine Direct Delegate nutzen

Laden Sie zuerst den Qualcomm AI Engine Direct Delegate herunter, der auf Maven Central verfügbar ist. Um den Delegierten in einer Android-Java-Anwendung einzurichten, sind die folgenden Abhängigkeiten erforderlich:

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

So verwenden Sie den Delegate:

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

Ein Beispiel für eine Android-App, die den QNN-Delegierten für LiteRT verwendet, finden Sie in den Android-Beispiel-Apps des Qualcomm AI Hub.

Leistungsvorteile

Auf Geräten mit Snapdragon-SOCs mit dem Qualcomm® Hexagon Tensor-Prozessor sind die meisten Modelle im Vergleich zu GPU und CPU deutlich schneller. Der HTP ist außerdem ein energieeffizienterer Prozessor für die Berechnung von neuronalen Netzwerken. MobileNetv2, ein Open-Source-Modell, das im Rahmen der AI Hub-Modelle vorab optimiert wurde, wurde als Beispiel für diese Leistungsanalyse verwendet.

Gerät NPU (QNN-Delegierter für 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
Gerät NPU (QNN-Delegierter für HTP) GPU (GPUv2) CPU (XNNPACK)
Samsung S25 24,9 ms 43 ms 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

Produkte mit der Marke Snapdragon und Qualcomm sind Produkte von Qualcomm Technologies, Inc. und/oder seinen Tochtergesellschaften.

Weitere Informationen

Weitere spannende Updates zur nahtlosen Nutzung von NPUs für die Entwicklung von KI-Anwendungen mit LiteRT Next folgen bald.