MLPerf Results Validate CPUs for Deep Learning Training

Authors

  • Vice President, Core and Visual Computing Group, and General Manager, Machine Learning and Translation - Wei Li

BUILT IN - ARTICLE INTRO SECOND COMPONENT

I have worked on optimizing and benchmarking computer performance for more than two decades, on platforms ranging from supercomputers and database servers to mobile devices. It is always fun to highlight performance results for the product you are building and compare them with others in the industry. SPEC*, LINPACK*, and TPC* have become familiar names to many of us. Now, MLPerf* is filling in the void of benchmarking for Machine Learning.

I am excited to see the Intel® Xeon® Scalable processor MLPerf results submitted by our team because we work on both the user side and the computer system development side of deep learning. These results show that Intel® Xeon® Scalable processors have surpassed a performance threshold where they can be an effective option for data scientists looking to run multiple workloads on their infrastructure without investing in dedicated hardware.1 2 3

Back in 2015, I had a team working on mobile devices. We had to hire testers to manually play mobile games. It was fun initially for the testers, then it became boring and costly. One tester we hired quit on the same day. Our team created a robot to test mobile games and adopted deep learning. Our game testing robot played games automatically and found more bugs than human testers. We wanted to train neural networks on the machines we already had in the lab, but they were not fast enough. I had to allocate budget for the team to buy a GPU, an older version than the MLPerf reference GPU.4

Today CPUs are capable of deep learning training as well as inference. Our MLPerf Intel® Xeon® Scalable processor results compare well with the MLPerf reference GPU4 on a variety of MLPerf deep learning training workloads.1 2 3 For example, the single-system two-socket Intel® Xeon® Scalable processor results submitted by Intel achieved a score of 0.85 on the MLPerf Image Classification benchmark (Resnet-50)1; 1.6 on the Recommendation benchmark (Neural Collaborative Filtering NCF)2; and 6.3 on Reinforcement Learning benchmark (mini GO).3 In all these scores, 1.0 is defined as the score of the reference implementation on the reference GPU.4 For all the preceding results, we use FP32, the common numerical precision used in today’s market. From these MLPerf results, we can see that our game testing robot could easily train on Intel® Xeon® Scalable processors today.

The deep learning and machine learning world continues to evolve from image processing using Convolutional Neural Networks (CNN) and natural language processing using Recurrent Neural Networks (RNN) to recommendation systems using MLP layers and general matrix multiply, reinforcement learning (mixing CNN and simulation) and hybrid models mixing deep learning and classical machine learning. A general purpose CPU is very adaptable to this dynamically changing environment, in addition to running existing non-DL workloads.

Enterprises have adopted CPUs for deep learning training. For example, today, Datatonic* published a blog showing up to 11x cost and 57 percent performance improvement when running a neural network recommender system used in production by a top-5 UK retailer on a Google Cloud* VM powered by Intel® Xeon® Scalable processors.5 CPUs can also accommodate the large memory models required in many domains. The pharmaceutical company Novartis used Intel® Xeon® Scalable processors to accelerate training for a multiscale convolutional neural network (M-CNN) for 10,000 high-content cellular microscopic images, which are much larger in size than the typical ImageNet* images, reducing time to train from 11 hours to 31 minutes.6

High performance computing (HPC) customers use Intel® Xeon® processors for distributed training, as showcased at Supercomputing 2018. For instance, GENCI/CINES/INRIA trained a plant classification model for 300K species on a 1.5TByte dataset of 12 million images using 128 2S Intel® Xeon® processor-based systems.7 DELL EMC* and SURFSara used Intel® Xeon® processors to reduce training time to 11 minutes for a DenseNet-121 model.8 CERN* showcased distributed training using 128 nodes of the TACC Stampede 2 cluster (Intel® Xeon® Platinum 8160 processor, Intel® OPA) with a 3D Generative Adversarial Network (3D GAN) achieving 94% scaling efficiency.9 Additional examples can be found at https://software.intel.com/en-us/articles/intel-processors-for-deep-learning-training.

CPU hardware and software performance for deep learning has increased by a few orders of magnitude in the past few years. Training that used to take days or even weeks can now be done in hours or even minutes. This level of performance improvement was achieved through a combination of hardware and software. For example, current-generation Intel® Xeon® Scalable processors added both the Intel® Advanced Vector Extensions 512 (Intel® AVX-512) instruction set (longer vector extensions) to allow a large number of operations to be done in parallel, and with a larger number of cores, essentially becoming a mini-supercomputer. The next-generation Intel® Xeon® Scalable processor adds Intel® Deep Learning Boost (Intel® DL Boost): higher throughput, lower numerical precision instructions to boost deep learning inference. On the software side, the performance difference between the baseline open source deep learning software, and the Intel-optimized software can be up to 275X10 on the same Intel® Xeon® Scalable processor (as illustrated in a demo I showed at the Intel Architecture Day forum yesterday).

Over the past few years, Intel has worked with DL framework developers to optimize many popular open source frameworks such as TensorFlow*, Caffe*, MXNet*, PyTorch*/Caffe2*, PaddlePaddle* and Chainer*, for Intel® processors. Intel has also designed a framework, BigDL for SPARK*, and the Intel® Deep Learning Deployment Toolkit (DLDT) for inference. Since the core computation is linear algebra, we have created a new math library, Intel® Math Kernel Library for Deep Neural Networks (Intel® MKL-DNN), specifically for deep learning, based on many years of experience with the Intel® Math Kernel Library (MKL) for high performance computing (HPC). The integration of Intel MKL-DNN into the frameworks, and the additional optimizations contributed to the frameworks to fully utilize the underlying hardware capabilities, are the key reason for the huge software performance improvement.

I’ve often been asked whether CPUs are faster or slower than accelerators. Of course, accelerators have certain advantages. For a specific domain, if an accelerator is not generally faster than a CPU, then it is not much of an accelerator. Even so, given the increasing variety of deep learning workloads, in some cases, a CPU may be as fast or faster while retaining that flexibility that is core to the CPU value proposition. Thus, the more pertinent question is whether CPUs can run deep learning well enough to be an effective option for customers that don’t wish to invest in accelerators. These initial MLPerf results1 2 3, as well as our customer examples, show that CPUs can indeed be effectively used for training. Intel’s strategy is to offer both general purpose CPUs and accelerators to meet the machine learning needs of a wide range of customers.

Looking forward, we are continuing to add new AI and deep learning features to our future generations of CPUs, like Intel® Deep Learning Boost (Intel® DL Boost), plus bfloat16 for training, as well as additional software optimizations. Please stay tuned. For more information on Intel® software optimizations, see ai.intel.com/framework-optimizations. For more information on Intel® Xeon® Scalable processors, see intel.com.tr/xeonscalable.

Ürün ve Performans Bilgileri

1

0,85 Skoru, 2 çipli Intel® Xeon® Platinum 8180 işlemci kullanılarak yapılan MLPerf Görüntü Sınıflandırma karşılaştırma testinde (Resnet-50) MLPerf referansına(+) referansına göre 0,85 kat sonucuna dayanır. MLPerf v0.5 training Kapalı bölümü; sistemde Intel® Optimization for Caffe* 1.1.2a ile Intel® Math Kernel Library for Deep Neural Networks (Intel® MKL-DNN) v0.16 kitaplığı kullanıldı. www.mlperf.org adresinden 12 Aralık 2018 tarihinde giriş 0.5.6.1 ile alınmıştır. MLPerf adı ve logosu ticari markalardır. Daha fazla bilgi için www.mlperf.org sayfasını ziyaret edin.

2

1,6 Skoru, 2 çipli Intel® Xeon® Platinum 8180 işlemci kullanılarak yapılan Öneri karşılaştırma testinde (Nöral İşbirlikçi Filtreleme NCF) MLPerf referansına(+) göre 1,6 kat sonucuna dayanır. MLPerf v0.5 training Kapalı bölümü; sistemde Framework BigDL 0.7.0 kullanıldı. www.mlperf.org adresinden 12 Aralık 2018 tarihinde giriş 0.5.9.6 ile alınmıştır. MLPerf adı ve logosu ticari markalardır. Daha fazla bilgi için www.mlperf.org sayfasını ziyaret edin.

3

6,3 Skoru, 2 çipli Intel® Xeon® Platinum 8180 işlemci kullanılarak yapılan Pekiştirmeli Öğrenme karşılaştırma testinde (mini GO) MLPerf referansına(+) referansına göre 6,3 kat sonucuna dayanır. MLPerf v0.5 training Kapalı bölümü; sistemde TensorFlow 1.10.1 ile Intel® Math Kernel Library for Deep Neural Networks (Intel® MKL-DNN) v0.14 kitaplığı kullanıldı. www.mlperf.org adresinden 12 Aralık 2018 tarihinde (giriş 0.5.10.7) alınmıştır. MLPerf adı ve logosu ticari markalardır. Daha fazla bilgi için www.mlperf.org sayfasını ziyaret edin.

(+) MLPerf Referans Değeri (MLPerf v0.5 Topluluk Basın Açıklamasından alınmıştır): MLPerf Training v0.5, ML sistem hızını ölçmeye yönelik bir karşılaştırma testi paketidir. Her bir MLPerf Training karşılaştırma testi, bir Veri Kümesi ve Kalite Hedefi ile tanımlanır. MLPerf Training, belirli bir modeli kullanan her karşılaştırma testi için bir referans uygulama sunar. Aşağıdaki tablo, paketin v0.5 sürümündeki yedi karşılaştırma testini özetler.

Karşılaştırma testi

Veri Kümesi

Kalite Hedefi

Referans Uygulama Modeli

Görüntü Sınıflandırma

ImageNet

%74,90 sınıflandırma

Resnet-50 v1.5

Nesne tespiti (hafif)

COCO 2017

%21,2 mAP

SSD (Resnet-34 backbone)

Nesne tespiti (ağır)

COCO 2017

0,377 Box min AP, 0,339 Mask min AP

Mask R-CNN

Çeviri (tekrarlayan)

WMT İngilizce-Almanca

21.8 BLEU

Nöral Makine Çevirisi

Çeviri (tekrarlamayan)

WMT İngilizce-Almanca

25.0 BLEU

Dönüştürücü

Öneri

MovieLens-20M

0,635 HR@10

Nöral İşbirlikçi Filtreleme

Pekiştirmeli öğrenme

Profesyonel oyunlar

%40,00 hareket tahmini

Mini Go


MLPerf eğitim kuralları: https://github.com/mlperf/training_policies/blob/master/training_rules.adoc

4

MLPerf* referans sistemi: Google Cloud Platform yapılandırması: 16 vCPU, Intel Skylake veya daha yenisi, 60 GB RAM (n1­standart­16), 1 NVIDIA* Tesla* P100 GPU, CUDA* 9.1 (TensorFlow* için 9.0), nvidia­docker2, Ubuntu* 16.04 LTS, Öncelik: kapalı, Automatic yeniden başlatma: kapalı, 30GB önyükleme diski + 1 SSD sürekli disk 500 GB, docker* görüntüsü: 9.1­cudnn7­runtime­ubuntu16.04 (TensorFlow* için 9.0­cudnn7­devel­ubuntu16.04).

6

Novartis: 25.05.2018 tarihinde ölçülmüştür. Tek bir düğüme kıyasla 8 düğüm için hızlandırmaya dayanır. Düğüm yapılandırması: CPU: Intel® Xeon® Gold 6148 işlemci @ 2,4GHz, 192GB bellek, Hyper-threading: Etkin. NIC: Intel® Omni-Path Host Fabric Interface (Intel® OP HFI), TensorFlow: v1.7.0, Horovod: 0.12.1, OpenMPI: 3.0.0. İşletim Sistemi: CentOS* 7.3, OpenMPU 23.0.0, Python 2.7.5. Eğitim Süresi modelde %99 doğruluğa yaklaşmıştır. Kaynak: https://newsroom.intel.com/news/using-deep-neural-network-acceleration-image-analysis-drug-discovery.

7

GENCI: Occigen: 3306 düğüm x 2 Intel® Xeon® işlemci (12-14 çekirdek). Bilgi İşlem Düğümleri: 2 yuvalı Intel® Xeon® işlemci, her birinde 2,70GHz hızında 12 adet olmak üzere düğüm başına toplam 24 çekirdek, çekirdek başına 2 iş parçacığı, 96 GB DDR4, Mellanox InfiniBand Fabric Interface, çift raylı. Yazılım: Intel® MPI Library 2017 Update 4 Intel® MPI Library 2019 Teknik Önizleme OFI 1.5.0PSM2, Multi-EP ile, 10 Gbit Ethernet, 200 GB yerel SSD, Red Hat* Enterprise Linux 6.7. Caffe*: Intel® Optimization for Caffe*: https://github.com/intel/caffe Intel® Machine Learning Scaling Library (Intel® MLSL): https://github.com/intel/MLSL Veri kümesi: Pl@ntNet: CINES/GENCI Şirket İçi Veri Kümesi Performansı sonuçları 15.10.2018 tarihinden itibaren yapılan testlere dayanır.

8

Intel, Dell ve Surfsara işbirliği: 17.05.2018 tarihinde 256x düğümlü 2 yuvalı Intel® Xeon® Gold 6148 işlemcide ölçülmüştür. Bilgi İşlem Düğümleri: Her birinde 2,40GHz hızda 20 çekirdek olan 2 adet Intel® Xeon® Gold 6148F işlemci ile düğüm başına toplam 40 çekirdek, çekirdek başına 2 iş parçacığı, L1d 32K; L1i önbellek 32K; L2 önbellek 1024K; L3 önbellek 33792K, 96 GB DDR4, Intel® Omni-Path Host Fabric Interface (Intel® OP HFI), çift raylı. Yazılım: Intel® MPI Library 2017 Update 4 Intel® MPI Library 2019 Teknik Önizleme OFI 1.5.0PSM2, Multi-EP ile, 10 Gbit Ethernet, 200 GB yerel SSD, Red Hat* Enterprise Linux 6,7. TensorFlow* 1.6: Şu kaynakta oluşturulmuş ve kurulmuştur: https://www.tensorflow.org/install/install_sources ResNet-50 Model: Topoloji spesifikasyonları: https://github.com/tensorflow/tpu/tree/master/models/official/resnet. DenseNet-121Model: Topoloji spesifikasyonları: https://github.com/liuzhuang13/DenseNet. Birleştirme ve Performans Modeli: https://surfdrive.surf.nl/files/index.php/s/xrEFLPvo7IDRARs. Veri Kümesi: ImageNet2012-1K: http://www.image-net.org/challenges/LSVRC/2012 /. ChexNet*: https://stanfordmlgroup.github.io/projects/chexnet/. Performans ölçüm aracı: OMP_NUM_THREADS=24 HOROVOD_FUSION_THRESHOLD=134217728 export I_MPI_FABRICS=tmi, export I_MPI_TMI_PROVIDER=psm2 \ mpirun -np 512 -ppn 2 python resnet_main.py –train_batch_size 8192 –train_steps 14075 –num_intra_threads 24 –num_inter_threads 2 — mkl=True –data_dir=/scratch/04611/valeriuc/tf-1,6/tpu_rec/train –model_dir model_batch_8k_90ep –use_tpu=False –kmp_blocktime 1. https://ai.intel.com/diagnosing-lung-disease-using-deep-learning/.

9

CERN: 17.05.2018 tarihinde Stampede2/TACC üzerinde ölçülmüştür: https://portal.tacc.utexas.edu/user-guides/stampede2. Bilgi işlem düğümleri: Her birinde 2,10GHz hızda 24 çekirdek olan 2 adet Intel® Xeon® Platinum 8160 işlemci ile düğüm başına toplam 48 çekirdek, çekirdek başına 2 iş parçacığı, L1d 32K; L1i önbellek 32K; L2 önbellek 1024K; L3 önbellek 33792K, 96 GB DDR4, Intel® Omni-Path Host Fabric Interface (Intel® OP HFI), çift raylı. Yazılım: Intel® MPI Library 2017 Update 4 Intel® MPI Library 2019 Teknik Önizleme OFI 1.5.0PSM2, Multi-EP ile, 10 Gbit Ethernet, 200 GB yerel SSD, Red Hat* Enterprise Linux 6,7. TensorFlow* 1.6: Şu kaynakta oluşturulmuş ve kurulmuştur: https://www.tensorflow.org/install/install_sources Model: https://github.com/sara-nl/3Dgan/tree/tf adresinden CERN* 3D GANS Veri kümesi: https://github.com/sara-nl/3Dgan/tree/tf adresinden CERN* 3D GANS Performans 256 Düğüm üzerinde şununla ölçülmüştür: OMP_NUM_THREADS=24 HOROVOD_FUSION_THRESHOLD=134217728 export I_MPI_FABRICS=tmi, export I_MPI_TMI_PROVIDER=psm2 \ mpirun -np 512 -ppn 2 python resnet_main.py –train_batch_size 8 \ –num_intra_threads 24 –num_inter_threads 2 –mkl=True \ –data_dir=/path/to/gans_script.py –kmp_blocktime 1. https://www.rdmag.com/article/2018/11/imagining-unthinkable-simulations-without-classical-monte-carlo.

10

Caffe* için Intel® Optimizasyonu ile BVLC-Caffe*’ye kıyasla 275 kat çıkarsama iş hacmi performans artışı: Intel tarafından 11.12.2018 tarihinde ölçülmüştür. 2S Intel® Xeon® Platinum 8180 işlemci CPU @ 2,50GHz (28 çekirdek), HT ON, turbo AÇIK, 192GB toplam bellek (12 yuva * 16 GB, Micron 2666MHz), Intel® SSD SSDSC2KF5, Ubuntu 16.04 Kernel 4.15.0-42.jenerik BIOS: SE5C620.86B.00.01.0009101920170742 (mikrokod: 0x0200004d); Topoloji: Resnet-50 Referans: FP32, BVLC Caffe* (https://github.com/BVLC/caffe.git) commit 99bd99795dcdf0b1d3086a8d67ab1782a8a08383 Mevcut Performans: INT8, Intel® Optimizations for Caffe* (https://github.com/Intel/caffe.git) commit: Caffe* commit: e94b3ff41012668ac77afea7eda89f07fa360adf, MKLDNN commit: 4e333787e0d66a1dca1218e99a891d493dbc8ef1.

Performans testlerinde kullanılan yazılımlar ve iş yükleri, yalnızca Intel mikroişlemcilerde performans sağlayacak şekilde optimize edilmiş olabilir. SYSmark* ve MobileMark* gibi performans testleri belirli bilgisayar sistemleri, bileşenler, yazılımlar, işlemler ve işlevler kullanılarak ölçülür. Bu etkenlerden herhangi birinde yapılacak bir değişiklik, sonuçların da değişmesine neden olabilir. Satın almayı düşündüğünüz ürünler hakkında tam bir değerlendirme yapabilmek için bu ürünlerin başka ürünlerle birlikte gösterdiği performans gibi başka bilgilere ve performans testlerine de başvurmanız gerekir. Daha fazla bilgi için www.intel.com.tr/benchmarks sayfasını ziyaret edin.

Optimizasyon Bildirimi: Intel'in derleyicileri, Intel mikroişlemcilere özel olmayan optimizasyonlarda, Intel dışındaki mikroişlemcilerle aynı derecede optimizasyon sağlayabilirler veya sağlamayabilirler. Bu optimizasyonlar, SSE2, SSE3 ve SSE3 yönerge setlerini ve diğer optimizasyonları kapsar. Intel, Intel tarafından üretilmeyen mikroişlemcilerde uygulanan herhangi bir optimizasyonun kullanılabilirliğini, işlevselliğini ya da verimliliğini garanti etmez. Bu üründeki mikroişlemcilere bağlı optimizasyonlar, Intel mikroişlemcilerde kullanılmak üzere tasarlanmıştır. Intel mikromimarisine özgü olmayan bazı optimizasyonlar, Intel mikroişlemciler için ayrılmıştır. Bu uyarı kapsamında yer alan özel yönerge setleri hakkında daha fazla bilgi almak için uygun ürün Kullanıcı ve Başvuru Kılavuzlarını okuyun.

Performans sonuçları, genel kullanıma açık olan tüm güvenlik güncellemelerini yansıtmayabilir. Ayrıntılar için yapılandırma bilgilerine göz atın. Hiçbir ürün mutlak güvenlik sağlamaz.

Intel, Intel logosu, Ölçeklenebilir Xeon işlemciler, Deep Learning Boost; Intel Corporation’ın veya bağlı kuruluşlarının ABD ve/veya diğer ülkelerdeki ticari markalarıdır.
*Diğer adlar ve markalar başkalarının mülkiyetinde olabilir.
© Intel Corporation.