Yapay Zekâlar Eğitilirken Neden CPU Değil de GPU Tercih Ediliyor?

Yapay Zekâlar Eğitilirken Neden CPU Değil de GPU Tercih Ediliyor?

Yapay zekâ konusuna dışarıdan bakıyorsanız; Stable Diffusion ve Midjourney üzere görsel üretme emelli araçların, ekran kartı olarak bildiğimiz GPU ile çalıştığını, ChatGPT üzere asistanların ise işlemci olarak bildiğimiz CPU’dan güç aldığını düşünüyor olabilirsiniz. Gündelik tariflerle yaygın olarak düşünülen bu olsa da durum fark etmeksizin iki tarafta da GPU daha öndedir.

İyi de bizim rahat formda görsel ve görüntü düzenlememizi, sağlam grafiklerle oyun oynamamızı ve 3 boyutlu tasarım yapmamızı mümkün kılan GPU’lar, nasıl oluyor da mevzudan hayli alakasız görünen sesli ve yazılı asistanlara hayat verebiliyor?

Öncelikle çözmemiz gereken husus, CPU ve GPU ayrımı.

Genel olarak CPU dendiğinde i3, i7, Ryzen 5 üzere seriler kastedilir. GPU dendiğinde ise GTX, RTX, 6600, 7700 üzere ekran kartı serileri kelam konusu olur. Ama bizim bu mevzuyu anlayabilmemiz için bir tık perde ardına geçmemiz gerek.

CPU ve GPU’nun ikisi de özünde süreç ünitesidir. CPU olarak bildiğimiz süreç ünitesi, sıralı süreçler yapar. Bunu epey süratli bir biçimde gerçekleştiren CPU’lar, süratli olsalar da çok geniş çaplı bilgi setleriyle ilgilenemezler. Lakin temel vazifeleri bilgisayarın işleyişini sağlamak ve karışık süreçleri gerçekleştirmek olan bu üniteler, az sayıda güçlü çekirdeklere sahip olurlar.

Öte yandan GPU birimleri, CPU’lara nazaran daha küçük ve daha çok sayıda çekirdeğe konut sahipliği yapar. Grafik süreçleri için üretilen bu üniteler, bunun yanında paralel hesaplamalar yaparlar. Natürel burada başınız karışmasın. Az evvel CPU’ların süratli süreçleri sıra sıra yaptığını söylemiştik. GPU’lar, daha yüksek çekirdek sayısının da getirisiyle çok sayıda süreci tıpkı anda yapabilir. Buna hesaplamalar da dahil.

Ek olarak iki tarafın ortasında bulunan, içinde hem CPU hem de GPU bulunduran APU’lar da var.

Bu ayrımı yaptıktan sonra gelelim asıl sorumuza: Neden GPU’lar, yapay zekâ eğitiminde CPU’ların yerine tercih ediliyor?

Yapay zekâ araçlarının eğitilebilmesi, epey karışık süreçlerin ne kadar müddette işlenebildiğine bağlı. Bunun en kısa müddette yapılabilmesi için de birbirinden karışık çok sayıda sürecin birebir anda çözülebilmesi gerek. GPU’ların, CPU’lara göre daha çok çekirdeğe sahip olduğunu söylemiştik. Bu da bu ünitelerin tıpkı anda bir sürü süreci yapabilmesini sağlıyor.

Bant genişliği de GPU’ların avantajlı olduğu bir nokta. Yüksek bant genişliği sayesinde bu üniteler, hem birebir anda çok sayıda süreç yapıyor hem de tekrar yüksek süratte bu süreçlerin bilgilerini işliyor. Ortalama bir CPU 50 ila 100 GB/s bant genişliğine sahipken üst düzey bir GPU, 500 GB/s’nin üstüne çıkabiliyor.

Ayrıca yalnızca bu süreçlerin daha süratli yapılabilmesi için geliştirilen yapay zekâ odaklı GPU’lar da bulunuyor. Daha sağlam bant genişliğine ve saat suratına sahip olan bu modeller, alışık olduğumuz GTA 5 açan kartlara benzemeseler de yapay zekâ tahsilini daha verimli kılıyorlar. NVIDIA’nın H100 GPU’su bunlardan biri.

Buraya kadar ne olduğunu anlamayanlar için bu mevzuyu netleştirecek çok hoş bir örnek var.

Yapmamız gereken sürecin bu şahısları karşıdan karşıya geçirmek olduğunu düşünelim.

Bu bizim CPU’muz:

Bu da GPU’muz:

Her ne kadar CPU’muz epeyce gelişmiş de olsa bu bireylerin hepsini karşıya geçirmesi uzun vakit alacaktır. Bu elbette gereğince güçlü olmadığından değil, süreçleri yalnızca sıralı yapma seçeneği olduğundan kaynaklı.

Öte yandan GPU’muz, bu bireylerin (verilerin) hepsini birebir anda karşıya geçirebilecek kapasitede olduğundan bizim hem vakitten hem de masraftan tasarruf edebilmemizi sağlıyor.

Yapay zekâ modellerine data girileceği vakit hem GPU hem de CPU epey kritik roller oynuyor. Bu yüzden biri olmadan başkası olabilir üzere niyetler başınızda canlanmasın. Çünkü CPU’nun öne geçtiği alanlarda da GPU kenarda kalabiliyor.

Kaynaklar: Pure Storage, Analytics Vidhya, By By