As unidades de processamento neural (NPUs) oferecem blocos de hardware especializados otimizados para cargas de trabalho de aprendizado profundo. Eles estão cada vez mais disponíveis em sistemas modernos em um chip (SoCs), especialmente em dispositivos móveis. O alto desempenho delas as torna ideais para executar inferência de LLM.
O LiteRT-LM é uma biblioteca C++ projetada para executar com eficiência pipelines de modelos de linguagem em uma ampla variedade de dispositivos, de smartphones a sistemas incorporados. Ele oferece aos desenvolvedores as ferramentas para criar e implantar fluxos de trabalho sofisticados de modelos de linguagem, agora com integração perfeita da NPU.
Fornecedores de NPU
O LiteRT-LM é compatível com a execução de LLMs usando aceleração de NPU com os seguintes fornecedores. Escolha as instruções de acordo com o fornecedor que você quer testar:
- Qualcomm AI Engine Direct (em inglês)
- MediaTek NeuroPilot
Início rápido
- Siga os pré-requisitos para configurar o ambiente e o repositório.
- Verifique se o
adbestá instalado e se um dispositivo está conectado. - Consulte o Início rápido e a
litert_lm_maindemonstração da linha de comando.
Qualcomm AI Engine Direct
Etapa 1:faça o download do modelo .litertlm
Baixe um .litertlm que corresponda ao seu SoC (exemplos abaixo). Você pode consultar o SoC do seu dispositivo:
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"
| Modelo | SoC | Quantização | Tamanho do contexto | Tamanho do modelo (MB) | Download |
|---|---|---|---|---|---|
| Gemma3-1B | SM8750 | 4 bits por canal | 1280 | 658 | download |
| Gemma3-1B | SM8650 | 4 bits por canal | 1280 | 658 | download |
| Gemma3-1B | SM8550 | 4 bits por canal | 1280 | 657 | download |
Etapa 2:faça o download e extraia as bibliotecas do QAIRT
Faça o download e extraia o SDK do QAIRT e defina QAIRT_ROOT:
unzip <your_file.zip> -d ~/
QAIRT_ROOT=~/qairt/2.34.0.250424
Etapa 3:crie o ambiente de execução / bibliotecas do LiteRT-LM
Instale o Android NDK r28b+ e crie o build:
bazel build --config=android_arm64 //runtime/engine:litert_lm_main
bazel build --config=android_arm64 \
@litert//litert/vendors/qualcomm/dispatch:dispatch_api_so
Etapa 4:execute o modelo no dispositivo
Defina o caminho do dispositivo e envie recursos:
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
Execute:
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
Visão geral das etapas
O fluxo da MediaTek é semelhante ao da Qualcomm: use um .litertlm criado para seu SoC, inclua
bibliotecas de tempo de execução do NeuroPilot, crie litert_lm_main, envie recursos e execute com
--device=mediatek_npu.