Korzystanie z procesorów Qualcomm NPU do tworzenia aplikacji mobilnych z AI przy użyciu LiteRT

Wraz z rozwojem mobilnych modeli AI deweloperzy LiteRT muszą maksymalizować wydajność. Procesory NPUs stają się coraz ważniejszym elementem sztucznej inteligencji na urządzeniu, ponieważ zapewniają mniejsze opóźnienia, większą przepustowość i mniejsze zużycie energii w porównaniu z procesorami CPU i GPU. Korzystanie z procesorów Qualcomm® NPUs za pomocą interfejsu Qualcomm AI Engine Direct Delegate znacznie poprawia wydajność aplikacji mobilnych opartych na AI na urządzeniach Snapdragon. Wspólnie z firmą Qualcomm zespół Google AI Edge zademonstruje integrację tego komponentu w aplikacjach na Androida, przedstawiając przy tym wzrost wydajności w porównaniu z tradycyjnymi procesorami i wskazując, jak zacząć.

Qualcomm AI Engine Direct Delegate

Interfejs bezpośredni Qualcomm AI Engine umożliwia użytkownikom uruchamianie modeli LiteRT za pomocą pakietu Qualcomm AI Stack. Korzystanie z interfejsu Qualcomm AI Engine Direct Delegate jest niezbędne do przeprowadzania wnioskowania na procesorze NPU w przypadku modelu LiteRT na urządzeniu. Obsługiwane urządzenia:

  • Snapdragon 8 Gen 1 (SM8450)
  • Snapdragon 8 (2 generacji) (SM8550)
  • Snapdragon 8 Gen 3 (SM8650)
  • Snapdragon 8 Elite (SM8750)
  • i jeszcze więcej

Aplikacje na tych urządzeniach będą korzystać z platformy AI od Qualcomm, kierując się na NPU, która zapewnia najlepszą wydajność dla modeli AI.

Jak korzystać z NPU za pomocą interfejsu Qualcomm AI Engine Direct Delegate

Najpierw pobierz bibliotekę Qualcomm AI Engine Direct Delegate dostępną w Maven Central. Aby skonfigurować delegowanie w aplikacji na Androida w języku Java, musisz użyć tych zależności:

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

Aby użyć delegata:

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

Przykład aplikacji na Androida, która korzysta z delegata QNN dla LiteRT, znajdziesz w Qualcomm AI Hub Aplikacje na Androida.

Korzyści związane z wydajnością

Na urządzeniach z procesorami Snapdragon SOC z procesorem Qualcomm® Hexagon Tensor większość modeli działa znacznie szybciej niż procesor GPU i CPU. HTP to też procesor o większej wydajności energetycznej do obliczeń sieci neuronowych. W tej analizie wydajności jako przykładowy model wykorzystaliśmy model open source MobileNetv2, który został wstępnie zoptymalizowany w ramach modeli Centrum AI.

Urządzenie 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
Urządzenie NPU (QNN Delegate for 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

Produkty pod marką Snapdragon i Qualcomm są produktami firmy Qualcomm Technologies, Inc. lub jej spółek zależnych.

Co dalej

Wkrótce podamy więcej informacji o płynnym wykorzystywaniu jednostek przetwarzania języka naturalnego do tworzenia aplikacji z wykorzystaniem AI za pomocą LiteRT Next.