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.
LiteRT-LM, dil modeli işlem hatlarını cep telefonlarından yerleşik sistemlere kadar çeşitli cihazlarda verimli bir şekilde çalıştırmak için tasarlanmış bir C++ kitaplığıdır. Geliştiricilere, gelişmiş dil modeli iş akışları oluşturup dağıtmak için araçlar sunar. Artık sorunsuz NPU entegrasyonu da mevcuttur.
NPU Tedarikçileri
LiteRT-LM, aşağıdaki satıcılarla NPU hızlandırması kullanarak LLM'lerin çalıştırılmasını destekler. Hangi tedarikçiyi denemek istediğinize bağlı olarak aşağıdaki talimatları uygulayın:
Hızlı Başlangıç
- Ortamı ve depoyu ayarlamak için Ön koşullar bölümündeki adımları uygulayın.
adbuygulamasının yüklü olduğundan ve bir cihazın bağlı olduğundan emin olun.- Hızlı Başlangıç ve
litert_lm_mainkomut 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'si hakkında sorgu gönderebilirsiniz:
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 çıkarı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.