LiteRT-LM का इस्तेमाल करके, एनपीयू पर एलएलएम चलाना

न्यूरल प्रोसेसिंग यूनिट (एनपीयू), डीप लर्निंग के कामों के लिए ऑप्टिमाइज़ किए गए खास हार्डवेयर ब्लॉक उपलब्ध कराती हैं. ये ज़्यादा से ज़्यादा आधुनिक सिस्टम ऑन अ चिप (एसओसी) में उपलब्ध होते हैं. खास तौर पर, मोबाइल डिवाइसों में. इनकी परफ़ॉर्मेंस अच्छी होती है. इसलिए, ये एलएलएम इन्फ़्रेंस चलाने के लिए सबसे सही हैं.

LiteRT-LM एक C++ लाइब्रेरी है. इसे भाषा मॉडल पाइपलाइन को मोबाइल फ़ोन से लेकर एम्बेड किए गए सिस्टम तक, कई तरह के डिवाइसों पर आसानी से चलाने के लिए डिज़ाइन किया गया है. यह डेवलपर को, भाषा के मॉडल से जुड़े बेहतरीन वर्कफ़्लो बनाने और उन्हें डिप्लॉय करने के लिए टूल उपलब्ध कराता है. अब इसमें एनपीयू को आसानी से इंटिग्रेट किया जा सकता है.

एनपीयू वेंडर

LiteRT-LM, इन वेंडर के एनपीयू ऐक्सलरेशन का इस्तेमाल करके एलएलएम चलाने की सुविधा देता है. आपको जिस वेंडर का इस्तेमाल करना है उसके हिसाब से निर्देश चुनें:

क्विक स्टार्ट

  1. एनवायरमेंट और रिपॉज़िटरी सेट अप करने के लिए, ज़रूरी शर्तें पढ़ें.
  2. पक्का करें कि adb इंस्टॉल हो और कोई डिवाइस कनेक्ट हो.
  3. आसानी से सीखें और litert_lm_main कमांड लाइन डेमो देखें.

Qualcomm AI Engine Direct

पहला चरण: .litertlm मॉडल डाउनलोड करें

अपने एसओसी से मेल खाने वाला .litertlm डाउनलोड करें. उदाहरण नीचे दिए गए हैं. अपने डिवाइस के एसओसी के बारे में ये सवाल पूछे जा सकते हैं:

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"
मॉडल SoC क्वांटाइज़ेशन कॉन्टेक्स्ट विंडो का साइज़ मॉडल का साइज़ (एमबी) डाउनलोड करें
Gemma3-1B SM8750 हर चैनल के लिए 4 बिट 1280 658 download
Gemma3-1B SM8650 हर चैनल के लिए 4 बिट 1280 658 download
Gemma3-1B SM8550 हर चैनल के लिए 4 बिट 1280 657 download

दूसरा चरण: QAIRT लाइब्रेरी डाउनलोड और एक्सट्रैक्ट करना

QAIRT SDK डाउनलोड करें, उसे एक्सट्रैक्ट करें, और QAIRT_ROOT सेट करें:

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

तीसरा चरण: LiteRT-LM रनटाइम / लाइब्रेरी बनाना

Android NDK r28b+ इंस्टॉल करें और बनाएं:

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

चौथा चरण: डिवाइस पर मॉडल चलाना

अपने डिवाइस का पाथ सेट करें और ऐसेट पुश करें:

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

रन:

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

चरणों की खास जानकारी

MediaTek का फ़्लो, Qualcomm के फ़्लो जैसा ही होता है: अपने SoC के लिए .litertlm का इस्तेमाल करें, NeuroPilot रनटाइम लाइब्रेरी शामिल करें, litert_lm_main बनाएं, ऐसेट पुश करें, और --device=mediatek_npu के साथ चलाएं.