CPU, GPU ve TPU nasıl çalışır? Fark ne? TPU GPU'yu neden ezebilir? Bu makale en açık olanıdır!

Makine Kalp Katılımı Derlemesi: Siyuan, Liu Xiaokun

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.

Tensor Processing Unit (TPU), baştan sona Google tarafından tasarlanmış ve özellikle makine öğrenimi iş yükleri için kullanılan ö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 tümünü alacak ve bunları parametre değeriyle (yukarıdaki kırmızı çizgi) çarpacak, böylece "8" olarak tanınabilecektir. 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, sinir ağı veri sınıflandırması için en temel açıklamadır, yani verileri karşılık gelen parametrelerle (yukarıdaki şekildeki iki renkli nokta) çarpıp bunları bir araya getirerek (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 matris hesaplama görevlerini nasıl gerçekleştiriyor? Genel CPU, Von Neumann mimarisine dayalı genel amaçlı bir işlemcidir; bu, CPU, yazılım ve belleğin aşağıdaki şekilde ç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 olarak da adlandırılır). 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, Ağustos 2018 itibarıyla Cloud TPU v2'nin kullanım fiyatları verilmiştir (bu makaleyi yazarken).

Cloud TPU v2'nin Ağustos 2018 itibarıyla 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.

DAWNBench: https://dawn.cs.stanford.edu/benchmark/

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.

Orijinal bağlantı: https://cloud.google.com/blog/products/ai-machine-learning/what-makes-tpus-fine-tuned-for-deep-learning

J-20 Komutanı: Rakipleri daha fazla korkutmak için "deli" olmak iyidir
önceki
Karşılaştırılmadan hiçbir zararı yoktur, Tiguan L sözde orta SUV anında açığa çıkar
Sonraki
Modi'nin üst düzey ağırlığı artık sona ermeyecek ve Hindistan ekonomisi için feci sonuçlar doğuracak!
Yabancı medya: Çin'in zengin ve rakip 35 şehri veya ülkesi, memleketiniz var mı?
Bir yıllık sıkı çalışmanın ardından dinlenme zamanı! Ustanın tavsiye ettiği istasyon vagonu burada!
"İnsansı" robot görüş sistemi çözümü ayrıntılı
Shangluo'da 23 yaşındaki bir kadın, birçok çevrimiçi kredi platformundan telefon aldığını söyleyerek ailesine su atarak intihar etti.
Yıl sonu incelemesi! 2017'de otomotiv endüstrisindeki önemli olayları değerlendirelim
Ganzhou, son iki gün içinde 70 kişiyi tutukladı! Böyle bir insan bulursanız hemen polisi arayın!
Cinayet dışında, Orient Ekspresinde çok fazla sır var
Neden yabancı banknotlarda Çinliler var? Onlar kim?
Kuzeybatı'nın kralını ele geçirmek zor! Thunder, Nuggets'ı son 8 karşılaşmada 7 kez kaybetti
Asırlık bir Ford SUV geliştirme yolu olan Tough genini miras almak
National Geographicin Ten Beautiful Earth lerinden biri, uzun yıllardır sıcak hava balonuyla görüntüleniyor, orada mıydınız?
To Top