현재 가장 주목받는 컴퓨팅 애플리케이션은 복잡한 AI 모델을 학습하고 추론을 실행하는 데 의존하고 있으며, 종종 까다로운 실시간 배포 시나리오에서 사용됩니다. 이러한 애플리케이션의 요구 사항을 충족하고 최상의 사용자 경험을 제공하려면 고성능의 가속화된 AI 플랫폼이 필요합니다.
새로운 기능을 구현하기 위해 새로운 AI 모델이 끊임없이 개발되고 있으며, AI 기반 애플리케이션은 종종 이러한 여러 모델이 함께 작동하는 데 의존합니다. 즉, AI 플랫폼은 가장 광범위한 워크로드를 실행할 수 있어야 하며 모든 워크로드에서 뛰어난 성능을 제공해야 합니다. 현재 v3.0으로 7번째 버전이 출시된 MLPerf Inference는 신뢰할 수 있는 동료 검토를 거친 표준화된 추론 성능 테스트 제품군으로, 이러한 많은 AI 모델을 대표합니다.
AI 애플리케이션은 대규모 하이퍼스케일 데이터센터부터 소형 엣지 디바이스에 이르기까지 모든 곳에서 실행됩니다. MLPerf 추론은 데이터센터와 엣지 환경을 모두 대표합니다. 또한 오프라인(배치) 처리, 지연 시간이 제한된 서버, 단일 스트림 및 다중 스트림 시나리오와 같은 다양한 실제 시나리오를 나타냅니다. 이처럼 워크로드의 폭과 깊이가 균형을 이루고 있기 때문에 MLPerf 추론은 다양한 배포의 요구 사항을 가장 잘 충족하는 AI 인프라를 선택하려는 사람들에게 유용한 리소스가 될 수 있습니다.
NVIDIA는 MLPerf 추론 v3.0 라운드에서 NVIDIA Hopper 아키텍처 기반의 NVIDIA H100 Tensor 코어 GPU(SXM 및 PCIe 애드인카드 폼팩터 모두), 최근 발표된 NVIDIA Ada Lovelace GPU 아키텍처 기반의 NVIDIA L4 Tensor 코어 GPU, 엣지 AI 및 로봇 애플리케이션용 NVIDIA Jetson AGX Orin 및 NVIDIA Jetson Orin NX AI 컴퓨터를 포함한 여러 제품에 대한 결과를 제출했습니다.
NVIDIA MLPerf 출품작의 핵심인 NVIDIA AI 플랫폼은 성능과 기능을 향상하고 최신 NVIDIA 제품 및 아키텍처의 기능을 활용하는 소프트웨어 혁신을 통해 지속적으로 개선되고 있습니다. NVIDIA 고성능 딥 러닝 추론 SDK의 최신 버전인 TensorRT 8.6.0은 NVIDIA GPU 클라우드에 포함되어 있습니다. 컨테이너에 액세스하려면 NVIDIA MLPerf 추론을 방문하세요.
최신 NVIDIA MLPerf 추론 제출에는 NVIDIA L4 Tensor 코어 GPU를 구동하는 NVIDIA Ada Lovelace 아키텍처를 활용하기 위한 지원 및 최적화, NVIDIA Jetson Orin NX 지원, 새로운 커널, NVIDIA 네트워크 부문 제출을 위한 중요한 작업 등 많은 소프트웨어 개선 사항이 추가되었습니다.
NVIDIA 플랫폼은 출품작 전반에 걸쳐 기록적인 성능, 에너지 효율성, 다용도성을 제공했습니다. 이러한 성과를 달성하기 위해서는 칩과 시스템부터 네트워크 및 추론 소프트웨어에 이르기까지 NVIDIA 풀 스택 플랫폼의 모든 계층에서 혁신을 제공해야 했습니다. 이 게시물에서는 이러한 결과의 배경이 된 몇 가지 소프트웨어 최적화에 대해 자세히 설명합니다.
또 한 번의 비약적인 도약을 이룬 NVIDIA Hopper GPU
이번 라운드에서 NVIDIA는 현재 본격적인 생산에 들어간 NVIDIA DGX H100 시스템을 사용하여 사용 가능한 부문에서 결과를 제출했습니다. DGX H100은 NVIDIA H100 Tensor 코어 GPU를 기반으로 가속기당 선도적인 성능을 제공하여 불과 6개월 전에 제출한 NVIDIA MLPerf 추론 v2.1 H100에 비해 최대 54%까지 성능이 향상되었으며, 이미 NVIDIA A100 텐서 코어 GPU에 비해 상당한 성능 도약을 달성한 바 있습니다. 이러한 결과는 이 포스트의 뒷부분에 자세히 설명된 개선 사항 덕분에 가능했습니다. (가속기당 성능은 MLPerf의 주요 지표가 아닙니다.)
가속기당 성능은 MLPerf 추론의 주요 지표가 아닙니다. MLPerf 추론 v3.0: 데이터센터, 폐쇄. 성능 향상은 MLPerf 추론 v3.0 결과 ID 3.0-0070(사용 가능)에 보고된 추론 처리량과 MLPerf 추론 v2.1 결과 ID 2.1-0121(미리보기)에 보고된 추론 처리량의 백분율 증가를 계산하여 도출한 것입니다. MLPerf 이름 및 로고는 미국 및 기타 국가에서 MLCommons Association의 상표입니다. 모든 권리 보유. 무단 사용은 엄격히 금지됩니다. 자세한 내용은 www.mlcommons.org 참조.
한발 앞선 NVIDIA L4 Tensor 코어 GPU 볼트
MLPerf 추론 v3.0에서 NVIDIA는 NVIDIA L4 Tensor 코어 GPU를 처음 선보였습니다. 새로운 NVIDIA Ada Lovelace 아키텍처를 기반으로 하는 L4는 인기 있는 NVIDIA T4 Tensor 코어 GPU의 후속 제품으로, 동일한 단일 슬롯, 로우 프로파일 PCIe 폼 팩터에서 AI, 비디오 및 그래픽에 상당한 개선을 제공합니다.
NVIDIA Ada Lovelace 아키텍처는 4세대 텐서 코어와 FP8을 통합하여 높은 정확도에서도 뛰어난 추론 성능을 구현합니다. MLPerf 추론 v3.0에서 L4는 MLPerf 추론 v3.0에서 테스트한 최고 수준의 BERT 정확도인 99.9%의 레퍼런스(FP32) 정확도로 T4보다 최대 3배 더 높은 성능을 제공했습니다.
가속기당 처리량은 MLPerf 추론의 주요 지표가 아닙니다. MLPerf 추론 v3.0: 데이터센터 폐쇄. 추론 속도는 MLPerf 추론 v0.7 결과 ID 0.7-113에 보고된 추론 처리량을 가속기 수로 나누어 T4 Tensor 코어 GPU 가속기당 처리량을 계산하고, 3.0-0123(프리뷰)의 L4 Tensor 코어 GPU 추론 성능의 비율을 계산된 T4의 가속기당 처리량으로 나누어 계산합니다. MLPerf 이름 및 로고는 미국 및 기타 국가에서 MLCommons Association의 상표입니다. 모든 권리 보유. 무단 사용은 엄격히 금지됩니다. 자세한 내용은 www.mlcommons.org 을 참조하십시오.
또한 NVIDIA L4는 대용량 L2 캐시를 통합하여 성능과 에너지 효율성을 높일 수 있는 추가적인 기회를 제공합니다. NVIDIA MLPerf 추론 v3.0 제출에서는 더 큰 L2 캐시를 활용하기 위해 캐시 레지던시 및 영구 캐시 관리라는 두 가지 주요 소프트웨어 최적화가 구현되었습니다.
L4의 더 커진 L2 캐시는 MLPerf 워크로드를 캐시 내에서 완전히 처리할 수 있게 했습니다. L2 캐시는 GDDR 메모리보다 더 낮은 전력으로 더 높은 대역폭을 제공하므로 GDDR 액세스가 크게 감소하여 성능 향상과 에너지 사용량 감소에 도움이 되었습니다.
배치 크기를 최대 용량으로 설정했을 때의 성능과 비교하여 워크로드가 L2 캐시 내에 완전히 들어갈 수 있도록 배치 크기를 최적화했을 때 최대 1.4배 높은 성능이 관찰되었습니다.
또 다른 최적화는 NVIDIA Ampere 아키텍처에 처음 도입된 L2 캐시 지속성 기능을 사용했습니다. 이를 통해 개발자는 TensorRT를 한 번만 호출하면 L2 캐시의 하위 집합에 태그를 지정하여 보존 우선순위를 지정할 수 있습니다(즉, 마지막에 퇴거되도록 예약할 수 있습니다). 이 기능은 개발자가 모델 실행 전반에 걸쳐 레이어 활성화에 재사용되는 메모리를 타겟팅하여 GDDR 쓰기 대역폭 사용량을 크게 줄일 수 있으므로 레지던시 체제에서 작업할 때 추론에 특히 유용합니다.
NVIDIA DGX A100 및 NVIDIA 네트워킹을 통한 네트워크 분할 제출
NVIDIA는 실제 데이터센터 설정에서 네트워킹이 추론 성능에 미치는 영향을 측정하는 것을 목표로 하는 네트워크 부문에 MLPerf Inference v3.0을 처음 제출했습니다. 이더넷 또는 NVIDIA InfiniBand와 같은 네트워크 패브릭은 추론 가속기 노드를 쿼리 생성 프론트엔드 노드에 연결합니다. 목표는 NIC, 스위치, 패브릭과 같은 네트워킹 구성 요소의 영향과 함께 가속기 노드 성능을 측정하는 것입니다.
벤치마크 | NVIDIA DGX A100 x8 | 폐쇄형 사업부와 비교한 네트워크 사업부의 성과 |
RN50 저정확도 | 오프라인 | 100% |
RN50 저정확도 | 서버 | 100% |
BERT 저정확도 | 오프라인 | 94% |
BERT 저정확도 | 서버 | 96% |
BERT 높은 정확도 | 오프라인 | 90% |
BERT 높은 정확도 | 서버 | 96% |
해당 폐쇄 부문 제출 대비 네트워크 부문 제출 성능의 백분율은 MLPerf Inference v3.0의 주요 지표가 아닙니다. MLPerf 추론 v3.0 결과 ID 3.0-0136에서 ResNet-50 및 BERT에 보고된 처리량을 3.0-0068에 보고된 처리량으로 나누어 계산한 백분율입니다. MLPerf 이름과 로고는 미국 및 기타 국가에서 MLCommons Association의 상표입니다. 모든 권리 보유. 무단 사용은 엄격히 금지됩니다. 자세한 내용은 www.mlcommons.org 을 참조하세요.
v3.0 네트워크 부문에서 NVIDIA는 ResNet-50 및 BERT 데이터센터 워크로드에 대해 제출했습니다. 이 워크로드는 NVIDIA ConnectX-6 인피니밴드 스마트 어댑터의 고대역폭 및 저지연 GPUDirect RDMA 기술을 활용하여 ResNet-50에서 단일 노드 성능의 100%를 달성했습니다. BERT는 호스트의 배치 오버헤드로 인해 성능에 미치는 영향이 최소화되었습니다.
이러한 고성능 결과를 구현하기 위해 여러 NVIDIA 기술이 함께 사용되었습니다:
- TensorRT의 최적화된 추론 엔진
- Mellanox OFED 소프트웨어 스택의 IBV verbs를 기반으로 구축된 지연 시간이 짧고 처리량이 높은 텐서 통신을 위한 InfiniBand RDMA(원격 직접 메모리 액세스) 네트워크 전송
- 구성 교환, 실행 상태 동기화 및 하트비트 모니터링을 위한 이더넷 TCP 소켓
- 최상의 성능을 위해 CPU/GPU/NIC 리소스를 활용하는 NUMA 인식 구현
상당한 성능 향상을 제공하는 NVIDIA Jetson Orin NX
NVIDIA Jetson Orin NX 16GB 모듈은 소형 저전력 오토노머스 머신을 위한 가장 진보된 AI 컴퓨터입니다. 이 모듈은 첫 번째 MLPerf 추론 제출에서 이전 모델인 NVIDIA Jetson Xavier NX에 비해 최대 3.2배 더 높은 성능을 제공했습니다. 엔비디아는 Connect Tech와 협력하여 Jetson Orin NX MLPerf 추론 v3.0을 제출했으며, 이는 Boson NGX007 캐리어 보드에서 호스팅되었습니다. Connect Tech Boson은 개발 및 생산에 사용할 수 있는 컴팩트한 캐리어 보드를 통해 Jetson Orin NX 시리즈와 Jetson Orin Nano 시리즈를 지원하며, Orin의 강력한 성능과 상용 기성품의 편리함을 결합합니다.
이 제출물은 커넥트 테크의 보손 NGX007 L4T 이미지와 CUDA, cuDNN, TensorRT로 구성된 Jetson AGX Orin 소프트웨어 스택을 사용하여 Jetson Orin NX에서 즉시 실행됩니다. Jetson AGX Orin과 Jetson Orin NX는 동일한 제출 코드를 공유하여 새로운 Jetson 제품, 타사 캐리어 보드 및 호스트 시스템에서 실행할 수 있는 NVIDIA 소프트웨어 스택의 다용도성을 보여줍니다.
MLPerf 추론 v3.0: 엣지, 폐쇄형. MLPerf 추론 v3.0에서 보고된 추론 처리량 증가를 계산하여 도출된 성능 향상: 엣지, 폐쇄형 MLPerf-ID 3.0-0079에서 보고된 추론 처리량 증가를 계산하여 도출된 성능 증가율(MLPerf 추론 v2.0에서 보고된 것과 비교): 에지, 폐쇄형 MLPerf ID 2.0-113. MLPerf 이름과 로고는 미국 및 기타 국가에서 MLCommons Association의 상표입니다. 모든 권리 보유. 무단 사용은 엄격히 금지됩니다. 자세한 내용은 www.mlcommons.org 을 참조하세요.
RetinaNet 최적화
NVIDIA는 풀스택 커널 개선과 최적화된 NMS를 통해 MLPerf Inference v3.0에서 제출된 모든 제품에서 RetinaNet 처리량을 20~60% 증가시켰습니다.
RetinaNet NMS 전처리 단계에서는 10개의 컨볼루션 레이어 출력을 2개의 텐서로 재구성, 전치 및 연결하기 때문에 컴퓨팅 처리량과 메모리 대역폭이 크게 증가합니다. 또한 직렬화 및 필터링으로 인해 컴퓨팅 리소스의 활용도가 떨어졌습니다.
이러한 문제를 해결하기 위해 NVIDIA는 컨볼루션 레이어 출력을 병렬로 변환하는 최적화된 커널을 개발했습니다. 또한 라벨 점수 필터링이 트랜스포즈와 융합되어 메모리 로드 오버헤드를 숨기고 후속 세그먼트 정렬 속도를 높였습니다. 이러한 최적화를 통해 NMS는 이제 2.1보다 50% 빨라졌습니다.
또한 NVIDIA는 NVIDIA Orin의 딥 러닝 가속기(DLA) 코어에서 대규모 컨볼루션 및 RetinaNet 실행에 대한 지원을 추가했습니다. 현재 DLA 3.12.1 및 TensorRT 8.5.2에서 사용할 수 있는 이 지원을 통해 GPU와 DLA 간에 워크로드를 이동하지 않고도 RetinaNet의 비 NMS 부분을 DLA에서 완전히 실행할 수 있습니다. 전체 비 NMS 부분을 단일 DLA로 컴파일하여 런타임에 오프로드할 수 있으므로 RetinaNet을 GPU와 DLA에서 동시에 실행할 수 있습니다.
DLA 3.12.1 최적화는 SRAM 활용도를 높이고 새로운 검색 알고리즘을 통해 SRAM에서 활성화 데이터와 가중치 데이터 간의 최적 분할 비율을 결정함으로써 지연 시간과 DRAM 대역폭을 모두 최소화합니다. 자세한 내용은 깃허브에서 NVIDIA/Deep-Learning-Accelerator-SW를 참조하세요.
이를 통해 지연 시간은 20%, DRAM 소비량은 50% 감소했습니다. 이러한 DLA 최적화는 다른 CNN 워크로드에도 도움이 됩니다. 또한 DLA 소프트웨어는 ResNeXt 그룹 컨볼루션 패턴도 최적화하여 속도가 1.8배 빨라지고 DRAM 트래픽이 1.8배 감소합니다.
이러한 Orin DLA 기능의 효과적인 활용은 동일한 하드웨어에서 1년 이내에 성능과 전력 효율성 모두에서 RetinaNet의 속도를 50% 이상 향상시키는 데 결정적인 역할을 했으며, Jetson AGX Orin의 소프트웨어 성능을 지속적으로 개선하겠다는 NVIDIA의 약속을 이행하는 데 큰 역할을 했습니다. 자세한 내용은 NVIDIA Jetson Orin으로 엣지에서 서버급 성능 제공을 참조하십시오.
MLPerf Inference v3.0에서 보고된 추론 처리량의 백분율 증가를 계산하여 도출된 성능 향상: 엣지, 폐쇄. MLPerf-ID 3.0-0080은 MLPerf Inference v2.0에서 보고된 것과 비교됩니다: 엣지, 폐쇄형 2.0-140(ResNet-50, BERT 및 RNN-T 워크로드용) 및 MLPerf 추론 v2.1에 보고된 것과 비교: Edge, Closed 2.1-0095에 보고된 것들로 변경되었습니다(RetinaNet은 v2.1에 처음 추가되었기 때문). MLPerf 이름과 로고는 미국 및 기타 국가에서 MLCommons Association의 상표입니다. 모든 권리 보유. 무단 사용은 엄격히 금지됩니다. 자세한 내용은 www.mlcommons.org 참조.
MLPerf 추론 v3.0: 엣지, 폐쇄, 전력. 전력 효율은 오프라인 시나리오의 경우 처리량/와트, 단일 및 다중 스트림 시나리오의 경우 줄/스트림의 증가를 계산하여 도출되며, MLPerf Inference v3.0 MLPerf-ID 3. 0-0081과 비교하여 ResNet-50, BERT 및 RNN-T 워크로드에 대한 MLPerf 추론 v2.0 MLPerf-ID 2.1-141, RetinaNet에 대한 MLPerf 추론 v2.1 MLPerf ID 2.1-0096(RetinaNet은 MLPerf 추론 v2.1에 처음 추가되었기 때문)입니다.
3D U-Net 슬라이딩 윈도우 배칭
3D U-Net은 KiTS19 입력 데이터에 슬라이딩 윈도우 추론을 사용합니다. 각 입력 이미지는 50% 겹치는 ROI 하위 볼륨으로 분할되어 하위 볼륨 분할에 사용됩니다. 결과를 집계하고 정규화하여 입력 이미지에 대한 세분화를 얻습니다. 자세한 내용은 MLPerf 추론 2.0에서 최고의 성능 얻기을 참조하세요.
MLPerf Inference v3.0에서는 서브볼륨 일괄 처리를 위해 슬라이딩 윈도우 일괄 처리가 도입되었습니다. 일괄 처리는 다른 이미지 간이 아닌 특정 이미지의 하위 볼륨에만 적용되므로 단일 스트림 시나리오에도 유용합니다. (자세한 내용은 MLPerf 추론: 최고의 성능을 제공하는 NVIDIA 혁신 참조). 특히 NVIDIA A100 및 H100 GPU를 사용하면 GPU 활용도가 향상되어 최대 30% 더 높은 성능을 얻을 수 있습니다.
문제는 중첩된 요소의 최종 출력 텐서 집계에서 발생하는 경쟁 조건 동안 기능적 정확성을 보장하는 것입니다. 이를 해결하기 위해 집계 및 정규화 커널에 CUDA 협력 그룹을 사용했습니다. 이렇게 하면 동기화 오버헤드가 추가되지만, 인접한 서브볼륨을 함께 배치함으로써 얻을 수 있는 이득으로 인해 성능이 향상됩니다. 서브볼륨은 50%의 데이터 중첩을 가지므로 캐싱이 개선되고 메모리 트래픽이 감소합니다.
ResNet-50 최적화
ResNet-50과 같은 워크로드는 네트워크 아키텍처의 여러 단계에서 다양한 메모리 특성을 가지므로 DRAM 중심의 최적화를 위한 기회를 창출합니다. NVIDIA MLPerf Inference v3.0 ResNet-50 제출에 사용된 최적화 중 하나는 배치 분할입니다.
이를 통해 네트워크의 여러 단계에서 서로 다른 배치 크기를 실행하여 효율성과 DRAM 대역폭 활용률 간의 최적의 절충점을 찾을 수 있습니다. NVIDIA가 제출한 솔루션은 메모리를 많이 사용하는 섹션에 앞서 큰 배치를 작은 배치로 분할하여 순차적으로 추론을 실행한 다음 다시 큰 배치로 모으는 방식을 사용합니다.
빌드 단계에서 ONNX GraphSurgeon은 정의된 컷 포인트를 자동으로 인식하고 단일 ONNX 모델을 여러 개의 복제된 하위 그래프로 분할합니다. TensorRT는 모든 고유한 ONNX 파티션에 대해 독립적인 엔진을 생성합니다. 하네스는 엔진 실행과 통신 버퍼 관리를 오케스트레이션하여 추가적인 D2D(디바이스 간) 복사본이 발생하지 않도록 합니다.
배치 분할 접근 방식을 통해 Orin 시스템의 ResNet-50 오프라인에서 약 3%의 엔드투엔드 성능 향상을 달성했습니다. 아래 그림은 하네스의 데이터 흐름과 추론 흐름을 예시로 보여줍니다.
클라우드에서 엣지까지 이어지는 NVIDIA AI 추론 리더십
NVIDIA 플랫폼은 광범위한 풀스택 엔지니어링을 통해 AI 추론 성능을 지속적으로 발전시키고 있습니다. 소프트웨어를 통해 NVIDIA H100 Tensor 코어 GPU는 한 라운드에서 추론 성능을 최대 54% 향상시켰습니다. 심층적인 소프트웨어-하드웨어 공동 최적화를 통해 NVIDIA L4 Tensor 코어 GPU는 NVIDIA T4 GPU에 비해 최대 3배 더 뛰어난 성능을 제공할 수 있게 되었습니다.
자율 머신 및 로보틱스의 경우, NVIDIA Jetson AGX Orin은 성능과 와트당 성능이 50% 이상 향상되었습니다. NVIDIA Jetson Orin NX는 이전 버전보다 최대 3.2배 더 뛰어난 성능을 제공했습니다.
또한 NVIDIA 플랫폼은 계속해서 선도적인 다재다능함을 선보이며 모든 MLPerf 추론 워크로드에서 탁월한 성능을 제공합니다. AI가 컴퓨팅을 계속 혁신함에 따라, 점점 더 많은 배포 옵션에서 다양하고 증가하는 워크로드 전반에 걸쳐 뛰어난 성능을 제공해야 할 필요성은 더욱 커질 것입니다. NVIDIA 플랫폼은 AI 기반 애플리케이션의 현재 요구 사항을 충족하는 동시에 미래의 요구 사항을 가속화하기 위해 빠르게 진화하고 있습니다.
이 블로그에 열거된 SDK의 대부분의 독점 액세스, 얼리 액세스, 기술 세션, 데모, 교육 과정, 리소스는 NVIDIA 개발자 프로그램 회원은 무료로 혜택을 받으실 수 있습니다. 지금 무료로 가입하여 NVIDIA의 기술 플랫폼에서 구축하는 데 필요한 도구와 교육에 액세스하시고 여러분의 성공을 가속화 하세요.