کیت توسعه نرمافزار گوگل تنسور (Google Tensor SDK) به شما امکان میدهد مدلهای یادگیری ماشین (ML) را مستقیماً روی TPU اختصاصی گوگل تنسور بهینهسازی و اجرا کنید. علاوه بر مدلهای استاندارد یادگیری ماشین، میتوانید مدلهای زبانی را در گردش کار LiteRT خود کامپایل و سرعت بخشید.
برای برخی از مدلهای از پیش بهینهشده، ما یک فایل باینری اضافی برای گزینههای کامپایلر ارائه میدهیم که میتوانید در گردش کار خود بگنجانید. برای دستیابی به عملکرد بهینه در 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 تنظیم کنید، که ممکن است برای برخی مدلها ضروری باشد. | نادرست |
google_tensor_enable_large_model_support | اختیاری | اگر مدل شما بزرگتر از ۲ گیگابایت است، روی true تنظیم کنید. | نادرست |
google_tensor_enable_4bit_compilation | اختیاری | امکان کامپایل مدلها با عملیات کانولوشن حاوی پارامترهای ۴ بیتی را فراهم میکند. | نادرست |
google_tensor_extra_options_path | اختیاری | گزینههای کامپایلر اضافی را به عنوان یک فایل باینری ارسال میکند. | "" (خالی) |
میتوانید از این پرچمها با جریان پایتون LiteRT همانطور که در قطعه کد زیر نشان داده شده است، استفاده کنید:
هنگام کامپایل یک مدل پایتورچ با استفاده از
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 مراجعه کنید.
کامپایل مدلهای زبانی برای گوگل تنسور
برای کامپایل مدلهای زبانی برای گوگل تنسور، دستورالعملهای موجود در کامپایل NPU AOT را دنبال کنید.
برای خروجی گرفتن از LLMها برای TPUهای گوگل تنسور، از مثال مربوط به پرچمهای اضافی مورد نیاز برای کامپایل 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}'