SUY LUẬN sử dụng NVIDIA T4

Giới thiệu

Có hai giai đoạn chính trong học máy: Đào tạo và Suy luận. Huấn luyện mạng thần kinh liên quan đến việc thiết lập số lượng kỷ nguyên, kích thước lô, tốc độ học tập và tối ưu hóa các siêu tham số khác. Sau nhiều giờ huấn luyện mạng thần kinh, một mô hình tĩnh được tạo ra có thể triển khai ở mọi nơi. Trong giai đoạn tiếp theo, suy luận, dữ liệu trong thế giới thực được đưa vào mô hình được đào tạo để tạo dự đoán. Mục tiêu của đào tạo là xây dựng một mạng thần kinh có độ chính xác cao và mục tiêu suy luận là phát hiện/xác định nhanh chóng, tức là chú trọng đến độ trễ. Có nhiều tùy chọn có sẵn để suy luận và trong blog này, chúng tôi giới thiệu GPU NVIDIA® T4 và so sánh hiệu suất của nó với NVIDIA Pascal™ P4 thế hệ trướcGPU tập trung vào suy luận. Chúng tôi cũng so sánh với NVIDIA Volta™ V100 , đây cũng là một lựa chọn tốt cho giai đoạn đào tạo. Các thử nghiệm này được thực hiện trên máy chủ Dell EMC PowerEdge R740 .

GPU mới nhất của NVIDIA dựa trên vi kiến ​​trúc Turing™ là Tesla® T4. Thẻ này đã được thiết kế đặc biệt để đào tạo và suy luận học sâu. NVIDIA T4 là thẻ cấu hình thấp x16 PCIe Gen3. Yếu tố hình thức nhỏ giúp cài đặt dễ dàng hơn vào các máy chủ power edge. Tesla T4 hỗ trợ đầy đủ các độ chính xác cho suy luận FP32, FP16, INT8 và INT4.

SLN316556_en_US__1image001

Hình 1: Card NVIDIA T4 [Nguồn: NVIDIA website]

Bảng dưới đây so sánh khả năng hoạt động của các card GPU NVIDIA khác nhau.

 

GPU Tesla V100-PCIe Tesla T4 Tesla P4 Tesla T4 đấu với P4
Ngành kiến ​​​​trúc Volta Turing pascal
Nhân NVIDIA CUDA 5120 2560 2560 Cùng số lõi
Đồng hồ GPU 1245MHz 585MHz 885MHz
Tăng tốc đồng hồ 1380MHz 1590MHz 1531MHz
Hiệu suất chính xác đơn (FP 32) 14 TFLOPS 8.1 TFLOP 5.5 TFLOP cao hơn ~1,48 lần
Hiệu suất chính xác một nửa (FP 16) 112 TFLOPS 65 TFLOPS không áp dụng *Được giới thiệu trong T4
Phép toán số nguyên (INT 8) 224 HÀNG ĐẦU 130 HÀNG ĐẦU 22 HÀNG ĐẦU cao hơn 6,5 lần
Phép toán số nguyên (INT 4) không áp dụng 260 HÀNG ĐẦU không áp dụng *Được giới thiệu trong T4
bộ nhớ GPU 16GB 16GB 8GB gấp đôi
Băng thông bộ nhớ 900 GB/giây 320GB/giây 192GB/giây cao hơn 1,6 lần
Quyền lực 250W 70W 50W/75W

Bảng 1: So sánh các Card GPU NVIDIA

Dell EMC™ PowerEdge™ R740 là nền tảng 2U, hai ổ cắm hỗ trợ hai bộ xử lý Intel® Xeon® có thể mở rộng, các tùy chọn lưu trữ dày đặc, kết nối tốc độ cao và nhiều GPU khác nhau. PowerEdge R740 có thể hỗ trợ tối đa ba thẻ NVIDIA T4 hoặc NVIDIA P4 hoặc NVIDIA V100 PCIe trong các khe cắm x16.

 


Cấu hình thử nghiệm

Bảng sau đây mô tả cấu hình phần cứng và phần mềm được sử dụng cho nghiên cứu suy luận.

Người phục vụ Dell EMC PowerEdge R740
bộ vi xử lý CPU Intel Xeon Gold 6136 kép @ 3.00GHz, 12 lõi
Kỉ niệm 384GB @ 2667 tấn/giây
GPU NVIDIA T4 / NVIDIA P4 / NVIDIA V100
nguồn điện 1600W kép
BIOS 1.4.5
Hệ điều hành RHEEL 7.4
hạt nhân 3.10.0-693.el7.x86_64
Hồ sơ hệ thống Hiệu suất được tối ưu hóa
trình điều khiển CUDA 410.66
bộ công cụ CUDA 10,0
TenorRT 5.0.2.6
Mô hình phân loại hình ảnh AlexNet
GoogleNet
ResNet 50
VGG_19

Bảng 2: Thông tin về giường thử nghiệm

 


NVIDIA TenorRT

TensorRT là một nền tảng phần mềm dành cho suy luận học sâu, bao gồm một trình tối ưu hóa suy luận để mang lại độ trễ thấp và thông lượng cao cho các ứng dụng học sâu. Nó có thể được sử dụng để nhập các mô hình được đào tạo từ các khung học sâu khác nhau như Pytorch, TensorFlow, mxnet, v.v. TensorRT phiên bản 5 hỗ trợ GPU Turing và tại thời điểm xuất bản blog này, độ chính xác INT4 không được hỗ trợ với phiên bản TensorRT được sử dụng, v.v. hiệu suất của INT4 không được thảo luận trong blog này.

 


Hiệu suất suy luận

Hình 2 biểu thị hiệu suất suy luận của các mô hình nhận dạng hình ảnh được đào tạo trước AlexNet, GoogLeNet, ResNet và VGG trên ba GPU khác nhau, NVIDIA T4, P4 và V100. Mỗi thử nghiệm được chạy trên một GPU duy nhất của mỗi loại. Số liệu về hiệu suất là hình ảnh trên giây và đồ thị biểu thị 1000 hình ảnh trên giây. Các mô hình nhận dạng hình ảnh này được thử nghiệm bằng phần mềm TensorRT cho các phương pháp chính xác khác nhau INT8, FP16 và FP32. NVIDIA P4 không hỗ trợ độ chính xác một nửa nên các biểu đồ bên dưới không hiển thị điểm dữ liệu. Giá trị cao hơn cho thấy hiệu suất tốt hơn. Kích thước lô 128 đã được sử dụng cho các trường hợp thử nghiệm này. Do card NVIDIA T4 có bộ nhớ 16GB nên chúng tôi chọn GPU V100 với bộ nhớ 16GB để có sự so sánh công bằng về hiệu năng.

SLN316556_en_US__2image002

SLN316556_en_US__3image003

SLN316556_en_US__4image004

SLN316556_en_US__5image005

Hình 2 Hiệu suất suy luận trên các mô hình phân loại hình ảnh khác nhau

  • T4 tốt hơn ~1,4 lần – 2,8 lần so với P4 khi sử dụng độ chính xác INT8. Mặc dù số lượng lõi CUDA là tương tự nhau giữa T4 và P4, số lượng Tera hoạt động mỗi giây (TOPS) tăng lên cho độ chính xác của INT8 mang lại hiệu suất được cải thiện với T4.
  • V100 tốt hơn ~1,1 lần – 2,1 lần so với T4 khi sử dụng độ chính xác INT8. Khi chúng tôi so sánh độ chính xác của FP16 cho T4 và V100, V100 hoạt động tốt hơn ~3 – 4 lần so với T4 và sự cải thiện khác nhau tùy thuộc vào tập dữ liệu. Đây là hiệu suất mong đợi từ một thẻ T4 có một nửa số lõi CUDA và một phần ba công suất của Volta V100 khiến T4 trở thành một giải pháp hấp dẫn cho các trường hợp sử dụng trong đó việc giảm mức tiêu thụ điện năng là điều quan trọng.
  •  So sánh độ chính xác của INT8 và FP32 cho T4, tốc độ tăng ~4,6x – 9,5x được đo khi chúng tôi sử dụng độ chính xác của INT8 cho các thử nghiệm.

 


Hiệu suất suy luận đa GPU

Nhiều GPU trong một hệ thống sẽ có thể xử lý đồng thời nhiều tác vụ suy luận để cung cấp thông lượng cao bên cạnh độ trễ thấp. Do không có giao tiếp giữa các GPU khi nhiều quy trình suy luận được khởi chạy nên dự kiến ​​sẽ tăng tốc tuyến tính. Thử nghiệm này được thực hiện trên NVIDIA P40 đã được xuất bản trên một trong các blog trước đây của chúng tôi và chúng tôi hy vọng rằng hiệu suất đa suy luận của T4 cũng sẽ mở rộng quy mô tuyến tính. Các thử nghiệm suy luận đa T4 được lên kế hoạch làm công việc trong tương lai cho dự án này.

 


kiểm tra độ chính xác

Phần này so sánh độ chính xác của các phương pháp đo độ chính xác khác nhau bao gồm INT8, FP16 và FP32. Từ các thử nghiệm suy luận trong Hình 2 với TensorRT, INT8 được đo là nhanh hơn 4,5 – 9,5 lần so với FP32 trên các mô hình nhận dạng hình ảnh khác nhau. Mục tiêu là để xác thực rằng hiệu suất nhanh hơn này không phải trả giá bằng độ chính xác.

Một số mô hình được đào tạo trước đã được sử dụng trong quá trình đo điểm chuẩn của chúng tôi, bao gồm AlexNet, GoogLeNet, ResNet-50, ResNet-101. Nhị phân được sử dụng cho thử nghiệm này là một phần của TensorRT. Tất cả các mô hình đều sử dụng cùng một bộ dữ liệu xác thực chứa 50000 hình ảnh và được chia thành 2000 lô gồm 25 hình ảnh. 50 lô đầu tiên được sử dụng cho mục đích hiệu chuẩn và phần còn lại được sử dụng để đo độ chính xác.

Độ chính xác Top-1 là xác suất mà mô hình sẽ phân loại chính xác hình ảnh. Độ chính xác top-5 là xác suất mà mô hình sẽ phân loại hình ảnh vào 1 trong 5 loại có xác suất cao nhất. Bảng 3 cho thấy kết quả của các bài kiểm tra độ chính xác. Độ chính xác giảm trong phạm vi 0,5% được đo giữa INT8 và FP32 trong khi có thể đạt được cải thiện hiệu suất lên tới 9 lần khi sử dụng độ chính xác INT8.

Bảng 3 cho thấy các bài kiểm tra độ chính xác trên các mô hình phân loại hình ảnh khác nhau:

 

FP32 INT8 SỰ KHÁC BIỆT GIỮA ĐỘ CHÍNH XÁC CỦA FP32 VÀ INT8
Mạng TOP 1 TOP 5 TOP 1 TOP 5 TOP 1 TOP 5
AlexNet 56,82% 79,99% 56,76% 79,97% 0,07% 0,02%
GoogleLeNet 68,95% 89,12% 68,75% 88,99% 0,2% 0,13%
Mạng lại_101 74,33% 91,95% 74,34% 91,85% -0,02% 0,1%
Mạng lại_50 72,9% 91,14% 72,77% 91,06% 0,13% 0,08%

Bảng 3: Kiểm tra độ chính xác trên các mô hình phân loại hình ảnh khác nhau

 


Phần kết luận

Blog này giới thiệu thẻ Suy luận NVIDIA T4 và mô tả hiệu suất suy luận của các mô hình nhận dạng hình ảnh khác nhau với GPU T4, P4 và V100. Hệ số dạng PCIe nhỏ và công suất thấp của thẻ T4 giúp dễ dàng sử dụng trong các hệ thống Dell EMC PowerEdge. So sánh độ chính xác của INT8 cho T4 mới và P4 trước đó, cải thiện hiệu suất 1,5 lần -2,7 lần được đo trên T4. Các bài kiểm tra độ chính xác cho thấy sự khác biệt tối thiểu giữa FP32, FP16 và INT8, với tốc độ lên tới 9,5 lần khi sử dụng độ chính xác của INT8.