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(אופציונלי): הספרייה שבה צריך לחלץ/לפתוח את כל הקבצים הארוזים (מודלים, טוקנייזרים, משקלים, מטא-נתונים). אם המזהה לא יסופק, הכלי רק ידפיס את המטא-נתונים ואת מבנה הקטע במסוף, בלי לחלץ קבצים.