Использование Qualcomm NPU для разработки мобильного ИИ с LiteRT

По мере развития мобильных моделей ИИ разработчикам LiteRT необходимо максимизировать производительность. NPU становятся все более важными для ИИ на устройстве, предлагая меньшую задержку, более высокую пропускную способность и сниженное энергопотребление по сравнению с центральными и графическими процессорами. Использование Qualcomm® NPU через Qualcomm AI Engine Direct Delegate значительно повышает производительность мобильных приложений ИИ на устройствах Snapdragon. В сотрудничестве с Qualcomm команда Google AI Edge продемонстрирует интеграцию этого делегата в приложения Android, подчеркнув прирост производительности по сравнению с традиционными процессорами и показав, как начать работу.

Прямой делегат Qualcomm AI Engine

Qualcomm AI Engine Direct Delegate позволяет пользователям запускать модели LiteRT с использованием Qualcomm AI Stack. Использование Qualcomm AI Engine Direct Delegate необходимо для запуска вывода на NPU для вашей модели LiteRT на устройстве. Поддерживаемые устройства включают:

  • Snapdragon 8 1-го поколения (SM8450)
  • Snapdragon 8 второго поколения (SM8550)
  • Snapdragon 8 3-го поколения (SM8650)
  • Snapdragon 8 Элит (SM8750)
  • и многое другое

Приложения на этих устройствах получат преимущества от стека искусственного интеллекта Qualcomm, ориентируясь на нейронный процессор, который обеспечивает наилучшую производительность для моделей искусственного интеллекта.

Как использовать NPU с помощью Qualcomm AI Engine Direct Delegate

Сначала загрузите Qualcomm AI Engine Direct Delegate, доступный на Maven Central . Для настройки делегата в приложении Android Java необходимы следующие зависимости:

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

Чтобы использовать делегат:

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

Пример приложения Android, использующего QNN Delegate для LiteRT, можно найти в разделе Примеры приложений Android Qualcomm AI Hub.

Преимущества производительности

На устройствах с Snapdragon SOC с процессором Qualcomm® Hexagon Tensor большинство моделей работают значительно быстрее по сравнению с GPU и CPU. HTP также является более энергоэффективным процессором для вычислений нейронных сетей. MobileNetv2, модель с открытым исходным кодом, предварительно оптимизированная как часть AI Hub Models, использовалась в качестве образца для этого анализа производительности.

Устройство NPU (делегат QNN от HTP) Графический процессор (ГПv2) ЦП (XNNPACK)
Самсунг С25 0,3 мс 1,8 мс 2.8мс
Самсунг С24 0,4 мс 2.3мс 3,6 мс
Самсунг С23 0,6 мс 2.7мс 4.1мс
Устройство NPU (делегат QNN от HTP) Графический процессор (ГПv2) ЦП (XNNPACK)
Самсунг С25 24,9 мс 43мс 481.7мс
Самсунг С24 29,8 мс 52,6 мс 621.4мс
Самсунг С23 43,7 мс 68.2мс 871.1мс

Продукция под брендами Snapdragon и Qualcomm является продукцией компании Qualcomm Technologies, Inc. и/или ее дочерних компаний.

Что дальше?

Оставайтесь с нами, чтобы получать еще больше интересных обновлений о бесперебойном использовании нейронных процессоров для разработки приложений ИИ с помощью LiteRT Next !