Google’ın TPU’sunun İçinde: Mimari, Performans ve GPU Karşılaştırmaları

Yapay zeka hızlandırma dünyasında, Google’ın Tensor İşleme Birimleri (TPU'lar) özel güç merkezleri olarak öne çıkar. Makine öğrenimi iş yüklerini hızlandırmak için tasarlanan TPU'lar, büyük ölçekli derin öğrenme görevlerinde kritik bir bileşen haline gelmiştir ve belirli görevlerde ham üretim hacminde genellikle geleneksel GPU'ları ve CPU'ları geride bırakırlar.
Bu makalede, TPU'ların ne olduğunu, CPU'lardan ve GPU'lardan nasıl ayrıldıklarını ve en son nesil TPU'ların NVIDIA’nın H100 ve H200 gibi üst düzey GPU'larına karşı nasıl performans gösterdiğini keşfedin.
GPU ve TPU: Fark Nedir?
Bir TPU'yu benzersiz kılan şeyi anlamak için, bilgisayar dünyasındaki kardeşleriyle nasıl karşılaştırıldığına bakmamız gerekir.
GPU (Grafik İşleme Birimi):
Aslen grafik işleme için tasarlanmış paralel bir işlemci. Günümüzde GPU'lar; makine öğrenimi, bilimsel hesaplama ve simülasyonlar için yaygın olarak kullanılmaktadır. Mimarileri, onları derin öğrenmede bulunanlar gibi matris ağırlıklı işlemler için ideal hale getirir.TPU (Tensor İşleme Birimi):
Google tarafından özellikle makine öğrenimi iş yüklerini — özellikle matris hesaplamalarına dayalı olanları — hızlandırmak amacıyla özel olarak üretilmiş uygulamaya özel entegre devredir (ASIC). TPU'lar, özellikle TensorFlow ve JAX gibi çerçevelerde derin öğrenme modellerinin eğitimi ve çıkarımında (inference) parlar.
GPU Nasıl Çalışır?
Bir GPU (Grafik İşleme Birimi), aslen görüntü ve video işlemek üzere oluşturulmuş, ancak günümüzde yapay zeka, bilimsel hesaplama ve simülasyonlar için yaygın olarak kullanılan devasa paralel bir işlemcidir.
Bir CPU gibi birkaç güçlü çekirdek yerine, bir GPU, Akış Çoklu İşlemcileri (Streaming Multiprocessors - SM'ler) adı verilen gruplar halinde organize edilmiş binlerce daha küçük, verimli çekirdek içerir. Bu çekirdekler, aynı işlemi aynı anda birçok farklı veri parçası üzerinde gerçekleştirir; bu paralel işleme yaklaşımı, Tek Talimat, Çoklu İş Parçacığı (SIMT) olarak bilinir. Bu yaklaşım, Tek Talimat, Çoklu Veri (SIMD) yaklaşımına benzer ancak her iş parçacığının kendi kontrol akışı olabilir.
Yapay zeka iş yükleri için GPU'lar, geleneksel CUDA çekirdeklerinin yanı sıra Tensor Çekirdeklerini (matris matematiği için özelleşmiş birimler) kullanır. Veriler, yüksek genişlikli bellekten (HBM veya GDDR) bu hesaplama birimlerine akar ve buralarda matris çarpımı, evrişim (convolution) ve vektör aritmetiği gibi işlemler paralel olarak işlenir. Sonuçlar daha sonra bir sonraki aşama için belleğe geri yazılır.
Bu paralel tasarım, derin öğrenmenin merkezindeki matris işlemleri gibi birçok küçük, bağımsız hesaplamaya bölünebilen iş yükleri için GPU'ları son derece hızlı hale getirir.
TPU Nasıl Çalışır?
Bir TPU'nun kalbinde, sinir ağı hesaplamasının köşe taşı olan yüksek hacimli matris çarpımını gerçekleştirme yeteneği yatar. Genel amaçlı çekirdeklere ve geniş bellek hiyerarşilerine dayanan GPU'ların aksine, TPU'lar sistolik diziler (systolic arrays) etrafında kurulmuştur; bunlar, sıkı bir şekilde koreografisi yapılmış, enerji açısından verimli bir akışta çarpma-biriktirme (MAC) işlemlerini gerçekleştiren optimize edilmiş devrelerdir.
Veriler TPU üzerinden aşamalar halinde akar:
Ana makine (host), verileri bir giriş kuyruğuna (infeed queue) aktarır.
TPU, modeli parametreleriyle birlikte yüksek bant genişlikli belleğe (HBM) yükler.
Matris Çarpım Birimi (MXU), sistolik dizi içinde MAC işlemlerini gerçekleştirir.
Nihai sonuçlar, ana makinenin alması için bir çıkış kuyruğuna (outfeed queue) yerleştirilir.
Veriler yüklendikten sonra matris çarpımları tamamen dizi içinde gerçekleştiği için, TPU'lar eğitim ve çıkarım için son derece yüksek hesaplama verimliliği sağlayabilir.
Dahası, TPU'lar, derin öğrenme modellerinde performans ile sayısal kararlılık arasında mükemmel bir denge sunan bfloat16 (brain floating point) gibi düşük hassasiyetli formatlara güvenir. Bu, TPU'ların tam 32 bit veya 64 bit hassasiyetin getirdiği bellek ve güç yükü olmadan son derece yüksek FLOPS (saniyedeki kayan nokta işlemleri) sunmasını sağlar.

TPU Mimarisi
Bir TPU yongası, her biri bir Matris Çarpım Birimi (MXU), bir vektör birimi ve bir skaler birimden oluşan bir veya daha fazla TensorCore içerir. TPU v6e'de 256×256 veya önceki sürümlerde 128×128 sistolik dizi olarak düzenlenmiş olan MXU, bfloat16 girdileri ve FP32 birikimiyle döngü başına 16.000 çarpma-biriktirme işlemi gerçekleştirerek hesaplama gücünün çoğunu sağlar. Vektör birimi, aktivasyonlar ve softmax gibi işlemleri yönetirken, skaler birim kontrol akışını ve bellek adreslemeyi yönetir.
Bir TPU Pod, yüksek hızlı Yongalar Arası Bağlantılar (ICI) ile birbirine bağlanan dilimler halinde gruplanmış yongalarla, özel bir ağ üzerinden bir araya getirilmiş bitişik bir TPU setidir. Büyük iş yükleri için çoklu dilim (multislice) modu, birkaç dilimi hem ICI hem de Veri Merkezi Ağı (DCN) aracılığıyla bağlayarak tek bir dilimin sağlayabileceğinden çok daha fazla TPU çekirdeği üzerinde eğitimi mümkün kılar. Bir TPU Pod'undaki TPU yongalarının sayısı TPU sürümüne bağlıdır.
TPU Sürümleri ve GPU Eşdeğerleri
Aşağıdaki karşılaştırmalar, TPU'lar için mevcut olan en küçük topolojiler arasında yer alan Google’ın standart 8 yongalı TPU yapılandırmaları kullanılarak yapılmıştır. Daha büyük topolojiler (örn. 64 veya 256 yongalı podlar) daha da yüksek performans ve ölçek sunar — ancak bu 8 yongalı sistemler bile halihazırda mevcut olan en güçlü GPU kurulumlarından bazılarıyla rekabet etmektedir.
TPU Sürümü (8 yongalı topoloji) | TPU BFLOAT16 TFLOPS | TPU Bellek (HBM) | En Yakın GPU Eşdeğeri | GPU Yongası Sayısı | GPU Belleği (Toplam) | GPU BFLOAT16 TFLOPS |
|---|---|---|---|---|---|---|
TPU v5e-8 | 1.576 TFLOPS | 128 GB | 1 x H200 SXM | 1 x H200 GPU | 141 GB | 1.979 TFLOPS |
TPU v5p-8 | 3.672 TFLOPS | 760 GB HBM2e | 1× H100 NVL | 2 x H100 GPU | 188 GB (2×94 GB) | 3.341 (2 x 1.671) TFLOPS |
TPU v6e-8 | 7.344 TFLOPS | 256 GB HBM | 2× H100 NVL | 4 x H100 GPU | 376 GB (2×188 GB) | 6.682 ( 2 x 3.341) TFLOPS |
TPU v6e-8 | 7.344 TFLOPS | 256 GB HBM | 1 x H200 NVL | 2 x H200 GPU | 282 GB (2 x 141 GB) | 3.342 TFLOPS |
Google’ın son nesil TPU'ları (v5e, v5p, v6e), özellikle bulut ortamlarında yapay zeka eğitimi ve çıkarımı için devasa hesaplama gücü sunar. İşte bfloat16 performansı, bellek ve genel hesaplama kapasitesi açısından NVIDIA’nın en gelişmiş GPU'larıyla karşılaştırması:
TPU v5e-8, tüm 8 yongalı sistem için 128 GB HBM ile 1.576 TFLOPS sunar ve kabaca tek bir NVIDIA H200 GPU'ya (1.979 TFLOPS, 141 GB) eşdeğerdir. Verimli çıkarım ve ince ayar (fine-tuning) için idealdir.
TPU v5p-8, 3.672 TFLOPS ve devasa bir 760 GB bellek sunarak çift H100 NVL kurulumuyla (3.341 TFLOPS, 188 GB) güçlü bir eşleşme sağlar. Büyük ölçekli model eğitimi için uygundur.
Google’ın şimdiye kadarki en gelişmiş TPU'su olan TPU v6e-8, 256 GB HBM ile 7.344 TFLOPS güce ulaşarak dörtlü H100 NVL sistemine (6.682 TFLOPS, 376 GB) yakından rakip olur. Ayrıca çift H200 NVL yapılandırmasıyla (3.342 TFLOPS × 2) da karşılaştırılabilir.
Özünde, TPU'lar sistem başına daha fazla bellek barındırır ve yapay zeka iş yükleri için son derece yüksek veri aktarım hızı sunar, özellikle Google Cloud’un optimize edilmiş TPU altyapısından yararlanıldığında, ham TFLOPS değerlerinde genellikle eşdeğer GPU kurulumlarını geride bırakır.
Ne Zaman TPU Kullanmalısınız?
TPU'lar özellikle şu durumlarda kullanışlıdır:
Büyük ölçekli transformer modellerini (örn. LLM'ler) eğitiyor veya onlara ince ayar yapıyorsanız.
Zaten yerel TPU desteğine sahip olan TensorFlow veya JAX kullanıyorsanız.
Model eğitimi için dolar/watt başına maksimum performansa ihtiyacınız varsa.
Düşük gecikme süresi ve maliyet etkinliği ile ölçekli çıkarım çalıştırmak istiyorsanız.
Ancak, iş akışınız karmaşık hassasiyetli FP8 desteği, gelişmiş grafik işleme veya CUDA tabanlı yazılımlarla sıkı entegrasyon gerektiriyorsa, bir GPU (özellikle NVIDIA'nın H100 veya H200'ü) hala daha iyi bir seçim olabilir.
TPU vs GPU: Hangisi Daha İyi?
Cevap: Ne için optimizasyon yaptığınıza bağlıdır. Esneklik açısından, daha geniş bir uygulama ve çerçeve yelpazesini desteklediği için GPU kazanır. Maliyet etkin, büyük ölçekli makine öğrenimi eğitimi ve çıkarımı için, özellikle Google Cloud üzerinden erişildiğinde TPU daha verimli olabilir. Erişilebilirlik açısından, GPU'ları edinmek ve yerel (on-premise) veya çoklu bulut iş akışlarına entegre etmek daha kolaydır. Watt başına veri aktarım hızı (throughput) için ise, alana özgü tasarımları sayesinde genel olarak TPU'lar öndedir.




