تجميع النماذج باستخدام Google Tensor SDK

يتيح لك حزمة تطوير البرامج (SDK) لمعالج بيانات Google Tensor تحسين نماذج تعلُّم الآلة (ML) وتشغيلها مباشرةً على وحدة معالجة الموتّرات (TPU) المخصّصة لمعالج بيانات Google Tensor. بالإضافة إلى نماذج تعلُّم الآلة العادية، يمكنك تجميع نماذج اللغة وتسريعها ضمن سير عمل LiteRT.

بالنسبة إلى بعض النماذج المحسّنة مسبقًا، نوفّر أيضًا ملفًا ثنائيًا لخيارات المجمّع الإضافية يمكنك تضمينه في سير عملك. لتحقيق الأداء الأمثل على معالج بيانات Google Tensor، ننصحك باستخدام علامات التحسين التالية أثناء التجميع:

علامات التجميع لمعالج بيانات Google Tensor

يمكنك تحسين عملية تجميع النموذج من خلال تطبيق علامات إعداد معيّنة لتخصيص الأداء واستخدام الموارد. يمكنك استخدام هذه المَعلمات ضمن سير عمل LiteRT Python لضبط سلوك التجميع لكلّ من نماذج PyTorch وTFLite.

علم المتطلبات الوصف القيمة التلقائية
google_tensor_truncation_type اختياري يضبط نوع البيانات المستهدَف للعمليات الحسابية ذات الفاصلة العائمة.
القيم المسموح بها: auto (تلقائي) (الإعداد التلقائي)، bfloat16، half، no_truncation
تلقائي
google_tensor_sharding_intensity اختياري يتحكّم في مدى تقسيم النموذج للمعالجة المتوازية.
الخيارات: minimal (بشكل مبسَّط)، moderate (بشكل معتدل)، extensive (بشكل كبير)، maximum (بشكل كامل).
بشكل مبسَّط
google_tensor_int64_to_int32 اختياري اضبط هذه العلامة على "صحيح" للسماح للمجمّع بتحويل الأعداد الصحيحة ذات 64 بت إلى أعداد صحيحة ذات 32 بت، وهو ما قد يكون ضروريًا لبعض النماذج. خطأ
google_tensor_enable_large_model_support اختياري اضبط هذه العلامة على "صحيح" إذا كان حجم النموذج أكبر من 2 غيغابايت. خطأ
google_tensor_enable_4bit_compilation اختياري تتيح هذه العلامة تجميع النماذج التي تتضمّن عمليات التفاف تحتوي على مَعلمات ذات 4 بت. خطأ
google_tensor_extra_options_path اختياري تُمرِّر هذه العلامة خيارات المجمّع الإضافية كملف ثنائي. "" (فارغ)

يمكنك استخدام هذه العلامات مع سير عمل LiteRT Python كما هو موضّح في مقتطفات الرموز البرمجية التالية:

  • عند تجميع نموذج pytorch باستخدام ai_edge_torch

    compiled_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، اتّبِع التعليمات الواردة في مقالة تجميع AOT لوحدة المعالجة العصبية.

لتصدير نماذج اللغة الكبيرة (LLM) لوحدات معالجة الموتّرات (TPU) من Google Tensor، اتّبِع المثال الخاص بالعلامات الإضافية المطلوبة لتجميع وحدة المعالجة العصبية.

مثال:

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}'