Bulut Bilişim | CPU, GPU ve TPU arasındaki ilişkiyi açıklığa kavuşturan bir makale

Pek çok okuyucu CPU, GPU ve TPU arasındaki farkı söyleyemeyebilir, bu nedenle Google Cloud bu blogda aralarındaki farkı kısaca tanıtacak ve TPU'nun neden derin öğrenmeyi hızlandırabileceğini tartışacaktır.

Tensör işleme birimi (TPU), baştan sona Google tarafından tasarlanan ve makine öğrenimi iş yüklerine adanmış özelleştirilmiş bir ASIC çipidir. TPU, çeviri, fotoğraflar, arama asistanı ve Gmail dahil olmak üzere Google'ın ana ürünleri için bilgi işlem desteği sağlar. Cloud TPU, TPU'yu ölçeklenebilir bir bulut bilişim kaynağı olarak kullanır ve Google Cloud'da son teknoloji makine öğrenimi modelleri çalıştıran tüm geliştiriciler ve veri bilimcileri için bilgi işlem kaynakları sağlar. Google Next18'de TPU v2'nin artık ücretsiz deneme kullanıcıları da dahil olmak üzere kullanıcılar tarafından yaygın olarak kullanıldığını ve TPU v3'ün artık dahili beta sürümünde yayınlandığını duyurduk.

Üçüncü nesil Cloud TPU

Yukarıdakiler tpudemo.com'un bir ekran görüntüsüdür Bu web sitesinin PPT'si TPU'nun özelliklerini ve tanımını açıklamaktadır. Bu yazıda TPU'nun bazı spesifik özelliklerine odaklanacağız.

Sinir ağı nasıl çalışır?

CPU, GPU ve TPU'yu karşılaştırmadan önce, makine öğrenimi veya sinir ağları için ne tür hesaplamalar gerektiğini anlayabiliriz. Aşağıda gösterildiği gibi, el yazısı rakamları tanımak için tek katmanlı bir sinir ağı kullandığımızı varsayalım.

Görüntü 28 × 28 piksel gri tonlamalı bir görüntü ise, 784 öğe içeren bir vektöre dönüştürülebilir. Nöron 784 değerin tamamını alır ve bunları parametre değeriyle (yukarıdaki şekildeki kırmızı çizgi) çarpar, böylece "8" olarak tanınabilir. Parametre değerinin işlevi, verilerden özellikleri çıkarmak için "filtre" kullanmaya benzer, böylece giriş görüntüsü ile "8" arasındaki benzerliği hesaplayabilir:

Bu, verileri karşılık gelen parametrelerle (yukarıdaki şekildeki iki renkli nokta) çarpmak ve bunları birbirine eklemek olan sinir ağı veri sınıflandırmasının en temel açıklamasıdır (hesaplama sonuçları yukarıdaki şeklin sağ tarafında toplanmıştır). En yüksek tahmin edilen değeri elde edebilirsek, o zaman girdi verilerinin karşılık gelen parametrelerle yakından eşleştiğini bulacağız, bu en olası doğru cevaptır.

Basitçe ifade etmek gerekirse, sinir ağlarının veri ve parametreler arasında çok sayıda çarpma ve ekleme yapması gerekir. Genellikle bu çarpımları ve toplamaları, üniversitemizin doğrusal cebirinde bahsedilecek olan matris işlemlerinde birleştiririz. Bu yüzden kilit nokta, büyük ölçekli matris işlemlerini nasıl hızla gerçekleştirebileceğimiz ve aynı zamanda daha küçük enerji tüketimi gerektirdiğimizdir.

CPU nasıl çalışır

Peki, CPU bu kadar büyük ölçekli matris hesaplama görevlerini nasıl gerçekleştiriyor? Genel olarak CPU, Von Neumann mimarisine dayanan genel amaçlı bir işlemcidir, bu da CPU, yazılım ve belleğin aşağıdaki gibi çalıştığı anlamına gelir:

CPU nasıl çalışır: Bu animasyon yalnızca kavramsal ilkeleri gösterir ve CPU'nun gerçek hesaplama davranışını yansıtmaz. CPU'nun en büyük avantajı esnekliktir. Von Neumann mimarisi ile milyonlarca farklı uygulama için herhangi bir yazılımı yükleyebiliyoruz. CPU'yu metni işlemek, roket motorlarını kontrol etmek, bankacılık işlemlerini gerçekleştirmek veya görüntüleri sınıflandırmak için sinir ağlarını kullanmak için kullanabiliriz.

Bununla birlikte, CPU çok esnek olduğu için, donanım, yazılımın bir sonraki talimatını okuyana kadar bir sonraki hesaplamanın ne olduğunu her zaman bilemez. CPU, her hesaplamanın sonucunu dahili olarak belleğe kaydetmelidir (ayrıca kayıt veya L1 önbelleği de denir). Bellek erişimi, CPU mimarisinin bir eksikliği haline gelir ve von Neumann darboğazı olarak adlandırılır. Sinir ağlarının büyük ölçekli çalışmasındaki her adım tamamen tahmin edilebilir olsa da, her CPU'nun aritmetik mantık birimi (ALU, çarpanı ve toplayıcıyı kontrol eden bileşen) bunları her seferinde yalnızca birer birer çalıştırabilir. Belleğe erişim ihtiyacı, genel verimi sınırlar ve çok fazla enerji tüketimi gerektirir.

GPU nasıl çalışır?

CPU'dan daha yüksek verim elde etmek için, GPU basit bir strateji kullanır: tek bir işlemcide binlerce ALU kullanın. Modern GPU'larda genellikle tek bir işlemcide 2500-5000 ALU bulunur, bu da aynı anda binlerce çarpma ve ekleme yapabileceğiniz anlamına gelir.

GPU nasıl çalışır: Bu animasyon yalnızca konsept gösterimi içindir. Gerçek işlemcinin gerçekte nasıl çalıştığını yansıtmaz.

Bu GPU mimarisi, sinir ağlarında matris çarpımı gibi çok sayıda paralelleştirme içeren uygulamalarda iyi çalışır. Aslında, GPU'lar derin öğrenme için tipik eğitim iş yüklerinde CPU'lara göre birkaç kat daha yüksek verim elde edebilir. GPU'nun derin öğrenmede en popüler işlemci mimarisinin olmasının nedeni budur.

Bununla birlikte, GPU hala genel amaçlı bir işlemcidir ve milyonlarca farklı uygulama ve yazılımı desteklemesi gerekir. Bu bizi temel soruna, von Neumann darboğazına geri getiriyor. Binlerce ALU'nun her hesaplanmasında, GPU'nun ara hesaplama sonuçlarını okumak ve kaydetmek için kayıtlara veya paylaşılan belleğe erişmesi gerekir. GPU, ALU'sunda daha fazla paralel hesaplama yaptığından, belleğe erişmek için orantılı olarak daha fazla enerji harcar ve ayrıca karmaşık kablolama nedeniyle GPU'nun kapladığı fiziksel alanı da artırır.

TPU nasıl çalışır?

Google TPU'yu tasarladığında, alana özgü bir mimari oluşturduk. Bu, genel amaçlı bir işlemci değil, sinir ağı iş yüklerine adanmış bir matris işlemci tasarladığımız anlamına gelir. TPU'lar metin işleme yazılımını çalıştıramaz, roket motorlarını kontrol edemez veya bankacılık hizmetlerini gerçekleştiremez, ancak sinir ağları için çok sayıda çarpma ve ekleme işlemini gerçekleştirebilirler. Aynı zamanda, TPU'lar çok hızlıdır, çok az enerji tüketir ve daha az fiziksel yer kaplar.

Bunun ana nedeni, von Neumann darboğazının önemli ölçüde basitleştirilmesidir. İşlemcinin ana görevi matris işleme olduğundan, TPU'nun donanım tasarımcısı hesaplama sürecinin her adımını bilir. Böylece binlerce çarpan ve toplayıcı yerleştirdiler ve bu operatörlerin fiziksel matrisini oluşturmak için bunları doğrudan bağladılar.

Buna Systolic Array mimarisi denir. Cloud TPU v2 örneğinde, iki adet 128X128 sistolik dizi vardır ve 32768 ALU 16 bit kayan nokta değerleri tek bir işlemciye entegre edilmiştir.

Bir sistolik dizinin sinir ağı hesaplamalarını nasıl yaptığına bir göz atalım. İlk olarak TPU, parametreleri bellekten çarpanlar ve toplayıcılar matrisine yükler.

Ardından TPU, verileri bellekten yükler. Her çarpma yapıldığında, sonuç bir sonraki çarpana geçilecek ve aynı anda toplama işlemi yapılacaktır. Sonuç, tüm verilerin ve parametrelerin çarpımının toplamı olacaktır. Tüm büyük hesaplamalar ve veri aktarımı süreci boyunca, bellek erişimine gerek yoktur.

Bu nedenle TPU, sinir ağı işlemlerinde yüksek hesaplama verimine ulaşırken enerji tüketimi ve fiziksel alan çok küçüktür.

Fayda: Maliyet 1 / 5'e düşürüldü

Bu nedenle TPU mimarisini kullanmanın avantajı maliyetleri düşürmektir. Aşağıda, Cloud TPU v2'nin Ağustos 2018 itibarıyla (bu makaleyi yazarken) kullanım fiyatı verilmiştir.

Ağustos 2018 itibarıyla TPU v2 fiyatı.

Stanford Üniversitesi, derin öğrenme ve çıkarım için bir kıyaslama paketi olan DAWNBench'i piyasaya sürdü. Farklı görevlerin, modellerin, bilgi işlem platformlarının kombinasyonlarını ve bunların ilgili karşılaştırma sonuçlarını bulabilirsiniz.

Nisan 2018'deki DAWNBench yarışmasının sonunda, TPU olmayan işlemciler için minimum eğitim maliyeti 72,40 ABD dolarıydı (ResNet-50'yi% 93 doğruluk elde etmek üzere eğitmek için canlı örnekler kullanarak). Cloud TPU v2 öncelikli fiyatlandırmasını kullanarak aynı eğitim sonuçlarını 12,87 ABD doları karşılığında tamamlayabilirsiniz. Bu, TPU olmayanların maliyetinin yalnızca 1 / 5'inden daha azına eşdeğerdir. Bu, sinir ağları alanındaki belirli mimarilerin gücünün yattığı yerdir.

Kaynak: Intelligent Network

Fransız "sarı yelek" gösterileri ciddi kayıplara neden oldu, ancak fayda sağladı
önceki
Başbakan, cumhurbaşkanı ve başbakan arasındaki farkı tek seferde anlayın
Sonraki
Kim Jong-un balıkçılık üssünü inceledi ve "denizde balık tutmaktan nefret edemem" şeklindeki memnuniyetini ifade etti.
Chengdu'da baharatlı yiyecekler yemeden eğlenemez misiniz? HAYIR!
Analiz TPU, nasıl GPU'yu geride bıraktı ve derin öğrenme için tercih edilen işlemci haline geldi
Tabii ki sadece Oktoberfest değil! Batı Yakası'nda yemek yemek, içmek ve eğlenmek için bu yeterli!
Eşsiz çifte gurur arasındaki fark: Cristiano Ronaldo gücünü kanıtlamak için verileri kullanırken, Messi takım arkadaşlarının, antrenörlerinin ve hayranlarının gözlerini ve kafalarını kullanıyor!
Ordunun yıllık yarışmasının son raporu!
"Hatırlatma" Cep telefonunuzu kullanmaya dikkat edin. Çok geç değil. Sizin için önemli!
"Karanlık Mutfak" konuşabiliyorsa, Wu Yue aksanı olmalı.
Tek nefeste rahim ağzı kanserini anlayın
Büyük Veri Didinin Stratejik Niyetinin ve Taktik Hatalarının İnternet Beyin Modeli ile Analizi
Bir kadının hayatında gitmesi gereken birkaç yer
Asla bilemezsin, en hızlı adama ne oldu?
To Top