MLPerf Karşılaştırmalı Testlerinde T4 GPU'ların Derin Öğrenme Performansı
Summary: Turing mimarisi, NVIDIA'nın Volta mimarisinden sonraki en yeni GPU mimarisidir ve yeni T4, Turing mimarisine dayanmaktadır. Bu makalede bu konu ile ilgili bilgiler verilmektedir.
Symptoms
Cause
Resolution
İçindekiler:
Özet
Turing mimarisi, NVIDIA'nın Volta mimarisinden sonraki en yeni GPU mimarisidir ve yeni T4, Turing mimarisine dayanmaktadır. Bu mimari; Yüksek Performanslı Bilgi İşlem (HPC), derin öğrenme eğitimi ile çıkarımı, makine öğrenimi, veri analizleri ve grafikler için tasarlanmıştır. Bu blog, MLPerf karşılaştırmalı test paketi kullanılarak Dell EMC PowerEdge R740 sunucusundaki T4 GPU'ların derin öğrenme eğitim performansını ölçmek üzere oluşturulmuştur. T4'teki MLPerf performansı, aynı yazılıma sahip aynı sunucudaki V100-PCIe ile de karşılaştırılacaktır.
Genel Bakış
Dell EMC PowerEdge R740, 2 soketli ve 2U raf tipi bir sunucudur. Sistemde; Intel Skylake işlemciler, 24 adede kadar DIMM ve x16 PCIe 3.0 yuvalarında 3 adede kadar çift genişlikli V100-PCIe ya da 4 adet tek genişlikli T4 GPU bulunmaktadır. T4, NVIDIA'nın en yeni Turing mimarisini kullanan GPU'dur. T4 ve V100-PCIe GPU'nun teknik özellik açısından farklılıkları Tablo 1'de listelenmiştir. Derin öğrenme eğitiminde T4'ün performansını değerlendirmek için MLPerf tercih edilmiştir. MLPerf, makine öğrenimi yazılım ve donanımlarının hızı ile performansını ölçmek için Google, Baidu, Intel, AMD, Harvard ve Stanford dahil olmak üzere akademi ve sektörden çok sayıda üyenin yer aldığı bir grup tarafından derlenen karşılaştırmalı test aracıdır. İlk kullanıma sunulan sürüm olan v0.5'te; görüntü sınıflandırma, nesne algılaması ile segmentasyonu, makine çevirisi ve pekiştirmeli öğrenme dahil olmak üzere farklı makine öğrenimi alanlarındaki model uygulamaları ele alınmaktadır. Bu değerlendirme için kullanılan MLPerf kriterlerinin özeti Tablo 2'de gösterilmektedir. Değerlendirmede Google'ın gönderdiği ResNet-50 TensorFlow uygulaması ve NVIDIA'nın gönderdiği diğer tüm model uygulamaları kullanılmıştır. Tüm karşılaştırmalı testler, bir kapsayıcı olmadan bare-metal bir sistem üzerinde çalıştırılmıştır. Tablo 3'te, değerlendirme için kullanılan donanım ve yazılım öğeleri listelenmektedir. MLPerf karşılaştırmalı testleri aracılığıyla T4 performansı V100-PCIe ile karşılaştırılacaktır.
| Tesla V100-PCIe | Tesla T4 | |
|---|---|---|
| Mimari | Volta | Turing |
| CUDA Çekirdekleri | 5120 | 2560 |
| Tensor Çekirdekleri | 640 | 320 |
| Bilgi İşlem Kapasitesi | 7,0 | 7,5 |
| GPU Saat Hızı | 1245 MHz | 585 MHz |
| Artırılmış Saat Hızı | 1380 MHz | 1590 MHz |
| Bellek Türü | HBM2 | GDDR6 |
| Bellek Boyutu | 16 GB/32 GB | 16 GB |
| Bant genişliği | 900 GB/sn | 320 GB/sn |
| Yuva Genişliği | Çift Yuva | Tek Yuva |
| Tek Duyarlıklı (FP32) | 14 TFLOPS | 8,1 TFLOPS |
| Karma Duyarlıklı (FP16/FP32) | 112 TFLOPS | 65 TFLOPS |
| Çift Duyarlıklı (FP64) | 7 TFLOPS | 254,4 GFLOPS |
| TDP | 250 W | 70 W |
Tablo 1: T4 ile V100-PCIe karşılaştırması
| Görüntü Sınıflandırması | Nesne Sınıflandırması | Nesne Örneği Segmentasyonu | Çeviri (Yinelenen) | Çeviri (Yinelenmeyen) | Öneri | |
|---|---|---|---|---|---|---|
| Veri | ImageNet | COCO | COCO | WMT E-G | WMT E-G | MovieLens-20M |
| Veri Boyutu | 144 GB | 20 GB | 20 GB | 37 GB | 1,3 GB | 306 MB |
| Model | ResNet-50 v1.5 | Tek Aşamalı Dedektör (SSD) | Mask-R-CNN | GNMT | Dönüştürücü | NCF |
| Çerçeve | TensorFlow | PyTorch | PyTorch | PyTorch | PyTorch | PyTorch |
Tablo 2: Değerlendirmede kullanılan MLF Perf kriterleri
| Platform | PowerEdge R740 |
|---|---|
| CPU | 2 adet Intel Xeon Gold 6136 (3,0 GHz) (SkyLake) |
| Bellek | 384 GB DDR4 (2666 MHz) |
| Depolama | 782 TB Lustre |
| GPU | T4, V100-PCIe |
| İşletim Sistemi ve Bellenim | |
| İşletim Sistemi | Red Hat® Enterprise Linux® 7.5 x86_64 |
| Linux Çekirdeği | 3.10.0-693.el7.x86_64 |
| BIOS | 1.6.12 |
| Derin Öğrenme ile İlgili | |
| CUDA derleyicisi ve GPU sürücüsü | CUDA 10.0.130 (410.66) |
| CUDNN | 7.4.1 |
| NCCL | 2.3.7 |
| TensorFlow | nightly-gpu-dev20190130 |
| PyTorch | 1.0.0 |
| MLPerf | V0.5 |
Tablo 3: Donanım yapılandırması ve yazılım ayrıntıları
Performans Değerlendirmesi
Şekil 1'de, PowerEdge R740 sunucusunda T4 ve V100-PCIe kullanılırken elde edilen MLPerf performans sonuçları gösterilir. MLPerf'te gerçekleştirilen altı karşılaştırmalı test dahil edilmiştir. Her bir karşılaştırmalı test için, MLPerf komitesi tarafından belirlenen hedef model doğruluğuna ulaşmak üzere uçtan uca model eğitimi gerçekleştirilmiştir. Her bir karşılaştırmalı test için eğitim süresi dakika cinsinden kaydedilmiştir. Bu sonuçlara dayanarak aşağıdaki çıkarımlara ulaşılabilir:
-
ResNet-50 v1.5, SSD ve Mask-R-CNN modelleri, GPU sayısı arttığında performans bakımından da iyi artış göstermiştir. ResNet-50 v1.5 modeli için V100-PCIe, T4'ten 3,6 kat daha hızlıdır. SSD modeli için V100-PCI, T4'ten 3,3 ila 3,4 kat daha hızlıdır. Mask-R-CNN için V100-PCIe, T4'ten 2,2 ila 2,7 kat daha hızlıdır. Aynı sayıda T4 ve V100-PCIe GPU kullanıldığında her modelde, yakınsamaya (convergence) ulaşmak için neredeyse aynı sayıda tur gerekli olmaktadır.
-
GNMT modeli söz konusu olduğunda, daha çok sayıda T4 GPU kullanıldığında süper doğrusal hızlanma gözlemlenmiştir. Tek bir T4 ile karşılaştırıldığında hızlanma, iki adet T4 kullanıldığında 3,1 kat, dört adet T4 kullanıldığında ise 10,4 kattı. Bunun nedeni, eğitim verilerinin karıştırılması ve nöral ağ ağırlıklarının başlatılması için kullanılan rastgele kaynağın model yakınsanmasını etkilemesidir. Kullanılan GPU sayısından bağımsız olarak, farklı rastgele kaynaklarla modelin yakınsanması için farklı sayıda tura ihtiyacı olabilir. Bu deneyde model; sırasıyla 1, 2, 3 ve 4 adet T4 ile yakınsanmak için 12, 7, 5 ve 4 tura ihtiyaç duydu. Diğer taraftan model; sırasıyla 1, 2 ve 3 adet V100-PCIe ile yakınsanmak için 16, 12 ve 9 tura ihtiyaç duymuştur. Aynı sayıda T4 ve V100 GPU kullanıldığında bile tur sayısı önemli ölçüde farklı olduğundan, performans doğrudan karşılaştırılamamaktadır. Üretilen iş ölçümü bu senaryoda, rasgele kaynağa bağlı olmaması nedeniyle daha adil bir karşılaştırmadır. Şekil 2'de, T4 ve V100-PCIe için üretilen iş karşılaştırması sunulmaktadır. Aynı sayıda GPU kullanıldığında V100-PCIe, T4'ten 2,5 ila 3,6 kat daha hızlıdır.
-
NCF modeli ve Dönüştürücü modeli, GNMT ile aynı soruna sahiptir. NCF modeli için veri kümesi boyutu küçüktür ve modelin yakınsanması uzun sürmez. Bu nedenle, sonucun değerinde bu sorun açıkça fark edilmez. Tek bir GPU kullanıldığında Dönüştürücü modelinde aynı sorun görülmektedir; bir T4 ile yakınsama 12 tur gerektirirken bir V100-PCIe ile yakınsama yalnızca 8 tur gerektirmiştir. İki veya daha fazla GPU kullanıldığında, kullanılan GPU sayısından veya türünden bağımsız olarak modelin yakınsaması 4 tur sürmüştür. Bu senaryolarda V100-PCIe, T4'ten 2,6 ila 2,8 kat daha hızlıdır.



Şekil 1: T4 ve V100-PCIe'de MLPerf sonuçları

Şekil 2: GNMT modeli için üretilen iş karşılaştırması
Sonuç ve Gelecekteki Çalışmalar
Bu blogda, çeşitli MLPerf karşılaştırmalı testlerini kullanarak Dell EMC PowerEdge R740 sunucusundaki T4 GPU'ların performansını değerlendirdik. T4'ün performansı, aynı sunucu ve yazılım kullanılarak V100-PCIe ile karşılaştırıldı. Genel olarak V100-PCIe, her bir karşılaştırmalı testinin özelliklerine bağlı olarak T4'ten 2,2 ila 3,6 kat daha hızlıdır. Bazı modellerin kullanılan rastgele kaynak değerlerinden bağımsız olarak kararlı olduğunu ancak GNMT, NCF ve Dönüştürücü gibi diğer modellerin rastgele kaynaktan önemli ölçümde etkilendiğini gözlemledik. Gelecekteki çalışmalarda, kararsız modellerin daha az tur sayısıyla yakınsamaya ulaşmasını sağlamak için hiper parametrelerde ince ayar yapacağız. Ayrıca, bu modellerin PowerEdge sunucularındaki ölçeklenebilirliğini değerlendirmek için MLPerf'i daha fazla GPU'da ve daha fazla düğümde çalıştıracağız.
*Sorumluluk reddi: Karşılaştırmalı testi gerçekleştirmek amacıyla, Dell EMC PowerEdge R740'ta dört adet T4 GPU değerlendirilmiştir. Şu anda PowerEdge R740, x16 PCIe yuvalarında resmi olarak en fazla üç adet T4 desteklemektedir.