TPU Mimarisi, Google'ın matris hesaplamalarını paralel sistolik dizi yapısıyla hızlandıran özel yapay zeka işlemci tasarımıdır.

TPU Mimarisi (Tensor Processing Unit Architecture), Google tarafından matris çarpımı ve lineer cebir işlemlerini maksimum verimlilikle gerçekleştirmek için özel olarak tasarlanan donanım işlemci mimarisini ifade eder. GPU ve CPU'nun aksine genel amaçlı hesaplama için değil, özellikle derin öğrenme modellerinin eğitimi ve çıkarımı (inference) için optimize edilmiş olan TPU, ilk olarak 2016 yılında Google veri merkezlerinde kullanılmaya başlanmıştır. TPU mimarisinin temel yapı taşı sistolik dizi (systolic array) adı verilen ve binlerce çarpma-toplama (multiply-accumulate) biriminin birbirine doğrudan bağlı olduğu matris yapısıdır. Bu mimaride veri bir kez bellekten yüklenir ve dizi boyunca akarak defalarca yeniden kullanılır; böylece bellek bant genişliği talebi dramatik biçimde düşürülür. TPU v1, 700 MHz saat hızında 65.536 çarpma-toplama işlemini eş zamanlı gerçekleştirebilir ve saniyede 92 trilyon 8-bit işlem kapasitesine sahipken yalnızca 40 watt güç tüketir. Her TPU TensorCore birimi; matris çarpımı birimi (MXU), vektör birimi ve skaler birimden oluşur. TPU v5 ve sonraki nesillerde MXU boyutu 256×256'ya çıkarılmış, HBM (High Bandwidth Memory) kullanımıyla bant genişliği daha da artırılmıştır. Yeni nesil TPU'lar eğitim (TPU 8t) ve çıkarım (TPU 8i) için ayrı varyantlar olarak sunulmakta; bu sayede farklı hesaplama gereksinimlerine özgü donanım optimizasyonu sağlanmaktadır. Google'ın TPU'ları günümüzde Google Cloud üzerinden TPU VM ve TPU Pod yapılandırmaları şeklinde erişilebilmektedir. Bir TPU Pod, binlerce TPU çekirdeğini yüksek hızlı ara bağlantılarla birleştirerek eksa-ölçek hesaplama kapasitesi sunar. ChatGPT, Gemini ve benzeri büyük dil modellerinin eğitiminde kullanılan en kritik donanım altyapılarından birini oluşturan TPU mimarisi, NVIDIA GPU'larına alternatif en güçlü yapay zeka hızlandırıcı platformu konumundadır.

Sistolik Dizi: TPU Mimarisinin Kalbi

Geleneksel CPU ve GPU mimarilerinde her hesaplama birimi, veriyi bellekten ayrı ayrı okur ve yazar; bu durum yüksek bant genişliği talebi yaratır. TPU'nun sistolik dizi (systolic array) yaklaşımı bu problemi kökten çözer. Sistemin adı, Yunan kökenli 'systole' (kalp atışı) sözcüğünden gelir; tıpkı kanın kalp ritmiyle pompalanması gibi, veri çipin içinden düzenli darbelerle akar. Sistolik dizide her çarpma-toplama birimi (MAC — multiply-accumulate), sıradaki birime hem sonucu hem de aktivasyon verisini doğrudan iletir. Böylece büyük bir matris çarpımı hesaplanırken veri yalnızca bir kez ana bellekten yüklenir ve binlerce birim boyunca hedefe ulaşana kadar yeniden kullanılır. Bu yaklaşım bellek erişimini minimize ederek güç verimliliğini ve işlem hızını aynı anda artırır. TPU v1 için bu, 65.536 MAC biriminin dalga halinde veriyi işlemesi anlamına gelir.

TPU Nesilleri: v1'den TPU 8'e

Google, 2016'da veri merkezi kullanımı için TPU v1'i hayata geçirdi; bu nesil yalnızca çıkarım (inference) işlemleri için tasarlanmıştı. 2017'de kamuoyuna açıklanan v2 hem eğitim hem çıkarımı destekler hale geldi ve HBM entegrasyonuyla bellek bant genişliği katlandı. v3 kuşağı flops kapasitesini yaklaşık iki katına çıkarırken soğutma sistemini sıvı soğutmaya taşıdı. TPU v4 (2021) ve v5 serileri özellikle büyük dil modeli eğitimi için optimize edildi; MXU boyutu 256×256'ya çıkarıldı. 2024'te Google TPU v6e (Trillium) ve yeni nesil TPU 8t/8i çiftini tanıttı: '8t' eğitim yükü için, '8i' çıkarım yükü için ayrı optimize edilmiş varyantlardır. TPU Pod adı verilen çok-çip yapılandırmalarında binlerce TPU çekirdeği yüksek hızlı ICI (Inter-Chip Interconnect) ağıyla birleştirilir ve petabayt ölçeğinde model eğitimi sağlanır.

GPU ile Karşılaştırma: Güçlü ve Zayıf Yönler

NVIDIA GPU'ları genel amaçlı paralel hesaplama yapabilen esnek hızlandırıcılardır; CUDA ekosistemi sayesinde neredeyse tüm yapay zeka çerçeveleriyle (PyTorch, TensorFlow, JAX) sorunsuz çalışır. TPU ise bu esnekliği kasıtlı olarak feda ederek matris hesaplamalarında çok daha yüksek işlem yoğunluğu (OPS/W) elde eder. Pratik avantajlar: TPU'lar, Google'ın kendi altyapısında ve Google Cloud üzerinden erişildiğinde büyük dil modeli eğitiminde maliyet/performans avantajı sunar. JAX framework'ü TPU ile özellikle verimli çalışacak şekilde tasarlanmıştır. Öte yandan CUDA kütüphanelerine bağımlı özel operasyon gerektiren kodlar TPU'ya taşınması zor olabilir. Genel çıkarım için (özellikle küçük/orta boy modeller), özel inference sunucusu ihtiyacı olan ASIC'ler veya NPU'lar daha maliyet-etkin seçenek olabilir.