GPU ve Yapay Zekâ
Bu derste derin öğrenmenin görünmez motoru olan GPU'yu (Graphics Processing Unit, grafik işlemci) sıfırdan anlatıyoruz: GPU nedir, yapay zekâ neden bu kadar çok GPU ister, CPU ile farkı nedir ve günlük kullanımda nerede karşımıza çıkar. Konunun temeli olan öğrenme tarafı için Derin öğrenme nedir? dersine, serinin tamamı için Yapay Zekâ dersleri sayfasına göz atabilirsin.
GPU Nedir?
GPU, ilk olarak ekrandaki görüntüyü hesaplamak için tasarlanmış bir işlemcidir. Bir bilgisayar oyunundaki her karede, ekrandaki milyonlarca pikselin renginin neredeyse aynı anda hesaplanması gerekir; yani işin özü, "çok sayıda küçük hesabı birlikte yapmak"tır. GPU bu yüzden binlerce küçük çekirdekten oluşan, paralel işleme yani aynı anda çok iş yapmaya odaklanmış bir çiptir. Zamanla bu yeteneğin grafikten çok daha geniş bir alanda kullanılabildiği anlaşıldı ve bugün GPU; bilimsel simülasyondan video düzenlemeye, yapay zekâdan görüntü işlemeye kadar her türden paralel işi koşturan genel amaçlı bir işlemci hâline geldi.
Yapay Zekâ Neden GPU Kullanır?
Yapay sinir ağları dersinde gördüğümüz gibi, bir sinir ağı özünde sayı tablolarıyla (matrislerle) yapılan çarpma ve toplama işlemlerinden ibarettir. Her nöron girdileri ağırlıklarla çarpar, toplar ve sonuca bir aktivasyon uygular; bir katmandaki binlerce nöron ise aynı hesabı farklı verilerle tekrar eder. Kritik nokta şudur: bu hesaplar birbirini beklemez, her çarpma işlemi bağımsız olarak aynı anda yapılabilir. İşte bu, tam olarak GPU'nun varlık sebebi olan iş tanımıdır.
Eğitim sırasında bu tablo işlemleri milyonlarca kez tekrarlanır: ağ tahmin yapar, hatası ölçülür, ağırlıklar düzeltilir ve döngü baştan başlar. Aynı iş kümesini CPU'da art arda koşturmak, GPU'da aynı anda koşturmaktan kat kat yavaş kalır; CPU'da haftalar sürebilecek bir eğitim GPU ile günlere, küçük modellerde saatlere inebilir. Bu fark o kadar büyüktür ki modern derin öğrenmenin bugünkü hâline gelmesi büyük ölçüde GPU'lara borçludur. Görüntü modellerinde bu hesap yoğunluğunun somut hâlini görmek isteyenler CNN nedir? dersine bakabilir.
CPU ile GPU Arasındaki Fark Nedir?
İkisini bir benzetmeyle ayırt edelim: CPU, zor problemleri sırayla ve ustalıkla çözen birkaç deneyimli öğretmene; GPU ise basit ama çok sayıda problemi aynı anda çözen binlerce öğrenciye benzer. İkisi de değerlidir; hangisinin daha iyi olduğu, işin türüne bağlıdır. Başlıca farkları karşılaştıralım:
- Çekirdek sayısı: CPU'da genellikle 4-16 arası, güçlü ve çok yönlü çekirdek bulunur; GPU'da aynı basit işlemi üstlenen binlerce küçük çekirdek vardır.
- Uygun olduğu iş: CPU; sıralı, karmaşık ve karar gerektiren işlerde iyidir. GPU; aynı işlemin çok sayıda veri parçasına uygulanması gereken işlerde (matris çarpımı, görsel işleme) çok daha hızlıdır.
- Bellek: CPU sistem RAM'ini kullanır; GPU'nun ise kendi yüksek hızlı belleği (VRAM) vardır. Model ve veri eğitim sırasında bu belleğe sığmak zorundadır, bu yüzden VRAM miktarı derin öğrenmede kritik bir ölçüttür.
- Esneklik: CPU her türlü programı koşturur; GPU ise paralelleştirilebilen işlerden en yüksek verimi verir.
Eğitim ve Çıkarım: GPU'nun İki Farklı Görevi
Yapay zekâda GPU'nun devreye girdiği iki ayrı aşama vardır. Eğitim (training) aşamasında model, örnek veriler üzerinden öğrenir; hesap yükünün en yüksek olduğu bölümdür ve büyük modeller için veri merkezlerinde devasa GPU dizileri gerekir. Çıkarım (inference) aşamasında ise eğitilmiş model kullanıma hazır biçimde çalışır: bir sohbet modelinin sana yanıt üretmesi ya da bir uygulamanın fotoğraftaki nesneyi tanıması bu aşamadır. Çıkarım eğitimden hafiftir ama yine de paralel hesap gerektirdiği için GPU'dan ciddi biçimde yararlanır. Son yıllarda büyük dil modellerinin yükselişiyle bu iki taraf da canlandı: büyük şirketler öncü modelleri binlerce GPU ile eğitirken, bireysel kullanıcılar evdeki oyun bilgisayarlarındaki GPU'larla küçük ve açık modelleri kendi makinelerinde çalıştırabiliyor.
CUDA ve Yazılım Tarafı
"GPU takarım, her şey hızlanır" demek tek başına yetmez; yazılımın GPU'yu kullanabilmesi gerekir. Bu köprüyü kuran en yaygın platform, NVIDIA'nın CUDA adlı araç setidir: geliştiricinin GPU için kod yazmasını sağlar. PyTorch ve TensorFlow gibi popüler derin öğrenme kütüphaneleri, yazdığın model kodunu perde arkasında CUDA üzerinden GPU'ya gönderir. CUDA'nın uzun yıllara dayanan olgunluğu, ekosistemdeki kütüphanelerin büyük bölümünün önce NVIDIA kartlarla sorunsuz çalışmasının başlıca sebebidir. Alternatifler de her geçen gün güçleniyor: Google'ın yapay zekâ işleri için özel tasarladığı TPU çipleri, AMD kartlar için ROCm ekosistemi ve telefonlarla dizüstü bilgisayarlarda görmeye başladığımız NPU adlı yapay zekâ hızlandırıcıları bunların başında gelir.
Sık Yapılan Hatalar ve Yanılgılar
- "GPU sadece oyun içindir." GPU grafik için doğdu ama bugün genel amaçlı bir paralel işlemcidir; yapay zekâ, video düzenleme ve bilimsel hesaplamalarda yaygın biçimde kullanılır.
- "Donanımı takınca model kendiliğinden hızlanır." Tek başına yetmez; sürücülerin, CUDA desteğinin ve kullandığın kütüphanenin GPU'yu görmesi gerekir. Kodda hesapları GPU'ya taşımak genellikle geliştiricinin işidir.
- "VRAM ne kadar fazlaysa o kadar iyidir, gerisi önemsizdir." VRAM, modele sığıp sığmayacağını belirler; ancak çekirdek sayısı ve bellek bant genişliği de hızı doğrudan etkiler.
- "GPU olmadan derin öğrenme olmaz." Olur, yalnızca yavaştır. Küçük modeller ve alıştırma denemeleri CPU'da eğitilebilir; ayrıca Google Colab gibi bulut servisleri GPU'ya ücretsiz veya düşük maliyetle erişim sağlar.
- "Eğitim ile kullanım aynı iş yüküdür." Değildir. Eğitim çok daha fazla hesap ister; kullanıma (çıkarıma) alınmış bir modelin devasa GPU kümesi gerektirmemesinin sebebi budur.
Büyük dil modellerinin eğitiminin bu kadar maliyetli olmasının teknik sebebi de buradadır: Transformer mimarisi üzerine kurulan güncel modeller, eğitimlerinde muazzam büyüklükte matris işlemlerini devasa GPU dizileri üzerinde koşturur. Donanım ile model mimarisi birbirinden ayrı düşünülemeyecek kadar iç içedir; bu yüzden derin öğrenme öğrenirken GPU'nun ne işe yaradığını bilmek, neleri neden bekleyeceğini de öğretir.
Sık Sorulan Sorular
Yapay zekâ neden GPU ile daha hızlı çalışır?
Sinir ağlarının temelindeki çarpma-toplama işlemleri birbirinden bağımsızdır ve aynı anda yapılabilir. GPU'nun binlerce küçük çekirdeği tam da bu tür paralel işler için tasarlandığından, aynı eğitim işi CPU'ya göre kat kat daha kısa sürede tamamlanır.
GPU olmadan derin öğrenme modeli eğitilir mi?
Evet, ancak çok yavaş olur. Küçük modeller ve öğrenme amaçlı denemeler CPU'da eğitilebilir; büyük modellerde süre pratikte kabullenilemez hâle gelir. Google Colab gibi bulut servisleri GPU'ya ücretsiz veya düşük maliyetle erişim imkânı sunar.
TPU ile GPU arasındaki fark nedir?
GPU, paralel hesaplama için tasarlanmış genel amaçlı bir işlemcidir. TPU ise Google'ın yalnızca yapay zekâdaki tensör (matris) işlemleri için özel olarak geliştirdiği bir çiptir. GPU'lar daha yaygın ve esnektir; TPU'lar ise belirli büyük ölçekli iş yüklerinde Google bulutunda kullanılır.