LiteRT-LM File Builder

litert-lm-builder החבילה מספקת כלים של Python וממשקי שורת פקודה (CLI) לבנייה, בדיקה ופריקה של קובצי קונטיינר של LiteRT-LM ‏ (.litertlm).

קובץ .litertlm הוא קונטיינר מאוחד יחיד שמכיל את מודלי TFLite, קבצי הטוקנייזר, משקלים חיצוניים ומטא-נתונים של המודל, כך שניתן להפיץ אותם ולטעון אותם על ידי זמן הריצה של LiteRT-LM.

התקנה

מתקינים את חבילת litert-lm-builder מ-PyPI.

שיטה 1: uvx (מומלצת לביצוע מהיר)

להריץ את ממשקי שורת הפקודה באופן מיידי בלי להתקין אותם באופן קבוע. נדרש uv.

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

שיטה 2: pip

התקנה רגילה בסביבה וירטואלית:

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

יוצרים קובץ .litertlm: litert-lm-builder

משתמשים ב-CLI של litert-lm-builder כדי לארוז את רכיבי המודל. אפשר לעשות את זה באמצעות קובץ תצורה או באמצעות שרשור של ארגומנטים בשורת הפקודה.

שימוש

אפשר להשתמש בשיטות הבאות כדי להכין את קובץ .litertlm באמצעות הכלי ליצירת מבצעים.

שיטה 1: יצירה באמצעות הגדרת 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" }
]

שיטה 2: בנייה באמצעות ארגומנטים של שורת הפקודה

אתם יכולים ליצור את הקונטיינר באופן דינמי על ידי שרשור של פקודות משנה במסוף. הסדר של פקודות המשנה קובע את הסדר של הקטעים בקובץ שנוצר.

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

ממשק ה-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.
    • --backend_constraint BACKEND: (אופציונלי) מגבלה של ה-Backend (לדוגמה, gpu, ‏ cpu, ‏ npu).
    • --prefer_activation_type TYPE: (אופציונלי) סוג ההפעלה המועדף (fp16, fp32, fp32_fp16).
    • --str_metadata KEY VALUE: (אופציונלי) מטא-נתונים של מחרוזת עבור החלק הזה של המודל.
  • sp_tokenizer: הוספת tokenizer של SentencePiece.
    • --path PATH: הנתיב לקובץ .model.
    • --str_metadata KEY VALUE: (אופציונלי) מטא-נתונים של מחרוזת.
  • hf_tokenizer: מוסיפים tokenizer של Hugging Face.
    • --path PATH: הנתיב לקובץ tokenizer.json.
    • --str_metadata KEY VALUE: (אופציונלי) מטא-נתונים של מחרוזת.

בדיקה ופריקה של קובץ .litertlm: litert-lm-peek

אפשר להשתמש ב-CLI של litert-lm-peek כדי לבדוק קובץ .litertlm או לפתוח את הרכיבים המוטמעים שלו. כשמריצים אותו, מוצגת המבנה המלא של מאגר התגים, כל הקטעים שנארזו והמטא-נתונים של המערכת שנוצרו באופן אוטומטי (כמו uuid ו-creation_timestamp).

שימוש

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

מאמר עזרה בנושא אפשרויות CLI

  • --litertlm_file PATH (חובה): הנתיב לקובץ .litertlm לבדיקה.
  • --dump_files_dir PATH (אופציונלי): הספרייה שבה צריך לחלץ/לפתוח את כל הקבצים הארוזים (מודלים, טוקנייזרים, משקלים, מטא-נתונים). אם המזהה לא יסופק, הכלי רק ידפיס את המטא-נתונים ואת מבנה הקטע במסוף, בלי לחלץ קבצים.