Yapay zekâ konusuna dışarıdan bakıyorsanız; Stable Diffusion ve Midjourney gibi görsel üretme amaçlı araçların, ekran kartı olarak bildiğimiz GPU ile çalıştığını, ChatGPT gibi asistanların ise işlemci olarak bildiğimiz CPU’dan güç aldığını düşünüyor olabilirsiniz. Gündelik tanımlarla yaygın olarak düşünülen bu olsa da durum fark etmeksizin iki tarafta da GPU daha öndedir.
İyi de bizim rahat şekilde görsel ve video 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 konudan oldukça alakasız görünen sesli ve yazılı asistanlara hayat verebiliyor?
Öncelikle çözmemiz gereken konu, CPU ve GPU ayrımı.
Genel olarak CPU dendiğinde i3, i7, Ryzen 5 gibi seriler kastedilir. GPU dendiğinde ise GTX, RTX, 6600, 7700 gibi ekran kartı serileri söz konusu olur. Fakat bizim bu konuyu anlayabilmemiz için bir tık perde arkasına geçmemiz gerek.
CPU ve GPU’nun ikisi de özünde işlem birimidir. CPU olarak bildiğimiz işlem birimi, sıralı işlemler yapar. Bunu oldukça hızlı bir şekilde gerçekleştiren CPU’lar, hızlı olsalar da çok geniş çaplı veri setleriyle ilgilenemezler. Fakat temel görevleri bilgisayarın işleyişini sağlamak ve karışık işlemleri gerçekleştirmek olan bu birimler, az sayıda güçlü çekirdeklere sahip olurlar.
Öte yandan GPU birimleri, CPU’lara göre daha küçük ve daha çok sayıda çekirdeğe ev sahipliği yapar. Grafik işlemleri için üretilen bu birimler, bunun yanında paralel hesaplamalar yaparlar. Tabii burada kafanız karışmasın. Az önce CPU’ların hızlı işlemleri sıra sıra yaptığını söylemiştik. GPU’lar, daha yüksek çekirdek sayısının da getirisiyle çok sayıda işlemi aynı 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, oldukça karışık işlemlerin ne kadar sürede işlenebildiğine bağlı. Bunun en kısa sürede yapılabilmesi için de birbirinden karışık çok sayıda işlemin aynı anda çözülebilmesi gerek. GPU’ların, CPU’lara nazaran daha çok çekirdeğe sahip olduğunu söylemiştik. Bu da bu birimlerin aynı anda bir sürü işlemi 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 birimler, hem aynı anda çok sayıda işlem yapıyor hem de yine yüksek hızda bu işlemlerin verilerini işliyor. Ortalama bir CPU 50 ila 100 GB/s bant genişliğine sahipken üst seviye bir GPU, 500 GB/s’nin üstüne çıkabiliyor.
Ayrıca sadece bu işlemlerin daha hızlı yapılabilmesi için geliştirilen yapay zekâ odaklı GPU’lar da bulunuyor. Daha sağlam bant genişliğine ve saat hızına sahip olan bu modeller, alışık olduğumuz GTA 5 açan kartlara benzemeseler de yapay zekâ öğrenimini daha verimli kılıyorlar. NVIDIA’nın H100 GPU’su bunlardan biri.
Buraya kadar ne olduğunu anlamayanlar için bu konuyu netleştirecek çok güzel bir örnek var.
Yapmamız gereken işlemin bu kişileri karşıdan karşıya geçirmek olduğunu düşünelim.
Bu bizim CPU’muz:
Bu da GPU’muz:
Her ne kadar CPU’muz oldukça gelişmiş de olsa bu kişilerin hepsini karşıya geçirmesi uzun zaman alacaktır. Bu elbette yeterince güçlü olmadığından değil, işlemleri sadece sıralı yapma seçeneği olduğundan kaynaklı.
Öte yandan GPU’muz, bu kişilerin (verilerin) hepsini aynı anda karşıya geçirebilecek kapasitede olduğundan bizim hem zamandan hem de masraftan tasarruf edebilmemizi sağlıyor.