MLPerf 벤치마크를 통한 T4 GPU의 딥 러닝 성능(영문)
Summary: Turing 아키텍처는 Volta 아키텍처 이후 NVIDIA의 최신 GPU 아키텍처이며 새로운 T4는 Turing 아키텍처를 기반으로 한다는 내용을 설명합니다.
Symptoms
Cause
Resolution
목차:
개요
Turing 아키텍처는 Volta 아키텍처 이후 NVIDIA의 최신 GPU 아키텍처이며 새로운 T4는 Turing 아키텍처를 기반으로 합니다. HPC(High Performance Computing), 딥 러닝 교육 및 추론, 머신 러닝, 데이터 분석, 그래픽을 위해 설계되었습니다. 이 블로그에서는 MLPerf 벤치마크 제품군을 사용하는 Dell EMC PowerEdge R740 서버에서 T4 GPU의 딥 러닝 교육 성능을 수량화할 것입니다. T4의 MLPerf 성능은 동일한 소프트웨어가 설치된 동일한 서버의 V100-PCIe와 비교될 것입니다.
개요
Dell EMC PowerEdge R740은 2소켓, 2U 랙 서버입니다. 이 시스템에는 인텔 Skylake 프로세서, 최대 24개의 DIMM, 최대 3개의 이중 너비 V100-PCIe 또는 4개의 단일 너비 T4 GPU가 x16 PCIe 3.0 슬롯에 장착되어 있습니다. T4는 NVIDIA의 최신 Turing 아키텍처를 사용하는 GPU입니다. T4와 V100-PCIe GPU의 사양 차이는 표 1에 나와 있습니다. MLPerf는 딥 러닝 교육에서 T4의 성능을 평가하기 위해 선택되었습니다. MLPerf는 Google, Baidu, 인텔, AMD, 하버드, 스탠포드 등 학계와 업계의 다양한 그룹이 머신 러닝 소프트웨어 및 하드웨어의 속도와 성능을 측정하기 위해 개발한 벤치마킹 툴입니다. 최초 릴리스된 버전은 v0.5이며 이미지 분류, 개체 탐지 및 분할, 기계 번역, 강화 학습 등 다양한 머신 러닝 영역의 모델 구현을 다룹니다. 이 평가에 사용된 MLPerf 벤치마크 요약은 표 2에 나와 있습니다. Google의 제출에서 ResNet-50 TensorFlow 구현이 사용되었으며 NVIDIA의 제출에서 다른 모든 모델의 구현이 사용되었습니다. 모든 벤치마크는 컨테이너 없이 베어 메탈에서 실행되었습니다. 표 3에는 평가에 사용되는 하드웨어 및 소프트웨어가 나와 있습니다. MLPerf 벤치마크를 사용한 T4 성능은 V100-PCIe와 비교될 것입니다.
| Tesla V100-PCIe | Tesla T4 | |
|---|---|---|
| 아키텍처 | Volta | Turing |
| CUDA 코어 | 5120 | 2560 |
| Tensor 코어 | 640 | 320 |
| 컴퓨팅 기능 | 7.0 | 7.5 |
| GPU 클럭 | 1245MHz | 585MHz |
| 부스트 클럭 | 1380MHz | 1590MHz |
| 메모리 종류 | HBM2 | GDDR6 |
| 메모리 크기 | 16GB/32GB | 16GB |
| 대역폭 | 900GB/s | 320GB/s |
| 슬롯 너비 | 이중 슬롯 | 단일 슬롯 |
| 단일 Precision(FP32) | 14TFLOPS | 8.1TFLOPS |
| 혼합 Precision(FP16/FP32) | 112TFLOPS | 65TFLOPS |
| 듀얼 Precision(FP64) | 7TFLOPS | 254.4GFLOPS |
| TDP | 250W | 70 W |
표 1: T4와 V100-PCIe의 비교
| 이미지 분류 | 개체 분류 | 개체 인스턴스 분할 | 번역(반복) | 번역(비반복) | 권장 사항 | |
|---|---|---|---|---|---|---|
| 데이터 | ImageNet | COCO | COCO | WMT E-G | WMT E-G | MovieLens-20M |
| 데이터 크기 | 144GB | 20GB | 20GB | 37GB | 1.3GB | 306MB |
| 모델 | ResNet-50 v1.5 | SSD(Single-Stage Detector) | Mask-R-CNN | GNMT | Transformer | NCF |
| 프레임워크 | TensorFlow | PyTorch | PyTorch | PyTorch | PyTorch | PyTorch |
표 2: 평가에 사용된 MLF Perf 벤치마크
| 플랫폼 | PowerEdge R740 |
|---|---|
| CPU | 인텔 제온 Gold 6136 3.0GHz 2개(SkyLake) |
| 메모리 | 384GB DDR4 @ 2666MHz |
| 스토리지 | 782TB Lustre |
| GPU | T4, V100-PCIe |
| OS 및 펌웨어 | |
| 운영 체제 | Red Hat® Enterprise Linux® 7.5 x86_64 |
| Linux Kernal | 3.10.0-693.el7.x86_64 |
| BIOS | 1.6.12 |
| 딥 러닝 관련 | |
| CUDA 컴파일러 및 GPU 드라이버 | 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 |
표 3: 하드웨어 구성 및 소프트웨어 세부 정보
성능 평가
그림 1은 PowerEdge R740 서버에서 T4 및 V100-PCIe에 대한 MLPerf 성능 결과를 보여 줍니다. MLPerf의 6가지 벤치마크가 포함되어 있습니다. 각 벤치마크에 대해 MLPerf 위원회에서 정의한 타겟 모델 정확도에 도달하기 위해 전체 모델 교육이 수행되었습니다. 각 벤치마크에 대한 교육 시간(분)이 기록되었습니다. 이러한 결과를 바탕으로 다음과 같은 결론을 내릴 수 있습니다.
-
ResNet-50 v1.5, SSD 및 Mask-R-CNN 모델은 GPU의 수가 증가함에 따라 잘 확장됩니다. ResNet-50 v1.5의 경우 V100-PCIe가 T4보다 3.6배 더 빠릅니다. SSD의 경우 V100-PCI가 T4보다 3.3배~3.4배 더 빠릅니다. Mask-R-CNN의 경우 V100-PCIe가 T4보다 2.2~2.7배 더 빠릅니다. 동일한 수의 GPU를 사용하는 경우 각 모델은 T4와 V100-PCIe에 대해 거의 동일한 수의 에포크를 사용하여 통합합니다.
-
GNMT 모델의 경우 더 많은 T4 GPU를 사용할 때 슈퍼 리니어 속도 향상이 관찰되었습니다. 단일 T4에 비해 T4가 2개인 경우 3.1배, T4가 4개인 경우 10.4배 속도가 더 빠릅니다. 이는 모델 통합이 데이터 셔플링과 신경망 가중치 초기화를 교육하는 데 사용되는 임의 시드의 영향을 받기 때문입니다. 사용되는 GPU 수에 관계없이 그리고 임의 시드가 서로 다르더라도 이 모델은 통합하기 위해 서로 다른 수의 에포크가 필요할 수 있습니다. 이 실험에서 모델은 각각 1, 2, 3, 4개의 T4와 통합하는 데 12, 7, 5, 4개의 에포크가 사용되었습니다. 모델은 각각 1, 2, 3개의 V100-PCIe와 통합하는 데 16, 12, 9개의 에포크가 사용되었습니다. 동일한 수의 T4 및 V100 GPU를 사용하는 경우에도 에포크 수가 크게 다르기 때문에 성능을 직접 비교할 수는 없습니다. 이 시나리오에서 처리량 메트릭은 임의 시드에 종속되지 않으므로 적절한 비교입니다. 그림 2는 T4와 V100-PCIe의 처리량을 비교하여 보여 줍니다. 동일한 수의 GPU를 사용하는 V100-PCIe는 T4보다 2.5배~3.6배 더 빠릅니다.
-
NCF 모델 및 Transformer 모델은 GNMT와 동일한 이슈가 있습니다. NCF 모델의 경우 데이터 세트 크기가 작고 모델이 통합하는 데 오래 걸리지 않습니다. 따라서 이 이슈는 결과 수치로 확실하게 알 수 없습니다. 이 Transformer 모델은 하나의 GPU를 사용할 때 동일한 이슈를 가지고 있습니다. 이 모델은 하나의 T4와 통합하는 데 12개의 에포크를 사용했지만 하나의 V100-PCIe와 통합하는 데 8개의 에포크만 사용했기 때문입니다. 둘 이상의 GPU를 사용하는 경우 모델은 사용되는 GPU나 사용되는 GPU 유형에 관계없이 4개의 GPU를 사용하여 통합했습니다. 이러한 경우 V100-PCIe는 T4보다 2.6~2.8배 더 빠릅니다.



그림 1: T4 및 V100-PCIe에 대한 MLPerf 결과

그림 2: GNMT 모델의 처리량 비교
결론 및 향후 작업
이 블로그에서는 다양한 MLPerf 벤치마크를 사용하여 Dell EMC PowerEdge R740 서버에서 T4 GPU의 성능을 평가했습니다. T4의 성능은 동일한 서버와 소프트웨어를 사용하는 V100-PCIe와 비교되었습니다. 전체적으로 V100-PCIe는 각 벤치마크의 특성에 따라 T4보다 2.5배~3.6배 더 빠릅니다. 한 가지 확인된 사항은 일부 모델은 어떤 임의 시드 값을 사용하더라도 안정적이지만 GNMT, NCF 및 Transformer를 포함한 다른 모델은 임의 시드의 영향을 많이 받는다는 것입니다. 향후 작업에서는 불안전한 모델이 더 적은 에포크를 사용하여 통합하도록 하이퍼 매개변수를 미세 조정할 것입니다. 또한 더 많은 GPU와 더 많은 노드에서 MLPerf를 실행하여 PowerEdge 서버에서 해당 모델의 확장성을 평가할 것입니다.
*고지 사항: 벤치마킹을 목적으로 Dell EMC PowerEdge R740의 T4 GPU 4개를 평가했습니다. 현재 PowerEdge R740은 x16 PCIe 슬롯에서 최대 3개의 T4를 공식 지원합니다.