NVIDIA Derin Öğrenme Tensör Çekirdeği Kapsamlı Analizi (Bölüm 2)

Lei Feng.com'a göre, "NVIDIA Derin Öğrenme Tensör Çekirdeğinin Kapsamlı Analizi (Bölüm 1)" bölümünde, Titan V'nin Volta çekirdeğini donanımdan analiz ettik.Bu makale, Volta mimarisini test etmek ve çeşitli derin öğrenme çerçevelerini kullanmak için bir dizi testi geçecek. Tensor Core'un performansını anlamaya gelin.

Derin öğrenme için kıyaslamalar

Çoğu zaman, derin öğrenme gibi yeni bir alanın anlaşılması zor olabilir. Çerçevelerden modellere, API'lere ve kitaplıklara kadar, AI donanımının pek çok parçası son derece özelleştirilmiştir, bu nedenle sektör tarafından kabul edilen birkaç genel karşılaştırma aracının olması şaşırtıcı değildir. ImageNet ve bazı türev modellerin (AlexNet, VGGNet, Inception, Resnet, vb.) Etkisiyle, ILSVRC2012'deki (ImageNet Büyük Ölçekli Görsel Tanıma Zorluğu) görüntü veri seti eğitimi, sektör tarafından kademeli olarak tanınmıştır.

Temel olarak tüm modern derin öğrenme çerçeveleri CUDA ve cuDNN'yi destekler. Volta için, FP16 depolamayı destekleyen tüm çerçeveler Tensor Core hızlandırmayı da destekler. Tensor Core hızlandırması, FP16 depolaması etkinleştirildikten sonra otomatik olarak etkinleştirilecektir, bu nedenle anlamak için bu çerçeveleri kullanabiliriz Tensor Core performansı.

Yaygın üçüncü taraf derin öğrenme kıyaslama takımları arasında, Fathom ve TBD, birçok farklı makine öğrenimi uygulamasını kapsayan, testleri belirli çerçeveler ve modeller için yapılandırılan daha geleneksel karşılaştırma test takımlarıdır. Aynı zamanda, son derin öğrenme çerçeveleri, belirli bir modelin ve veri setlerinin performansını çerçeveler arasında karşılaştırmaya odaklanır.

DeepBench'in kendisi çerçeveler kullanmaz, ancak farklı cihazların makine öğrenimi performansını değerlendirmek için düşük seviyeli kitaplıklar kullanır. Kendi başına, çerçeve / model / uygulama performansını diğer testlerle doğrudan ilişkilendirmese de, satıcı tarafından optimize edilmiş matematiksel işlemleri ve donanım performansını temsil eden göstergeler sağlar.Her bir ürünün ikili dosyaları şunlardır: Derlemek için donanım satıcısı tarafından sağlanan kitaplığı kullanın.

DAWNBench daha da benzersizdir. Uçtan uca hesaplama doğruluğuna odaklanan, üç veri setinin (ImageNet, CIFAR10 ve SQuAD) eğitim ve çıkarım sonuçlarına ilişkin rekabete benzer bir rapor olduğundan, bir kıyaslama testi paketi değildir. Derece ve maliyet.

HPE DLBS'ye gelince, HPE Derin Öğrenme Kılavuzu'nun bir parçası olarak, esas olarak GPU merkezlidir, TensorFlow, MXNet, PyTorch ve Caffe tipi çerçeveleri kullanmakta ısrar eder ve ayrıca TensorRT testini içerir. İyi çoklu test toplu işleme, günlük kaydı, izleme ve raporlama işlevlerine sahip olmasına rağmen, yalnızca saf performans ve zaman göstergeleri çıkarır ve uçtan uca zaman doğruluğu veya maliyeti içermez.

Bu kıyaslama yazılımlarından, derin öğrenme çerçeveleri arasındaki farkların test sonuçlarını kolayca anlamsız hale getirebildiği ve dolayısıyla bu çerçeveler üzerindeki araştırmamızı etkilediği görülebilir. Convnet-benchmark ve PyTorch'un kurucusu Soumith Chintala, makine öğreniminde bir arka plan olmadan derin öğrenme kriterlerinin doğruluğunu ve kapsamını bağımsız olarak doğrulamanın zor olduğunu, ancak MLPerf test projesinin bu sorunu çözmeye çalıştığını belirtti.

MLPerf, DAWNBench gibi test yazılımı tasarımcıları ve mühendisleri tarafından ortaklaşa oluşturulan yeni bir üst düzey kıyaslama test paketidir. Fathom'un alanlar arası test yöntemini ve DAWNBench'in eşiği aşan doğruluk modellerine ilişkin uçtan uca hesaplama süresi anketini dahil etmeyi ummaktadır. Ancak, şu anda alfa aşamasında ve geliştirme ekibi, henüz kesin donanım karşılaştırmaları için uygun olmadığını söyledi.

Kapsamlı bir değerlendirme altında, bu test MLPerf projesini içermeyecek, ancak DeepBench, Caffe2 Docke, Stanford DAWN ve HPE DLBS kullanacaktır.

DeepBench eğitimi ve GEMM ve RNN testi

İlki, GEMM işlemlerini gerçekleştirmek için bazı derin öğrenme uygulamalarında (DeepSpeech, Hoparlör Kimliği ve Dil Modelleme) çekirdekleri kullanan GEMM testidir Ölçülen performans, cuBLAS'ta saf matris-matris çarpımını çalıştırmaktan daha temsilidir.

Testin sonuçları bekleniyor. Tensor Core'u etkinleştirmek performansı büyük ölçüde artırabilir. Ayrıntıların derinlemesine incelenmesi, Tensor Core'un belirli matris-matris çarpımı türleri üzerinde özel bir etkiye sahip olduğunu ortaya koymaktadır.

GEMM testini derin öğrenme uygulamaları için bölerek Tensor Core'un ideal ve ideal olmayan koşullar altındaki performansını anlayabiliriz.

Hoparlör Kimliği GEMM iş yükü aslında yalnızca iki çekirdek içerir; burada 10 mikrosaniyelik bir zaman farkı, hesaplama gücünde yaklaşık 1 TFLOPS'luk bir fark anlamına gelir.

Dil modeli çekirdeğinin incelenmesi yoluyla, Tensor Core'un ideal olmayan koşullar altındaki performansını anlayabiliriz. Bu çekirdek matrislerinin boyutu m = 512 veya 1024, n = 8 veya 16, k = 500000'dir, ancak her sayı teknik olarak 8'e bölünebilir - bu, tensör nükleer ivmesini karşılamak için temel gereksinimlerden biridir- Ancak bu matrislerin şekli, 16 * 16 * 16, 32 * 8 * 16 ve 8 * 32 * 16 gibi Tensor Core tarafından desteklenen temel WMMA şekilleriyle eşleşmez. Tensor Core gerçekten bağımsız bir 8x8x8 seviyesinde çalışıyorsa, 8 * 8 * 8 matrislerini hesaplama performansı çok iyi olmayacaktır.

Bu nedenle, Tensor Core bu çok dengesiz matrisleri verimli bir şekilde n = 8 veya 16'ya ayrıştıramaz. Dahası, Tensor Core'un DeepSpeech çekirdeğindeki performansı da anormal:

Tüm alt öğelerin ortalama performansına bakıldığında, bu kayan nokta işleminin performansı etkileyicidir. Matris Tensor Core için uygun olduğunda, performans 90TFLOPS'u aşabilir; bunun tersine, ikisi uymazsa ve doğru transpozisyon işe yaramazsa, performans o kadar düşük olacaktır.

DeepBench RNN kernel testi için, RNN türleri arasında bariz bir fark yoktur, ancak her RNN türünde, farklı çekirdekleri tek tek karşılaştırırsanız, GEMM'deki ile aynı eğilimi de görebilirsiniz.

Daha da ilginci, Titan Xp ve Titan V performanslarının Tensor Core hızlandırma kullanılmadığında çok yakın olması ve Titan Xp'in yüksek frekansı performansına bir dereceye kadar yardımcı olmasıdır.

DeepBench eğitim testinin dönüşümleri

Evrişim eğitimi iş yükü testinde, Tensor Core bir kez daha performansı önemli ölçüde artırdı. Evrişim katmanının görüntü tanıma ve sınıflandırmanın temeli olduğu göz önüne alındığında, evrişim işlemi Tensor Core hızlandırmanın en büyük potansiyel yararlanıcılarından biridir.

Tüm test öğelerinin ortalama sonuçlarından, Volta'nın Tensor Core'un FP16 karma hassasiyetli hesaplama yeteneklerini etkinleştirdikten sonra performansta bir kez daha lider olduğu görülebilir. Ancak, GEMM'den farklı olarak, FP32 evrişiminde Tensor Core'u etkinleştirmek önemli performans kaybına neden olacaktır.

Hesaplamalar uyumsuz tensör boyutlarını içerdiğinde, standart kesinlik modu cuDNN (Winograd gibi) tarafından belirtilen en hızlı ileri alma algoritmasını takip ederken, karışık kesinlik modu tüm çekirdekler için örtük önceden hesaplanmış GEMM kullanmalıdır, bu da iki karışık hassasiyete neden olur Modelin performansı düşecek.

Tensör Çekirdeği hızlandırma gereksinimlerini karşılamak için, giriş ve çıkış kanalı boyutu 8'in katı olmalı ve giriş, filtreleme ve çıkış veri türleri yarı kesinlikte olmalıdır. Evrişim hızlandırma elde etmek için Tensör Çekirdeği kullanmak tensörlerin NHWC formatında olmasını gerektirir, ancak çoğu çerçeve NCHW formatında tensörleri kullanmayı ummaktadır. Bu durumda, giriş kanalı 8'in katı değildir, ancak test programı bu sorunu çözmek için otomatik olarak dolduracaktır.

Tüm bu NCHW çekirdeklerinin NHWC'ye dönüştürülmesi gerektiğine dikkat edilmelidir. Tensor Core'dan yararlanmak için, evrişim formatını doğru şekilde ayarlamanız gerekir.Bu test, NVIDIA tarafından sağlanan standart kitaplığı ve makefile'ı kullanır. NVIDIA, hızlandırılmış evrişim gerçekleştirildiğinde, FP32 ve FP16 karışık hassasiyet modlarını etkileyecek olan önemli miktarda çalışma süresi tüketeceğine dikkat çekti.

DeepBench Akıl Yürütme Testinin GEMM'si

Veri doğruluğu açısından Baidu, DeepBench GEMM ve evrişimi Volta ve Pascal'da INT8 hesaplamalarını desteklemek için 32 bit kümülatif INT8 formatını desteklemek için tanımlar.

Titan V ve Titan Xp, INT32'den 4 kat daha fazla INT8 performansına sahiptir ve DeepBench'in INT8 muhakeme testi, Pascal tarafından sunulan DP4A vektör nokta ürün yeteneğinin tam altındadır. Volta da bu yeteneğe sahiptir ve her ikisi de komut setinde IDP ve IDP4A olarak gösterilir.

IGEMM için, CUTLASS'ın gösterdiği gibi, DP4A özel bir işlemdir. Bu nedenle, dil modellemeye ek olarak, INT8'in performansı çok yüksektir. Elbette donanıma uymayan tensör boyutu, eskisi ile tamamen aynı olan Tensor Core hızlandırması için uygun değil.

Tamamen bağlı (afin) bir katmanda, her düğüm bir önceki katmandaki her bir düğüme bağlanır. Tipik bir CNN için, tamamen bağlantılı katmanlar, çıkarılan tüm özelliklerin son tahminde bulunmak ve görüntüyü sınıflandırmak için birleştirilebileceği anlamına gelir. Bu test sonuçları verileri aynı zamanda büyük ve normal matrislerin Tensor Core hızlandırmada daha fazla fayda sağlayabileceği anlamına gelir.

DeepBench çıkarım testinin evrişimleri

Tekrar evrişim testi bağlantısına gelince, 8-bit çarpma / 32-bit biriktirme yine INT8 mantığında ortaya çıktı.

Testteki en çarpıcı şey Titan Xp'dir Resnet, Speaker ID ve Vision projelerinde Titan Xp, güçlü INT8 verimi gösterdi.

Çekirdek açısından bakıldığında, bu fenomenin temel nedeni bulunamamıştır.Bunun nedeni Pascal'ın DP4A kitaplığının ve iyi sürücünün Volta'dan daha olgun olması veya Volta'nın bu işlemleri ayrı bir INT birimi aracılığıyla işlemesi olabilir.

DeepBench çıkarım testinin RNN ve Seyrek GEMM'si

DeepBench'in son muhakeme testi RNN ve Sparse GEMM'dir Testte FP16 seçilebilmesine rağmen, aslında sadece FP32 işlemlerini desteklerler.

RNN hızlandırılabilse de, DeepBench ve NVIDIA şu anda yalnızca tek duyarlıklı RNN çıkarımını desteklemektedir.

ResNet50 ve ImageNet'in NVIDIA Caffe2 testi

Çekirdekler ve derin öğrenme matematik işlemleri yararlı olsa da, gerçek veri kümeleri pratik uygulamalarda eğitim için kullanılır. Standart ILSVRC 2012 görüntü setini kullanarak, ImageNet üzerindeki ResNet50 modeli aracılığıyla eğitim ve çıkarım, daha fazla referans performans verisi gösterebilir.

FP16 ve Tensor Core'un ayrı anahtarları olmasına rağmen, Tensor Core etkin ve devre dışı bırakılmış FP16'yı çalıştıran Titan V'nin performansı tamamen aynıdır.

Yalnızca ham iş hacmi performansına bakıldığında, Titan V tüm parti boyutlarında lider konumdadır. Tensor Core ile, Titan V'nin işleyebileceği toplu iş boyutu 64'e ulaşır veya bunu aşar; bu, 12 GB video belleğiyle bile diğer grafik kartlarıyla karşılaştırılamaz.

Bununla birlikte, yalnızca işlenmemiş çıktı performansına bakmanın sorunu, derin öğrenmenin gerçek performansının hiç bu kadar basit olmamış olmasıdır. Her şeyden önce, birçok model, iş hacmi optimizasyonu karşılığında doğruluktan ve eğitim süresinden ödün verebilir.Modelin yakınsaması uzun sürerse, o zaman saniyedeki eğitimin en yüksek performansı anlamsızdır.

Bu problemler özellikle FP16 depolama ve Tensor Core kullanan Volta ile ilgilidir.Eğer pratik uygulamalarda kayıplı ölçeklendirme veya tek hassasiyetli parti normalizasyonu kullanılırsa, bu verim performansına yansıtılamaz.

ResNet50 ve ImageNet of HPE DLBS Caffe2 testi

Ardından, Derin Öğrenme Kılavuzundaki HPE DLBS'ye bir göz atalım. Alışılmış derin öğrenme testlerinin aksine, HPE DLBS temelde yalnızca iş hacmi ve zaman göstergeleri verir.

HPE DLBS'nin önemli bir özelliği, NVIDIA Caffe2 testi için kullanılan veri setini desteklemesidir.Ayrıca, eğitim ve çıkarım için ImageNet üzerinde ResNet50 modelini kullanabiliriz. Ancak, ikisinin farklı modelleri ve uygulamaları nedeniyle, ölçülen çıktı performansı doğrudan NVIDIA Caffe2 ile karşılaştırılamaz.

Testte, Titan V bazı özel parti boyutlarını destekleyemez, ancak genel eğilim temelde önceki testle aynıdır.FP16 ve Tensor Core daha yüksek verim sağlar. Ne yazık ki, HPE DLBS Caffe2 testi INT8 mantığını desteklemiyor gibi görünüyor.

ResNet50 ve ImageNet, HPE DLBS TensorRT tarafından test edildi

HPE DLBS'nin bir diğer önemli özelliği, TensorRT'nin (NVIDIA Inference Optimization Engine) kıyaslama işlevini desteklemesidir. NVIDIA, son yıllarda TensorRT'yi yeni derin öğrenme işlevleriyle (INT8 / DP4A ve Tensor Core'un 16-bit akümülatör modu gibi) birleştirdi. Muhakeme için.

Caffe modelini kullanarak TensorRT, belirli bir doğrulukta çıkarımlar yapmak için modeli gerektiği gibi ayarlayabilir. Titan X (Maxwell) ve Titan Xp (Pascal) üzerinde 64, 512 ve 1024 parti boyutlarını ve Titan V için 128, 256 ve 640 parti boyutlarını çalıştırdık.

Titan Xp'in yüksek INT8 performansı GEMM / evrişim performansını belli bir dereceye kadar doğrular.Her iki iş yükü de DP4A kullanıyor gibi görünüyor. Bununla birlikte, Leifeng.com, DP4A'nın Titan V'de nasıl uygulandığını bilmiyordu, yalnızca Volta komut seti tarafından desteklendiğini ve Volta'nın bağımsız bir INT32 birimine sahip olduğunu biliyordu.

DAWNBench testinin CIFAR10 görüntü sınıflandırması

Gerçek uygulama performansı açısından derin öğrenme eğitimi, zaman / doğruluk ve maliyet açısından açıklanmaya daha uygundur ve bu iki nokta DAWNBench'in iki alt testine karşılık gelir. CIFAR10 kullanarak görüntü sınıflandırması için bu iki alt test şunlardır:

Zaman / Doğruluk: CIFAR10 veri setinin görüntü sınıflandırma modelini eğitin, eğitim için gereken süreyi bildirin ve test setinin doğruluğunun en az% 94 olmasını gerektirir.

Maliyet: Genel bulut altyapısında,% 94 veya daha yüksek test seti doğruluğuna ulaşmak için gereken toplam süreyi hesaplayın ve eğitim modelini elde etmek için zamanı (saat cinsinden) saat başına bir örneğin maliyetiyle çarpın Toplam maliyet.

Test, PyTorch'un en hızlı iki CIFAR10 eğitim uygulamasını kullanır.Biri ResNet34'e dayanır ve NVIDIA GeForce GTX 1080 Ti üzerinde çalışmak üzere tasarlanmıştır ve ikincisi ResNet18'e dayanır ve tek bir Tesla V100 üzerinde çalışacak şekilde tasarlanmıştır. Bunların hepsi DAWNBench'teki son popüler testlerdir ve modern projelerle oldukça uyumlu oldukları düşünülebilir ve CIFAR10 çok yoğun bir veri seti değildir.

CIFAR10'un küçük görüntü veri seti iyi çalışıyor. İlk eğitim uygulaması tek bir GTX 1080 Ti üzerinde çalıştırmaktır.% 94 doğruluğa eğitim 35 dakika 37 saniye sürer. İkinci eğitim uygulamasında sadece Titan V kullanır Golün% 94'ü 5 dakika 41 saniyede tamamlandı.

Bu arada, Titan V ilk eğitim uygulamasında Tensor Core kullanmayacak olsa da, Pascal'a göre genel iyileştirme ile Titan V, bu testte hala Titan Xp'den yaklaşık% 20 daha hızlı ve sistem tepe gücü Tüketim de yaklaşık 80W düştü.

Sonuç

Tensor Core, Titan V'nin önemli bir parçasıdır. Bu makalenin amacı Volta'yı olabildiğince anlamaktır, bu nedenle test Tensor Core hızlanmasına odaklanır.

Bu teste dahil olmayan birçok test ve kit vardır ve genellikle tasarımda çok fazla eksiklikleri vardır. Gerçekler, mevcut gerçekliğe uyan, uçtan uca göstergeler sağlayan, birden fazla makine öğrenimi alanını kapsayan, Tensor Core'u ve karma hassasiyeti destekleyen bir yük bulmanın imkansız olduğunu kanıtlamıştır, ister bütünden ister parçadan bakıldığında, en önemli şey profesyonel olmayan kolay gelişimdir. Okuyucu tarafından kullanılan derin öğrenme kiti.

Daha büyük bir referans değerine sahip DAWNBench için bile tasarım, genel bir kıyaslama sağlamayı değil, araştırmacıların ve geliştiricilerin kendi uygulamalarını oluşturmalarını kolaylaştırmayı amaçlamaktadır. DAWNBench'in derin öğrenme çerçevesinin etkili bir kıyaslama olarak kullanılabilmesi için hala değiştirilmesi gerekiyor, ancak Volta ile uyumlu bir karma hassasiyet modelini yeniden yapılandırmak kolay bir iş değil.

Bu aslında Titan V'in kendisiyle ilgilidir Tensor Core ve karışık hassasiyet, yalnızca belirli koşullar altında performansı önemli ölçüde artırabilen adaptasyon ve destek için özel geliştirme gerektirir. Ve kullanıcının kodu ve veri seti Tensor Core ile iyi bir şekilde eşleşebilse bile, sonunda, sinir ağı işleme geleneksel ALU ile sınırlı olacaktır.

Ana akım tüketiciler için Tensor Core'un geliştirilmesi onlar için ne anlama geliyor? En son Turing mimarisi, Tensor Core'un oyun kartları alanında da uygulanabileceğini kanıtlıyor. Lei Feng.com bir keresinde NVIDIA RTX 2080Ti / 2080 / 2070'in piyasaya sürülmesiyle RTX ışın izleme teknolojisinin, ışın sayısının sınırlamasını telafi etmek için görüntü gürültüsünü azaltmak için Tensor Core kullandığını bildirdi. NVIDIA'nın dikkate alması gereken tek soru, bu oyuncuların bu Tensor Çekirdekleri için ödeme yapmaya istekli olup olmadığıdır.

Bilgi işlem ihtiyaçlarını karşılamak için Titan V satın almayı düşünen herkes için Titan V'ye yatırım yapmak, karma hassasiyetli derin öğrenme modellerine ve WMMA tabanlı HPC GEMM hızlandırmaya yatırım yapmak anlamına gelir. CuDNN, cuBLAS ve erken DP4A ve FP16 * 2 karışık hassasiyetli hesaplamalar bağlamında, Tensor Core, derin öğrenme hızlandırma elde etmek için programlanabilir donanım kullanmaya çalışan doğal bir evrimdir.

Elbette, Titan V kesinlikle NVIDIA'nın gelecekteki GPGPU'lara olan arzusunu temsil ediyor.

aracılığıyla: Anandtech

Atak hızından yarı kanla vazgeçen Sun Shangxiang
önceki
Berlin Film Festivali "kendini kurtarmak için dosyaları değiştirebilir" ve Oscar Hollywood film yapımcılarının dikkatini çekene kadar erteleyebilir mi?
Sonraki
Chevrolet, SUV pazarında ayakta kalabilir mi? Bu gezgine bağlı
Akıllı sistem sizi daha iyi tanıyor, Huawei nova2s deneyimlemenizi bekliyor
Ölümlerin kontrolünü ele alan ve onunla ilgilenen Xiahou Dun, hayatın yanlış olduğunu hissettiriyor
Volkswagen Tiguan zafere dönmek mi istiyor? Belki de bu 7 koltuklu modele güvenmek zorundasın
2018 iyi değil, 2019 daha mı kötü olacak?
Baidu Capital'in CEO'su istifa etti ve sorun çıkarıyor: yalnızca İK yanlış e-postası yüzünden
Bil bakalım Quan Zhilong nerede? Efsanevi Özel Proje mi?
Dünyayı yiyen yazılım: Tesla ve yıkıcı yenilik
Zhuge Liang'ın her dakika beş kişiyi öldürmek için bu numaraları öğrendiğine inanmak zorundayım.
Yeni nesil BMW 5 Serisi'ni gördükten sonra Audi A6L için endişelenmeye başladım
Orijinal yazar Mucheng Yukito, "Alita: Savaş Meleği" damgasını vurdu Tanrı rüya dünyasını yeniden canlandırıyor
"Ejderhanın Sekiz Parçası" nın 97. versiyonunun mürettebatı yeniden bir araya geldi, Qiao çetesinin lideri yaşlı ve peri kız kardeşi hala ölümsüz.
To Top