Ana içeriğe geç

Yan yana

GPUvsTPU

GPU ile TPU arasındaki fark nedir?

Güncellendi 3 dk okuma8 fark

Kısaca

GPU, birçok üreticinin sattığı, grafik ve yapay zekâ için paralel işlemcidir; TPU ise Google'ın sinir ağları için yaptığı, Google Cloud'da kiralanan çiptir.

GPU

Grafik İşlem Birimi

GPU (grafik işlem birimi), binlerce küçük çekirdeğiyle aynı hesabı çok büyük veri üzerinde aynı anda yapan işlemcidir; grafik ve yapay zekâ için kullanılır.

GPU sayfasını oku

TPU

Tensör İşlem Birimi

TPU (Tensör İşlem Birimi), Google'ın sinir ağlarının matris hesapları için yaptığı çiptir; yapay zekâ modellerini çoğunlukla Google Cloud'da eğitip çalıştırır.

TPU sayfasını oku

GPU ve TPU karşılaştırması

ÖzellikGPUTPU
Ne olduğuGenel amaçlı bir paralel işlemciSinir ağı hesapları için uygulamaya özgü bir çip (ASIC)
Ne için tasarlandıÖnce grafik; artık yapay zekâ ve bilimsel hesaplama daSinir ağlarını eğitmek ve çalıştırmak
Temel tasarımParalel çalışan binlerce küçük çekirdekSistolik dizi olarak kurulmuş matris birimleri
EsneklikÖzel işlemler dahil neredeyse her paralel kodu çalıştırırEn iyi olduğu iş standart tensör işlemleri
ÜreticisiNVIDIA, AMD ve diğerleriGoogle
Nasıl edinilirKart olarak satın alınır ya da her büyük buluttan kiralanırKiralanır, çoğunlukla Google Cloud üzerinden
YazılımCUDA ve neredeyse her yapay zekâ framework'üXLA derleyicisi üzerinden JAX, TensorFlow ve PyTorch
En uygun olduğu yerGrafik, araştırma, özel modeller ve yapay zekâ işlerinin çoğuBüyük ölçekte büyük, standart modeller; özellikle JAX ile

Fark, açıklamalı

GPU (grafik işlem birimi), binlerce küçük çekirdeği aynı hesabı çok büyük veri üzerinde aynı anda yapan bir işlemcidir. Grafik için üretildi; NVIDIA'nın 2007'de yayımlanan CUDA platformu onu genel amaçlı hesaplama için programlanabilir kıldıktan sonra yapay zekânın ana donanımı hâline geldi. TPU (Tensör İşlem Birimi) ise Google'ın yalnızca sinir ağlarının tensör hesapları için tasarladığı, uygulamaya özgü bir çiptir; Google TPU'ları 2015'te veri merkezlerinde kullanmaya başladı ve 2016'da duyurdu.

Fark, esneklik ile uzmanlaşma arasındadır. GPU oyunlardan videoya, simülasyonlardan özel yapay zekâ işlemlerine kadar neredeyse her paralel kodu çalıştırır ve hemen her yapay zekâ kütüphanesi onu destekler. TPU ise bu esneklikten vazgeçer: matris birimi, sayıları hücreden hücreye aktaran bir sistolik dizidir (systolic array), böylece bellekten okunan her değer defalarca kullanılır; çoğunlukla da bfloat16 gibi düşük hassasiyetli biçimlerle hesap yapar ve bu da onu büyük, standart modellerde çok verimli kılar.

Erişilebilirlik de tasarım kadar farklıdır. GPU'ları NVIDIA, AMD ve diğer üreticiler masaüstü bilgisayarlar, dizüstü bilgisayarlar ve sunucular için kartlar olarak satar; her büyük bulut da onları kiralar. TPU'lar ise çoğunlukla bir Google Cloud hizmeti olarak sunulur, özel bir ağla binlerce çipten oluşan pod'lara bağlanır ve programlar onlara JAX, TensorFlow ya da PyTorch'tan XLA derleyicisi üzerinden ulaşır; en yaygın tercih JAX'tir.

Sık yapılan bir yanlış, TPU'nun yalnızca daha hızlı bir GPU olduğunu düşünmektir. JAX ile yazılmış büyük transformer modelleri gibi bazı iş yüklerinde daha hızlı ya da daha ucuzdur; ama çok sayıda özel işlem içeren modeller genellikle GPU'larda daha kolay çalışır ve bir TPU hiç grafik çizemez. Bir diğeri, yapay zekânın her zaman bu ikisinden birine ihtiyaç duyduğu düşüncesidir: küçük modelleri CPU'lar hâlâ iyi çalıştırır; telefonlarda ve dizüstü bilgisayarlarda da TPU ile aynı fikri izleyen küçük hızlandırıcılar olan NPU'lar bulunur.

Hangisini kullanmalısınız?

GPU şu durumlarda doğru seçim:

  • Yapay zekânın yanı sıra grafik, video ya da genel paralel hesaplamaya da ihtiyacınız var.
  • Modeliniz özel işlemler ya da CUDA bekleyen kütüphaneler kullanıyor.
  • Donanımın sahibi olmak ya da herhangi bir bulutta veya kendi sunucularınızda çalıştırmak istiyorsunuz.
  • Deneme yapıyorsunuz ve geniş araç desteği her şeyden önemli.

TPU şu durumlarda doğru seçim:

  • Google Cloud'da büyük, standart modeller eğitiyor ya da sunuyorsunuz.
  • Kodunuz JAX ile yazılmış ya da XLA ile zaten iyi derleniyor.
  • Büyük ölçekte eğitim başına maliyet, esneklikten daha önemli.
  • Hızlı, özel bir ağla birbirine bağlanmış çok sayıda çipe ölçeklenmeniz gerekiyor.

Sık sorulan sorular

TPU, GPU'dan daha mı hızlı?

İş yüküne bağlıdır. TPU'lar büyük, standart sinir ağlarında, özellikle JAX ile, daha hızlı ya da maliyet açısından daha verimli olabilir; GPU'lar ise özel modellerde genellikle daha kolaydır ve TPU'ların hiç çalıştıramadığı pek çok iş yükünü karşılar.

PyTorch'u TPU'da kullanabilir miyim?

Evet, PyTorch işlemlerini XLA derleyicisiyle TPU için derleyen PyTorch/XLA üzerinden. TPU'larda en yaygın tercih yine JAX'tir ve bazı PyTorch kodlarının verimli çalışması için değişiklik gerekir.

TPU satın alabilir miyim?

Genellikle hayır: Google veri merkezi TPU'larını kullandıkça ödediğiniz bir bulut hizmeti olarak sunar. GPU'lar ise kart olarak satın alınabilir ya da neredeyse her buluttan kiralanabilir.

Daha fazla

Ayarlar