Menjalankan LLM di NPU menggunakan LiteRT-LM

Neural Processing Unit (NPU) menawarkan blok hardware khusus yang dioptimalkan untuk beban kerja deep learning. Fitur ini semakin banyak tersedia di sistem modern pada chip (SoC), terutama di perangkat seluler. Performa tinggi mereka membuatnya sangat cocok untuk menjalankan inferensi LLM.

LiteRT-LM adalah library C++ yang didesain untuk menjalankan pipeline model bahasa secara efisien di berbagai perangkat, mulai dari ponsel hingga sistem sematan. Layanan ini menyediakan alat bagi developer untuk membuat dan men-deploy alur kerja model bahasa yang canggih, kini dengan integrasi NPU yang lancar.

Vendor NPU

LiteRT-LM mendukung menjalankan LLM menggunakan akselerasi NPU dengan vendor berikut. Pilih petunjuk berdasarkan vendor yang ingin Anda coba:

Mulai Cepat

  1. Ikuti Prasyarat untuk menyiapkan lingkungan dan repositori.
  2. Pastikan adb diinstal dan perangkat terhubung.
  3. Lihat Panduan Memulai Cepat dan litert_lm_main demo command line.

Qualcomm AI Engine Direct

Langkah 1: Download model .litertlm

Download .litertlm yang cocok dengan SoC Anda (contoh di bawah). Anda dapat membuat kueri SoC perangkat:

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 Kuantisasi Ukuran konteks Ukuran Model (MB) Download
Gemma3-1B SM8750 4-bit per saluran 1280 658 download
Gemma3-1B SM8650 4-bit per saluran 1280 658 download
Gemma3-1B SM8550 4-bit per saluran 1280 657 download

Langkah 2: Download dan ekstrak library QAIRT

Download QAIRT SDK, ekstrak, dan tetapkan QAIRT_ROOT:

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

Langkah 3: Bangun runtime / library LiteRT-LM

Instal Android NDK r28b+ dan build:

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

Langkah 4: Jalankan model di perangkat

Tetapkan jalur perangkat dan kirim aset:

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

Jalankan:

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

Ringkasan langkah-langkah

Alur MediaTek mencerminkan Qualcomm: gunakan .litertlm yang dibuat untuk SoC Anda, sertakan library runtime NeuroPilot, build litert_lm_main, kirim aset, dan jalankan dengan --device=mediatek_npu.