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ı okuTPU
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ı okuGPU ve TPU karşılaştırması
| Özellik | GPU | TPU |
|---|---|---|
| Ne olduğu | Genel amaçlı bir paralel işlemci | Sinir ağı hesapları için uygulamaya özgü bir çip (ASIC) |
| Ne için tasarlandı | Önce grafik; artık yapay zekâ ve bilimsel hesaplama da | Sinir ağlarını eğitmek ve çalıştırmak |
| Temel tasarım | Paralel çalışan binlerce küçük çekirdek | Sistolik dizi olarak kurulmuş matris birimleri |
| Esneklik | Özel işlemler dahil neredeyse her paralel kodu çalıştırır | En iyi olduğu iş standart tensör işlemleri |
| Üreticisi | NVIDIA, AMD ve diğerleri | |
| Nasıl edinilir | Kart olarak satın alınır ya da her büyük buluttan kiralanır | Kiralanır, çoğunlukla Google Cloud üzerinden |
| Yazılım | CUDA ve neredeyse her yapay zekâ framework'ü | XLA derleyicisi üzerinden JAX, TensorFlow ve PyTorch |
| En uygun olduğu yer | Grafik, araştırma, özel modeller ve yapay zekâ işlerinin çoğu | Bü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.