5 yılda 500 kat daha yüksek hız ile NVIDIA GPU'nun rekor yenilikleri ve teknolojileri nelerdir?

Leifeng.com AI Araştırma Enstitüsü'ne göre, Mayıs 2017'de GTC 2017'de Nvidia CEO'su Huang Renxun, tarihteki en hızlı GPU hızlandırıcısı olarak bilinen Volta mimarisi Tesla V100'ü piyasaya sürdü. Mart 2018'de, yine GTC'de, Huang Renxun, 16 V100 GPU ve 2 petaflop hıza sahip "dünyanın en büyük GPU'su" -DGX-2'yi piyasaya sürdü.

Son yıllarda, NVIDIA yüksek hızlı bilgi işlem yolunda gittikçe daha hızlı ilerledi. Birkaç gün önce, Nvidia Geliştirici Blogu'ndaki bir önceki blog yazısı, derin öğrenme topluluğunda Nvidia Volta Tensor Core GPU tarafından yapılan büyük atılımları ve atılımların arkasındaki teknik ayrıntıları ayrıntılı olarak açıkladı. Metin aşağıdaki gibidir, Leifeng AI Araştırma Enstitüsü tarafından derlenmiş ve derlenmiştir.

Derin öğrenmeyle yönlendirilen yapay zeka, bilgisayarların doğal dili anlamasını sağlamak, konuşmalar yapmak ve otonom sürüş gibi bir zamanlar imkansız olduğu düşünülen zorlukları artık çözüyor. Derin öğrenme bir dizi zorluğu o kadar etkili bir şekilde çözebildiğine göre, algoritmanın karmaşıklığı katlanarak arttıkça, hesaplamayı daha hızlı yapabilir miyiz? Buna dayanarak Nvidia, Volta Tensor Core mimarisini tasarladı.

Daha hızlı hesaplama yapabilmek için, Nvidia, birçok şirket ve araştırmacı gibi, bilgi işlem yazılımları ve donanım platformları geliştiriyor. Google tipik bir örnektir; araştırma ekibi bir TPU (tensör işleme birimi) hızlandırıcı oluşturmuştur. Hızlandırma için TPU kullanırken sinir ağlarını eğitirken mükemmel performans elde edilebilir.

Bu makalede, GPU'nun muazzam performans iyileştirmesini gerçekleştirdikten sonra AI topluluğunda Nvidia'nın kaydettiği bazı ilerlemeleri paylaştık: Tek bir yonga ve tek bir sunucu üzerinde ResNet-50'nin eğitim hızı kaydını oluşturduk. Son zamanlarda fast.ai, Nvidia Volta Tensor Core GPU kullanarak tek bir bulut bulut sunucusu üzerinde rekor kıran performanslarını da duyurdu.

İşte sonuçlarımız:

  • ResNet-50'yi eğitirken, bir V100 Tensor Core GPU'nun işlem hızı saniyede 1075 görüntüye ulaşabilir.Önceki nesil Pascal GPU ile karşılaştırıldığında, performansı 4 kat artar.

  • 8 Tensor Core V100 tarafından desteklenen bir DGX-1 sunucusunun işlem hızı saniyede 7850 görüntüye ulaşabilir, bu da geçen yıl aynı sistemdeki işlem hızının (saniyede 4200 görüntü) neredeyse iki katıdır.

  • 8 Tensor Core V100 tarafından desteklenen bir AWS P3 bulut bulut sunucusu, ResNet-50 eğitimini 3 saatten daha kısa sürede tamamlayabilir, bu da TPU bulut sunucusundan 3 kat daha hızlıdır.

Şekil 1: Volta Tensor Core GPU'nun ResNet-50'yi eğitirken elde ettiği hızda ilerleme

Nvidia GPU, algoritmaların büyük ölçekli paralel işlenmesinde çok etkilidir, bu nedenle derin öğrenme için son derece uygundur. Keşfetmeyi asla bırakmadık Tensor Core GPU, yıllara dayanan tecrübemizi ve dünyanın dört bir yanındaki yapay zeka araştırmacılarıyla yakın işbirliğimizi kullanarak derin öğrenme modelleri için oluşturulmuş yeni bir mimaridir.

Mevcut tüm çerçevelerde yüksek hızlı NVLink ara bağlantısını ve derin optimizasyonu birleştirerek en gelişmiş performansı elde ettik. Nvidia'nın CUDA GPU'sunun programlanabilirliği de burada çok önemli.

V100 Tensor Core, tek bir işlemcinin en hızlı işlem hızı rekorunu kırdı

Tensor Core GPU mimarisi, NVIDIA'nın derin öğrenme platformunun büyük bir ilerlemesi olan NVIDIA Volta GPU'da tanıtıldı. Bu yeni donanım, sinir ağlarını eğitirken toplam hesaplamaların büyük bir bölümünü oluşturan matris çarpımını ve evrişim hesaplamalarını hızlandırabilir.

Nvidia'nın Tensor Core GPU mimarisi, tek işlevli bir ASIC'den daha yüksek performans sağlayabilir ve yine de farklı iş yükleri altında programlanabilirliğe sahiptir. Örneğin, derin öğrenme için kullanılan her Tesla V100 Tensor Core GPU 125 teraflopa ulaşabilirken, Google TPU yongaları yalnızca 45 teraflop'a ulaşabilir. 4 TPU yongası içeren "Cloud TPU", 4 V100 yongalı 500 teraflop'a kıyasla 125 teraflop'a ulaşabilir.

CUDA platformumuz, her derin öğrenme çerçevesinin Tensor Core GPU'nun tüm özelliklerinden tam olarak yararlanmasını sağlayarak, CNN, RNN, GAN, RL gibi çeşitli nöral ağ türlerini ve bu ağlara dayalı binlerce varyantı hızlandırır.

Sırada Tensor Core mimarisinin daha derinlemesine bir açıklaması var. Benzersiz özelliklerini burada görebilirsiniz. Şekil 2, Tensor Core hesaplama tensörünün sürecini göstermektedir Depolama düşük hassasiyetli FP16'da olmasına rağmen, hassasiyeti korurken verimliliği en üst düzeye çıkarmak için hesaplama için yüksek hassasiyetli FP32 kullanılır.

Şekil 2: Volta Tensor Core matris çarpım hesaplaması

Son yazılım iyileştirmeleriyle, tek bir V100'de ResNet-50'nin mevcut eğitim hızı saniyede 1360 görüntüye ulaştı. Şimdi bu eğitim yazılımını aşağıda ayrıntılı olarak açıklandığı gibi popüler çerçevelere entegre etmek için çok çalışıyoruz.

En iyi performansı elde etmek için, Tensör Çekirdeğine dayalı tensör işlemleri için bellek düzeni, kanal aralıklı veri düzeni olmalıdır (Sayı-Yükseklik-Genişlik-Kanal, genellikle NHWC olarak adlandırılır), ancak genellikle varsayılan, ana kanal veri düzenidir. (Sayı-Kanal-Genişlik-Yükseklik, genellikle NCHW olarak adlandırılır). Bu nedenle cuDNN kütüphanesi, Şekil 3'te gösterildiği gibi NCHW ve NHWC arasında bir tensör transpozisyon işlemi gerçekleştirecektir. Daha önce belirtildiği gibi, evrişim işlemleri artık çok hızlı olduğundan, bu devrik işlemleri toplam çalışma süresinin önemli bir bölümünü oluşturur.

Bu aktarım işlemlerini ortadan kaldırmak için, RN-50 model grafiğindeki her tensörü temsil etmek için NHWC formatını doğrudan kullanıyoruz.MXNet çerçevesi bu işlevi desteklemektedir. Ek olarak, diğer tüm evrişimsel olmayan katmanlar için optimize edilmiş NHWC uygulamasını MXNet ve cuDNN'ye de ekleyerek eğitim sırasında tensör aktarımı ihtiyacını ortadan kaldırdık.

Şekil 3: Tensör aktarımını ortadan kaldırmak için NHWC formatını optimize edin

Başka bir optimizasyon, Aldham yasasına dayanır (paralel hesaplamadaki hızlanma, paralelleştirmeden önceki yürütme hızının ve paralelleştirmeden sonraki yürütme hızının oranıyla ifade edilir, bu paralelleştirmeden sonra verimlilik artışını temsil eder). Kanun, paralel işlemenin teorik ivmesini tahmin edebilir. Tensor Core, matris çarpımı ve evrişimli katmanların hesaplanmasını önemli ölçüde hızlandırdığından, eğitim sırasında diğer katmanların hesaplanması, toplam çalışma süresinin büyük bir kısmını alır. Bu yeni performans darboğazlarını tespit edip optimize edebiliriz.

Şekil 4'te gösterildiği gibi, veriler DRAM'a veya DRAM'den taşınacaktır, bu nedenle birçok evrişimli olmayan katmanın performansı sınırlı olacaktır. DRAM trafiğini önlemek için ardışık katmanları bir araya getirmek için yonga üstü belleği kullanabilirsiniz. Örneğin, ardışık ADD ve ReLu katmanlarını tespit etmek için MXNet'te bir grafik optimizasyon transfer fonksiyonu oluşturuyoruz ve bu katmanları mümkün olduğunda füzyon katmanlarıyla değiştiriyoruz. MXNet'te, NNVM (Sinir Ağı Sanal Makinesi) bu tür optimizasyonları elde etmek için çok basit bir şekilde kullanılabilir.

Şekil 4: Tekrarlanan veri okuma / yazma işlemini ortadan kaldırmak için katman füzyon işlemini gerçekleştirin

Son olarak, optimizasyona yönelik yaygın evrişim türleri için ek özel çekirdekler oluşturmaya devam ediyoruz.

Şu anda bu optimizasyonların çoğunu TensorFlow, PyTorch ve MXNet dahil olmak üzere çok sayıda derin öğrenme çerçevesine uyguluyoruz. Standart 90 dönemlik eğitim için tek bir Tensor Core V100 GPU kullanıyoruz.MXNet üzerinde yapılan iyileştirmelere dayanarak, işlem hızı saniyede 1075 görüntüye ulaşabilir.Aynı zamanda, eğitimimiz tek hassasiyetli eğitimle aynı Üst seviyeye ulaştı. 1 Sınıflandırma doğruluğu (% 75'in üzerinde). Bağımsız testteki işlem hızımız saniyede 1360 görüntüye ulaşabilir, bu da performansta iyileştirme için hala çok yer olduğu anlamına gelir. NVIDIA için optimize edilmiş derin öğrenme çerçeve kapsayıcıları, performansı artırmak için NGC'de (NVIDIA GPU CLOUD) kullanılabilir.

En yüksek tek düğüm hızını kaydedin

Birden fazla GPU, daha yüksek verim elde etmek için tek bir düğüm olarak çalışabilir. Ancak, birden çok GPU tek bir sunucu düğümünde çalışmak üzere azaltıldığında, GPU'lar arasında yüksek bant genişliğine sahip / düşük gecikmeli bir iletişim yolu gerekir. Nvidia'nın NVLink yüksek hızlı ara bağlantı yapısı, performans artışı sağlamak için 8 GPU'yu tek bir sunucu olarak çalıştırmamıza izin veriyor. Bu büyük ölçekli hızlandırma sunucuları, derin öğrenme hesaplamalarının petaflop hızlarına ulaşmasını sağlayabilir ve bulut ve yerel dağıtımda yaygın olarak kullanılabilir.

Bununla birlikte, GPU'yu 8'e genişletmek eğitim performansını önemli ölçüde artırabilse de, bu çerçeve altında ana CPU'nun performansı diğer görevleri gerçekleştirirken sınırlı olacaktır. Üstelik bu çerçeve altında, GPU'ya bağlanan veri hattının performans gereksinimleri son derece yüksektir.

Veri hattı, kodlanmış JPEG örneğini diskten okur ve ardından kod çözme, görüntü yeniden boyutlandırma ve görüntü geliştirme (Şekil 5'te gösterildiği gibi) gerçekleştirir. Bu işlemler sinir ağının öğrenme yeteneğini geliştirir, böylece eğitim modelinin tahmin doğruluğunu iyileştirir. Ve eğitim sırasında, çerçevenin genel performansını sınırlayacak olan hesaplama işlemleri gerçekleştiren 8 GPU vardır.

Şekil 5: Görüntü kod çözme ve gelişmiş veri hattı

Bu sorunu çözmek için, hesaplamaları CPU'dan GPU'ya aktarabilen çerçeveden bağımsız bir kütüphane olan DALI'yi (Veri Arttırma Kitaplığı) geliştirdik. Şekil 6'da gösterildiği gibi, DALI, JPEG kod çözme, görüntü yeniden boyutlandırma ve diğer tüm geliştirme işlemlerinin bir bölümünü GPU'ya taşır. Bu işlemlerin GPU üzerindeki yürütme hızı, CPU'dakinden çok daha hızlıdır, bu da CPU üzerindeki yükü azaltır. DALI, CUDA'nın paralel işleme yeteneklerini daha belirgin hale getirir. CPU darboğazını ortadan kaldırdıktan sonra, tek bir düğümdeki hesaplama hızı saniyede 7850 görüntüye ulaşabilir.

Şekil 6: İş yükünü optimize etmek için DALI'yi kullanma

NVIDIA, DALI'yi tüm genel yapay zeka çerçevelerine entegre etmeye yardımcı oluyor. Bu çözüm, Nvidia tarafından kısa süre önce piyasaya sürülen 16 Tesla V100 GPU'lu DGX-2 gibi 8'den fazla GPU'ya sahip sistemlerin performansını artırmaya yardımcı oluyor.

Tek bir bulut örneğinin işleme hızını kaydedin

ResNet-50'yi (90 epoch) eğitmek için tek GPU ve tek düğüm operasyonu kullanıyoruz, bu da tahmin doğruluk oranını% 75'i aşıyor. Algoritma yeniliği ve hiperparametre ayarı sayesinde eğitim süresi daha da kısaltılabilir ve daha az dönemde daha yüksek doğruluk elde edilebilir. GPU, programlanabilir özelliklere sahiptir ve AI araştırmacılarının yeni algoritmaları keşfetmesini ve araştırma için mevcut algoritmaları kullanmasını sağlayan tüm derin öğrenme çerçevelerini destekler.

Fast.ai ekibi kısa süre önce NVIDIA donanımına dayalı olarak mükemmel sonuçlar paylaştılar ve PyTorch'u 90 dönemden çok daha kısa bir sürede eğitim altında yüksek doğruluk elde etmek için kullandılar. Jeremy Howard ve fast.ai'den araştırmacılar, bir AWS P3 bulut sunucusunda ImageNet ile ResNet-50'yi eğitmek için 8 V100 Tensor Core GPU kullandı. Algoritmada yenilik yaptılar, bir dizi hiperparametreyi ayarladılar ve modeli 3 saatten kısa sürede eğittiler; bu, bulut örneklerine dayalı TPU hesaplamasından üç kat daha hızlıdır (ResNet-50'yi eğitmek yaklaşık 9 saat sürer).

Ayrıca, bu blogda açıklanan verimi artırma yönteminin, daha önce bahsedilen fast.ai örneği gibi diğer eğitimler için de geçerli olduğunu umuyoruz.

Performansta üstel büyüme

Alex Krizhevsky, ImageNet yarışmasını iki GTX 580 GPU ile kazandığından beri, derin öğrenme hızlandırma konusunda inanılmaz ilerleme kaydettik. Krizhevsky, o sırada diğer tüm görüntü tanıma yöntemlerinden daha iyi performans gösteren ve derin bir öğrenme devrimini tetikleyen sinir ağı AlexNet'i eğitmek için 6 gün harcadı. Yakın zamanda piyasaya sürülen DGX-2, AlexNet'i 18 dakikada eğitebilir. Şekil 7'den görülebileceği gibi, son beş yılda donanım performansının iyileştirilmesiyle işlem hızının 500 kat arttığı görülmektedir.

Şekil 7: AlexNet'i ImageNet'te eğitmek için gereken süre

Facebook Yapay Zeka Araştırma Enstitüsü (FAIR), dil çeviri modeli Fairseq'i açık kaynaklı hale getirdi. Bir yıldan daha kısa bir sürede, DGX-2 ve yazılım yığını iyileştirmelerine (bkz. Şekil 8) dayanarak, Fairseq eğitiminin 10 katını aldık Hızlanma.

Şekil 8: Fairseq'i eğitmek için gereken süre

Görüntü tanıma ve dil çevirisi, araştırmacıların sayısız sorunu çözmek için yapay zekayı kullandığı kullanım örneklerinden sadece bir tanesidir. Github'da GPU hızlandırma çerçevesini kullanan 60.000'den fazla sinir ağı projesi vardır.GPU'nun programlanabilirliği, AI topluluğu tarafından oluşturulan her tür sinir ağı için hızlandırma sağlar. Hızlı geliştirmelerimiz, yapay zeka araştırmacılarının daha zor zorlukları çözmek için daha karmaşık sinir ağlarını hayal etmelerine olanak tanıyor.

Bu uzun vadeli gelişmeler, GPU hızlandırmalı bilgi işlem için tam yığın optimizasyon algoritmamızdan yararlanır. NVIDIA, en gelişmiş derin öğrenme hızlandırıcılardan karmaşık sistemlere (HBM, COWOS, SXM, NVSwitch, DGX), gelişmiş dijital bilgi işlem kitaplıklarından ve derin yazılım yığınlarından (cuDNN, NCCL, NGC) tüm DL çerçevelerini hızlandırmaya AI vaadi, AI geliştiricileri için benzersiz bir esneklik sağlar.

Yapay zeka topluluğuna derin öğrenmede yenilikçi araştırmaları teşvik edecek güçlü araçlar sağlamak için tüm yığını optimize etmeye ve üstel performans iyileştirmeleri elde etmeye devam edeceğiz.

sonuç olarak

AI, hayatın her alanını değiştirmeye devam ediyor ve sayısız kullanım durumu yaratıyor. İdeal AI bilgi işlem platformunun mükemmel performans sağlaması, büyük ve büyüyen bir modeli desteklemesi ve modellerin çeşitli ihtiyaçlarını karşılamak için programlanabilir olması gerekir.

Nvidia'nın Volta Tensor Core GPU'su, dünyadaki en hızlı AI işlemcisidir ve tek bir çip ile 125 teraflop derin öğrenme eğitim hızına ulaşabilir. Yakında 16 Tesla V100'ü tek bir sunucu düğümüne entegre ederek dünyanın en hızlı bilgi işlem sunucusunu yaratarak 2 petaflop bilgi işlem performansı sağlayacağız.

Hızlandırmadaki mükemmel performansına ek olarak, GPU'nun programlanabilirliği ve buluttaki yaygın kullanımı, sunucu üreticileri ve tüm AI topluluğu bir sonraki AI devrimini beraberinde getirecek.

Hangi derin öğrenme çerçevesini seçerseniz seçin (Caffe2, Chainer, Cognitive Toolkit, Kaldi, Keras, Matlab, MXNET, PaddlePaddle, Pytorch, TensorFlow), hızlandırma için NVIDIA donanımını kullanabilirsiniz. Ayrıca, NVIDIA GPU'lar her yıl CNN, RNN, GAN, RL, hibrit ağ mimarileri ve bu ağlara dayalı binlerce varyantı eğitmek için de kullanılır. AI topluluğunda birçok harika uygulama var ve AI'nın bir sonraki gelişimi için ivme sağlamayı dört gözle bekliyoruz.

aracılığıyla: devblogs.nvidia.com

Leifeng.com AI Araştırma Enstitüsü tarafından derlenmiş ve derlenmiştir.

Tamamen nokta! Mi Band 3 NFC sürümü nihayet artık kapmaya gerek yok
önceki
Ssangyong'un yeni 7 koltuklu SUV'si 2020'de dizel gücüyle piyasaya çıkabilir
Sonraki
Google, Trump'ın aptal olduğunu mu söylüyor? 3000'den fazla alan adı onun aptal olmadığını bilmenizi sağlar!
Doğu, Batı, Güney, Kuzey ve Yeni Yıl | Guizhou: Guizhou Duyun Yeni Yılı lezzet dolu ve Ambilight misafirleri ağırlıyor
Uzun zamandır görülüyor: LeTV işten çıkarmalar ve çalışanlar istifa edip özel bir istifa bankosu kuruyor
En son otomatik silah sıralaması olan M762 yalnızca ikinci sıradadır ve ilk üç sıra onu tutamaz.
Bu süper uygun maliyetli aile arabaları, aylık 5000 gelirle satın alınabilir
Drive.ai Wang Tao ile röportaj: Wu Enda tarafından desteklenen ilk ticarileştirilmiş otonom sürüş projesinin arkasındaki tüm detaylar
Bai Yongxiang, Meizu'nun 2017 planından bahsediyor: Yıldız cep telefonları oluşturmaya daha fazla odaklanın
Çiftler arasında kızlar, erkek arkadaşının birçok yerine, özellikle de dördüncüsüne dokunamazlar!
"Altın Kardeşler" Altın Kardeşler coşkuyla geri dönüyor ve ülke çapında aynı anda yayınlanacak.
Subaru BRZ'yi sadece hisleri için satın alan insanlar? HAYIR HAYIR HAYIR!
Doğudan Batıya Yılbaşı Gecesi | Çok sayıda Çinli turist, Filipinler'in 30 derecelik kumsalında Bahar Şenliği'ni geçirmek için yurtdışına gidiyor
iPhone 7 Plus, doğrudan 500'lük bir düşüş sağlıyor! Çift on iki fiyat indirimi promosyonunda 4 cep telefonu
To Top