Ekzekutoni LLM në NPU duke përdorur LiteRT-LM

Njësitë e Përpunimit Neural (NPU) ofrojnë blloqe harduerike të specializuara të optimizuara për ngarkesa pune të të mësuarit të thellë. Ato janë gjithnjë e më të disponueshme në sistemet moderne në një çip (SoC), veçanërisht në pajisjet mobile. Natyra e tyre me performancë të lartë i bën ato shumë të përshtatshme për ekzekutimin e inferencës LLM.

LiteRT-LM është një bibliotekë C++ e projektuar për të drejtuar në mënyrë efikase tubacionet e modeleve gjuhësore në një gamë të gjerë pajisjesh, nga telefonat celularë te sistemet e integruara. Ajo u ofron zhvilluesve mjetet për të krijuar dhe vendosur rrjedha pune të sofistikuara të modeleve gjuhësore, tani me integrim të përsosur të NPU-së.

Shitësit e NPU-së

LiteRT-LM mbështet ekzekutimin e LLM-ve duke përdorur përshpejtimin e NPU-së me shitësit e mëposhtëm. Zgjidhni udhëzimet në varësi të shitësit që dëshironi të provoni:

Fillimi i shpejtë

  1. Ndiqni Parakushtet për të konfiguruar mjedisin dhe depon.
  2. Sigurohuni që adb është instaluar dhe një pajisje është e lidhur.
  3. Shihni Nisjen e Shpejtë dhe demonstrimin e linjës së komandës litert_lm_main .

Qualcomm AI Engine Direct

Hapi 1: Shkarkoni modelin .litertlm

Shkarkoni një skedar .litertlm që përputhet me SoC-në tuaj (shembuj më poshtë). Mund të kërkoni SoC-në e pajisjes suaj:

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"
Model SoC Kuantizimi Madhësia e kontekstit Madhësia e modelit (MB) Shkarko
Gemma3-1B SM8750 4-bit për kanal 1280 658 shkarko
Gemma3-1B SM8650 4-bit për kanal 1280 658 shkarko
Gemma3-1B SM8550 4-bit për kanal 1280 657 shkarko

Hapi 2: Shkarkoni dhe nxirrni libraritë QAIRT

Shkarkoni SDK-në QAIRT, ekstraktojeni atë dhe vendosni QAIRT_ROOT :

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

Hapi 3: Ndërtoni kohën e ekzekutimit / libraritë e LiteRT-LM

Instaloni Android NDK r28b+ dhe ndërtojeni:

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

Hapi 4: Ekzekutoni modelin në pajisje

Cakto shtegun e pajisjes dhe shty asetet:

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

Vraponi:

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

Përmbledhje e hapave

Fluksi i MediaTek pasqyron Qualcomm: përdorni një .litertlm të ndërtuar për SoC-në tuaj, përfshini bibliotekat e kohës së ekzekutimit të NeuroPilot, ndërtoni litert_lm_main , shtyni asete dhe ekzekutoni me --device=mediatek_npu .