LiteRT-LM kullanarak LLM'leri çalıştırma

LiteRT-LM, dil modeli işlem hatlarını mobil telefonlardan yerleşik sistemlere kadar çeşitli cihazlarda verimli bir şekilde çalıştırmak için tasarlanmış platformlar arası bir kitaplıktır. Geliştiricilere, gelişmiş dil modeli iş akışları oluşturup dağıtmak için araçlar sunar. Artık sorunsuz NPU entegrasyonuyla birlikte.

CPU ve GPU'da LLM'leri çalıştırma

Platformlar arası geliştirme ve CPU/GPU donanım hızlandırmasıyla ilgili ayrıntılı talimatlar için LiteRT-LM GitHub deposuna bakın.

LLM'leri NPU'da çalıştırma

Sinirsel İşleme Birimleri (NPU'lar), derin öğrenme iş yükleri için optimize edilmiş özel donanım blokları sunar. Bu türler, özellikle mobil cihazlarda olmak üzere, modern çip üzerinde sistemlerde (SoC'ler) giderek daha fazla kullanılmaktadır. Yüksek performanslı yapıları nedeniyle LLM çıkarımı çalıştırmak için idealdirler.

NPU Tedarikçileri

LiteRT-LM, aşağıdaki satıcıların NPU hızlandırmasıyla LLM'lerin çalıştırılmasını destekler. Denemek istediğiniz tedarikçiye bağlı olarak aşağıdaki talimatları uygulayın:

Hızlı Başlangıç

  1. Ortamı ve depoyu ayarlamak için Ön koşullar bölümündeki adımları uygulayın.
  2. adb uygulamasının yüklü olduğundan ve bir cihazın bağlı olduğundan emin olun.
  3. Hızlı Başlangıç ve litert_lm_main komut satırı demosuna göz atın.

Qualcomm AI Engine Direct

1. adım: .litertlm modelini indirin

SoC'nize uygun bir .litertlm indirin (aşağıda örnekler verilmiştir). Cihazınızın SoC'sini sorgulayabilirsiniz:

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 Çip üzerinde sistem (SoC) Kuantizasyon Bağlam boyutu Model Boyutu (MB) İndir
Gemma3-1B SM8750 Kanal başına 4 bit 1.280 658 download
Gemma3-1B SM8650 Kanal başına 4 bit 1.280 658 download
Gemma3-1B SM8550 Kanal başına 4 bit 1.280 657 download

2. adım: QAIRT kitaplıklarını indirip ayıklayın

QAIRT SDK'sını indirip ayıklayın ve QAIRT_ROOT değerini ayarlayın:

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

3. adım: LiteRT-LM çalışma zamanını / kitaplıklarını oluşturun

Android NDK r28b+ sürümünü yükleyin ve derleyin:

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

4. adım: Modeli cihazda çalıştırın

Cihaz yolunuzu ayarlayın ve öğeleri gönderin:

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

Çalıştır:

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

Adımlara genel bakış

MediaTek akışı, Qualcomm'u yansıtır: SoC'niz için .litertlm oluşturun, NeuroPilot çalışma zamanı kitaplıklarını ekleyin, litert_lm_main oluşturun, öğeleri gönderin ve --device=mediatek_npu ile çalıştırın.