MLPerf Results Validate CPUs for Deep Learning Training

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.vn/xeonscalable.

Thông tin Sản phẩm và Hiệu năng

1

Điểm số 0,85 khi thực hiện đánh giá điểm chuẩn Phân loại hình ảnh MLPerf (Resnet-50), gấp 0,85 lần so với cấu hình cơ sở MLPerf(+) sử dụng bộ xử lý Intel® Xeon® Platinum 8180 với 2 chip. MLPerf v0.5 Training bộ phận đóng; hệ thống đã sử dụng công nghệ tối ưu Intel® Optimization cho Caffe* 1.1.2a với thư viện Intel® Math Kernel Library for Deep Neural Networks (Intel® MKL-DNN) v0.16. Thông tin truy xuất từ www.mlperf.org 12/12/2018, mục 0.5.6.1. Tên và biểu trưng MLPerf là thương hiệu. Truy cập www.mlperf.org để biết thêm thông tin.

2

Điểm số 1,6 khi thực hiện đánh giá điểm chuẩn Đề xuất (Lọc cộng tác dùng trí tuệ nhân tạo NCK), gấp 1,6 lần so với cấu hình cơ sở MLPerf(+) sử dụng bộ xử lý Intel® Xeon® Platinum 8180 với 2 chip. MLPerf v0.5 Training bộ phận đóng; hệ thống sử dụng khung BigDL 0.7.0. Thông tin truy xuất từ www.mlperf.org 12/12/2018, mục 0.5.9.6. Tên và biểu trưng MLPerf là thương hiệu. Truy cập www.mlperf.org để biết thêm thông tin.

3

Điểm số 6,3 khi thực hiện đánh giá điểm chuẩn Học tăng cường (mini GO), gấp 6,3 lần so với cấu hình cơ sở MLPerf(+) sử dụng bộ xử lý Intel® Xeon® Platinum 8180 có 2 chip. MLPerf v0.5 Training bộ phận đóng; hệ thống đã sử dụng TensorFlow 1.10.1 với thư viện Intel® Math Kernel Library for Deep Neural Networks (Intel® MKL-DNN) v0.14. Thông tin truy xuất từ www.mlperf.org 12/12/2018, mục 0.5.10.7. Tên và biểu trưng MLPerf là thương hiệu. Truy cập www.mlperf.org để biết thêm thông tin.

(+) Cấu hình cơ sở MLPerf (được áp dụng từ MLPerf v0.5 Community Press Briefing): MLPerf Training v0.5 là bộ điểm chuẩn để đo tốc độ hệ thống ML. Mỗi điểm chuẩn MLPerf Training được xác định theo Bộ dữ liệu và Mục tiêu chất lượng. MLPerf Training cũng cung cấp thông tin tham chiếu bổ sung cho từng điểm chuẩn sử dụng mô hình cụ thể. Bảng sau đây tóm tắt bảy điểm chuẩn ở phiên bản v0.5 của bộ này.

Điểm chuẩn

Bộ dữ liệu

Mục tiêu chất lượng

Mô tham chiếu bổ sung

Phân loại hình ảnh

ImageNet

Phân loại 74,90%

Resnet-50 v1.5

Nhận diện vật thể (nhẹ)

COCO 2017

mAP 21,2%

Ổ cứng thể rắn (nền tảng chính Resnet-34)

Nhận diện vật thể (nặng)

COCO 2017

0.377 Box min AP, 0.339 Mask min AP

Mask R-CNN

Dịch (hồi quy)

WMT tiếng Anh-tiếng Đức

21.8 BLEU

Dịch máy dùng trí tuệ nhân tạo

Dịch (không hồi quy)

WMT tiếng Anh-tiếng Đức

25.0 BLEU

Bộ chuyển đổi

Đề xuất

MovieLens-20M

0,635 giờ@10

Lọc cộng tác dùng trí tuệ nhân tạo

Học tăng cường

Game chuyên nghiệp

Dự đoán chuyển động 40,00%

Mini Go


Quy tắc đào tạo MLPerf: https://github.com/mlperf/training_policies/blob/master/training_rules.adoc

4

Hệ thống tham chiếu MLPerf*: Cấu hình nền tảng Google Cloud: 16 vCPUs, Intel Skylake trở lên, RAM 60 GB (n1­standard­16), 1 GPU NVIDIA* Tesla* P100, CUDA* 9.1 (9.0 cho TensorFlow*), nvidiadocker2, Ubuntu* 16.04 LTS, Pre­emtibility: tắt, Tự động khởi động lại: tắt, ổ đĩa khởi động 30GB + 1 ổ đĩa SSD không đổi 500 GB, docker* hình ảnh: 9.1­cudnn7­runtime­ubuntu16.04 (9.0­cudnn7­devel­ubuntu16.04 cho TensorFlow*).

6

Novartis: đo lường vào 25/05/2018. Dựa trên việc tăng tốc cho 8 nút so với một nút. Cấu hình nút: CPU: Bộ xử lý Intel® Xeon® Gold 6148 @ 2,4 GHz, bộ nhớ 192GB, Siêu phân luồng: Bật. NIC: Intel® Omni-Path Host Fabric Interface (Intel® OP HFI), TensorFlow: v1.7.0, Horovod: 0.12.1, OpenMPI: 3.0.0. HĐH: CentOS* 7.3, OpenMPU 23.0.0, Python 2.7.5. Thời gian đào tạo để hội tụ chính xác đến 99% trong mô hình. Nguồn: https://newsroom.intel.com/news/using-deep-neural-network-acceleration-image-analysis-drug-discovery.

7

GENCI: Occigen: 3306 nút x 2 bộ xử lý Intel® Xeon® (12-14 lõi). Các nút điện toán: Bộ xử lý Intel® Xeon® 2 khe cắm với 12 lõi, mỗi lõi @ 2,70GHz cho tổng cộng 24 lõi mỗi nút, 2 luồng mỗi lõi, DDR4 96 GB, giao diện kiến trúc Mellanox InfiniBand, tuyến kép. Phần mềm: Thư viện Intel® MPI Library 2017 Bản cập nhật 4 Thư viện Intel® MPI Library 2019 Xem trước kỹ thuật OFI 1.5.0PSM2 w/ Multi-EP, 10 GbitEthernet, SSD cục bộ 200 GB, Red Hat* Enterprise Linux 6.7. Caffe*: Công nghệ tối ưu Intel® Optimization cho Caffe*: https://github.com/intel/caffe Thư viện nâng cấp học máy Intel® Machine Learning Scaling Library (Intel® MLSL): https://github.com/intel/MLSL Bộ dữ liệu: Pl@ntNet: CINES/GENCI Kết quả hiệu năng bộ dữ liệu nội bộ dựa trên thử nghiệm kể từ ngày 15/10/2018.

8

Hợp tác giữa Intel, Dell và Surfsara: Đo vào ngày 17/05/2018 trên 256x nút của bộ xử lý Intel® Xeon® Gold 6148 với 2 khe cắm. Các nút điện toán: Bộ xử lý Intel® Xeon® Gold 6148F 2 khe cắm với 20 lõi, mỗi lõi @ 2,40GHz cho tổng cộng 40 lõi mỗi nút, 2 luồng mỗi lõi, L1d 32K; bộ nhớ cache L1i 32K; bộ nhớ cache L2 1024K; bộ nhớ cache L3 33792K, DDR4 96 GB, Intel® Omni-Path Host Fabric Interface (Intel® OP HFI), tuyến kép. Phần mềm: Thư viện Intel® MPI 2017 Bản cập nhật 4 Thư viện Intel® MPI 2019 Xem trước kỹ thuật OFI 1.5.0PSM2 w/ Multi-EP, 10 Gbit Ethernet, SSD cục bộ 200 GB, Red Hat* Enterprise Linux 6.7. TensorFlow* 1.6: xây dựng & cài đặt từ nguồn: https://www.tensorflow.org/install/install_sources ResNet-50 Model: Thông số kỹ thuật của cấu trúc liên kết từ https://github.com/tensorflow/tpu/tree/master/models/official/resnet. DenseNet-121Model: Thông số kỹ thuật của cấu trúc liên kết từ https://github.com/liuzhuang13/DenseNet. Mẫu kết hợp & hiệu năng: https://surfdrive.surf.nl/files/index.php/s/xrEFLPvo7IDRARs. Bộ dữ liệu: ImageNet2012-1K: http://www.image-net.org/challenges/LSVRC/2012 /. ChexNet*: https://stanfordmlgroup.github.io/projects/chexnet/. Hiệu năng được đo với: 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: Đo vào ngày 17/05/2018 trên Stampede2/TACC: https://portal.tacc.utexas.edu/user-guides/stampede2. Các nút điện toán: Bộ xử lý Intel® Xeon® Platinum 8160 2 khe cắm với 24 lõi, mỗi lõi @ 2,10GHz cho tổng cộng 48 lõi mỗi nút, 2 luồng mỗi lõi, L1d 32K; bộ nhớ cache L1i 32K; bộ nhớ cache L2 1024K; bộ nhớ cache L3 33792K, DDR4 96 GB, Intel® Omni-Path Host Fabric Interface (Intel® OP HFI), tuyến kép. Phần mềm: Thư viện Intel® MPI 2017 Bản cập nhật 4 Thư viện Intel® MPI 2019 Xem trước kỹ thuật OFI 1.5.0PSM2 w/ Multi-EP, 10 Gbit Ethernet, SSD cục bộ 200 GB, Red Hat* Enterprise Linux 6.7. TensorFlow* 1.6: xây dựng & cài đặt từ nguồn: https://www.tensorflow.org/install/install_sources Model: CERN* 3D GANS từ https://github.com/sara-nl/3Dgan/tree/tf Bộ dữ liệu: CERN* 3D GANS từ https://github.com/sara-nl/3Dgan/tree/tf Hiệu năng đo trên 256 nút Hiệu năng đo trên 256 nút với: 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

Cải thiện hiệu năng thông lượng suy luận gấp 275 lần với Công nghệ tối ưu Intel® Optimization cho Caffe* so với BVLC-Caffe*: Do Intel đo lường vào ngày 11/12/2018. CPU bộ xử lý 2S Intel® Xeon® Platinum 8180 @ 2,50GHz (28 lõi), Bật HT, Bật Turbo, tổng dung lượng bộ nhớ: 192GB (12 khe * 16 GB, Micron 2666MHz), SSD: Intel® SSDSC2KF5, Ubuntu 16,04 Kernel 4.15.0-42.generic; BIOS: SE5C620.86B.00.01.0009.101920170742 (microcode: 0x0200004d); Cấu trúc liên kết: cơ sở Resnet-50: FP32, BVLC Caffe* (https://github.com/BVLC/caffe.git) cam kết 99bd99795dcdf0b1d3086a8d67ab1782a8a08383 Hiệu năng hiện tại: INT8, Intel® Optimization cho Caffe* (https://github.com/Intel/caffe.git) cam kết: Caffe* cam kết: e94b3ff41012668ac77afea7eda89f07fa360adf, MKLDNN cam kết: 4e333787e0d66a1dca1218e99a891d493dbc8ef1.

Phần mềm và khối lượng công việc dùng trong các bài kiểm tra hiệu năng có thể đã được tối ưu hóa để hoạt động trên bộ vi xử lý Intel mà thôi. Các bài kiểm tra hiệu năng như SYSmark* và MobileMark* được đo bằng các hệ thống máy tính, linh kiện, phần mềm, thao tác và chức năng cụ thể. Bất kỳ thay đổi nào của các yếu tố này cũng có thể làm thay đổi kết quả. Bạn nên tham khảo các thông tin và bài kiểm tra hiệu năng khác để có thể đánh giá một cách đầy đủ về sản phẩm mình định mua, kể cả hiệu năng của sản phẩm đó khi kết hợp với các sản phẩm khác. Để biết thêm thông tin, hãy truy cập www.intel.vn/benchmarks.

Thông báo tối ưu hóa: Trình biên dịch của Intel có thể tối ưu hóa hoặc không tối ưu hóa ở cùng cấp độ cho các bộ vi xử lý không phải của Intel đối với những tối ưu hóa không dành riêng cho các bộ vi xử lý Intel. Tối ưu hóa này bao gồm các tập hợp câu lệnh SSE2, SSE3 và SSSE3 cũng như các tối ưu hóa khác. Intel không bảo đảm tính sẵn có, các chức năng hoặc sự hiệu quả của bất kỳ tối ưu hóa nào trên các bộ vi xử lý không do Intel sản xuất. Những tối ưu hóa phụ thuộc bộ vi xử lý trong sản phẩm này nhằm mục đích sử dụng với các bộ vi xử lý Intel. Một số tối ưu hóa nhất định không cụ thể cho vi kiến trúc của Intel được dành riêng cho các vi xử lý của Intel. Vui lòng tham khảo Hướng dẫn Người dùng và Hướng dẫn Tham khảo để biết thêm thông tin về các tập hợp câu lệnh cụ thể nằm trong thông báo này.

Kết quả hiệu năng có thể không phản ánh tất cả các bản cập nhật bảo mật hiện đã công bố. Xem thông báo về cấu hình để biết chi tiết. Không sản phẩm nào có thể bảo mật tuyệt đối.

Intel, biểu trưng Intel, bộ xử lý Xeon Có Thể Nâng Cấp, Tăng cường học sâu là thương hiệu của Intel Corporation hoặc các chi nhánh của Intel tại Hoa Kỳ và/hoặc các quốc gia khác.
*Các tên và thương hiệu khác là tài sản của các chủ sở hữu khác.
© Intel Corporation.