LiteRT-LM ব্যবহার করে NPU-তে LLM চালান

নিউরাল প্রসেসিং ইউনিট (NPU) গভীর শিক্ষার কাজের চাপের জন্য অপ্টিমাইজ করা বিশেষ হার্ডওয়্যার ব্লক অফার করে। এগুলি ক্রমবর্ধমানভাবে আধুনিক সিস্টেম অন আ চিপ (SoCs) তে পাওয়া যাচ্ছে, বিশেষ করে মোবাইল ডিভাইসে। তাদের উচ্চ-কার্যক্ষমতা এগুলিকে LLM ইনফারেন্স চালানোর জন্য উপযুক্ত করে তোলে।

LiterRT-LM হল একটি C++ লাইব্রেরি যা মোবাইল ফোন থেকে শুরু করে এমবেডেড সিস্টেম পর্যন্ত বিস্তৃত ডিভাইসে দক্ষতার সাথে ভাষা মডেল পাইপলাইন চালানোর জন্য ডিজাইন করা হয়েছে। এটি ডেভেলপারদের অত্যাধুনিক ভাষা মডেল ওয়ার্কফ্লো তৈরি এবং স্থাপন করার জন্য সরঞ্জাম সরবরাহ করে, এখন নিরবচ্ছিন্ন NPU ইন্টিগ্রেশন সহ।

এনপিইউ বিক্রেতারা

LiteRT-LM নিম্নলিখিত বিক্রেতাদের সাথে NPU ত্বরণ ব্যবহার করে LLM চালানো সমর্থন করে। আপনি কোন বিক্রেতা চেষ্টা করতে চান তার উপর নির্ভর করে নির্দেশাবলী নির্বাচন করুন:

দ্রুত শুরু

  1. পরিবেশ এবং সংগ্রহস্থল সেট আপ করার জন্য পূর্বশর্তগুলি অনুসরণ করুন।
  2. নিশ্চিত করুন adb ইনস্টল করা আছে এবং একটি ডিভাইস সংযুক্ত আছে।
  3. কুইক স্টার্ট এবং litert_lm_main কমান্ড লাইন ডেমো দেখুন।

কোয়ালকম এআই ইঞ্জিন ডাইরেক্ট

ধাপ ১: .litertlm মডেলটি ডাউনলোড করুন

আপনার SoC এর সাথে মিলে যাওয়া একটি .litertlm ডাউনলোড করুন (নীচে উদাহরণ দেওয়া হল)। আপনি আপনার ডিভাইস SoC কে জিজ্ঞাসা করতে পারেন:

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 সম্পর্কে পরিমাণ নির্ধারণ প্রসঙ্গ আকার মডেলের আকার (এমবি) ডাউনলোড করুন
জেমা৩-১বি এসএম৮৭৫০ প্রতি চ্যানেলে ৪-বিট ১২৮০ ৬৫৮ ডাউনলোড করুন
জেমা৩-১বি এসএম৮৬৫০ প্রতি চ্যানেলে ৪-বিট ১২৮০ ৬৫৮ ডাউনলোড করুন
জেমা৩-১বি এসএম৮৫৫০ প্রতি চ্যানেলে ৪-বিট ১২৮০ ৬৫৭ ডাউনলোড করুন

ধাপ ২: QAIRT লাইব্রেরিগুলি ডাউনলোড এবং এক্সট্রাক্ট করুন

QAIRT SDK ডাউনলোড করুন, এটি এক্সট্র্যাক্ট করুন এবং QAIRT_ROOT সেট করুন:

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

ধাপ ৩: LiterRT-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"

মিডিয়াটেক নিউরোপাইলট

ধাপগুলির ওভারভিউ

মিডিয়াটেক ফ্লো মিরর কোয়ালকম: আপনার SoC-এর জন্য তৈরি একটি .litertlm ব্যবহার করুন, NeuroPilot রানটাইম লাইব্রেরি অন্তর্ভুক্ত করুন, litert_lm_main তৈরি করুন, সম্পদ পুশ করুন এবং --device=mediatek_npu দিয়ে চালান।