LiteRT-LM का इस्तेमाल करके एलएलएम चलाना

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

सीपीयू और जीपीयू पर एलएलएम चलाना

क्रॉस-प्लैटफ़ॉर्म डेवलपमेंट और सीपीयू/जीपीयू हार्डवेयर ऐक्सेलरेट के बारे में ज़्यादा जानने के लिए, LiteRT-LM GitHub रिपॉज़िटरी देखें.

एनपीयू पर एलएलएम चलाना

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

एनपीयू वेंडर

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

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

शुरू करने के लिए, पहले ज़रूरी शर्तें पढ़ें और एनवायरमेंट और रिपॉज़िटरी सेट अप करने के लिए दिए गए निर्देशों का पालन करें.

इसके अलावा, अपने Android डिवाइस से इंटरैक्ट करने के लिए, पक्का करें कि आपने Android डीबग ब्रिज को ठीक से इंस्टॉल किया हो. साथ ही, आपके पास एक ऐसा डिवाइस हो जिसे adb का इस्तेमाल करके ऐक्सेस किया जा सकता हो.

ज़्यादा जानकारी के लिए, LiteRT-LM रिपॉज़िटरी में क्विक स्टार्ट सेक्शन देखें. साथ ही, litert_lm_main कमांड लाइन डेमो के बारे में ज़्यादा जानें.

Google Tensor

Google Tensor पर LLM चलाने के लिए, यह तरीका अपनाएं:

पहला चरण: .litertlm मॉडल डाउनलोड करें LiteRT-LM रनटाइम को .litertlm फ़ॉर्मैट वाले मॉडल के साथ काम करने के लिए डिज़ाइन किया गया है.

नीचे दी गई टेबल में, साथ काम करने वाले मॉडल देखे और डाउनलोड किए जा सकते हैं:

मॉडल SoC क्वांटाइज़ेशन कॉन्टेक्स्ट विंडो का साइज़ मॉडल का साइज़ (एमबी) डाउनलोड करने का लिंक
Gemma3-1B Tensor_G5 हर चैनल के लिए 8-बिट 1280 1704 download

यहां एक उदाहरण दिया गया है. इससे आपको Hugging Face का वह लिंक मिल सकता है जिससे आपके फ़ोन के एसओसी के लिए सही मॉडल डाउनलोड किया जा सकता है. ध्यान दें कि फ़ाइल डाउनलोड करने की अनुमति पाने के लिए, आपको लॉगिन करना होगा और फ़ॉर्म स्वीकार करना होगा. आपको यह पक्का करना होगा कि कोई ऐसा डिवाइस कनेक्ट हो जिसे adb का इस्तेमाल करके ऐक्सेस किया जा सके.

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_Google_${SOC_MODEL}.litertlm"

पुष्टि करें कि $SOC_MODEL, सहायता टेबल में शामिल है. जनरेट किया गया लिंक, इस्तेमाल न किए जा सकने वाले मॉडल के लिए काम नहीं करेगा. एनपीयू के लिए नई सुविधाएं लगातार जोड़ी जा रही हैं. इसलिए, कुछ समय बाद फिर से देखें कि आपके डिवाइस पर ये सुविधाएं काम करती हैं या नहीं.

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

Linux में डेवलप करना

Android के लिए बाइनरी बनाने के लिए, NDK r28b या Latest Stable Version से नया वर्शन इंस्टॉल करना होगा.

यह तरीका अपनाएं:

  • Latest Stable Version से, एनडीके का नया और स्टेबल वर्शन (zip फ़ाइल) डाउनलोड करें.
  • zip फ़ाइल को अपनी पसंद की जगह पर निकालें. उदाहरण के लिए, /path/to/AndroidNDK/
  • ANDROID_NDK_HOME को NDK डायरेक्ट्री पर ले जाएं. यह कुछ इस तरह का होना चाहिए:
export ANDROID_NDK_HOME=/path/to/AndroidNDK/

इस सेटअप के साथ, litert_lm_main बाइनरी बनाने के लिए, इस निर्देश का इस्तेमाल करें:

bazel build --config=android_arm64 //runtime/engine:litert_lm_main

इसके अलावा, डिस्पैच एपीआई लाइब्रेरी बनाएं, ताकि LiteRT-LM रनटाइम, एनपीयू के साथ इंटरैक्ट कर सके:

bazel build --config=android_arm64 \
    @litert//litert/vendors/google_tensor/dispatch:dispatch_api_so

तीसरा चरण: डिवाइस पर मॉडल चलाना बाइनरी के बन जाने के बाद, अब हम डिवाइस पर मॉडल चलाने की कोशिश कर सकते हैं. पक्का करें कि आपके पास DEVICE_FOLDER में लिखने का ऐक्सेस हो:

आपके Android डिवाइस पर बाइनरी चलाने के लिए, हमें कुछ ऐसेट / बाइनरी पुश करनी होंगी. सबसे पहले, अपना DEVICE_FOLDER सेट करें. पक्का करें कि आपके पास इसमें बदलाव करने का ऐक्सेस हो. आम तौर पर, /data/local/tmp/ में बदलाव किया जा सकता है:

export DEVICE_FOLDER=/data/local/tmp/
adb shell mkdir -p $DEVICE_FOLDER

export MODEL_PATH=<path to your downloaded .litertlm >

.litertlm फ़ाइल को पुश करें.

adb push $MODEL_PATH $DEVICE_FOLDER/model.litertlm

दूसरे चरण में कंपाइल किए गए Dispatch API और मुख्य बाइनरी को पुश करें.

adb push bazel-bin/external/litert/litert/vendors/google_tensor/*/*.so \
    $DEVICE_FOLDER
adb push prebuilt/android_arm64/*.so $DEVICE_FOLDER
adb push bazel-bin/runtime/engine/litert_lm_main $DEVICE_FOLDER

अब बाइनरी को एक्ज़ीक्यूट किया जा सकता है.

adb shell LD_LIBRARY_PATH=$DEVICE_FOLDER \
    $DEVICE_FOLDER/litert_lm_main \
    --backend=npu \
    --model_path=$DEVICE_FOLDER/model.litertlm

Qualcomm AI Engine Direct

Qualcomm NPU पर LLM चलाने का तरीका यहां दिया गया है:

पहला चरण: .litertlm मॉडल डाउनलोड करें LiteRT-LM रनटाइम को .litertlm फ़ॉर्मैट वाले मॉडल के साथ काम करने के लिए डिज़ाइन किया गया है. नीचे दी गई टेबल में, साथ काम करने वाले मॉडल देखे और डाउनलोड किए जा सकते हैं.

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

आपको अपने SoC के हिसाब से मॉडल डाउनलोड करना होगा. यहां एक उदाहरण दिया गया है. इससे आपको Hugging Face का वह लिंक मिल सकता है जिससे आपके फ़ोन के SoC के लिए सही मॉडल डाउनलोड किया जा सकता है. ध्यान दें कि फ़ाइल डाउनलोड करने की अनुमति पाने के लिए, आपको लॉगिन करना होगा और फ़ॉर्म को स्वीकार करना होगा. आपको यह पक्का करना होगा कि कोई ऐसा डिवाइस कनेक्ट हो जिसे adb का इस्तेमाल करके ऐक्सेस किया जा सके.

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_MODEL, सहायता टेबल में शामिल है. जनरेट किया गया लिंक, इस्तेमाल न किए जा सकने वाले मॉडल के लिए काम नहीं करेगा. एनपीयू के लिए नई सुविधाएं लगातार जोड़ी जा रही हैं. इसलिए, कुछ समय बाद फिर से देखें कि आपके डिवाइस पर ये सुविधाएं काम करती हैं या नहीं.

दूसरा चरण: QAIRT लाइब्रेरी डाउनलोड और एक्सट्रैक्ट करें Qualcomm NPU का इस्तेमाल करके मॉडल चलाने के लिए, डिवाइस पर इससे जुड़ी रनटाइम लाइब्रेरी की ज़रूरत होती है. QAIRT SDK को इस लिंक से डाउनलोड किया जा सकता है. इसके बाद, फ़ाइल को एक्सट्रैक्ट करें. वेरिएबल QAIRT_ROOT को सेट करें. इसका इस्तेमाल बाद के चरणों में किया जाएगा. इसे उस अनज़िप किए गए फ़ोल्डर की ओर ले जाएं जिसमें वर्शन नंबर शामिल है. उदाहरण के लिए:

unzip <your_file.zip> -d ~/

QAIRT_ROOT=~/qairt/2.42.0.251225

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

Linux में डेवलप करना

Android के लिए बाइनरी बनाने के लिए, https://developer.android.com/ndk/downloads#stable-downloads से NDK r28b या नया वर्शन इंस्टॉल करना होगा. इसके लिए, यह तरीका अपनाएं:

  • https://developer.android.com/ndk/downloads#stable-downloads से zip फ़ाइल डाउनलोड करें.
  • zip फ़ाइल को अपनी पसंद की जगह पर निकालें. उदाहरण के लिए, /path/to/AndroidNDK/
  • NDK डायरेक्ट्री की ओर ले जाने के लिए, ANDROID_NDK_HOME बनाएं. यह इस तरह का होना चाहिए:
export ANDROID_NDK_HOME=/path/to/AndroidNDK/

अहम जानकारी: पक्का करें कि आपका ANDROID_NDK_HOME उस डायरेक्ट्री की ओर इशारा करता हो जिसमें README.md मौजूद है.

सेट अप करने के बाद, litert_lm_main बाइनरी बनाने की कोशिश करें:

bazel build --config=android_arm64 //runtime/engine:litert_lm_main

इसके अलावा, हमें डिस्पैच एपीआई लाइब्रेरी बनानी चाहिए, ताकि LiteRT-LM रनटाइम, एनपीयू के साथ इंटरैक्ट कर सके:

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

macOS में डेवलप करना

Xcode कमांड-लाइन टूल में clang शामिल है. अगर आपने इसे पहले इंस्टॉल नहीं किया है, तो xcode-select --install चलाएं.

Android के लिए बाइनरी बनाने के लिए, https://developer.android.com/ndk/downloads#stable-downloads से NDK r28b या नया वर्शन इंस्टॉल करना होगा. इसके लिए, यह तरीका अपनाएं:

  • https://developer.android.com/ndk/downloads#stable-downloads से .dmg फ़ाइल डाउनलोड करें.
  • .dmg फ़ाइल खोलें और AndroidNDK* फ़ाइल को अपनी पसंद की जगह (जैसे कि /path/to/AndroidNDK/) पर ले जाएं
  • NDK डायरेक्ट्री की ओर ले जाने के लिए, ANDROID_NDK_HOME बनाएं. यह इस तरह का होना चाहिए:
export ANDROID_NDK_HOME=/path/to/AndroidNDK/AndroidNDK*.app/Contents/NDK/

अहम जानकारी: पक्का करें कि आपका ANDROID_NDK_HOME उस डायरेक्ट्री की ओर इशारा करता हो जिसमें README.md मौजूद है.

सेट अप करने के बाद, litert_lm_main बाइनरी बनाने की कोशिश करें:

bazel build --config=android_arm64 //runtime/engine:litert_lm_main

इसके अलावा, हमें डिस्पैच एपीआई लाइब्रेरी बनानी चाहिए, ताकि LiteRT-LM रनटाइम, एनपीयू के साथ इंटरैक्ट कर सके:

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

चौथा चरण: डिवाइस पर मॉडल चलाना बाइनरी के बन जाने के बाद, अब हम डिवाइस पर मॉडल चलाने की कोशिश कर सकते हैं. पक्का करें कि आपके पास DEVICE_FOLDER में लिखने का ऐक्सेस हो:

आपके Android डिवाइस पर बाइनरी चलाने के लिए, हमें कुछ ऐसेट / बाइनरी पुश करनी होंगी. सबसे पहले, अपना DEVICE_FOLDER सेट करें. पक्का करें कि आपके पास इसमें बदलाव करने का ऐक्सेस हो. आम तौर पर, /data/local/tmp/ में बदलाव किया जा सकता है:

export DEVICE_FOLDER=/data/local/tmp/
adb shell mkdir -p $DEVICE_FOLDER

export MODEL_PATH=<path to your downloaded .litertlm >

.litertlm फ़ाइल को पुश करें. अहम जानकारी: आपको सिर्फ़ एक बार उन ऐसेट को पुश करना होगा.

adb push $MODEL_PATH $DEVICE_FOLDER/model.litertlm

QAIRT लाइब्रेरी पुश करें. ये फ़ाइलें, अनज़िप किए गए फ़ोल्डर में मौजूद होती हैं. इस फ़ोल्डर को ऐक्सेस करने के लिए, दूसरा चरण $QAIRT_ROOT/lib/aarch64-android/ पर जाएं. ध्यान दें कि QAIRT_ROOT में वर्शन नंबर होना चाहिए. उदाहरण के लिए, 2.42.0.251225.

adb push $QAIRT_ROOT/lib/aarch64-android/libQnnHtp*Stub.so $DEVICE_FOLDER
adb push $QAIRT_ROOT/lib/aarch64-android/libQnnHtp.so $DEVICE_FOLDER
adb push $QAIRT_ROOT/lib/aarch64-android/libQnnSystem.so $DEVICE_FOLDER
adb push $QAIRT_ROOT/lib/aarch64-android/libQnnHtpPrepare.so $DEVICE_FOLDER
adb push $QAIRT_ROOT/lib/hexagon-*/unsigned/libQnnHtp*Skel.so $DEVICE_FOLDER

तीसरे चरण में कंपाइल की गई डिसपैच एपीआई और मुख्य बाइनरी को पुश करें.

adb push bazel-bin/external/litert/litert/vendors/qualcomm/*/*.so \
    $DEVICE_FOLDER
adb push prebuilt/android_arm64/*.so $DEVICE_FOLDER
adb push bazel-bin/runtime/engine/litert_lm_main $DEVICE_FOLDER

अब बाइनरी को एक्ज़ीक्यूट किया जा सकता है.

adb shell LD_LIBRARY_PATH=$DEVICE_FOLDER ADSP_LIBRARY_PATH=$DEVICE_FOLDER \
    $DEVICE_FOLDER/litert_lm_main \
    --backend=npu \
    --model_path=$DEVICE_FOLDER/model.litertlm

MediaTek NeuroPilot

MediaTek NPU पर LLM चलाने का तरीका यहां दिया गया है:

पहला चरण: .litertlm मॉडल डाउनलोड करें LiteRT-LM रनटाइम को .litertlm फ़ॉर्मैट वाले मॉडल के साथ काम करने के लिए डिज़ाइन किया गया है. नीचे दी गई टेबल में, साथ काम करने वाले मॉडल देखे और डाउनलोड किए जा सकते हैं.

मॉडल SoC क्वांटाइज़ेशन कॉन्टेक्स्ट विंडो का साइज़ मॉडल का साइज़ (एमबी) डाउनलोड करने का लिंक
Gemma3-1B MT6989 हर चैनल के लिए 4 बिट 1280 985 download
Gemma3-1B MT6991 हर चैनल के लिए 4 बिट 1280 986 download

आपको अपने SoC के हिसाब से मॉडल डाउनलोड करना होगा. यहां एक उदाहरण दिया गया है. इससे आपको Hugging Face का वह लिंक मिल सकता है जिससे आपके फ़ोन के SoC के लिए सही मॉडल डाउनलोड किया जा सकता है. ध्यान दें कि फ़ाइल डाउनलोड करने की अनुमति पाने के लिए, आपको लॉगिन करना होगा और फ़ॉर्म को स्वीकार करना होगा. आपको यह पक्का करना होगा कि कोई ऐसा डिवाइस कनेक्ट हो जिसे adb का इस्तेमाल करके ऐक्सेस किया जा सके.

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_MODEL, सहायता टेबल में शामिल है. जनरेट किया गया लिंक, इस्तेमाल न किए जा सकने वाले मॉडल के लिए काम नहीं करेगा. एनपीयू के लिए नई सुविधाएं लगातार जोड़ी जा रही हैं. इसलिए, कुछ समय बाद फिर से देखें कि आपके डिवाइस पर ये सुविधाएं काम करती हैं या नहीं.

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

Linux में डेवलप करना

Android के लिए बाइनरी बनाने के लिए, https://developer.android.com/ndk/downloads#stable-downloads से NDK r28b या नया वर्शन इंस्टॉल करना होगा. इसके लिए, यह तरीका अपनाएं:

  • https://developer.android.com/ndk/downloads#stable-downloads से zip फ़ाइल डाउनलोड करें.
  • zip फ़ाइल को अपनी पसंद की जगह पर निकालें. उदाहरण के लिए, /path/to/AndroidNDK/
  • NDK डायरेक्ट्री की ओर ले जाने के लिए, ANDROID_NDK_HOME बनाएं. यह इस तरह का होना चाहिए:
export ANDROID_NDK_HOME=/path/to/AndroidNDK/

अहम जानकारी: पक्का करें कि आपका ANDROID_NDK_HOME उस डायरेक्ट्री की ओर इशारा करता हो जिसमें README.md मौजूद है.

सेट अप करने के बाद, litert_lm_main बाइनरी बनाने की कोशिश करें:

bazel build --config=android_arm64 //runtime/engine:litert_lm_main

इसके अलावा, हमें डिस्पैच एपीआई लाइब्रेरी बनानी चाहिए, ताकि LiteRT-LM रनटाइम, एनपीयू के साथ इंटरैक्ट कर सके:

bazel build --config=android_arm64 \
    @litert//litert/vendors/mediatek/dispatch:dispatch_api_so

macOS में डेवलप करना

Xcode कमांड-लाइन टूल में clang शामिल है. अगर आपने इसे पहले इंस्टॉल नहीं किया है, तो xcode-select --install चलाएं.

Android के लिए बाइनरी बनाने के लिए, https://developer.android.com/ndk/downloads#stable-downloads से NDK r28b या नया वर्शन इंस्टॉल करना होगा. इसके लिए, यह तरीका अपनाएं:

  • https://developer.android.com/ndk/downloads#stable-downloads से .dmg फ़ाइल डाउनलोड करें.
  • .dmg फ़ाइल खोलें और AndroidNDK* फ़ाइल को अपनी पसंद की जगह (जैसे कि /path/to/AndroidNDK/) पर ले जाएं
  • NDK डायरेक्ट्री की ओर ले जाने के लिए, ANDROID_NDK_HOME बनाएं. यह इस तरह का होना चाहिए:
export ANDROID_NDK_HOME=/path/to/AndroidNDK/AndroidNDK*.app/Contents/NDK/

अहम जानकारी: पक्का करें कि आपका ANDROID_NDK_HOME उस डायरेक्ट्री की ओर इशारा करता हो जिसमें README.md मौजूद है.

सेट अप करने के बाद, litert_lm_main बाइनरी बनाने की कोशिश करें:

bazel build --config=android_arm64 //runtime/engine:litert_lm_main

इसके अलावा, हमें डिस्पैच एपीआई लाइब्रेरी बनानी चाहिए, ताकि LiteRT-LM रनटाइम, एनपीयू के साथ इंटरैक्ट कर सके:

bazel build --config=android_arm64 \
    @litert//litert/vendors/mediatek/dispatch:dispatch_api_so

तीसरा चरण: डिवाइस पर मॉडल चलाना बाइनरी के बन जाने के बाद, अब हम डिवाइस पर मॉडल चलाने की कोशिश कर सकते हैं. पक्का करें कि आपके पास DEVICE_FOLDER में लिखने का ऐक्सेस हो:

आपके Android डिवाइस पर बाइनरी चलाने के लिए, हमें कुछ ऐसेट / बाइनरी पुश करनी होंगी. सबसे पहले, अपना DEVICE_FOLDER सेट करें. पक्का करें कि आपके पास इसमें बदलाव करने का ऐक्सेस हो. आम तौर पर, /data/local/tmp/ में बदलाव किया जा सकता है:

export DEVICE_FOLDER=/data/local/tmp/
adb shell mkdir -p $DEVICE_FOLDER

export MODEL_PATH=<path to your downloaded .litertlm >

.litertlm फ़ाइल को पुश करें. अहम जानकारी: आपको सिर्फ़ एक बार उन ऐसेट को पुश करना होगा.

adb push $MODEL_PATH $DEVICE_FOLDER/model.litertlm

दूसरे चरण में कंपाइल किए गए Dispatch API और मुख्य बाइनरी को पुश करें.

adb push bazel-bin/external/litert/litert/vendors/mediatek/*/*.so \
    $DEVICE_FOLDER
adb push prebuilt/android_arm64/*.so $DEVICE_FOLDER
adb push bazel-bin/runtime/engine/litert_lm_main $DEVICE_FOLDER

अब बाइनरी को एक्ज़ीक्यूट किया जा सकता है.

adb shell LD_LIBRARY_PATH=$DEVICE_FOLDER \
    $DEVICE_FOLDER/litert_lm_main \
    --backend=npu \
    --model_path=$DEVICE_FOLDER/model.litertlm

Intel OpenVino

C++ एक्ज़ीक्यूटेबल का इस्तेमाल करके चलाना

Intel NPU पर LLM चलाने का तरीका यहां दिया गया है:

पहला चरण: .litertlm मॉडल डाउनलोड करें LiteRT-LM रनटाइम को .litertlm फ़ॉर्मैट वाले मॉडल के साथ काम करने के लिए डिज़ाइन किया गया है. नीचे दी गई टेबल में, साथ काम करने वाले मॉडल देखे और डाउनलोड किए जा सकते हैं.

मॉडल SoC कॉन्टेक्स्ट विंडो का साइज़ मॉडल का साइज़ (एमबी) डाउनलोड करने का लिंक
Gemma4-2B PantherLake 4096 2.95 जीबी download
Gemma4-2B LunarLake 4096 2.96 जीबी download

दूसरा चरण: LiteRT-LM रनटाइम और LiteRT Intel Dispatch लाइब्रेरी बनाना

Windows पर डेवलप करना

सेट अप करने के बाद, litert_lm_main बाइनरी बनाने की कोशिश करें:

bazel --output_base=C:\bzl_lrtlm build --define=DISABLE_HUGGINGFACE_TOKENIZER=1 --config=windows //runtime/engine:litert_lm_main

इसके अलावा, हमें डिस्पैच एपीआई लाइब्रेरी बनानी चाहिए, ताकि LiteRT-LM रनटाइम, एनपीयू के साथ इंटरैक्ट कर सके:

bazel --output_base=C:\bzl_lrtlm build --config=windows  @litert//litert/vendors/intel_openvino/dispatch:LiteRtDispatch

तीसरा चरण: डिवाइस पर मॉडल चलाना बाइनरी के बन जाने के बाद, अब हम डिवाइस पर मॉडल चलाने की कोशिश कर सकते हैं. हम सभी बाइनरी, DLL, और मॉडल को 'execution_dir' में पैकेज करते हैं:

cp bazel-bin/external/litert/vendors/intel_openvino/dispatch/LiteRtDispatch.dll execution_dir
cp bazel-bin/runtime/engine/litert_lm_main.exe execution_dir
cp prebuilt\windows_x86_64\libGemmaModelConstraintProvider.dll execution_dir

# Run OpenVino's setup script to ensure the OpenVino DLLs can be found.
& C:\bzl_lrtlm\external\intel_openvino\openvino\setupvars.ps1

# Test run
cd execution_dir
.\litert_lm_main.exe --backend=npu --model_path="execution_dir\model.litertlm"  --input_prompt="What is the capital of France?"

LiteRT-LM के Python API के बारे में जानने के लिए, https://ai.google.dev/edge/litert-lm/python पर जाएं .एनपीयू बैकएंड के साथ litertlm फ़ाइल.

import litert_lm

with litert_lm.Engine("C:\path\to\npu-model.litertlm", backend=litert_lm.Backend.NPU()) as engine:
  with engine.create_conversation() as conversation:
    print(conversation.send_message("What is the capital of France?"))