Điểm benchmark hiệu năng deep learning của RTX 2080 Ti trên TensorFlow

Trong blog này, chúng tôi đã kiểm tra điểm chuẩn GPU NVIDIA GeForce RTX 2080 Ti trên khung học sâu của TensorFlow . Kết quả của chúng tôi cho thấy RTX 2080 Ti cung cấp giá trị đáng kinh ngạc cho giá cả. Chúng tôi đã chạy thử nghiệm trên một trong những máy trạm học sâu của chúng tôi (xem thông số kỹ thuật hệ thống bên dưới), với nhiều cấu hình GPU (1,2,4). Với mức giá khởi điểm, kết quả của Turing RTX 2080 Ti thực sự đáng chú ý cho việc đào tạo học tập sâu. Điều này được thể hiện rõ hơn khi so sánh hiệu suất với Volta Powered TITAN V ( xem blog của chúng tôi ở đây ), trong đó hiệu suất gần như ngang bằng.

Benchmark Snapshot: Nasnet, VGG16, Inception V3, ResNET-50

Phương pháp đo

Cấu hình được sử dụng cho TensorFlow không thay đổi từ đầu đến cuối ngoại trừ số lượng GPU được sử dụng trong một lần chạy chuẩn cụ thể.

Giải pháp hạ tầng Deep Learning, Trí tuệ Nhân tạo - AI

Ghi chú: Chức năng giữ lại hình ảnh trong TensorFlow đã được sử dụng để nhập dữ liệu thực (hình ảnh) vào mô hình Nasnet, chứa dữ liệu thực bao gồm hình ảnh jpeg của hoa từ bộ dữ liệu của hình ảnh. Các mô hình khác Resnet50, VGG16, InceptionV3, đã sử dụng dữ liệu tổng hợp, được đo bằng cách sử dụng dữ liệu mà không có bất kỳ sửa đổi nào được thực hiện trong suốt chu kỳ thử nghiệm. Các thử nghiệm đã chạy bằng cách sử dụng gói python-pip trong thời gian chạy Anaconda theo quy định trong tài liệu cài đặt TensorFlow.

Các tập lệnh chuẩn đã được tải xuống từ github chính thức của TensorFlow, cùng với các mô hình được xây dựng trước. Trong mỗi trường hợp, các biến duy nhất thay đổi từ chạy sang chạy là:  num_gpus  và mô hình . Tất cả các thông số khác không thay đổi trong suốt thời gian của các thí nghiệm này. Kích thước hàng loạt được sử dụng là 64 cho tất cả đào tạo, chạy ở mặc định, độ chính xác đơn (fp32).

Thông số kỹ thuật hệ thống máy trạm RTX 2080 Ti

CPU  2 x Intel Xeon Gold 6148 2.4GHz CPU
RAM 192GB DDR4-2666
SSD 500 GB SSD
GPU 1, 2, 4x NVIDIA GeForce RTX 2080 Ti (blower model)
OS Ubuntu Server 16.04
DRIVER NVIDIA version 396.44
CUDA CUDA Toolkit 9.2
Python v 2.7, pip v8, Anaconda
TensorFlow 1.12

NVIDIA GeForce RTX 2080 Ti Deep Learning Benchmark trên TensorFlow: cấu hình 1, 2 và 4 GPU

Nasnet Images/Sec (Real Data)

ResNet-50 Images/Sec (Synthetic Data)

Inception V3 Images/Sec (Synthetic Data)

VGG16 Images/Sec (Synthetic Data)

Các lệnh Nasnet Benchmark & Output trên TensorFlow

Bên dưới các lệnh cụ thể để chạy từng kịch bản được ghi lại trên kết quả điểm chuẩn. Để thay đổi các mô hình mạng thần kinh, chỉ cần thay đổi  mô hình  lá cờ tức là  mô hình = resnet50 để đào tạo các mô hình Resnet50 với tất cả các biến khác như vậy.

Nasnet 1 GPU

python tf_cnn_benchmarks.py --data_format=NCHW --batch_size=64 --model=nasnet --optimizer=momentum -- variable_update=replicated --nodistortions --gradient_repacking=8 --num_gpus=1 --num_epochs=90 --weight_decay=1e-4 --data_dir=/data --train_dir=/data/scratch --data_name=imagenet

Step Img/sec total_loss
1 images/sec: 156.8 +/- 0 (jitter = 0.0) 7.496
10 images/sec: 156.7 +/- 0.5 (jitter = 2.5) 7.345
20 images/sec: 156.5 +/- 0.4 (jitter = 1.9) 7.52
30 images/sec: 156 +/- 0.3 (jitter = 2.0) 7.41
40 images/sec: 156.6 +/- 0.3 (jitter = 2.1) 7.473
50 images/sec: 156.5 +/- 0.3 (jitter = 2.1) 7.504
60 images/sec: 156.2 +/- 0.3 (jitter = 2.0) 7.509
70 images/sec: 156.4 +/- 0.3 (jitter = 2.1) 7.54
80 images/sec: 156.3 +/- 0.2 (jitter = 2.0) 7.332
90 images/sec: 156.3 +/- 0.2 (jitter = 1.9) 7.583
100 images/sec: 156.3 +/- 0.2 (jitter = 2.1) 7.43
—————————————————————-
total images/sec: 156.2
—————————————————————-

Nasnet 2 GPU

python tf_cnn_benchmarks.py --data_format=NCHW --batch_size=64 --model=nasnet --optimizer=momentum -- variable_update=replicated --nodistortions --gradient_repacking=8 --num_gpus=2 --num_epochs=90 --weight_decay=1e-4 --data_dir=/data --train_dir=/data/scratch --data_name=imagenet

Step Img/sec total_loss
1 images/sec: 285.8 +/- 0 (jitter = 0.0) 7.482
10 images/sec: 288.2 +/- 1.4 (jitter = 4.6) 7.537
20 images/sec: 281.7 +/- 2.5 (jitter = 7.7) 7.488
30 images/sec: 282.1 +/- 1.7 (jitter = 6.7) 7.508
40 images/sec: 282.3 +/- 1.4 (jitter = 7.7) 7.367
50 images/sec: 281.1 +/- 1.2 (jitter = 8.5) 7.498
60 images/sec: 281.4 +/- 1.1 (jitter = 8.4) 7.465
70 images/sec: 280.5 +/- 1.1 (jitter = 8.6) 7.387
80 images/sec: 280.3 +/- 1 (jitter = 9.0) 7.433
90 images/sec: 279.8 +/- 0.9 (jitter = 8.5) 7.442
100 images/sec: 279.9 +/- 0.8 (jitter = 8.0) 7.353
—————————————————————-
total images/sec: 279.85
—————————————————————-

Nasnet 4 GPU

python tf_cnn_benchmarks.py --data_format=NCHW --batch_size=64 --model=nasnet --optimizer=momentum -- variable_update=replicated --nodistortions --gradient_repacking=8 --num_gpus=4 --num_epochs=90 --weight_decay=1e-4 --data_dir=/data --train_dir=/data/scratch --data_name=imagenet

Step Img/sec total_loss
1 images/sec: 507.3 +/- 0 (jitter = 0.0) 7.549
10 images/sec: 475.4 +/- 7.1 (jitter = 29.7) 7.487
20 images/sec: 467.7 +/- 7 (jitter = 16.8) 7.525
30 images/sec: 470.8 +/- 4.9 (jitter = 11.8) 7.459
40 images/sec: 473 +/- 4.1 (jitter = 18.5) 7.419
50 images/sec: 474.6 +/- 3.4 (jitter = 18.4) 7.458
60 images/sec: 477.1 +/- 3 (jitter = 17.1) 7.481
70 images/sec: 476.7 +/- 3.1 (jitter = 18.0) 7.454
80 images/sec: 477.3 +/- 2.8 (jitter = 15.7) 7.499
90 images/sec: 477.9 +/- 2.5 (jitter = 15.4) 7.411
100 images/sec: 478.8 +/- 2.3 (jitter = 15.6) 7.485
—————————————————————-
total images/sec: 478.68
—————————————————————-

Liên hệ tác giả