Esegui LLM utilizzando LiteRT-LM

LiteRT-LM è una libreria multipiattaforma progettata per eseguire in modo efficiente pipeline di modelli linguistici su un'ampia gamma di dispositivi, dai cellulari ai sistemi incorporati. Fornisce agli sviluppatori gli strumenti per creare e implementare flussi di lavoro sofisticati per modelli linguistici, ora con un'integrazione perfetta della NPU.

Esegui LLM su CPU e GPU

Consulta il repository GitHub LiteRT-LM per istruzioni dettagliate sullo sviluppo cross-platform e sull'accelerazione hardware CPU/GPU.

Esegui LLM sulla NPU

Le NPU (Neural Processing Unit) offrono blocchi hardware specializzati ottimizzati per i carichi di lavoro di deep learning. Sono sempre più disponibili nei moderni sistemi su un chip (SoC), in particolare sui dispositivi mobili. Le loro prestazioni elevate le rendono ideali per l'esecuzione dell'inferenza LLM.

Fornitori di NPU

LiteRT-LM supporta l'esecuzione di LLM utilizzando l'accelerazione NPU con i seguenti fornitori. Scegli le istruzioni in base al fornitore che vuoi provare:

Avvio rapido

  1. Segui i prerequisiti per configurare l'ambiente e il repository.
  2. Assicurati che adb sia installato e che un dispositivo sia connesso.
  3. Consulta la guida rapida e la litert_lm_main demo della riga di comando.

Qualcomm AI Engine Direct

Passaggio 1: scarica il .litertlmmodello

Scarica un .litertlm corrispondente al tuo SoC (esempi di seguito). Puoi eseguire una query sul SoC del tuo 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"
Modello SoC Quantizzazione Dimensioni del contesto Dimensione modello (MB) Scarica
Gemma3-1B SM8750 4 bit per canale 1280 658 scaricare
Gemma3-1B SM8650 4 bit per canale 1280 658 scaricare
Gemma3-1B SM8550 4 bit per canale 1280 657 scaricare

Passaggio 2: scarica ed estrai le librerie QAIRT

Scarica l'SDK QAIRT, estrailo e imposta QAIRT_ROOT:

unzip <your_file.zip> -d ~/
QAIRT_ROOT=~/qairt/2.34.0.250424

Passaggio 3: crea il runtime / le librerie LiteRT-LM

Installa Android NDK r28b+ e compila:

bazel build --config=android_arm64 //runtime/engine:litert_lm_main
bazel build --config=android_arm64 \
    @litert//litert/vendors/qualcomm/dispatch:dispatch_api_so

Passaggio 4: esegui il modello sul dispositivo

Imposta il percorso del dispositivo e invia gli asset:

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

Esegui:

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

Panoramica dei passaggi

Il flusso di MediaTek è simile a quello di Qualcomm: utilizza un .litertlm creato per il tuo SoC, includi le librerie di runtime NeuroPilot, crea litert_lm_main, inserisci gli asset ed esegui con --device=mediatek_npu.