TPU (Tensor Processing Unit)
Tensör İşleme Birimlerinin (TPU) makine öğrenimini nasıl hızlandırdığını keşfet. Maksimum hız için Ultralytics YOLO26'yı Edge TPU'lar ve bulut eğitimi için optimize etmeyi öğren.
Bir Tensör İşlem Birimi (TPU), makine öğrenimi (ML) iş yüklerini hızlandırmak için Google tarafından özel olarak tasarlanmış özel bir uygulamaya özel entegre devredir (ASIC). Geniş bir bilgi işlem görevi yelpazesini işleyen genel amaçlı işlemcilerin aksine TPU'lar, sinir ağları için temel olan devasa matris işlemlerini optimize etmek amacıyla sıfırdan tasarlanmıştır. Bu özel odak noktası, olağanüstü yüksek verimlilik ve enerji tasarrufu elde etmelerini sağlayarak onları modern yapay zeka (AI) altyapısının, özellikle de Google Cloud ekosisteminin temel taşı haline getirir. Karmaşık modelleri eğitmek ve ölçekte gerçek zamanlı çıkarım çalıştırmak için gereken süreyi azaltmada hayati bir rol oynarlar.
Mimari ve İşlevsellik#
Bir TPU'nun mimarisi geleneksel işlemcilerden önemli ölçüde farklıdır. Standart bir CPU (Merkezi İşlem Birimi) sıra tabanlı görevlerde ve karmaşık mantıkta başarılıyken ve bir GPU (Grafik İşlem Birimi) grafik ve genel bilgi işlem için paralel çekirdekler kullanırken, bir TPU sistolik dizi mimarisi kullanır. Bu tasarım, verilerin her işlem için belleğe erişmeden aynı anda binlerce çarpıcıdan akmasını sağlar. Hesaplama yoğunluğunu en üst düzeye çıkararak ve gecikmeyi en aza indirerek TPU'lar, derin öğrenme (DL) uygulamalarında bulunan ağır doğrusal cebir için benzersiz bir şekilde uygundur.
Bu özel donanım, TensorFlow gibi çerçeveler için yoğun bir şekilde optimize edilmiştir ve PyTorch tarafından giderek daha fazla desteklenmektedir; bu da geliştiricilerin kod tabanlarını tamamen yeniden yazmadan devasa temel modeller eğitmesine veya verimli uç çözümler dağıtmasına olanak tanır.
İşlem Birimlerini Ayırt Etme#
Makine öğrenimi operasyonlarını (MLOps) optimize etmek için donanım manzarasını anlamak çok önemlidir.
- CPU: Sıralı işleme, veri ön işleme ve karmaşık mantığı yönetmek için ideal olan bir bilgisayarın genel amaçlı "beyni". Genellikle veri artırma boru hatları için kullanılır, ancak ağır matris matematiği için daha yavaştır.
- GPU: Orijinal olarak görüntü oluşturma için oluşturulan GPU'lar, çok yönlülükleri ve devasa paralellikleri nedeniyle model eğitimi için endüstri standardıdır. Ultralytics YOLO26 gibi esnek modelleri eğitmek için mükemmeldirler.
- TPU: Tensör işlemlerinde ham hız için esnekliği feda eden amaca yönelik bir hızlandırıcı. Sinir ağı hesaplamaları için özellikle FLOPS'u (saniyedeki kayan nokta işlemleri) en üst düzeye çıkarmak üzere tasarlanmıştır ve genellikle belirli büyük ölçekli iş yükleri için üstün watt başına performans sağlar.
Gerçek Dünya Uygulamaları#
TPU'lar, devasa bulut kümelerinden küçük uç cihazlara kadar çeşitli ortamlarda konuşlandırılır.
-
Büyük Dil Modeli Eğitimi: Google, PaLM ve Gemini gibi muazzam büyük dil modellerini (LLM'leri) eğitmek için TPU Pods olarak bilinen devasa birbirine bağlı kümeler kullanır. Bu sistemler, eğitim verilerinin petabaytlarını geleneksel donanımın alacağı sürenin çok küçük bir kısmında işleyebilir ve üretken yapay zekadaki gelişmelerini hızlandırabilir.
-
Uç Yapay Zeka ve Nesnelerin İnterneti: Coral Edge TPU, bu hızlandırmayı düşük güç tüketen cihazlara getirir. Kusurları yerel olarak belirlemek için bir üretim hattında nesne algılama çalıştırmak gibi verimli bilgisayarlı görü (CV) uygulamalarını etkinleştirir. Bu, bulut bağlantısına güvenmeden anında karar vermeye olanak tanır ve bant genişliği ile gizliliği korur.
TPU'ları Ultralytics ile Kullanma#
Geliştiriciler, bulut eğitimi için Ultralytics Platform'u kullanırken veya modelleri uç dağıtım için dışarı aktarırken Ultralytics modelleri için TPU hızlandırmasından yararlanabilirler. Örneğin Edge TPU, modellerin mimarisi için özel olarak nicelenmesini ve derlenmesini gerektirir.
Aşağıdaki örnek, Edge TPU için derlemeden önce ön koşul olan bir adım olan bir Ultralytics YOLO26 modelini TFLite formatına nasıl dışarı aktaracağını gösterir:
from ultralytics import YOLO
# Load the latest lightweight YOLO26 nano model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format
# This creates a '.tflite' file suitable for mobile and edge deployment
# Set int8=True for quantization, which is often required for Edge TPU performance
model.export(format="tflite", int8=True)Dışarı aktarıldıktan sonra model, Edge TPU Compiler kullanılarak Edge TPU için daha fazla derlenebilir ve Coral USB Accelerator ile Raspberry Pi gibi cihazlarda verimli bir şekilde çalışmasına izin verilir. Dağıtım hakkında daha fazla ayrıntı için TFLite entegrasyonu belgelerini incelemek çok faydalı olabilir.






