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
- Segui i prerequisiti per configurare l'ambiente e il repository.
- Assicurati che
adbsia installato e che un dispositivo sia connesso. - Consulta la guida rapida e la
litert_lm_maindemo 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.