Google Tensor SDK מאפשר לכם לבצע אופטימיזציה של מודלים של למידת מכונה (ML) ולהריץ אותם ישירות ב-TPU הייעודי של Google Tensor. בנוסף למודלים רגילים של ML, אתם יכולים לקמפל מודלים של שפה ולהאיץ אותם בתהליך העבודה של LiteRT.
בנוסף, עבור מודלים מסוימים שעברו אופטימיזציה מראש, אנחנו מספקים קובץ בינארי של אפשרויות קומפילציה נוספות שאפשר לכלול בתהליך העבודה. כדי להשיג ביצועים אופטימליים ב-Google Tensor, מומלץ להשתמש בדגלי האופטימיזציה הבאים במהלך הקומפילציה:
דגלים של הידור ל-Google Tensor
כדי לשפר את הביצועים ולצמצם את השימוש במשאבים, אפשר להחיל על תהליך ההידור של המודל דגלים ספציפיים של הגדרות. אתם יכולים להשתמש בפרמטרים האלה בתהליך העבודה של LiteRT Python כדי לשנות את אופן ההידור של מודלים של PyTorch ושל TFLite.
| דגל | דרישה | תיאור | ערך ברירת מחדל |
|---|---|---|---|
google_tensor_truncation_type |
אופציונלי | הגדרת סוג נתוני היעד לפעולות של נקודה צפה. ערכים נתמכים: auto (ברירת מחדל), bfloat16, half, no_truncation |
אוטומטי |
google_tensor_sharding_intensity |
אופציונלי | ההגדרה הזו קובעת את מידת האגרסיביות של פיצול המודל לעיבוד מקביל. אפשרויות: מינימלי, בינוני, נרחב, מקסימלי. |
מינימלי |
google_tensor_int64_to_int32 |
אופציונלי | הגדרה ל-true מאפשרת למהדר להמיר מספרים שלמים של 64 ביט למספרים שלמים של 32 ביט, וזה עשוי להיות נחוץ עבור חלק מהמודלים. | לא נכון |
google_tensor_enable_large_model_support |
אופציונלי | צריך להגדיר את הערך כ-true אם המודל גדול מ-2GB. | לא נכון |
google_tensor_enable_4bit_compilation |
אופציונלי | מאפשרת קומפילציה של מודלים עם פעולות קונבולוציה שמכילות פרמטרים של 4 ביט. | לא נכון |
google_tensor_extra_options_path |
אופציונלי | מעביר אפשרויות נוספות של קומפיילר כקובץ בינארי. | "" (ריק) |
אפשר להשתמש בדגלים האלה בתהליך העבודה של LiteRT Python, כמו בדוגמאות הבאות של קטעי קוד:
כשמבצעים קומפילציה של מודל pytorch באמצעות
ai_edge_torchcompiled_models = ( ai_edge_torch.experimental_add_compilation_backend(tensor_g5_target, flag_name1=value1, flag_name2=value2, ...).convert( channel_last_selfie_segmentation, sample_input))כשמבצעים קומפילציה של מודל tflite
compiled_models = aot_lib.aot_compile( tflite_model_path, target=[tensor_g5_target], flag_name1=value1, flag_name2=value2, ...)
דוגמה לשימוש
בדוגמה הבאה נעשה שימוש בדגל google_tensor_truncation_type="half":
compiled_models = aot_lib.aot_compile(
tflite_model_path,
target=[tensor_g5_target],
keep_going=False,
google_tensor_truncation_type="half"
)
מידע נוסף זמין במאמר LiteRT AOT Colab.
קומפילציה של מודלים של שפה ל-Google Tensor
כדי לקמפל מודלים של שפה עבור Google Tensor, פועלים לפי ההוראות במאמר בנושא קומפילציה של NPU AOT.
כדי לייצא מודלים מסוג LLM ל-TPU של Google Tensor, פועלים לפי הדוגמה של הדגלים הנוספים שנדרשים לקומפילציה של NPU.
דוגמה:
litert-torch export-hf \
--model=google/gemma-3-270m-it \
--output_dir=/tmp/gemma3-270m-google-tensor-g5 \
--split_cache \
--externalize_embedder \
--prefill_lengths=128, \
--cache_length=1280 \
--quantization_recipe="weight_only_wi8_afp32" \
--aot_backend=GOOGLE \
--aot_soc_model=Tensor_G5 \
--aot_compilation_config_dict='{"google_tensor_enable_large_model_support": True}'