O LiteRT-LM é uma biblioteca multiplataforma projetada para executar com eficiência pipelines de modelos de linguagem em uma ampla variedade de dispositivos, desde smartphones até 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.
Executar LLMs em CPUs e GPUs
Consulte o repositório do GitHub LiteRT-LM para instruções detalhadas sobre desenvolvimento multiplataforma e aceleração de hardware de CPU/GPU.
Executar LLMs na NPU
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. A natureza de alto desempenho os torna ideais para executar a inferência de LLM.
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.
- Confira 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) | Fazer o 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.