CPU, TPU ve QPU Nedir?
8 min readGeleneksel bilgisayarlardaki CPU, yapay zeka işlemcisi TPU ve kuantum işlemci QPU ’ya yakından bakıyoruz.
Delikli kartların ve hesap makinesinin icadıyla beraber, insanoğlunun tarihinde makinelerle işlem yapmanın tarihi de başladı. Elektronik sıçrama, transistörün icadı ve yarı iletken cihazlardaki üstün gelişmeler, veri işleme gücümüzü inanılmaz oranda artırdı. Şimdi ise insanoğlunun önünde, mevcut veri işlem gücünü katlama potansiyeline sahip bir teknoloji var: Kuantum Bilgisayarlar.
Klasik Hesaplama
Pek çok insanın aklına, CPU deyince doğrudan işlemci gelir. Bu, zamanla oturmuş bir alışkanlık olsa da, temelinde hatalıdır. Açılımı Centeral Processing Unit yani Merkezi İşlem Birimi olan CPU, aslında işlemcilerden daha fazlasını, verinin nasıl işlendiğini temsil ediyor.
Öte yandan CPU yanında artık yeni terimler de hayatımıza giriyor: TPU ve QPU gibi farklı sistemlerdeki karşılıklara birlikte bakalım.
CPU: İkili Sistem
CPU ile yapılan klasik hesaplamada Bit, bir ya da sıfır değerini alabilen, küçük, ikili sisteme sahip bir bilgi yığınıdır. Klasik bilgisayar teknolojilerinde işlenmiş bir Bit, iki düşük DC voltaj seviyesinden biri tarafından temsil edilir. Bu iki seviyenin birinden diğerine geçerken, sözde yasak bölge mümkün olduğunca çabuk geçilmelidir. Çünkü elektrik voltajı doğası gereği, bir seviyeden diğerine anlık olarak değişemez.
Bu voltaj olayları, bir yerden tanıdık geliyor olmalı. Evet, Transistörler! CPU bir bakıma, bilgisayar evreni için klasik hesaplamayı temsil ediyor. Kökeni delikli kartlara kadar dayanan İkili (Binary) sistem ise, klasik hesaplamanın temellerini oluşturuyor.
İkili sistem, Bool Cebiri’ne dayanmakta. Temelinde 0 ve 1 olarak temsil edilen iki duruma sahip bu matematik sistemi, bizim karmaşık bilgisayar işlemcilerimizin kalbinde yatan sistemi oluşturuyor.
İşlemciler, daha doğrusu klasik işlemciler, transistörlerden oluşuyor. Transistörler, bir tür elektrikle çalışan kapı gibidir. Belirli durumlara göre çıktı olarak 1 ve 0 değerlerine karşılık gelebilecek, elektrik sinyalleri verebilirler. Aslında klasik bilgisayarlar, transistörlerin bu doğasını, Bool cebirini fiziksel bir elektrik devresine uygulamak için kullanır. Bu sayede Bitleri işleyen, toplayan ve çıkartan, devasa bir matematik devresi ortaya çıkartmış olursunuz.
Günümüzdeki işlemciler, Bool cebrinin aşırı derecede karmaşıklaşmış, hatta bir noktada evrilmiş bir varyantı baz alınarak tasarlanıyor. Artık 0 ve 1’ler, basit transistör devreleri değil; komut setleri, karmaşık transistör şemaları ve işlemci mimarileri konuşuluyor. Ancak çoğu işlemcinin temelindeki mantık, iki değere bakıyor: 0 ve 1. CPU, sonuç olarak bu iki rakam sayesinde bütün komutları yerine getirebiliyor.
Bool cebiri, Logic devreler ve Bit operasyonları hakkında detaylı bilgi için, Logic Gate: Binary toplama yazımıza bakabilirsiniz.
TPU ve Yapay Zeka Hesaplamaları
Tensör İşleme Birimleri ya da TPU’lar (Tensor Processing Unit), makine öğrenimi iş yüklerini hızlandırmak için kullanılan, Google tarafından özel olarak geliştirilmiş uygulamaya özel entegre devrelerdir.
Eğer yapay zeka, yazılım ya da programlama ile ilgileniyorsanız, makine öğrenmesinde büyük modeller oluşturulurken, işlemcilerden yani CPU’lardan değil, ekran kartlarından yani GPU’lardan faydalanıldığını görmüşsünüzdür. GPU ve TPU aslında ayrı iki kavramı temsil etmektedir. Ancak TPU’nun ne olduğunu anlamak için, CPU yerine neden GPU kullanılıyor, bu soruyu anlamamız gerek.
Neden makine öğrenmesinde CPU yerine GPU kullanılıyor?
CPU’nuzu hızlı, atik, kıpkırmızı bir Ferrari olarak düşünün. GPU’nuzu ise büyük, bir sürü yük taşıyabilen, devasa bir kamyon olarak hayal edin.
Ferrari’nizi kullanarak, elinizdeki küçük paketleri hızlı bir şekilde A noktasından B noktasına götürebilirsiniz. Hızlıdır, ama yük kapasitesi azdır. Bunun yanında, devasa kamyonunuzu kullanarak elinizdeki birçok yükü, yine A noktasından B noktasına götürebilirsiniz. Yavaştır, ancak yük kapasitesi Ferrari’niz ile karşılaştırılamayacak kadar büyüktür.
Gördüğünüz gibi, Ferrari ve kamyon karşılaştırmasında olay hız ve yük dengesinde sonuçlanıyor. CPU ve GPU karşılaştırmasında ise biz buna bant genişliği diyoruz.
Bant genişliği, GPU’ların veri işlemede CPU’lardan daha hızlı olmasının ana nedenlerinden biridir. CPU, büyük veri kümeleri nedeniyle modeli eğitirken çok fazla bellek kullanır. GPU ise sistemdekinden bağımsız, özel bir belleğe sahiptir. Bunun yanında, büyük ve karmaşık işleri hesaplamak, CPU’da çok fazla saat döngüsü gerektirir. Bunun nedeni, CPU’nun işleri sırayla alması ve muadili GPU’dan daha az sayıda çekirdeğe sahip olmasıdır.
Ayrıca en iyi CPU yaklaşık 50GB/s bellek bant genişliğine sahipken, en iyi GPU 750GB/s bellek bant genişliğine ulaşabilir.
TPU: Google’ın uygulama bazlı sistemleri
Tensor İşlem Birimi ya da TPU, özellikle Google’ın kendi TensorFlow yazılımını kullanan, nöral ağ temelli makine öğrenimi için Google tarafından özel olarak geliştirilmiş bir yapay zeka hızlandırıcısı. TPU, uygulamaya özel bir entegre devredir (ASIC). Şirket, TPU’ları 2015 yılında dahili olarak kullanmaya başladı ve 2018’de bunları hem bulut altyapısının bir parçası olarak hem de çipin daha küçük bir sürümünü satışa sunarak üçüncü tarafların kullanımına sundu.
TensorFlow, Google’ın yapay zeka ve makine öğrenimi gibi işlerde, görevleri ve veri akışını kontrollü ve verimli tutmak için geliştirdiği bir yazılım kütüphanesi. İçinde birçok farklı yazılımı barındırıyor ve yazılım kadar donanım tarafından da etkileniyor. Kütüphane, işlemci desteğinin yanında ekran kartı desteğine de sahip, Nvidia da CUDA sayesinde bu alanda büyük bir üstünlük sağlamış durumda.
QPU: Quantum Bilgisayarlar
Kuantum çip olarak da adlandırılan bir kuantum işleme birimi (QPU), bir dizi birbirine bağlı kübit içeren fiziksel bir çiptir. QPU, muhafaza ortamını, kontrol elektroniğini ve diğer birçok bileşeni içeren tam bir kuantum bilgisayarın temel bileşenidir.
Bir kübit veya bir kuantum biti, kuantum hesaplama fikrin yeni sürümüdür. Kübitler, ya/ya da (either/or) senaryoları üzerine kurulu olan ikili bitlerin aksine, aynı anda birden çok durumda olmalarına izin veren “süperpozisyon” özelliğini kullanır. Yazı tura atmanın olası iki sonucunu düşünün: Yazı ya da Tura. Şimdi, her iki durumun aynı anda görünüp kaybolduğu, dönen bir madeni para düşünün. Bu süperpozisyondur.
Klasik bir bilgisayarın zor bir sorunu çözmek için binlerce adımı tamamlaması gerekirken, bir kuantum bilgisayar aynı görevi yalnızca iki veya üç adımda tamamlayabilir.
Basitçe söylemek gerekirse, doğanın kuantum mekaniği sistemine dayanan bir tür bilgi işlem ya da hesaplama mekanizmasıdır. Dolayısıyla, ikili (Binary) kodla sınırlı kalmış klasik bilgisayarların yapamadığı veya yapamayacağı şeyleri yapabilir.
Google’ın Sycamore’u ve Kuantum Üstünlüğü
Kuantum bilgisayarlar klasik bir bilgisayardan çok daha güçlüyse, Google’ın kuantum üstünlüğü duyurusu, bilgi işlemin geleceği için büyük bir gelişme olarak düşünülebilir.
Google’ın araştırmacı ekibi, 53 kübitten oluşan bir çip ile Sycamore adlı bir makine kullanarak rastgele devre örnekleme adı verilen bir görevi gerçekleştirebildi.
Bu, Chicago Üniversitesi’nden bilgisayar bilimcisi Bill Fefferman’ın açıkladığı gibi, kübitler üzerinde “programlarının kodu rastgele seçilmiş gibi” rasgele işlemler gerçekleştirmeyi gerektiriyor.
Ortaya çıkan dağılım, kuantum etkilerinden dolayı rastgele değil ve klasik bilgisayarlarla hesaplamak aşırı derecede zor (ne kadar zaman alacağından bahsetmiyoruz bile).
Sonuç olarak, Sycamore’un örnekleme sürecini milyon kez tekrar etmesi sadece 200 saniye sürdü. Aynı işlemi birinci sınıf bir klasik süper bilgisayarın tamamlaması ise 10.000 yıla yakın bir zaman alıyor.
Kuantum üstünlüğü, bir kuantum bilgisayarda yapılacak hesaplamayı klasik bir makinede yapılan hesaplamadan daha hızlı çalıştırabileceğinizi söylemenin havalı bir yoludur. Üstelik bu hesaplama, herhangi bir matematik formülü gerektirmiyor. Dolayısıyla bu işlem klasik bilgisayarlarla alıştığımız hesaplamaya göre çok farklı bir yaklaşım. Ayrıca, tipik bir işlemciyle hesaplamalar yapmak yerine, çoklu qübitlerden oluşan bir bilgisayarla kuantum deneyi yürütmenin ta kendisidir.
CPU ve QPU birleşebilir mi?
Şu an için QPU ve CPU’yu aynı çatı altında bileştiren bir yaklaşım fiziksel olarak bulunmuyor. Ayrıca denenmemiş bir yöntem zira Kuantum işlemcilerin sahip olduğu süper pozisyon onu daha hızlı yapsa da, CPU’lara göre de daha karmaşık hale getirmekte. Süperpozisyonu benimseyen bir sistemi ikili bir sisteme dönüştürmenin gerektireceği zorluklar düşünülünce, bu birleşimin zor olduğu ortaya çıkıyor.
Ancak, hibrit bir sistem mümkün olabilir. Alıştığımız, standart CPU işlem biriminin yanında, QPU birimine sahip sistemler görebiliriz. QPU, belirli ve özel işleri çözmek için kullanılırken, CPU da günlük, klasik işler için kullanılabilir. Kim bilir, belki de ARM veya RISC-V ile çıkacak işlemciler, bizlere CPU + QPU hibrit sistemlerin ve akabinde Kuantum çağının kapılarını aralayabilir.
Bu bir hayal. “Peki gerçekleşebilir mi?” Bunu bize zaman gösterecek.