
Yapay zeka hızlandırma dünyasında, Google’ın Tensör İşlem Birimleri (TPU’lar) özel güç merkezleri olarak öne çıkıyor. Makine öğrenimi iş yüklerini hızlandırmak üzere tasarlanan TPU’l ar, büyük ölçekli derin öğrenme görevlerinde kritik bir bileşen haline geldi ve belirli görevler için ham verimde genellikle geleneksel GPU’ları ve CPU’ları geride bıraktı.
Bu makalede TPU’ ların ne olduğunu ve GPU’ lardan nasıl farklı olduklarını, ve en yeni TPU nesillerinin NVIDIA’nın H100 ve H200 gibi üst düzey GPU’larıyla nasıl karşılaştırıldığını inceliyoruz.
Bir TPU’yu benzersiz kılan şeyin ne olduğunu anlamak için, bilişim dünyasındaki kardeşiyle nasıl karşılaştırıldığına bakmamız gerekiyor.
GPU (Grafik İşleme Birimi):
Aslen grafik işlemek 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 matris hesaplamalarına dayalı makine öğrenimi iş yüklerini hızlandırmak için geliştirilmiş, uygulamaya özgü bir entegre devre (ASIC). TPU’lar, özellikle TensorFlow ve JAX gibi çerçevelerde, derin öğrenme modellerinin eğitimi ve çıkarımında öne çıkar.
GPU (Grafik İşleme Birimi), başlangıçta görüntü ve video işlemek için tasarlanmış, 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, GPU, Akışlı Çoklu İşlemciler (SM) adı verilen gruplar halinde düzenlenmiş binlerce küçük ve verimli çekirdek içerir. Bu çekirdekler, birçok farklı veri parçası üzerinde aynı işlemi aynı anda gerçekleştirir. Bu paralel işleme yaklaşımı, Tek Komut, Çoklu İş Parçacığı (SIMT) olarak bilinir ve Tek Komut, Ç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 Tensör Çekirdekleri (matris matematiği için özel birimler) kullanır. Veriler, yüksek bant genişliğine sahip bellekten (HBM veya GDDR) bu hesaplama birimlerine akar ve burada matris çarpımı, evrişim 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, GPU’ları, derin öğrenmenin merkezindeki matris işlemleri gibi birçok küçük ve bağımsız hesaplamaya bölünebilen iş yükleri için son derece hızlı hale getirir.
TPU’ nun merkezinde, sinir ağı hesaplamasının temel taşı olan yüksek verimli matris çarpımı gerçekleştirme yeteneği bulunur. Genel amaçlı çekirdeklere ve geniş bellek hiyerarşilerine dayanan GPU’ ların aksine, TPU’lar sistolik diziler etrafında oluşturulmuştur; bunlar, sıkı bir şekilde düzenlenmiş ve enerji açısından verimli bir akışta çarpma-biriktirme (MAC) işlemlerini gerçekleştiren optimize edilmiş devrelerdir.
Veriler TPU’ dan aşamalar halinde akar:
Matris çarpımları, veriler yüklendikten sonra tamamen dizi içinde gerçekleştiğinden, TPU’lar eğitim ve çıkarım için çok yüksek hesaplama verimi elde edebilir.
Dahası, TPU’lar, derin öğrenme modellerinde performans ve sayısal kararlılık arasında ideal bir denge sağlayan bfloat16 (brain floating point) gibi düşük hassasiyetli formatlara dayanır. Bu, TPU’ ların tam 32 bit veya 64 bit hassasiyetin bellek ve güç yükü olmadan son derece yüksek FLOPS (saniye başına kayan nokta işlemleri) sunulmasını sağlar.
Bir TPU yongası, her biri bir Matris Çarpma Birimi (MXU), bir vektör birimi ve bir skaler birimden oluşan bir veya daha fazla TensorCore içerir. Sistolik bir dizi olarak düzenlenen MXU (TPU v6e’de 256×256 veya önceki sürümlerde 128×128), bfloat16 girişleri ve FP32 birikimiyle döngü başına 16.000 çarpma-biriktirme işlemi gerçekleştirerek işlem gücünün çoğunu sağlar. Vektör birimi, etkinleştirme ve softmax gibi işlemleri yönetirken, skaler birim kontrol akışını ve bellek adreslemesini yönetir.
Bir TPU Pod, özel bir ağ üzerinde gruplandırılmış, yongaların yüksek hızlı Yongalar Arası Bağlantılar (ICI) ile birbirine bağlı dilimler halinde gruplandığı bitişik bir TPU kümesidir. Büyük iş yükleri için, çok dilimli mod, hem ICI hem de Veri Merkezi Ağı (DCN) aracılığıyla birkaç dilimi birbirine bağlayarak tek bir dilimin sağlayabileceğinden çok daha fazla TPU çekirdeğinde eğitim olanağı sağlar. Bir TPU Pod’daki TPU yongalarının sayısı, TPU sürümüne bağlıdır.
Aşağıdaki karşılaştırmalar, TPU’ lar için mevcut en küçük topolojiler arasında yer alan Google’ın standart 8 çipli TPU yapılandırmaları kullanılarak yapılmıştır. Daha büyük topolojiler (örneğin, 64 veya 256 çipli kapsüller) daha da yüksek performans ve ölçek sunar; ancak bu 8 çipli sistemler halihazırda mevcut en güçlü GPU kurulumlarından bazılarıyla rekabet edebilmektedir.
TPU Sürümü (8-çip topolojisi) | TPU BFLOAT16 TFLOPS | TPU Hafızası (HBM) | En Yakın GPU Eşdeğeri | GPU Çip Sayısı | GPU Hafızası (Total) | 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 GPUs | 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 GPUs | 376 GB (2×188 GB) | 6,682 ( 2 x 3,341) TFLOPS |
1 x H200 NVL | 2 x H200 GPUs | 282 GB (2 x 141 GB) | 3,342 TFLOPS |
Google’ın son TPU nesilleri (v5e, v5p, v6e), özellikle bulut ortamlarında yapay zeka eğitimi ve çıkarımı için muazzam bir işlem gücü sunar. bfloat16 performansı, bellek ve genel işlem kapasitesi açısından NVIDIA’nın en gelişmiş GPU’ larıyla karşılaştırmaları aşağıdadır:
Ö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 verim sağlar; özellikle Google Cloud’un optimize edilmiş TPU altyapısından yararlanıldığında, ham TFLOPS’ ta eşdeğer GPU kurulumlarını geride bırakır.
TPU’lar özellikle şu durumlarda faydalıdır:
Ancak, iş akışınız karma 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’ü) yine de daha iyi bir seçim olabilir.
Cevap: Neyi optimize ettiğinize bağlıdır. Esneklik açısından GPU, daha geniş bir uygulama ve çerçeve yelpazesini desteklediği için avantajlıdır. Uygun maliyetli, büyük ölçekli makine öğrenimi eğitimi ve çıkarımı için TPU, özellikle Google Cloud üzerinden erişildiğinde daha verimli olabilir. Kullanılabilirlik açısından, GPU’ ların edinilmesi ve şirket içi veya çoklu bulut iş akışlarına entegre edilmesi daha kolaydır. Alana özgü tasarımları sayesinde, watt başına verim açısından TPU’ lar genellikle önde gelir.
Ücretsiz Demonuza Erişmek İçin İletişime Geçin