Нейронные процессоры (NPU) представляют собой специализированные аппаратные блоки, оптимизированные для задач глубокого обучения. Они всё чаще используются в современных системах на кристалле (SoC), особенно на мобильных устройствах. Благодаря своей высокой производительности они отлично подходят для выполнения LLM-инференса.
LiteRT-LM — это библиотека C++, разработанная для эффективного запуска конвейеров языковых моделей на широком спектре устройств, от мобильных телефонов до встраиваемых систем. Она предоставляет разработчикам инструменты для создания и развертывания сложных рабочих процессов языковых моделей, теперь с бесшовной интеграцией с нейронными процессорами (NPU).
Поставщики НПУ
LiteRT-LM поддерживает запуск LLM с использованием NPU-ускорения от следующих поставщиков. Выберите инструкции в зависимости от того, какого поставщика вы хотите попробовать:
Быстрый старт
- Следуйте предварительным требованиям для настройки среды и репозитория.
- Убедитесь, что
adbустановлен и устройство подключено. - См. Быстрый старт и демонстрацию командной строки
litert_lm_main.
Qualcomm AI Engine Direct
Шаг 1: Загрузите модель
.litertlm
Загрузите .litertlm -файл, соответствующий вашей SoC (примеры ниже). Вы можете запросить информацию о SoC вашего устройства:
SOC_MODEL=$(adb shell getprop ro.soc.model | tr '[:upper:]' '[:lower:]')
echo "https://huggingface.co/litert-community/Gemma3-1B-IT/blob/main/Gemma3-1B-IT_q4_ekv1280_${SOC_MODEL}.litertlm"
| Модель | SoC | Квантование | Размер контекста | Размер модели (МБ) | Скачать |
|---|---|---|---|---|---|
| Джемма3-1Б | SM8750 | 4 бита на канал | 1280 | 658 | скачать |
| Джемма3-1Б | SM8650 | 4 бита на канал | 1280 | 658 | скачать |
| Джемма3-1Б | SM8550 | 4 бита на канал | 1280 | 657 | скачать |
Шаг 2: Загрузите и извлеките библиотеки QAIRT.
Загрузите QAIRT SDK, распакуйте его и установите QAIRT_ROOT :
unzip <your_file.zip> -d ~/
QAIRT_ROOT=~/qairt/2.34.0.250424
Шаг 3: Сборка среды выполнения LiteRT-LM и библиотек
Установите Android NDK r28b+ и соберите:
bazel build --config=android_arm64 //runtime/engine:litert_lm_main
bazel build --config=android_arm64 \
@litert//litert/vendors/qualcomm/dispatch:dispatch_api_so
Шаг 4: Запустите модель на устройстве
Укажите путь к устройству и отправьте ресурсы:
export DEVICE_FOLDER=/data/local/tmp/
adb shell mkdir -p $DEVICE_FOLDER
export MODEL_PATH=<path-to-model.litertlm>
adb push $MODEL_PATH $DEVICE_FOLDER/model.litertlm
adb push $QAIRT_ROOT/lib/aarch64-android/* $DEVICE_FOLDER/
adb push bazel-bin/runtime/engine/litert_lm_main $DEVICE_FOLDER/
adb shell chmod +x $DEVICE_FOLDER/litert_lm_main
Бегать:
adb shell "cd $DEVICE_FOLDER && \
QAIRT_ROOT=$DEVICE_FOLDER \
./litert_lm_main --model=model.litertlm \
--prompt='Explain the history of LiteRT in 3 bullet points' \
--device=qualcomm_npu --rounds=1"
MediaTek NeuroPilot
Обзор шагов
MediaTek Flow зеркалирует Qualcomm: используйте .litertlm созданный для вашей SoC, включите библиотеки времени выполнения NeuroPilot, соберите litert_lm_main , отправьте ресурсы и запустите с --device=mediatek_npu .