CPU ve GPU'dan Farkı
CPU genel amaçlıdır; az sayıda güçlü çekirdekle sıralı ve karmaşık işleri hızlandırır. GPU binlerce küçük çekirdekle paralel işlem yapar ve grafik işlemden makine öğrenimine evrilmiştir. TPU ise yalnızca matris çarpma ve tensör işleme için özelleşmiştir: gereksiz kontrol birimlerini atar, tüm silikon alanını hesaplama matrisine ayırır. Bu odak, derin öğrenme iş yükleri için çok yüksek işlem kapasitesi ve düşük gecikme süresi getirir.
Systolic Array Mimarisi
Systolic Array, matris çarpma işleminin her adımını bir dizi hesaplama birimi üzerinden sırasıyla aktararak gerçekleştirir. Veri her hücrede işlendikten sonra bir sonrakine geçirilir; bu ilerleyen dalga akışı çok düşük gecikmeyle yüksek verim sunar. Matris A × B hesaplamasında her eleman yalnızca bir kez bellekten okunur; bu sayede bellek bant genişliği çok verimli kullanılır. Derin öğrenme modellerinde en sık karşılaşılan operasyon matris çarpımıdır; Systolic Array bu operasyonu donanım düzeyinde optimize eder.
TPU Sürümleri
- check_circle TPU v1 (2016): Yalnızca çıkarsama (inference) destekler; Google arama altyapısında hizmet verdi.
- check_circle TPU v2 ve v3 (2017–2018): Hem eğitim hem çıkarsama desteğiyle Google Cloud üzerinden dış kullanıcılara açıldı.
- check_circle TPU v4 (2021): Büyük dil modeli eğitimi için optimize edildi; 4.096 çiplik Pod konfigürasyonu mevcut.
- check_circle TPU v5p ve v5e (2023): Enerji verimliliği artırıldı; v5e düşük maliyetli çıkarsama iş yükleri için tasarlandı.
- check_circle TPU v6 Trillium (2024): Çip başına dört kat daha fazla hesaplama kapasitesi; enerji verimi belirgin biçimde iyileştirildi.
TPU Pod ve Büyük Ölçekli Eğitim
Google, TPU'ları "pod" adını verdiği büyük kümelerde işletir. TPU v4 Pod 4.096 çip içerir; çipler 600 Gbps yüksek bant genişlikli ağla birbirine bağlıdır. Model paralelliği (büyük modeli çiplere bölme) ve veri paralelliği (farklı çiplerde farklı mini-batch işleme) bir arada uygulanabilir. Google'ın PaLM (540 milyar parametre), Gemini ve AlphaFold modelleri bu Pod altyapısında eğitilmiştir.
JAX ve Yazılım Ekosistemi
TPU'lar JAX, TensorFlow ve PyTorch XLA ile programlanabilir. JAX, NumPy benzeri sözdizimiyle Python kodu yazarak TPU üzerinde XLA (Accelerated Linear Algebra) derlemesi ve JIT optimizasyonu uygular. jax.jit() ile fonksiyon derlenerek TPU'da çalıştırılır; pmap() ile çok cihazlı paralel yürütme kolayca ifade edilir. TensorFlow TPU'yu yerel olarak destekler; PyTorch XLA modu ise minimum değişiklikle PyTorch kodunun TPU'da çalışmasını sağlar. Google Colab ücretsiz sınırlı erişim, Cloud TPU ücretli tam erişim sunar.
Sık Sorulan Sorular
- check_circle TPU mu GPU mu seçmeliyim?: Büyük transformer eğitimi ve Google ekosistemi (JAX/TF) için TPU tercih edilir; genel CUDA kütüphaneleri ve NVIDIA donanım desteği için GPU daha pratiktir.
- check_circle Google Colab'da TPU kullanabilir miyim?: Evet; Colab'ın ücretsiz katmanı sınırlı TPU erişimi sunar. Colab Pro+ daha geniş kaynak tahsisi sağlar.
- check_circle Araştırmacı olarak ücretsiz TPU'ya nasıl erişirim?: Google TPU Research Cloud (TRC) programına başvurarak uygun araştırmacılar ücretsiz TPU erişimi elde edebilir.
- check_circle PyTorch ile TPU kullanılır mı?: Evet; torch_xla (PyTorch XLA) kütüphanesi PyTorch kodunu minimum değişiklikle TPU üzerinde çalıştırır.
- check_circle NVIDIA H100 ile TPU v4 arasındaki fark nedir?: H100 geniş CUDA ekosistemi ve genel GPU iş yükleri için güçlü; TPU v4 JAX optimizasyonlu büyük model eğitiminde belirgin avantaj gösterebilir.