LiteRT-LM ফাইল বিল্ডার

litert-lm-builder প্যাকেজটি LiteRT-LM ( .litertlm ) কন্টেইনার ফাইলগুলো বিল্ড, ইন্সপেক্ট এবং আনপ্যাক করার জন্য পাইথন টুল এবং কমান্ড লাইন ইন্টারফেস (CLI) প্রদান করে।

একটি .litertlm ফাইল হলো একটি একক সমন্বিত কন্টেইনার, যা আপনার TFLite মডেল, টোকেনাইজার ফাইল, এক্সটার্নাল ওয়েট এবং সংশ্লিষ্ট মডেল মেটাডেটাকে প্যাকেজ করে, যাতে LiteRT-LM রানটাইম দ্বারা সেগুলোকে বিতরণ ও লোড করা যায়।

ইনস্টলেশন

PyPI থেকে litert-lm-builder প্যাকেজটি ইনস্টল করুন।

পদ্ধতি ১: uvx (দ্রুত সম্পাদনের জন্য প্রস্তাবিত)

স্থায়ী ইনস্টলেশন ছাড়াই অবিলম্বে CLI-গুলো চালান। এর জন্য uv প্রয়োজন।

uvx litert-lm-builder --help
uvx litert-lm-peek --help

পদ্ধতি ২: pip

ভার্চুয়াল পরিবেশের মধ্যে স্ট্যান্ডার্ড ইনস্টলেশন:

python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade litert-lm-builder

একটি .litertlm ফাইল তৈরি করুন: litert-lm-builder

আপনার মডেলের উপাদানগুলো প্যাকেজ করতে litert-lm-builder CLI ব্যবহার করুন। আপনি একটি কনফিগারেশন ফাইল ব্যবহার করে অথবা কমান্ড-লাইন আর্গুমেন্টগুলো শৃঙ্খলিত করে এটি করতে পারেন।

ব্যবহার

বিল্ডার ব্যবহার করে .litertlm ফাইলটি প্রস্তুত করার জন্য নিম্নলিখিত পদ্ধতিগুলো ব্যবহার করা যেতে পারে।

পদ্ধতি ১: TOML কনফিগারেশন ব্যবহার করে বিল্ড করুন (প্রস্তাবিত)

একটি TOML কনফিগারেশন ফাইলে সমস্ত কম্পোনেন্ট, পাথ এবং মেটাডেটা নির্দিষ্ট করুন, তারপর বিল্ডারটি চালান:

litert-lm-builder toml --path config.toml output --path model.litertlm

উদাহরণ config.toml :

[system_metadata]
entries = [
  { key = "author", value_type = "String", value = "Authors" }
]

[[section]]
section_type = "LlmMetadata"
data_path = "path/to/llm_metadata.pb"

[[section]]
section_type = "SP_Tokenizer"
data_path = "path/to/sp.model"

[[section]]
section_type = "TFLiteModel"
model_type = "PREFILL_DECODE"
data_path = "path/to/model.tflite"
additional_metadata = [
  { key = "model_version", value_type = "String", value = "1.0.1" }
]

পদ্ধতি ২: কমান্ড লাইন আর্গুমেন্ট ব্যবহার করে বিল্ড করুন

আপনি আপনার টার্মিনালে সাবকমান্ডগুলো পরপর প্রয়োগ করে ডাইনামিকভাবে কন্টেইনারটি তৈরি করতে পারেন। সাবকমান্ডগুলোর ক্রমই তৈরি হওয়া ফাইলের সেকশনগুলোর ক্রম নির্ধারণ করে।

litert-lm-builder \
  system_metadata --str author "Authors" \
  llm_metadata --path path/to/llm_metadata.pb \
  sp_tokenizer --path path/to/sp.model \
  tflite_model --path path/to/model.tflite --model_type prefill_decode --str_metadata model_version "1.0.1" \
  output --path model.litertlm

CLI বিকল্প রেফারেন্স

litert-lm-builder CLI নিম্নলিখিত সাবকমান্ডগুলো সমর্থন করে:

  • output (আবশ্যক): আউটপুট পাথ নির্দিষ্ট করে।
    • --path PATH : বিল্ড করা .litertlm ফাইলটি সংরক্ষণ করার পাথ।
  • toml : একটি TOML ফাইল থেকে কনফিগারেশন লোড করুন।
    • --path PATH : .toml ফাইলের পাথ।
  • system_metadata : বৈশ্বিক সিস্টেম মেটাডেটা যোগ করুন।
    • --str KEY VALUE : একটি স্ট্রিং কী-ভ্যালু পেয়ার যোগ করুন (একাধিকবার ব্যবহার করা যেতে পারে)।
    • --int KEY VALUE : একটি পূর্ণসংখ্যা কী-ভ্যালু জোড়া যোগ করুন (একাধিকবার উল্লেখ করা যেতে পারে)।
    • দ্রষ্টব্য : বিল্ডার স্বয়ংক্রিয়ভাবে একটি অনন্য uuid এবং creation_timestamp (UTC ISO 8601 ফরম্যাটে) তৈরি করে সিস্টেম মেটাডেটাতে যুক্ত করে। এই কীগুলি ম্যানুয়ালি নির্দিষ্ট করবেন না। রানটাইম এই ফিল্ডগুলি ব্যবহার করে মডেল বিল্ডকে অনন্যভাবে শনাক্ত করতে এবং কম্পাইল করা ক্যাশে ইনভ্যালিডেশন পরিচালনা করতে।
  • llm_metadata : এলএলএম-এর জন্য নির্দিষ্ট কনফিগারেশন যোগ করুন।
    • --path PATH : LLM মেটাডেটার পাথ (টেক্সট বা বাইনারি প্রোটো)।
  • tflite_model : একটি TFLite মডেল যোগ করুন।
    • --path PATH : .tflite ফাইলের পাথ।
    • --model_type TYPE : নিম্নলিখিতগুলির মধ্যে একটি: embedder , prefill_decode (যা prefill এবং decode উভয়কেই বোঝায়), prefill , decode
    • --backend_constraint BACKEND : (ঐচ্ছিক) ব্যাকএন্ডের সীমাবদ্ধতা (যেমন, gpu , cpu , npu )।
    • --prefer_activation_type TYPE : (ঐচ্ছিক) পছন্দের অ্যাক্টিভেশন টাইপ ( fp16 , fp32 , fp32_fp16 )।
    • --str_metadata KEY VALUE : (ঐচ্ছিক) এই মডেল সেকশনের জন্য স্ট্রিং মেটাডেটা।
  • sp_tokenizer : একটি SentencePiece টোকেনাইজার যোগ করুন।
    • --path PATH : .model ফাইলের পাথ।
    • --str_metadata KEY VALUE : (ঐচ্ছিক) স্ট্রিং মেটাডেটা।
  • hf_tokenizer : একটি আলিঙ্গনরত মুখের টোকেনাইজার যোগ করুন।
    • --path PATH : tokenizer.json ফাইলের পাথ।
    • --str_metadata KEY VALUE : (ঐচ্ছিক) স্ট্রিং মেটাডেটা।

একটি .litertlm ফাইল পরিদর্শন ও আনপ্যাক করুন: litert-lm-peek

একটি .litertlm কন্টেইনার পরিদর্শন করতে বা এর মধ্যে থাকা উপাদানগুলো আনপ্যাক করতে litert-lm-peek CLI ব্যবহার করুন। এটি চালালে সম্পূর্ণ কন্টেইনার কাঠামো, সমস্ত প্যাকেজ করা বিভাগ এবং স্বয়ংক্রিয়ভাবে তৈরি হওয়া সিস্টেম মেটাডেটা (যেমন uuid এবং creation_timestamp ) প্রদর্শিত হয়।

ব্যবহার

litert-lm-peek --litertlm_file model.litertlm [options]

CLI বিকল্প রেফারেন্স

  • --litertlm_file PATH (আবশ্যক): যে .litertlm ফাইলটি পরীক্ষা করতে হবে, তার পাথ।
  • --dump_files_dir PATH (ঐচ্ছিক): এই ডিরেক্টরিতে সমস্ত প্যাকেজ করা ফাইল (মডেল, টোকেনাইজার, ওয়েট, মেটাডেটা) এক্সট্র্যাক্ট/আনপ্যাক করা হবে। এটি প্রদান না করা হলে, টুলটি কোনো ফাইল এক্সট্র্যাক্ট না করেই শুধুমাত্র মেটাডেটা এবং সেকশন স্ট্রাকচার কনসোলে প্রিন্ট করবে।