سازنده فایل LiteRT-LM

بسته litert-lm-builder ابزارهای پایتون و رابط‌های خط فرمان (CLI) را برای ساخت، بررسی و باز کردن فایل‌های کانتینر LiteRT-LM ( .litertlm ) فراهم می‌کند.

یک فایل .litertlm یک کانتینر یکپارچه و واحد است که مدل‌های TFLite، فایل‌های توکن‌ساز، وزن‌های خارجی و فراداده‌های مدل مرتبط شما را بسته‌بندی می‌کند تا بتوانند توسط زمان اجرای LiteRT-LM توزیع و بارگذاری شوند.

نصب

بسته litert-lm-builder را از PyPI نصب کنید.

روش ۱: 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 برای بسته‌بندی اجزای مدل خود استفاده کنید. می‌توانید این کار را یا با استفاده از یک فایل پیکربندی یا با زنجیره‌سازی آرگومان‌های خط فرمان انجام دهید.

کاربرد

برای تهیه فایل .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 از زیردستورات زیر پشتیبانی می‌کند:

  • 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 : پیکربندی مخصوص LLM را اضافه می‌کند.
    • --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

از رابط خط فرمان litert-lm-peek برای بررسی یک کانتینر .litertlm یا باز کردن اجزای تعبیه شده در آن استفاده کنید. اجرای آن ساختار کامل کانتینر، تمام بخش‌های بسته‌بندی شده و فراداده‌های سیستمی که به طور خودکار تولید می‌شوند (مانند uuid و creation_timestamp ) را نمایش می‌دهد.

کاربرد

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

مرجع گزینه‌های CLI

  • --litertlm_file PATH (الزامی): مسیر فایل .litertlm برای بررسی.
  • --dump_files_dir PATH (اختیاری): دایرکتوری که تمام فایل‌های بسته‌بندی‌شده (مدل‌ها، توکنایزرها، وزن‌ها، فراداده‌ها) باید در آن استخراج/بازشوند. در صورت عدم ارائه، ابزار فقط فراداده‌ها و ساختار بخش را بدون استخراج فایل‌ها در کنسول چاپ می‌کند.