Google Tensor SDK ile modelleri derleme

Google Tensor SDK'sı, makine öğrenimi (ML) modellerini doğrudan Google Tensor'ın özel TPU'sunda optimize etmenize ve çalıştırmanıza olanak tanır. Standart makine öğrenimi modellerine ek olarak, LiteRT iş akışınızda dil modellerini derleyip hızlandırabilirsiniz.

Belirli önceden optimize edilmiş modeller için iş akışınıza ekleyebileceğiniz ekstra derleyici seçenekleri ikili program dosyası da sunuyoruz. Google Tensor'da optimum performans elde etmek için derleme sırasında aşağıdaki optimizasyon işaretlerini kullanmanızı öneririz:

Google Tensor için derleme işaretleri

Performansı ve kaynak kullanımını özelleştirmek için belirli yapılandırma işaretleri uygulayarak model derleme sürecinizi optimize edin. Bu parametreleri, hem PyTorch hem de TFLite modelleri için derleme davranışını ayarlamak üzere LiteRT Python iş akışınızda kullanabilirsiniz.

İşaret Gereksinim Açıklama Varsayılan değer
google_tensor_truncation_type İsteğe bağlı Kayan nokta işlemleri için hedef veri türünü ayarlar.
Desteklenen değerler: auto (varsayılan), bfloat16, half, no_truncation
otomatik
google_tensor_sharding_intensity İsteğe bağlı Modelin paralel işleme için ne kadar agresif bir şekilde bölüneceğini kontrol eder.
Seçenekler: Minimal, orta, kapsamlı, maksimum.
minimal
google_tensor_int64_to_int32 İsteğe bağlı Derleyicinin 64 bitlik tam sayıları 32 bitlik tam sayılara dönüştürmesine izin vermek için doğru olarak ayarlayın. Bu, bazı modeller için gerekli olabilir. Yanlış
google_tensor_enable_large_model_support İsteğe bağlı Modeliniz 2 GB'tan büyükse true olarak ayarlayın. Yanlış
google_tensor_enable_4bit_compilation İsteğe bağlı 4 bit parametre içeren konvolüsyon işlemleriyle modellerin derlenmesini sağlar. Yanlış
google_tensor_extra_options_path İsteğe bağlı Ek derleyici seçeneklerini ikili program dosyası olarak iletir. "" (Boş)

Bu işaretleri, aşağıdaki kod snippet'lerinde gösterildiği gibi LiteRT Python akışıyla birlikte kullanabilirsiniz:

  • ai_edge_torch kullanarak bir PyTorch modeli derlerken

    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 modeli derlenirken

    compiled_models = aot_lib.aot_compile(
        tflite_model_path,
        target=[tensor_g5_target],
        flag_name1=value1,
        flag_name2=value2, ...)
    

Kullanım örneği

Aşağıdaki örnekte google_tensor_truncation_type="half" işareti kullanılmıştır:

  compiled_models = aot_lib.aot_compile(
      tflite_model_path,
      target=[tensor_g5_target],
      keep_going=False,
      google_tensor_truncation_type="half"
  )

Daha fazla bilgi için LiteRT AOT Colab'e göz atın.

Google Tensor için dil modellerini derleme

Google Tensor için dil modelleri derlemek üzere NPU AOT derlemesi bölümündeki talimatları uygulayın.

Google Tensor TPU'lar için LLM'leri dışa aktarmak üzere NPU derlemesi için gereken ek işaretlerle ilgili örneği uygulayın.

Örnek:

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