Yapay zeka ve makine öğrenmesi teknolojileri akıllı uygulama gelişimini hızlandırmıştır. Giderek karmaşıklaşan uygulamalarla başa çıkmak için yarı iletken şirketler sürekli olarak CPU, GPU ve TPU dahil olmak üzere işlemciler ve hızlandırıcılar geliştiriyor. Zorlu iş yüklerini verimli bir şekilde yürütmek için CPU performansı tek başına yeterli olmayacaktır. Sorun şu ki, şirketler yapay zeka uygulamalarının aşırı taleplerini desteklemek için tüm sistemlerin performansını nasıl hızlandırabilir? Cevap, derin öğrenme modellerini çalıştırmak için CPU’ları desteklemek için GPU’ların ve TPU’ların geliştirilmesi yoluyla çözülmüştür. Bu nedenle, daha iyi performans ve verimlilik için sürekli gelişen teknolojilere ayak uydurmak için CPU, GPU ve TPU’nun arkasındaki teknolojileri anlamak önemlidir.
CPU vs GPU vs TPU:
Temel olarak CPU, GPU ve TPU arasındaki fark, CPU’nun genel amaçlı programlama için ideal olacak şekilde tasarlanmış bir bilgisayarın beyni olarak çalışan işlem birimi olmasıdır. Buna karşılık GPU, bilgisayar grafiklerini ve AI iş yüklerini geliştiren bir performans hızlandırıcıdır. TPU’lar, Google’ın (belirli makine öğrenimi çerçevesi) TensorFlow kullanarak makine öğrenimi iş yüklerini hızlandıran özel olarak geliştirilmiş işlemcileridir.
CPU Nedir ?
Merkezi İşlem Birimi (CPU), tüm akıllı cihazlarınızda bulunan çekirdek işlemcidir. CPU, birkaç güçlü çekirdek ve aynı anda birkaç yazılım dizisini çalıştırmasını sağlayan büyük önbellek ile tasarlanmış genel amaçlı bir işlemcidir. CPU, orkestra şefi gibidir; sistem için birçok işleme işlevini gerçekleştirmek için bellekten grafik kartına kadar diğer tüm bileşenleri kontrol eder.
Bir CPU’nun en az tek bir işlem çekirdeği vardır, ancak zamanla daha fazla çekirdek içerecek şekilde gelişmiştir. Birkaç çekirdeğe sahip olmak, CPU’nun tek bir çekirdek üzerinde aynı anda iki satır yürütme (iş parçacığı) gerçekleştirmesine izin veren bir teknoloji olan çoklu iş parçacığı gerçekleştirme becerisini sağlar. Dahası, modern CPU’larda artık iki ila altı çekirdeğe ve hatta bazılarının genellikle veri merkezi için ayrılmış kurumsal düzeyde CPU’lar için sekiz ila 64 çekirdeğe sahip.
CPU özellikleri :
- Birçok çekirdek,
- Düşük gecikme,
- Serial işlemede özelleşmiştir,
- Aynı anda birkaç işlemi gerçekleştirebilir,
GPU nedir ?
GPU (grafik işlem birimi), CPU ile performans hızlandırıcı olarak çalışan özel bir işlemcidir. Bir CPU’ya kıyasla, bir GPU’nun karmaşık sorunları binlerce veya milyonlarca ayrı göreve bölebilen ve bunları paralel olarak çözebilen binlerce çekirdeği vardır. Paralel hesaplama, grafik işleme, video oluşturma, makine öğrenimi ve hatta Bitcoin gibi kripto para birimleri için madencilik dahil olmak üzere çeşitli uygulamaları optimize etmek için binlerce GPU çekirdeği kullanır.
Son on yılda GPU’lar, derin öğrenme geliştirme için gerekli hale geldi. GPU’lar, büyük matris işlemlerini hızlandırma ve tek bir işlemde karma hassas matris hesaplamaları gerçekleştirme özelliğiyle derin öğrenmeyi yüksek hızda hızlandırabilir. Bu paralel bilgi işlem teknolojisi, GPU’yu dünya çapında bir AI patlamasını ateşleyen modern süper hesaplamanın çok önemli bir parçası haline getiriyor.
GPU özellikleri :
- Binlerce çekirdek,
- Yüksek throughput,
- Paralel işlem için özelleştirilmiş,
- Aynı anda binlerce işlemi gerçekleştirebilme,
TPU nedir ?
TPU’lar, uygulamaya özel entegre devreler (ASIC’ler) olan Tensör İşleme Birimleri anlamına gelir. TPU’lar sıfırdan Google tarafından tasarlanmıştır; TPU’ları 2015’te kullanmaya başladılar ve 2018’de herkese açık hale getirdiler. TPU’lar, bulut üzerinde çalışan TPU’lar veya daha küçük bir versiyonu olarak mevcuttur. Cloud TPU’lar, TensorFlow yazılımında sinir ağı makine öğrenimini hızlandırmak için yoğun vektör ve matris hesaplamaları gerçekleştirmede inanılmaz derecede hızlıdır.
TPU’lar, büyük ve karmaşık sinir ağı modellerinin eğitiminde doğruluk süresini en aza indirir. TPU’larda, önceden GPU’larda eğitilmesi haftalar süren derin öğrenme modelleri artık TPU’larda yalnızca saatler sürüyor.
TPU özellikleri :
- Matrix işlemleri için özel donanım,
- CPU’ya göre kıyaslandığında daha yüksek gecikme süresi,
- Yüksek throughput,
- Yüksek paralel hesaplama,
- Large batch ve CNN’ler için optimize,
CPU,GPU, TPU Üreticileri kimler?
Aşağıda bazı üreticiler bulunmaktadır.
CPU üreticileri: Intel, AMD, Qualcomm, NVIDIA, IBM, Samsung, Apple, Hewlett-Packard, VIA, Atmel, etc.
GPU üreticileri: NVIDIA, AMD, Broadcom Limited, Imagination Technologies (PowerVR)
TPU üreticileri: Google, Coral (owned by Google), HAILO
Makine Öğrenimi Modellerinizi Çalıştırmak İçin CPU, GPU veya TPU Ne Zaman Kullanılır?
CPU’lar genel amaçlı işlemcilerdir, GPU’lar ve TPU’lar ise makine öğrenimini hızlandıran optimize edilmiş hızlandırıcılardır. Makine öğrenimi iş yüklerinizi çalıştırmak için hangisinin kullanılacağı oldukça basit görünebilir. Ancak, iş yükünüz için hangi donanımın en iyi olduğuna karar vermek için daha yakından bakmak ve hangi tür makine öğrenimi modellerini çalıştırdığınızı düşünmek isteyebilirsiniz. Uygulamanız için hangi işlemcilerin en iyi olduğunu belirlemeniz için bazı hızlı yönergeler şunlardır:
CPU:
- Uzun zaman gerektirmeyen basit modelleri eğitmek,
- Küçük batch boyutlu, küçük modelleri eğitmek,
- Özel TensorFlow işlemlerine dayalı olarak, çoğunlukla C++ ile yazılmış uygulamalar,
GPU :
- GPU’nun desteklemesi gereken çok sayıda özel TensorFlow işlemine sahip modeller,
- Büyük batch size’lı modeller,
- TPU’da bulunmayan modeller,
TPU:
- Çoğunlukla matrix hesaplamaları kullanan eğitim modelleri,
- Tamamlanması haftalar, aylar süren eğitim modelleri,
GPU’lar 2 temel türde gelir.
- Tümleşik (integrated)
- Harici (external)
Harici GPU’lar genellikle anakart üzerindeki PCI Express x16 yuvasına takılır. Buna karşılık, entegre GPU’lar, SoC entegre devresinde CPU’nun yanına gömülür.
Kullanılan GPU’nun güç tüketimine göre uygun PSU (power supply unit) seçilmelidir.
TPU’lar anakarta nasıl bağlanır ?
2019’un başlarında Google nihayet Coral markalarından satın alabileceğimiz TPU donanımını piyasaya sürdü. Satın alabileceğiniz TPU birimleri için mevcut teknik özellik, her bir TOPS için yalnızca 0,5 watt güçle çalışan saniyede 4 trilyon işlem (TOPS) gerçekleştirebilir. Bugün alabileceğiniz üç tür TPU donanımı vardır:
- USB kablo aracılığı ile bağlanan TPU hızlandırıcılar,
- mPCIe ya da M.2 ara yüzleri aracılığıyla bağlanan TPU’lar, M.2 ve mPCIe arayüzleri ile TPU doğrudan anakarta bağlanabilir,
- TPU geliştirme board, modüler AI uygulamaları için SoM- System on Module içerek tek kartlı bilgisayar tipi.
Soğutma çözümü için, uzun süreli başarılı bir çalışma sağlamak için M.2 TPU üzerindeki ayrı termal pedler aracılığıyla bir ısı emici veya metal muhafaza takabilirsiniz. Ayrıca, kenar TPU, maksimum bağlantı sıcaklığı Tj: 115℃ olan yüksek bir bağlantı sıcaklığı Tj’ye sahiptir. Bağlantı sıcaklığı, silikon çipin en yüksek çalışma sıcaklığıdır. Edge TPU’nun bağlantı sıcaklığı, güvenli çalışma için sıcaklık sınırının altında kalmalıdır. Her TPU, dahili sıcaklığı izlemek ve dinamik frekans ölçekleme (DFS) için açma noktası belirlemek için bir sıcaklık sensörü içerir. Kompakt form faktörü, düşük güç tüketimi, mükemmel verimlilik ve yüksek sıcaklığa dayanıklı özellikleri nedeniyle endüstriyel kenar uygulamaları için TPU’lara artan bir talep vardır.
Kaynak : https://premioinc.com/blogs/blog/what-is-the-difference-between-cpu-vs-gpu-vs-tpu-complete-overview