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.