NLP 및 CV PyTorch 모델 PlatoBlockchain 데이터 인텔리전스용 Amazon EC2 G5 인스턴스를 사용하여 추론당 XNUMX배 더 낮은 비용으로 XNUMX배 더 높은 ML 추론 처리량을 달성합니다. 수직 검색. 일체 포함.

NLP 및 CV PyTorch 모델용 Amazon EC2 G5 인스턴스를 사용하여 XNUMX배 더 낮은 추론당 비용으로 XNUMX배 더 높은 ML 추론 처리량 달성

아마존 엘라스틱 컴퓨트 클라우드 (아마존 EC2) G5 인스턴스 NVIDIA A10G Tensor Core GPU를 특징으로 하는 클라우드의 최초이자 유일한 인스턴스로, 광범위한 그래픽 집약적 및 머신 러닝(ML) 사용 사례에 사용할 수 있습니다. G5 인스턴스를 통해 ML 고객은 자연어 처리(NLP), 컴퓨터 비전(CV) 및 추천 엔진 사용 사례를 위한 더 크고 정교한 모델을 훈련하고 배포하기 위한 고성능 및 비용 효율적인 인프라를 얻을 수 있습니다.

이 게시물의 목적은 대규모 ML 추론 워크로드에 대한 G5 인스턴스의 성능 이점을 보여주는 것입니다. NLP 및 CV 모델의 가격 대비 성능(4만 달러 추론으로 측정)을 G4dn 인스턴스와 비교하여 이를 수행합니다. 벤치마킹 접근 방식을 설명하는 것으로 시작한 다음 배치 크기 및 데이터 유형 정밀도 전반에 걸친 처리량 대 대기 시간 곡선을 제시합니다. G5dn 인스턴스와 비교할 때 GXNUMX 인스턴스는 NLP 및 CV 모델에 대해 완전 정밀도 및 혼합 정밀도 모드 모두에 대해 일관되게 더 낮은 백만분의 비용 추론을 제공하는 동시에 더 높은 처리량과 더 낮은 지연 시간을 달성한다는 것을 발견했습니다.

벤치마킹 접근법

G5와 G4dn 간의 가격 대비 성능 연구를 개발하려면 처리량, 대기 시간 및 백만 개당 비용 추론을 배치 크기의 함수로 측정해야 합니다. 우리는 또한 완전 정밀도와 혼합 정밀도의 영향을 연구합니다. 모델 그래프와 입력은 추론 전에 CUDA에 로드됩니다.

다음 아키텍처 다이어그램에 표시된 것처럼 먼저 기본 EC2 인스턴스(G4dn, G5)에 대해 CUDA를 사용하여 각각의 기본 컨테이너 이미지를 생성합니다. 기본 컨테이너 이미지를 빌드하려면 AWS 딥 러닝 컨테이너, 사전 패키지된 Docker 이미지를 사용하여 몇 분 안에 딥 러닝 환경을 배포합니다. 이미지에는 필요한 딥 러닝 PyTorch 라이브러리 및 도구가 포함되어 있습니다. 모니터링, 규정 준수 및 데이터 처리에 대한 더 높은 수준의 제어를 위해 이러한 이미지 위에 고유한 라이브러리와 도구를 추가할 수 있습니다.

그런 다음 모델 구성, 모델 추적 및 관련 코드를 캡슐화하는 모델별 컨테이너 이미지를 빌드하여 전달을 실행합니다. 모든 컨테이너 이미지는 에 로드됩니다. 아마존 ECR 다양한 모델 구성에 대해 이러한 모델의 수평 확장을 허용합니다. 우리는 사용 아마존 단순 스토리지 서비스 (Amazon S3) 구성을 다운로드하고 요약을 위해 벤치마크 결과를 업로드하는 공통 데이터 저장소입니다. 이 아키텍처를 사용하여 벤치마크 결과를 재생성 및 재현하고 EC2 인스턴스 유형(CPU, GPU, Inf1)에서 다양한 모델 유형(Hugging Face 모델, PyTorch 모델, 기타 사용자 지정 모델 등)을 벤치마킹하도록 용도를 변경할 수 있습니다.

이 실험 설정을 통해 우리의 목표는 처리량의 함수로 대기 시간을 연구하는 것입니다. 이 곡선은 애플리케이션 설계가 대상 애플리케이션에 대한 비용 최적 인프라에 도달하는 데 중요합니다. 이를 달성하기 위해 여러 스레드의 쿼리를 대기열에 넣은 다음 완료된 각 요청에 대한 왕복 시간을 측정하여 다양한 로드를 시뮬레이션합니다. 처리량은 단위 클록 시간당 완료된 요청 수를 기준으로 측정됩니다. 또한 배치 크기와 시퀀스 길이 및 전체 정밀도 대 절반 정밀도와 같은 기타 변수를 변경하여 설계 공간을 종합적으로 스윕하여 지표 성능 메트릭에 도달할 수 있습니다. 우리 연구에서 다중 스레드 클라이언트의 일괄 처리 크기 및 쿼리에 대한 매개변수 스윕을 통해 처리량 대 대기 시간 곡선이 결정됩니다. 특히 컴퓨팅 노드를 완전히 활용하지 못할 수 있는 소규모 요청의 경우 모든 요청을 일괄 처리하여 가속기를 최대한 활용할 수 있습니다. 또한 이 설정을 채택하여 최적의 성능을 위해 클라이언트 측 배치 크기를 식별할 수 있습니다.

요약하면 이 문제를 수학적으로 (처리량, 대기 시간) = 함수 (배치 크기, 스레드 수, 정밀도)로 나타낼 수 있습니다.

이는 전체 공간이 주어지면 실험의 수가 많을 수 있음을 의미합니다. 다행히 각 실험은 독립적으로 실행할 수 있습니다. 우리는 사용하는 것이 좋습니다 AWS 배치 테스트에 대한 선형 접근 방식과 비교하여 벤치마킹 비용의 증가 없이 압축된 시간에 수평적으로 확장된 벤치마킹을 수행합니다. 결과를 복제하는 코드는 GitHub 저장소 AWS Re:Invent 2021을 위해 준비되었습니다. 이 리포지토리는 다양한 액셀러레이터에서 벤치마킹을 수행할 수 있는 포괄적입니다. 코드의 GPU 측면을 참조하여 컨테이너(Dockerfile-gpu) 그런 다음 내부 코드를 참조하십시오. Container-Root BERT 및 ResNet50에 대한 특정 예.

우리는 Bert-base-uncased(110억 50천만 개의 매개변수, NLP) 및 ResNet25.6(XNUMX만 매개변수, CV)의 두 가지 모델 유형에 대한 성능 연구를 개발하기 위해 앞의 접근 방식을 사용했습니다. 다음 표에는 모델 세부 정보가 요약되어 있습니다.

모델 유형 모델 세부 정보
NLP twmkn9/bert-base-uncased-squad2 110억 128천만 개의 매개변수 시퀀스 길이 = XNUMX
CV 레스넷50 25.6 백만 매개 변수

또한 데이터 유형(전체, 절반 정밀도)을 벤치마킹하기 위해 다음을 사용합니다. torch.cuda.amp, 일부 작업에서 사용하는 혼합 정밀도를 처리하는 편리한 방법을 제공합니다. torch.float32 (float) 데이터 유형 및 기타 작업 사용 torch.float16 (반). 예를 들어 선형 레이어 및 컨볼루션과 같은 연산자는 float16을 사용하여 훨씬 더 빠른 반면 축소와 같은 연산자는 종종 float32의 동적 범위를 필요로 합니다. 자동 혼합 정밀도는 네트워크의 런타임 및 메모리 공간을 최적화하기 위해 각 운영자를 적절한 데이터 유형과 일치시키려고 합니다.

벤치마킹 결과

공정한 비교를 위해 우리는 G4dn.4xlargeG5.4x대형 다음 표에 나열된 것과 같이 유사한 속성을 가진 인스턴스.

GPU GPU 메모리(GiB) vCPU 메모리(GiB) 인스턴스 스토리지(GB) 네트워크 성능(Gbps) EBS 대역폭(Gbps) Linux 온디맨드 요금(us-east-1)
G5.4x대형 1 24 16 64 1 NVMe SSD 600개 25까지 8 $ 1.204 / 시간
G4dn.4xlarge 1 16 16 64 1 NVMe SSD 225개 25까지 4.75 $ 1.624 / 시간

다음 섹션에서는 BERT 및 RESNET50 모델의 ML 추론 성능을 특정 배치 크기(32, 16, 8, 4, 1) 및 데이터 유형 정밀도(전체 및 절반 정밀도)에 대한 그리드 스위프 접근 방식과 비교하여 처리량에 도달합니다. 대 대기 시간 곡선. 또한 전체 및 절반 정밀도 모두에 대해 처리량 대 배치 크기의 영향을 조사합니다. 마지막으로 배치 크기의 함수로 백만 개당 비용 추론을 측정합니다. 이러한 실험의 통합 결과는 이 게시물의 뒷부분에 요약되어 있습니다.

처리량 대 지연 시간

다음 그림은 전체 및 절반 정밀도에서 NLP 및 CV 워크로드에 대한 G4dn 및 G5 인스턴스를 비교합니다. G4dn 인스턴스와 비교할 때 G5 인스턴스는 BERT 기본 모델의 경우 약 2.5배(전체 정밀도) 및 약 2배 높은(절반 정밀도) 처리량을 제공하고 ResNet2.5 모델의 경우 약 50~5배 더 높은 처리량을 제공합니다. 전반적으로 성능 관점에서 전체 및 혼합 정밀도 모두에 대해 두 모델의 배치 크기가 증가하여 GXNUMX가 선호되는 선택입니다.

다음 그래프는 BERT의 전체 및 절반 정밀도에서 처리량과 P95 대기 시간을 비교합니다.

NLP 및 CV PyTorch 모델 PlatoBlockchain 데이터 인텔리전스용 Amazon EC2 G5 인스턴스를 사용하여 추론당 XNUMX배 더 낮은 비용으로 XNUMX배 더 높은 ML 추론 처리량을 달성합니다. 수직 검색. 일체 포함. NLP 및 CV PyTorch 모델 PlatoBlockchain 데이터 인텔리전스용 Amazon EC2 G5 인스턴스를 사용하여 추론당 XNUMX배 더 낮은 비용으로 XNUMX배 더 높은 ML 추론 처리량을 달성합니다. 수직 검색. 일체 포함.

다음 그래프는 ResNet95의 전체 및 절반 정밀도에서 처리량과 P50 대기 시간을 비교합니다.

NLP 및 CV PyTorch 모델 PlatoBlockchain 데이터 인텔리전스용 Amazon EC2 G5 인스턴스를 사용하여 추론당 XNUMX배 더 낮은 비용으로 XNUMX배 더 높은 ML 추론 처리량을 달성합니다. 수직 검색. 일체 포함. NLP 및 CV PyTorch 모델 PlatoBlockchain 데이터 인텔리전스용 Amazon EC2 G5 인스턴스를 사용하여 추론당 XNUMX배 더 낮은 비용으로 XNUMX배 더 높은 ML 추론 처리량을 달성합니다. 수직 검색. 일체 포함.

처리량 및 대기 시간 대 배치 크기

다음 그래프는 배치 크기에 따른 처리량을 보여줍니다. 낮은 배치 크기에서는 가속기가 최대 용량으로 작동하지 않으며 배치 크기가 증가함에 따라 지연 시간을 희생하여 처리량이 증가합니다. 처리량 곡선은 가속기 성능의 함수인 최대값으로 점근합니다. 곡선에는 상승 단면과 평평한 점근 단면의 두 가지 특징이 있습니다. 주어진 모델에 대해 고성능 가속기(G5)는 상승 섹션을 G4dn보다 더 큰 배치 크기로 늘리고 더 높은 처리량에서 점근선을 늘릴 수 있습니다. 또한 지연 시간과 배치 크기 사이에는 선형 균형이 있습니다. 따라서 애플리케이션이 대기 시간에 제한이 있는 경우 P95 대기 시간 대 배치 크기를 사용하여 최적의 배치 크기를 결정할 수 있습니다. 그러나 목표가 가장 짧은 대기 시간에서 처리량을 최대화하는 것이라면 상승 구간과 점근 구간 사이의 "무릎"에 해당하는 배치 크기를 선택하는 것이 좋습니다. 더 나쁜 대기 시간. 최저 대기 시간에서 더 높은 처리량을 목표로 하여 최고의 가격 대비 성능을 달성하려면 배치 크기를 늘리는 것보다 여러 추론 서버를 통해 이 최적을 수평으로 확장하는 것이 좋습니다.

NLP 및 CV PyTorch 모델 PlatoBlockchain 데이터 인텔리전스용 Amazon EC2 G5 인스턴스를 사용하여 추론당 XNUMX배 더 낮은 비용으로 XNUMX배 더 높은 ML 추론 처리량을 달성합니다. 수직 검색. 일체 포함.

비용 대 배치 크기

이 섹션에서는 배치 크기와 추론 비용(백만 달러당 $)의 비교 결과를 제시합니다. 다음 그림에서 비용(백만 달러당 $로 측정됨)이 G5와 G4dn 모두(전체 및 절반 정밀도)에서 일관되게 더 낮음을 분명히 알 수 있습니다.

NLP 및 CV PyTorch 모델 PlatoBlockchain 데이터 인텔리전스용 Amazon EC2 G5 인스턴스를 사용하여 추론당 XNUMX배 더 낮은 비용으로 XNUMX배 더 높은 ML 추론 처리량을 달성합니다. 수직 검색. 일체 포함. NLP 및 CV PyTorch 모델 PlatoBlockchain 데이터 인텔리전스용 Amazon EC2 G5 인스턴스를 사용하여 추론당 XNUMX배 더 낮은 비용으로 XNUMX배 더 높은 ML 추론 처리량을 달성합니다. 수직 검색. 일체 포함.

다음 표는 BERT 및 RESNET50 모델에 대한 처리량, 대기 시간 및 비용(5만 달러 추론당 비용) 비교를 특정 배치 크기에 대한 두 정밀도 모드에서 요약한 것입니다. 인스턴스당 비용이 더 높음에도 불구하고 G4는 모든 배치 크기에 대해 추론 지연 시간, 처리량 및 비용(32만 달러 추론당 비용)의 모든 측면에서 G5dn보다 지속적으로 성능이 뛰어납니다. 다른 메트릭을 비용(백만 달러당 $ 추론)으로 결합하면 G3.7를 사용하는 BERT 모델(4 배치 크기, 전체 정밀도)은 G50dn보다 32배 더 유리하고 ResNet1.6 모델(4 배치 크기, 전체 정밀도)을 사용하면 XNUMX입니다. GXNUMXdn보다 몇 배 더 유리합니다.

모델 배치 크기 Precision

처리량

(배치 크기 X 요청/초)

대기 시간 (밀리 초)

$/백만

추론(주문형)

비용 혜택

(G5dn보다 G4)

. . . G5 G4dn G5 G4dn G5 G4dn
버트 베이스 케이스 없음 32 가득 찬 723 154 44 208 $0.6 $2.2 3.7X
혼합 된 870 410 37 79 $0.5 $0.8 1.6X
16 가득 찬 651 158 25 102 $0.7 $2.1 3.0X
혼합 된 762 376 21 43 $0.6 $0.9 1.5X
8 가득 찬 642 142 13 57 $0.7 $2.3 3.3X
혼합 된 681 350 12 23 $0.7 $1.0 1.4X
. 1 가득 찬 160 116 6 9 $2.8 $2.9 1.0X
혼합 된 137 102 7 10 $3.3 $3.3 1.0X
레스넷50 32 가득 찬 941 397 34 82 $0.5 $0.8 1.6X
혼합 된 1533 851 21 38 $0.3 $0.4 1.3X
16 가득 찬 888 384 18 42 $0.5 $0.9 1.8X
혼합 된 1474 819 11 20 $0.3 $0.4 1.3X
8 가득 찬 805 340 10 24 $0.6 $1.0 1.7X
혼합 된 1419 772 6 10 $0.3 $0.4 1.3X
. 1 가득 찬 202 164 5 6 $2.2 $2 0.9X
혼합 된 196 180 5 6 $2.3 $1.9 0.8X

추가 추론 벤치마크

이전 섹션의 BERT 기반 및 ResNet50 결과 외에도 PyTorch에서 일반적으로 사용되는 다른 대규모 NLP 및 CV 모델에 대한 추가 벤치마킹 결과를 제시합니다. G5dn에 비해 G4의 성능 이점은 다양한 정밀도의 BERT Large 모델과 다양한 크기의 Yolo-v5 모델에 대해 제시되었습니다. 벤치마크 복제를 위한 코드는 다음을 참조하십시오. Tensor 코어를 위한 NVIDIA 딥 러닝 예제. 이 결과는 다양한 모델 유형에 걸친 광범위한 추론 작업에 G5dn보다 G4를 사용하는 이점을 보여줍니다.

모델 Precision 배치 크기 시퀀스 길이 처리량(전송/초) 처리량: G4dn G4dn을 통한 속도 향상
BERT-대형 FP16 1 128 93.5 40.31 2.3
BERT-대형 FP16 4 128 264.2 87.4 3.0
BERT-대형 FP16 8 128 392.1 107.5 3.6
BERT-대형 FP32 1 128 68.4 22.67 3.0
BERT-대형 4 128 118.5 32.21 3.7
BERT-대형 8 128 132.4 34.67 3.8
모델 음절 매개변수의 수 전처리(ms) 추론(ms) 추론(비최대 억제)(NMS/이미지)
YOLOv5 16.5 7.2M 0.2 3.6 4.5
YOLOv5분 49.1 21M 0.2 6.5 4.5
YOLOv5l 109.3 46M 0.2 9.1 3.5
YOLOv5x 205.9 86M 0.2 14.4 1.3

결론

이 게시물에서 우리는 대규모 NLP 및 CV PyTorch 모델로 추론할 때 G2dn 인스턴스보다 EC5 G4 인스턴스가 더 나은 선택임을 보여주었습니다. G5 인스턴스의 온디맨드 시간당 비용은 G4dn 인스턴스보다 높지만 더 높은 성능은 NLP 및 CV 모델의 모든 정밀도에서 처리량의 2-5배를 달성할 수 있으므로 백만 개 추론당 비용이 G1.5dn 인스턴스보다 3.5-4배 더 유리합니다. G5dn 인스턴스. 레이턴시 바운드 애플리케이션의 경우에도 G2.5는 NLP 및 CV 모델의 경우 G5dn보다 4~XNUMX배 더 우수합니다.

요약하자면 AWS G5 인스턴스는 성능 및 추론당 비용 측면에서 추론 요구 사항에 대한 탁월한 선택입니다. CUDA 프레임워크의 보편성과 AWS의 G5 인스턴스 풀의 규모 및 깊이는 대규모 추론을 수행할 수 있는 고유한 기능을 제공합니다.


저자 소개

NLP 및 CV PyTorch 모델 PlatoBlockchain 데이터 인텔리전스용 Amazon EC2 G5 인스턴스를 사용하여 추론당 XNUMX배 더 낮은 비용으로 XNUMX배 더 높은 ML 추론 처리량을 달성합니다. 수직 검색. 일체 포함.안쿠 르 스리 바스타 바 ML 프레임워크 팀의 수석 솔루션 설계자입니다. 그는 AWS에서 대규모의 자체 관리형 분산 교육 및 추론을 통해 고객을 돕는 데 중점을 두고 있습니다. 그의 경험에는 산업 예측 유지보수, 디지털 트윈, 확률론적 설계 최적화가 포함되어 있으며 Rice University의 기계 공학에서 박사 과정을 마치고 Massachusetts Institute of Technology에서 박사 후 연구를 마쳤습니다.

NLP 및 CV PyTorch 모델 PlatoBlockchain 데이터 인텔리전스용 Amazon EC2 G5 인스턴스를 사용하여 추론당 XNUMX배 더 낮은 비용으로 XNUMX배 더 높은 ML 추론 처리량을 달성합니다. 수직 검색. 일체 포함.순다르 랑가나단 Amazon EC2 팀의 ML 프레임워크 비즈니스 개발 책임자입니다. 그는 Amazon EKS, Amazon ECS, Elastic Fabric Adapter, AWS Batch 및 Amazon SageMaker와 같은 AWS 서비스 전반의 대규모 ML 워크로드에 중점을 둡니다. 그의 경험에는 NetApp, Micron Technology, Qualcomm 및 Mentor Graphics에서 제품 관리 및 제품 개발 분야의 리더십 역할이 포함됩니다.

NLP 및 CV PyTorch 모델 PlatoBlockchain 데이터 인텔리전스용 Amazon EC2 G5 인스턴스를 사용하여 추론당 XNUMX배 더 낮은 비용으로 XNUMX배 더 높은 ML 추론 처리량을 달성합니다. 수직 검색. 일체 포함.마하 데반 발라 수 브라 마니 암 물리학 기반 딥 러닝, 대규모 산업 시스템용 디지털 트윈 구축 및 배포 분야에서 거의 20년의 경험을 가진 자율 컴퓨팅을 위한 주요 솔루션 설계자입니다. Mahadevan은 Massachusetts Institute of Technology에서 기계 공학 박사 학위를 취득했으며 25개 이상의 특허와 출판물을 보유하고 있습니다.

NLP 및 CV PyTorch 모델 PlatoBlockchain 데이터 인텔리전스용 Amazon EC2 G5 인스턴스를 사용하여 추론당 XNUMX배 더 낮은 비용으로 XNUMX배 더 높은 ML 추론 처리량을 달성합니다. 수직 검색. 일체 포함. 암르 라갑 AWS용 EC2 Accelerated Platforms의 Principal Solutions Architect로, 고객이 규모에 맞게 컴퓨팅 워크로드를 실행할 수 있도록 지원합니다. 여가 시간에는 여행을 하고 일상 생활에 기술을 통합할 수 있는 새로운 방법을 찾는 것을 좋아합니다.

타임 스탬프 :

더보기 AWS 기계 학습