TensorFlow, Caffe, CNTK, MXNet ve Torch'un üç popüler derin sinir ağında (kağıt) kıyaslama performansı

Xinzhiyuan önerilir

Kaynak: WeChat Resmi Hesabı Medical AI (med-ai)

Yazarlar: Shaohuai Shi, Qiang Wang, Pengfei Xu, Xiaowen Chu

Çevirmenler: Wu Bo, Elaine, Melody

AI devam ediyor, Vientiane güncellemeleri!

Xinzhiyuan, tüm abonelerine iyi bir Horoz Yılı diliyor!

Xinzhiyuan yeni bir işe alım turu başlattı : COO, Genel Yayın Yönetmeni, Baş Editör, Kıdemli Derleyici, Baş Yazar, Operasyon Direktörü, Hesap Yöneticisi, Danışmanlık Direktörü, İdari Asistan ve diğer 9 pozisyon tamamen açıktır.

Teslime devam et: j obs@aiera.com.cn

HR WeChat: 13552313024

Xinzhiyuan, COO ve yönetici editörlere bir milyon yuan'a kadar yıllık maaş teşvikleri sağlar; kilit çalışanlar için en eksiksiz eğitim sistemini sağlar, Sektör ortalamasından daha yüksek maaşlar ve ikramiyeler.

Xinzhiyuan'a katılın ve dünyayı değiştirmek için yapay zeka endüstrisinin liderleriyle birlikte çalışın.

Xin Zhiyuan Rehberi Yeni yılın başında, Xinzhiyuan size Hong Kong Baptist Üniversitesi Bilgisayar Bilimleri Fakültesi'nden Chu Xiaowen'in ekibinin en popüler beşini değerlendiren en son makalesi olan "Mevcut en gelişmiş derin öğrenme yazılım araçlarının karşılaştırılması" nı önerir: Caffe, CNTK, MXNet, TensorFlow ve Torch DL çerçevesinin FCN, CNN ve RNN üzerindeki performansı. Bu, Berkeley RISE Lab'ın büyük ineği ve RISC'nin babası David Patterson'un da dikkat ettiği derin öğrenme kütüphanesi değerlendirmesidir. Makalenin yazarı, bunun açık kaynaklı bir proje olduğunu ve tüm yapılandırma dosyalarının ve deneysel verilerin http: //www.comp.hkbu.edu.hk/chxw/dlbench.html adresinde halka açık olduğunu vurguladı, okuyucular beni düzeltmeye davetlidir. [Xinzhiyuan'ın resmi hesabını girin, kağıdı indirmek için iletişim kutusuna "0128" girin]

2016 yılında derin öğrenme araçlarının değerlendirmesini başlatan Chu Xiaowen ekibi, Maymun Yılı'nın son gününde arXiv.org'da en son değerlendirme sürümünü yayınladı. Bu değerlendirmenin, yerli yapay zeka öz-medyasının yayılması yoluyla yapılan ilk versiyonu, yerli endüstri üzerinde büyük bir etkiye sahip. Akademide tepki daha da olağanüstü. Profesör Chu Xiaowen, 5 Ocak'taki Moments of Friends'te, David Patterson'un makalesinin ayrıntılarını sormak için bir e-posta gönderdiğini ve yaşlı adamın makalesinin dikkatlice okunduğunu hissettiğini söyledi.

David Patterson, RISC'nin babası olan mimarlık alanında bir üne sahiptir. Kavun yiyen yabancı insanlar, 25 Ocak'ta Ant Financial'ın daha önce AmpLab olarak bilinen ve RISE Lab olarak yeniden adlandırılan Berkeley Üniversitesi ile işbirliğini duyurduğu haberi fark etmiş olabilir. David Patterson, RISE Lab'ın en iyi liderlerinden biridir.

Profesör Chu Xiaowen'in makalesinin son sürümü Caffe, CNTK, MXNet, TensorFlow ve Torch'u karşılaştırır ve değerlendirir. İki CPU platformu ve üç GPU platformu altında, bu beş derin öğrenme kitaplığının performansını üç popüler tür derin sinir ağı (FCN, CNN, RNN) üzerinde karşılaştırın. Dağıtılmış sürümlerini tek makineli çoklu GPU kart ortamında karşılaştırdı. Önceki değerlendirme ile karşılaştırıldığında, en son değerlendirme, değerlendirme aralığındaki MXNet dahil çoklu GPU kartları için bir test ekler ve ayrıca iki gerçek veri seti, MNIST ve Cifar10'u test eder.

"En gelişmiş derin öğrenme yazılımı araçlarının karşılaştırması

1. Giriş

Son on yılda, derin öğrenme, bilgisayarla görme, konuşma tanıma ve doğal dil işleme gibi farklı alanlara başarıyla uygulandı. Derin öğrenmenin başarısı, birçok yapay nöron katmanının girdi verileri için yüksek temsil kabiliyetine bağlanır. GPU, eğitim süresini önemli ölçüde kısaltarak derin öğrenmenin başarısında önemli bir rol oynar. Derin öğrenme yöntemlerini geliştirme verimliliğini artırmak için, Berkeley Üniversitesi'nden Caffe, Microsoft'tan CNTK, Google'dan TensorFlow, Torch, MXNet, Theano ve Baidu'dan PaddlePaddle dahil olmak üzere birçok açık kaynak derin öğrenme araç seti bulunmaktadır. Bu araçların tümü çok çekirdekli CPU'ları ve ultra çok çekirdekli GPU'ları destekler.

Derin öğrenmenin ana görevlerinden biri, vektör veya matris işlemleriyle elde edilebilecek ağın her katmanının ağırlıklarını öğrenmektir. TensorFlow, matris hızlandırma kitaplığı olarak Eigen'i kullanırken, Caffe, CNTK, MXNet ve Torch, korelasyon matrisi işlemlerini hızlandırmak için OpenBLAS, Intel MKL veya cuBLAS kullanır. Tüm bu araç setleri, sinir ağı hesaplamaları için GPU hızlandırma için derin bir öğrenme kitaplığı olan cuDNN'yi sunar. Bununla birlikte, optimizasyon yöntemlerindeki farklılıklar, farklı ağ türleriyle veya farklı donanım türleriyle birleştiğinden, yukarıdaki araç takımlarının performansı büyük ölçüde değişir.

Derin öğrenme yazılım araçlarının ve bunların temelini oluşturan donanım platformlarının çeşitliliği göz önüne alındığında, son kullanıcıların derin öğrenme görevlerini gerçekleştirmek için uygun bir platform seçmesi zordur. Bu yazıda yazar, en gelişmiş GPU hızlandırmalı derin öğrenme araçlarını (dahil olmak üzere) karşılaştırmak için en önemli üç derin sinir ağını (Tam Bağlı Sinir Ağı FCN, Evrişimli Sinir Ağı CNN ve Tekrarlayan Sinir Ağı RNN) kullanır. Caffe, CNTK, MXNet, TensorFlow ve Torch), CPU ve GPU'daki çalışma zamanı performanslarını karşılaştırın.

Çeşitli araçların performans değerlendirmesi hem sentetik veriler hem de gerçek veriler içindir. Değerlendirilen donanım platformu iki CPU (masaüstü düzeyinde Intel i7-3820 CPU, sunucu düzeyinde Intel Xeon E5-2630 CPU) ve üç Nvidia GPU (GTX 980, GTX 1080, Telsa K80, Maxwell, Pascal ve Kepler mimarisi). Yazar ayrıca çoklu GPU kartlarının paralel performansını değerlendirmek için iki Telsa K80 kartı (toplam 4 GK210 GPU) kullandı. Her bir sinir ağı türü için küçük bir ağ ve büyük bir ağ seçilir.

Değerlendirmenin temel bulguları şu şekilde özetlenebilir:

  • Genel olarak, çok çekirdekli CPU'ların performansı çok ölçeklenebilir değildir. Birçok deneysel sonuçta, 16 çekirdekli CPU kullanmanın performansı, 4 çekirdekli veya 8 çekirdekli kullanmaktan yalnızca biraz daha iyidir. TensorFlow, CPU ortamında nispeten iyi bir ölçeklenebilirliğe sahiptir.

  • Yalnızca bir GPU kartıyla, Caffe, CNTK ve FCN'deki Torch, MXNet ve TensorFlow'dan daha iyi performans gösterir; CNN'deki MXNet, özellikle büyük ağlarda iyi performans gösterir ve Caffe ve CNTK, küçük CNN'de eşit derecede iyi performans gösterir; LSTM'nin RNN, CNTK en hızlısıdır, diğer araçlardan 5 ila 10 kat daha iyidir.

  • Eğitim verilerinin paralelleştirilmesiyle, birden fazla GPU kartını destekleyen bu derin öğrenme araçları, iş hacminde önemli bir artış sağlar ve aynı zamanda yakınsama hızı da iyileştirilir. Çoklu GPU kart ortamında, CNTK platformu FCN ve AlexNet üzerinde daha iyi ölçeklenebilirliğe sahipken, MXNet ve Torch CNN'de oldukça iyidir.

  • Çok çekirdekli CPU'lara kıyasla, GPU platformları daha verimlidir. Tüm araçlar, GPU kullanarak önemli bir hızlanma sağlayabilir.

  • Üç GPU platformu arasında GTX1080, bilgi işlem gücü nedeniyle deneysel sonuçların çoğunda en iyi performansa sahiptir.

  • Performans bir dereceye kadar yapılandırma dosyalarından da etkilenir. Örneğin, CNTK, kullanıcıların sistem yapılandırma dosyasını hesaplama verimliliği ve GPU belleği arasında seçim yapmaları için ayarlamasına izin verirken, MXNet kullanıcıların cuDNN kitaplığının otomatik ayarlarını ayarlamasına izin verir.

2. Arka plan ve ilgili bilgiler

Derin öğrenme teknolojisinin hızlı gelişimi ile insanlar, tamamen bağlı sinir ağları (FCN), evrişimli sinir ağları (CNN), tekrarlayan sinir ağları (RNN) ve sınırlı dalga dahil olmak üzere farklı uygulamalar için çeşitli türlerde derin sinir ağları geliştirdiler. Ziman Makinesi (RBM). Bu makale, üç sinir ağının (FCN, CNN ve RNN) işletim performansını (veya zaman hızını) ve yakınsama hızını analiz etmeye odaklanmaktadır.

FCN'nin geçmişi, geri yayılımın icat edildiği 1980'lere kadar uzanabilir. CNN ve RNN, görüntü tanıma ve doğal dil işleme uygulamalarında her zaman mükemmel sonuçlar göstermiştir.

FCN, 1989 yılında Yann LeCun ve diğerleri tarafından posta kodu tanımaya başarıyla uygulanan ileri bir sinir ağıdır. Her katmandaki parametre sayısını azaltmak için, CNN bir dizi çekirdek kullanarak evrişimli bir katman oluşturur ve her bir çekirdeğin parametreleri tüm etki alanında paylaşılır (örneğin, bir renkli görüntü kanalı). CNN, tamamen bağlı katmanın kolayca çok sayıda parametrenin öğrenilmesine neden olması sorununu hafifletebilir. LeNet mimarisinden başlayarak CNN, ImageNet sınıflandırması, yüz tanıma ve hedef algılama dahil olmak üzere birçok sonuç elde etti.

RNN, ağ elemanlarının döngüsel bağlantısına izin verir. RNN, girdi ve çıktının bağlamsal özellikleri arasındaki ilişkiyi bulmak için tüm tarihsel girdi dizisini her çıktıya bağlayabilir. Bu özellik sayesinde, RNN, örnek eğitim sırasındaki hafıza işlevine benzer şekilde önceden girilen bilgileri koruyabilir. Ek olarak, uzun kısa süreli bellek (LSTM), bilgileri uygun şekilde kaydedip atarak RNN eğitimi sırasında gradyan kaybolma ve patlama sorununu çözebilir. LSTM üniteli RNN'nin konuşma tanıma ve doğal dil işleme görevlerini işlemek için en etkili yöntemlerden biri olduğu kanıtlanmıştır.

Derin öğrenmenin artan başarısı ile birçok popüler açık kaynaklı GPU hızlandırma araç seti doğdu. Bunların arasında Caffe, CNTK, MXNet, TensorFlow ve Torch en aktif ve popüler örneklerdir.

Caffe, Berkeley Vision and Learning Center (BVLC) tarafından geliştirilmiştir ve 2014'ten beri açık kaynaklı bir projedir. Yazar, Caffe'nin GPU hızlandırmalı sürümle her gün 40 milyon görüntüyü işlemek için NVIDIA K40 veya Titan GP kartını kullanabileceğini iddia ediyor. CuDNN ile birleştirildikten sonra, yaklaşık 1,3 kat hızlanabilir.

CNTK, Microsoft Research tarafından geliştirilmiş bir araç setidir ve en popüler sinir ağlarını destekler. Şubat 2015'te, Caffe, TensorFlow, Theano ve Torch ile karşılaştırıldığında 4 katmanlı tam bağlı bir sinir ağı olan CNTK için bir kıyaslama performans testi sonuçlarının resmi raporu, hız 1,5 kat daha hızlı.

MXNet, birden çok dili destekleyen ve üretim verimliliğini artırmak için daha esnek ve etkili bir programlama arayüzü sağlamayı amaçlayan bir derin öğrenme çerçevesidir.

TensorFlow, Google tarafından geliştirilmiştir ve derin öğrenme çerçevesindeki en yaygın birimleri entegre etmek için veri akış grafiklerini kullanır. CNN ve RNN gibi en yeni ağların çoğunu farklı ayarlarla destekler. TensorFlow, olağanüstü esneklik, taşınabilirlik ve yüksek verimlilik için tasarlanmıştır.

Torch, çok boyutlu tensörler gibi makine öğrenimindeki en yararlı bileşenler için veri yapıları sağlayan bilimsel bir hesaplama çerçevesidir.

(a) Tamamen bağlı sinir ağı (b) Evrişimli sinir ağı (AlexNet) (c) Tekrarlayan sinir ağı

Şekil 1: Derin öğrenme modeli örneği

Derin sinir ağlarının eğitim hızını hızlandırmak için bazıları, kayan noktalı optimize edilmiş versiyona kıyasla 3 kat hızlanma sağlayabilen derin öğrenme algoritmalarını uygulamak için CPU SSE teknolojisini ve kayan noktalı SIMD modelini kullanır. Andre Viebke ve arkadaşları, Intel Xeon Phi işlemcilerde CNN'i hızlandırmak için çoklu okuma ve SIMD paralelleştirme kullandı. Birden fazla GPU kartının paralelleştirilmesini amaçlayan Jeffrey Dean ve diğerleri, büyük ölçekli dağıtılmış derin bir ağ önerdi ve bir grup GPU makinesi üzerinde çalışabilen iki algoritma (Downpour SGD ve Sandblaster L-BFGS) geliştirdi.

Eğitim yöntemini hızlandırmanın bir başka yolu da öğrenilecek parametre sayısını azaltmaktır.Song Han ve diğerleri, ağ gösterimi yeteneğini kaybetmeden parametreleri azaltmak için yedek bağlantıları budama yöntemini kullandı.Bu, AlexNet parametrelerinin sayısını 6.7 milyondan 61 milyona düşürebilir. Bahrampour ve diğerleri benzer performans değerlendirme çalışması yaptılar, ancak yalnızca bir GPU mimarisi (NVIDIA Maxwell Titan X) ve yazılımın eski sürümünü (cuDNN v2, v3) kullandılar.

Yazarın önceki çalışması, eski yazılımları tek bir GPU'da çalıştırmanın karşılaştırmalı sonuçlarını da tartıştı. Bu makale, üç büyük GPU mimarisini ve en yeni ağlardan (ResNet-50 gibi) ve yazılımlardan (cuDNN v5 gibi) bazılarını karşılaştırır ve araç seti kod analizi performansının derinliklerine iner. Ek olarak, bu makale birden çok GPU kartının tek bir makinedeki performansını da karşılaştırır.

Tek bir GPU kartının belleği nispeten küçük olduğundan ve bu da sinir ağının ölçeğini sınırlandırdığından, eğitimin ölçeklenebilirliği derin öğrenme çerçevesi için kritiktir. Günümüzün derin öğrenme araçlarında, birden çok GPU kartı desteği standart bir özellik haline geldi. Birden fazla GPU kartını kullanmak için Dağıtılmış Eşzamanlı Stokastik Gradyan İniş (SDG) yaygın olarak kullanılır ve iyi bir ölçeklenebilirlik sağlar.

Ölçeklenebilirlik açısından, bu makalenin yazarı, işlem süresini ve veri senkronizasyon yönteminin yakınsama hızını değerlendirmeye odaklanmaktadır. Paralel veri modelinde, N işçi için, M numuneli bir mini parti, her biri M / N numuneli N parçaya bölünür ve her işçi, atanan numuneleri ileri ve geri bağımsız olarak işlemek için aynı modeli kullanır. . Tüm çalışanlar tamamlandığında, gradyanlar toplanır ve model güncellenir.

Aslında, farklı araçlar SGD algoritmasını senkronize etmek için farklı yollar uygular.

  • Caffe

  • CNTK

  • MXNet

  • TensorFlow

  • Meşale

3. Değerlendirme yöntemi

İşlem süresi ve Yakınsama oranı, kullanıcılar derin öğrenme modellerini eğitirken en önemli iki faktördür. Bu nedenle deney, esas olarak bu derin öğrenme araçlarını bu iki göstergeyi ölçerek değerlendirir.

Bir yandan, işlem süresini değerlendirmek için etkili ve ana bir yöntem, bir mini partinin girdi verilerinin bir yinelemesinin süresini ölçmektir. Gerçek operasyonda, birden fazla yineleme veya yakınsama turundan sonra, derin öğrenme eğitim süreci sona erecektir. Bu nedenle, her bir sinir ağı türü için deney, çeşitli derin öğrenme yazılım araçlarını değerlendirmek için farklı boyutlarda mini grup kullanır. Yazar, her bir mini parti boyutu için birden fazla yinelemeyi tekrarladı ve sonunda ortalama çalışma hızını değerlendirdi. Öte yandan, veri paralelleştirme yakınsama hızını etkileyebileceğinden, bu değerlendirme birden fazla GPU kartı durumunda yakınsama hızını da karşılaştırır.

Değerlendirmede sentetik veri setleri ve gerçek veri setleri kullanılır. Sentetik veri seti esas olarak çalışma süresini değerlendirmek için kullanılır ve gerçek veri seti yakınsama hızını ölçmek için kullanılır. Her bir araç için zaman ölçüm yöntemi aşağıdaki gibidir:

  • Caffe

  • CNTK

  • MXNet

  • TensorFlow

  • Meşale

Bu araçlar, performans optimizasyonu için çok esnek programlama API'leri veya yapılandırma seçenekleri sağlar. Örneğin, CNTK'da, CNN tarafından kullanılan geçici belleğin boyutunu kontrol etmek için yapılandırma dosyasında "maxTempMemSizeIn-SamplesForCNN" seçeneğini belirtebilirsiniz. Verimlilikte hafif bir düşüşe neden olsa da, bellek gereksinimi daha azdır.

MXNet, TensorFlow ve Torch, kullanıcıların bilgi işlem görevleri için kullanıldığında seçebilecekleri zengin API'lere de sahiptir. Başka bir deyişle, aynı işlemi gerçekleştirmek için farklı API'ler olabilir. Bu nedenle, bu değerlendirme sonucu yalnızca yazarın bu araçların kullanımına ilişkin anlayışına dayanmaktadır ve en iyi yapılandırmanın sonucu olacağı garanti edilmez.

Derin öğrenme yazılımı sürümü ve değerlendirmedeki ilgili kütüphaneler Tablo 1'de gösterilmektedir.

Tablo 1: Değerlendirme için kullanılan derin öğrenme yazılımı

Sinir ağı ve veri seti: Sentetik verilerin testi için deney, FCN'nin performansını değerlendirmek için yaklaşık 55 milyon parametreye sahip büyük bir sinir ağı (FCN-S) kullanıyor. Aynı zamanda, AlexNet ve ImageNet tarafından seçilen ResNet-50, CNN temsilcileri olarak seçilir.

Gerçek verileri test etmek için MNIST veri kümesi için oluşturulan FCN (FCN-R) daha küçüktür; Cifar10 veri kümesi için AlexNet-R ve ResNet-56 adlı AlexNet mimarisi kullanılır. RNN için, ana hesaplama karmaşıklığının giriş dizisinin uzunluğu ile ilgili olduğu göz önüne alındığında, yazar test için 2 LSTM katmanı seçer ve giriş uzunluğu 32'dir. Her ağın ayrıntılı yapılandırma bilgileri Tablo 2 ve Tablo 3'te gösterilmektedir.

Tablo 2: Yapay veriler için sinir ağı ayarları. Not: FCN-S, her biri 2048 düğüme sahip 4 gizli katmana sahiptir; toplu normalleştirme işlemi ve bırakma işlemi AlexNet-S'de hariç tutulmuştur; CNN'yi test etmek için, giriş verileri ImageNet veritabanından renkli bir görüntüdür (boyut 224 × 224 × 3) Çıktı boyutu, ImageNet verilerinin kategori sayısıdır.

Tablo 3: Gerçek veriler için sinir ağı ayarları. Not: FCN-R'nin 3 gizli katmanı vardır ve düğüm sayısı sırasıyla 2048, 4096 ve 1024'tür. AlexNet-R'nin mimarisi, orijinal kaynakta Cifar10 tarafından kullanılan AlexNet ile aynıdır, ancak yerel yanıt normalleştirme (LRN) işlemlerini içermez (CNTK desteklemez). ResNet-56 için yazar, orijinal belgedeki yapıyı izledi.

Donanım platformu : Değerlendirme, 4 çekirdekli masaüstü CPU (Intel i7-3820 CPU @ 3.60GHz) ve iki 8 çekirdekli sunucu sınıfı CPU (Intel XeonCPU E5-2630 v3 @ 2.40GHz) dahil olmak üzere iki tür çok çekirdekli CPU kullanır. Her takımın farklı iplik sayıları altındaki performansı. Ayrıca, Maxwell mimarisiyle NVIDIA GTX 980 @ 1127MHz, Pascal mimarisiyle GTX 1080 @ 1607MHz ve Kepler mimarisiyle Telsa K80 @ 562MHz olmak üzere üç farklı nesil GPU kartı kullanılmaktadır.

Değerlendirme, tek GPU karşılaştırması için yalnızca K80 GPU'dan birini ve iki GK210 yongasını kullanır.Aynı zamanda, sonuçları tekrarlanabilir hale getirmek için, GPU otomatik hız aşırtma işlevi devre dışı bırakılmıştır. Sinir ağı boyutunun ana bilgisayar belleğine bağımlılığını önlemek için, iki test makinesi sırasıyla 64 GB bellek ve 128 GB bellek ile donatılmıştır. Donanım yapılandırmasının ayrıntılı bilgileri Tablo 4'te gösterilmektedir.

Tablo 4: Bu değerlendirme için donanım ayarları. Not: K80 kartında 2 GK210 GPU vardır, ancak tek GPU performansının karşılaştırılması ve test edilmesi için yalnızca bir GPU kullanılır.

Veri paralelleştirme değerlendirmesi iki Tesla K80 kartı üzerinde gerçekleştirilir, bu nedenle toplam 4 GK210 GPU vardır. Çoklu GPU kart deneyleri için, sistem yapılandırması Tablo 5'te gösterilmektedir.

Tablo 5: Veri paralelliği değerlendirmesi için donanım ayarları. Not: K80 kartında iki GK210 GPU vardır, bu nedenle çift GPU paralel değerlendirme için bir K80 kartı ve dört GPU paralel değerlendirme için iki K80 kartı kullanılır.

Her bir sinir ağı, yazılım aracı ve donanımın birleşik sonuçları Tablo 6'da gösterilmektedir.

Tablo 6: Çeşitli sinir ağlarının, yazılım araçlarının ve donanımın kombinasyon sonuçları

4. Değerlendirme sonuçları

Değerlendirme sonuçları üç alt bölümde sunulur: CPU sonuçları, tek GPU sonuçları ve çoklu GPU sonuçları. CPU sonuçları ve tek GPU sonuçları için ana odak, çalışma süresidir; birden çok GPU için yakınsama hızının bir karşılaştırması da önerilir. Farklı platformlardaki ana değerlendirme sonuçları için Tablo 7 ve Tablo 8'e bakın.

Tablo 7: Değerlendirme ve karşılaştırma sonuçları (her bir mini serinin çalışma süresi, birim: saniye). Not: FCN-S, AlexNet-S, ResNet-50, FCN-R, AlexNet-R, ResNet-56 ve LSTM'nin mini parti boyutları sırasıyla 64, 16, 16, 1024, 1024, 128, 128'dir.

Tablo 8: Tek GPU ve birden çok GPU arasındaki karşılaştırma sonuçları (her mini serinin çalışma süresi, birim: saniye). Not: FCN-R, AlexNet-R ve ResNet-56'nın mini parti boyutları sırasıyla 4096, 1024 ve 128'dir.

4.1. CPU değerlendirme sonuçları

Ayrıntılar için Tablo 7'ye ve orijinal metne bakın.

4.2. Tek GPU kartı değerlendirme sonuçları

Tekli GPU karşılaştırmasında, değerlendirme ayrıca mini parti boyutunun performans üzerindeki etkisini göstermek için farklı mini parti boyutlarının sonuçlarını da gösterdi. (Çevirmenin Notu: Orijinal makalenin sonucu, her bir öğrenme aracının performansını farklı mini grup boyutları altında ayrıntılı olarak açıklar, ayrıntılar için tabloya bakın)

4.2.1. Sentetik Veriler

FCN-S: Caffe en iyisidir, ardından CNTK ve Torch ve son olarak TensorFlow ve MXNet gelir.

AlexNet-S: MXNet en iyi performansa sahiptir, ardından Torch.

ResNet-50: MXNet'in performansı, özellikle mini parti boyutu nispeten büyük olduğunda, diğer araçlardan çok daha yüksektir. CNTK ve TensorFlow'un ardından Caffe görece fakir.

4.2.2. Gerçek Veriler

FCN-R: Torch en iyisidir, onu Caffe, CNTK ve MXNet izler ve TensorFlow en kötüsüdür.

AlexNet-R: CNTK en iyi performansı K80 platformunda, ardından Caffe ve Torch, ardından MXNet'te gösterdi. TensorFlow en uzun işlem süresine sahiptir.

ResNet-56: MXNet en iyisidir, ardından birbirine yakın Caffe, CNTK ve Torch gelir. Son olarak, TensorFlow.

LSTM: CNTK diğer araçları tamamen geride bırakıyor.

4.3. Çoklu GPU kartı değerlendirme sonuçları

FCN-R: Tek bir GPU durumunda, Caffe, CNTK ve MXNet birbirine yakındır ve TensorFlow ve Torch biraz daha kötüdür. GPU sayısı iki katına çıktığında, CNTK ve MXNet en iyi ölçeklenebilirliğe sahiptir; her ikisi de yaklaşık% 35'lik bir hız artışı, caffe yaklaşık% 28'lik bir hız artışı ve Torch ve TensorFlow yalnızca yaklaşık% 10'dur. GPU sayısı 4 olduğunda, TensorFlow ve Torch daha fazla hızlanma elde edemedi.

Yakınsama hızı, GPU sayısı arttıkça artma eğilimindedir. Tek bir GPU ile Torch en hızlı eğitim füzyon hızına sahiptir, bunu Caffe, CNTK ve MXNet izler ve TensorFlow en yavaş olanıdır. GPU sayısı 4'e çıktığında, CNTK ve MXNet'in yakınsama oranı Torch'a yakınken, Caffe ve TensorFlow'un yakınsama oranı nispeten yavaştır.

AlexNet-R : Tek bir GPU ile CNTK, MXNet ve Torch benzer performansa sahiptir ve Caffe ve TensorFlow'dan çok daha hızlıdır. GPU sayısındaki artışla birlikte, tüm araçlar% 40'a varan bir hız artışı elde ederken, TensorFlow yalnızca% 30'a sahip.

Yakınsama hızına gelince, MXNet ve Torch en hızlısıdır, CNTK biraz daha yavaştır, ancak aynı zamanda Caffe ve TensorFlow'dan çok daha hızlıdır.

ResNet-56: Tek bir GPU ile Torch en az zamanı alır. Birden fazla GPU ile MXNet daha verimli olma eğilimindedir.

Yakınsama hızına gelince, MXNet ve Torch genellikle diğer üç araçtan daha iyidir, Caffe ise en yavaştır.

5. Tartışma

CPU paralelliği için, iş parçacığı sayısının fiziksel CPU çekirdeği sayısından fazla olmaması önerilir. Hesaplama işlemi sırasında iş parçacığı zamanlaması için ek CPU kaynaklarına ihtiyaç duyulduğundan, hesaplama için tüm CPU kaynakları kullanılıyorsa yüksek performans elde etmek zordur. Bununla birlikte, Eigen'in BLAS kitaplığının (BLAS kitaplığı) yardımıyla, SIMD talimatları için optimize edildiğinden, CPU çekirdek sayısı arttıkça TensorFlow'un performansı daha iyi olabilir.

FCN sinir ağında, yalnızca bir GPU kartı kullanılırsa, Caffe, CNTK ve Torch'un performansı MXNet ve TensorFlow'dan biraz daha iyidir.

Genel olarak konuşursak, bir ağ eğitimi iki aşamalı hesaplamaları içerir (yani ileri ve geri ilerleme). İleri besleme aşamasında, matris çarpımı en çok zaman alan işlemdir. Değerlendirilen dört aracın tümü cuBLAS API'sini kullanır: cublasSgemm. A matrisini B matrisinin devrikiyle çarpmak istiyorsanız, cublasSgemm API'sinin ikinci parametresini CUBLAS_OP_T olarak ayarlayabilir, yani yerinde matris devrikini uygulayabilirsiniz. Bununla birlikte, bu, transpoze olmayan matris çarpımına kıyasla 3 kat daha yavaş bir performansa yol açar (örneğin, C = A × B ^ T, burada AR ^ 1024 × 26752 ve BR ^ 2048 × 26752). Bunun nedeni, yerinde matris aktarımının çok zaman alıcı olmasıdır. CNTK ve TensorFlow, CUBLAS_OP_N cublasSgemm'i kullanan kendi veri yapılarını oluştururken, Caffe ve Torch CUBLAS_OP_T kullanır.

Geriye doğru yayılma aşamasında, gradyanı hesaplamak için matris çarpımını kullanmanız ve parametreleri hesaplamak için öğe bazlı matris işlemlerini kullanmanız gerekir. CuBLAS'ı A'yı B'nin devrikiyle çarpması için çağırırsanız, verimlilik düşük olduğunda önce B'yi aktarabilirsiniz (GPU'da yeterli bellek varsa, dışarıda kullanın) ve ardından matris çarpımını uygulamak daha iyi olabilir.

Ek olarak, cublasSgemm API, matris çarpımından sonra ölçeklenmiş bir matris eklediğinden geriye doğru yayılmayı tam olarak destekler. Bu nedenle, gradyan hesaplama ve güncelleme işlemleri tek bir GPU çekirdeğinde birleştirilirse, hesaplama verimliliği artırılabilir. FCN'nin verimliliğini optimize etmek için, cublasSgemm API'yi transpoze etmeden kullanabilir ve aynı zamanda gradyanı hesaplamak ve güncelleme işlemini gerçekleştirmek için cublasSgemm'i kullanabilirsiniz.

CNN'de, tüm araç takımları evrişim işlemleri için cuDNN kitaplığını kullanır. API çağrıları aynı olsa da, parametreler farklı GPU çekirdeklerine neden olabilir. İlgili araştırmalar, birçok durumda FFT'nin doğrudan evrişim işlemlerini gerçekleştirmekten daha uygun bir çözüm olduğunu bulmuştur. Matrisin FFT'sinden sonra, evrişim hesaplaması daha hızlı bir iç çarpım işlemine (iç çarpım işlemi) dönüştürülebilir.

Birden çok GPU kartı kullanan veri paralelliği için, işlemlerin ölçeklenebilirliği, PCI-e üzerinden veri iletmesi gerektiğinden gradyan toplama işleminden büyük ölçüde etkilenir. Bu değerlendirmenin test platformunda, Telsa K80'in PCIe 3.0'ının en yüksek verimi yaklaşık 8GB / sn'dir; bu, FCN-R durumunda, GPU'nun gradyanını CPU'ya aktarmanın 0,0256 saniye sürdüğü anlamına gelir. Ancak bir mini partinin hesaplama süresi yalnızca yaklaşık 100 milisaniyedir. Bu nedenle, GPU ile CPU arasında veri aktarım maliyetini düşürmek son derece kritik hale gelecektir.

Farklı yazılım araçlarının performansı değişir ve eşzamanlı tasarım stratejisi ile ilgilidir. Caffe'de gradyan güncellemesi GPU tarafında gerçekleştirilir, ancak bir ağaç azaltma stratejisi kullanır. Eğitim için kullanılan 4 GPU varsa, iki GPU çifti önce gradyanları (yani, GPU 0 ve GPU 1 ve GPU 2 ve GPU 3) ve ardından GPU 0 ve GPU 2'yi değiştirir. Bundan sonra, güncellenen modeli hesaplamaktan GPU 0 sorumludur ve ardından modeli GPU 1'e aktarır, ardından 0 modeli 1'e ve 2 modeli 3'e aktarır. Bu paralel bir işlemdir.

Bu nedenle, Caffe'nin ölçeklenebilirliği büyük ölçüde sistemin PCI-e topolojisine bağlıdır. CNTK'nın yazarı, çerçeveye 1 bitlik stokastik gradyan düşüşü ekledi, bu da PCI-e'nin gradyanları değiştirme süresinin büyük ölçüde azaltılabileceği anlamına geliyor. Bu nedenle, büyük ağlarda bile CNTK'nın ölçeklenebilirliği hala iyi bir performans sergiliyor.

Bu tür bir ağda MXNet, GPU üzerinde gradyan toplama gerçekleştirdiği için iyi bir ölçeklenebilirlik gösterir, bu da yalnızca sık sık gradyan verileri iletmek için PCI-e süresini azaltmakla kalmaz, aynı zamanda paralel hesaplama için GPU kaynaklarını da kullanır.

Bununla birlikte, TensorFlow, CPU tarafında gradyan toplama ve model güncellemesi gerçekleştirir; bu, PCI-e aracılığıyla gradyanları iletmek için çok fazla zaman gerektirir, aynı zamanda modeli seri algoritmada güncellemek için tek bir CPU kullanır. Bu nedenle, TensorFlow diğer araçlar kadar ölçeklenebilir değildir.

Birden fazla GPU için Torch, ölçeklenebilirlik açısından TensorFlow'a benzer. Gradyan toplama ve güncellemesi CPU tarafında gerçekleştirilir, ancak Torch tüm boş CPU kaynaklarını kullanmak için paralel bir algoritma kullanır. Bu nedenle, ölçeklenebilirliği TensorFlow'dan biraz daha iyidir, ancak yine de Caffe, CNTK ve MXNet kadar iyi değildir.

Genel olarak, GPU hesaplama kaynakları nedeniyle, yukarıdaki tüm derin öğrenme araçlarının hızı, CPU sürümüne kıyasla büyük ölçüde iyileştirilmiştir. Bu şaşırtıcı değil, çünkü GPU'daki matris çarpma ve FFT'nin performansı CPU'nunkinden önemli ölçüde daha iyi.

Yazar gelecekte daha derin öğrenme araçlarını da (Baidu's Paddle gibi) değerlendirecek ve değerlendirmeye AMD'nin GPU'sunu da dahil edecek. Ve bunu yüksek performanslı bir GPU kümesinde değerlendirin.

Makalenin yazarı, bunun açık kaynaklı bir proje olduğunu ve tüm yapılandırma dosyalarının ve deneysel verilerin http: //www.comp.hkbu.edu.hk/chxw/dlbench.html adresinde halka açık olduğunu vurguladı, okuyucular beni düzeltmeye davetlidir.

[Xinzhiyuan'ın resmi hesabını girin, kağıdı indirmek için iletişim kutusuna "0128" girin]

Xinzhiyuan İşe Alım

Genel Yayın Yönetmeni, Baş Editör

Yıllık maaş pozisyonu: 500.000 (maaş + ikramiye) -1 milyon (maaş + ikramiye + seçenekler)

İş yeri: Pekin-Haidian Bölgesi

Bölüm: Yayın Bölümü

Rapor: CEO

Astların sayısı: 20

Yaş gereksinimi: 25 ila 40 yaş arası

Dil: Mesleki İngilizce seviye 8 veya üstü veya yurtdışı eğitim geçmişi

Pozisyon geçmişi: BT medya alanında profesyonel ekip yönetimi deneyimi ve ana akım ses Eğitim gereksinimleri: yüksek lisans derecesi ve üzeri

iş tanımı:

  • Yapay zeka ve medya kariyeri konusunda tutkulu;

  • 3 yıldan fazla medya edinme ve düzenleme deneyimine sahip olmak ve sektörde belirli bir etkiye ve ağa sahip olmak;

  • Orijinal + derleme ekibi yönetimi deneyimine sahip, departmanlar arasında işbirliği ve iletişimde iyi;

  • TMT alanını derinlemesine anlayın ve endüstri trendlerine ilişkin benzersiz içgörülere sahip olun;

  • Mükemmel İngilizce okuma, yazma ve iletişim becerileri;

  • Baskıya ve kendi kendine sürüşe karşı güçlü bir yetenek, son derece rekabetçi bir ortamda takımı motive edebilir;

  • Girişimci ruh ve ekip ruhuna, zorluklara göğüs germek için azim ve istekliliğe sahip olmak;

  • Bilim ve mühendislik geçmişi tercih edilir ve tanınmış şirketler veya tanınmış medya kuruluşlarında iş deneyimi tercih edilir.

  • Görev

    İçerik kalitesinden, kullanıcı okuma deneyiminden ve etkiden sorumlu olan Xinzhiyuan içerik platformunun planlanması, üretimi ve işletilmesinden tamamen sorumludur. İçerik platformunun konumlandırılması ve planlanmasının tamamlanması, düzenleme ekibinin kurulması ve yönetilmesi, temel konuların planlanması ve uygulanması, feed yazarlarının kaynaklarının oluşturulması ve sürdürülmesinden; resmi hesabın çeşitli veri göstergelerindeki değişiklikleri izlemek ve buna dayalı olarak içerik kalitesini iyileştirmekten özellikle sorumludur.

    Xinzhiyuan, yüksek ideallere sahip kişilerin görüşmeye gelmesini memnuniyetle karşılıyor. Daha fazla işe alım pozisyonu için lütfen Xinzhiyuan'ın resmi hesabını ziyaret edin

    Dış medya: Venezuela resmi olarak ABD dolarını terk etti ve petrol ticareti için RMB ve Euro kullanacak
    önceki
    Bu değişiklikler, önümüzdeki yıl 1 Ocak'tan itibaren hayatınızda olacak!
    Sonraki
    Oturmak için yeterli, endişesiz ve denetimsiz! Bu dört 6 kişilik modelle ikinci çocuk aileleri çıldırdı!
    O yabancı, sana teşekkür etmek istiyorum Günaydın!
    Bu ülke Güneydoğu Asya'nın tüm özünü yoğunlaştırıyor, niş oteller kendi tarzlarında, tropikal romantizm
    Macaristan, altını iade ettikten sonra aniden rezervlerde on kat artış açıkladı
    "AI Yeniden Başlıyor, Vientiane Güncellemesi" 2017 Makine Öğrenimi Teknolojisi Pazar Tahmini İlk 10
    Hileyi "hatırlat"! "Mobil oyun 1.000 yuan'a kadar ücretlendirilir ve hemen harcanır", bu hileleri bilmiyorsunuz!
    On bir paket dışarı çıkmaya zorlanır, ayı gibi sıkmaya dikkat edin
    Uluslararası çarpışma testine uygun olarak, ilk C-IASI modelleri grubu piyasaya sürüldü ve Lynk & Co 01 ve Camry şampiyonluğu kazandı.
    Gözyaşları! Doktor ameliyat oluyor, ağır hasta bir bebekle karşı karşıya kaldı, aniden bunu almayı bıraktı ...
    İnsanlığı ne yok eder?
    Çin ve Japonya ABD'nin borcunu azaltıyor, yabancı medya tahmin et Çin'in ne kadar altını var? Rogers: İnisiyatif almak için büyük miktarda ABD borcu tutmak
    Seni seviyorum Çin! Bu sabah Tiananmen Meydanı'nda 145.000 kişi bayrağın yükselmesini izlemek için toplandı!
    To Top