제퍼넷 로고

Amazon Search가 AWS에서 NVIDIA Triton을 사용하여 짧은 지연 시간, 높은 처리량의 T5 추론을 달성하는 방법

시간

Amazon Search의 비전은 고객이 손쉽게 검색할 수 있도록 하는 것입니다. 맞춤법 교정은 의도한 단어의 정확한 맞춤법을 모르는 경우에도 원하는 것을 찾는 데 도움이 됩니다. 과거에는 맞춤법 수정을 위해 수동 기능 엔지니어링과 함께 클래식 머신 러닝(ML) 알고리즘을 사용했습니다. 철자 교정 성능의 차세대 도약을 위해 우리는 sequence-to-sequence 모델을 포함한 여러 딥 러닝 접근 방식을 수용하고 있습니다. 딥 러닝(DL) 모델은 훈련과 추론 모두에서 컴퓨팅 집약적이며 이러한 비용으로 인해 역사적으로 Amazon 규모의 프로덕션 환경에서는 DL 모델이 비실용적이었습니다. 이 게시물에서는 이러한 장애물을 극복하고 인기 있는 Hugging Face T534 Transformer의 추론 속도를 5% 향상시킨 추론 최적화 실험의 결과를 제시합니다.

과제

텍스트를 텍스트로 전송하는 트랜스포머(T5, 통합 텍스트-텍스트 변환기를 통한 전송 학습의 한계 탐구, Reffel et al)은 최첨단 자연어 처리(NLP) 모델 아키텍처입니다. T5는 철자 수정을 위한 유망한 아키텍처로, 실험에서 잘 수행되는 것으로 나타났습니다. T5 모델은 오픈 소스 딥 러닝 프레임워크와 지속적인 학술 및 기업 연구 덕분에 쉽게 연구, 개발 및 교육할 수 있습니다.

그러나 T5에서는 프로덕션 등급의 저지연 추론을 달성하기가 어렵습니다. 예를 들어 PyTorch T5를 사용한 단일 추론은 Amazon Elastic Compute Cloud(EC45) p100xlarge 인스턴스에 장착된 2개의 NVIDIA V3.8 Tensor Core GPU 중 하나에서 9밀리초가 걸립니다. (보고된 모든 추론 번호는 입력 11개 토큰 및 출력 5개 토큰에 대한 것입니다. TXNUMX 아키텍처의 대기 시간은 입력 및 출력 길이 모두에 민감합니다.)

대기 시간이 짧고 비용 효율적인 대규모 T5 추론은 Amazon Search 이외의 여러 AWS 고객이 보고한 알려진 어려움으로 이 게시물을 기고하려는 동기를 높입니다. 오프라인의 과학적 성취에서 고객 대면 프로덕션 서비스로 전환하기 위해 Amazon Search는 다음과 같은 과제에 직면해 있습니다.

  • 숨어 있음 – 5밀리초 미만의 P50 지연 시간으로 T99 추론을 구현하는 방법
  • 처리량 – 대규모 동시 추론 요청을 처리하는 방법
  • 비용 효율성 – 비용을 통제하는 방법

이 게시물의 나머지 부분에서는 NVIDIA 추론 최적화 스택, 즉 엔비디아 텐서RT 컴파일러와 오픈 소스 NVIDIA Triton 추론 서버— 이러한 문제를 해결합니다. 읽다 NVIDIA의 보도 자료 업데이트에 대해 알아보십시오.

NVIDIA TensorRT: 추론 최적화로 비용 및 대기 시간 감소

딥 러닝 프레임워크는 과학을 빠르게 반복하는 데 편리하며 과학 모델링, 데이터 로드 및 교육 최적화를 위한 다양한 기능을 제공합니다. 그러나 이러한 도구의 대부분은 행렬 곱셈 및 활성화 함수에 대해 최소한의 연산자 집합만 필요한 추론에는 차선책입니다. 따라서 딥 러닝 개발 프레임워크에서 추론을 실행하는 대신 전문화된 예측 전용 애플리케이션을 사용하여 상당한 이점을 실현할 수 있습니다.

NVIDIA TensorRT는 고성능 딥 러닝 추론을 위한 SDK입니다. TensorRT는 NVIDIA GPU에서 사용할 수 있는 저수준 최적화 커널을 사용하여 최적화된 런타임과 추론 계산을 최적화된 순서로 재배열하는 추론 전용 모델 그래프를 모두 제공합니다.

다음 섹션에서는 TensorRT 뒤에서 발생하는 세부 정보와 TensorRT가 성능 속도를 높이는 방법에 대해 설명합니다.

  1. 감소된 정밀도 정확성을 유지하면서 모델을 양자화하여 FP16 또는 INT8로 처리량을 최대화합니다.
  2. 레이어 및 텐서 융합 커널 시작 대기 시간을 피하기 위해 커널에 노드를 융합하여 GPU 메모리 및 대역폭 사용을 최적화합니다.
  3. 커널 자동 조정 대상 GPU 플랫폼 및 데이터 커널 모양을 기반으로 최상의 데이터 계층 및 알고리즘을 선택합니다.
  4. 동적 텐서 메모리 중간 결과의 불필요한 메모리 소비를 제거하여 메모리 공간을 최소화하고 텐서용 메모리를 효율적으로 재사용합니다.
  5. 멀티스트림 실행 확장 가능한 디자인을 사용하여 전용 CUDA 스트림과 병렬로 여러 입력 스트림을 처리합니다.
  6. 시간 융합 동적으로 생성된 커널을 사용하여 시간 단계에 따라 순환 신경망을 최적화합니다.

T5는 트랜스포머 레이어를 아키텍처의 빌딩 블록으로 사용합니다. NVIDIA TensorRT 8.2의 최신 릴리스에는 실시간 추론을 위한 T5 및 GPT-2 모델에 대한 새로운 최적화가 도입되었습니다. 다음 표에서는 NVIDIA A5G GPU로 구동되는 NVIDIA T2 GPU 및 EC4 G4 인스턴스로 구동되는 Amazon EC2G5dn 인스턴스에서 실행되는 일부 퍼블릭 T10 모델에서 TensorRT를 사용한 속도 향상을 확인할 수 있습니다.

 

모델 기준 Pytorch 지연 시간(ms) TensorRT 8.2 지연 시간(ms) 속도 향상 대 HF 기준선
FP32 FP32 FP16 FP32 FP16
인코더 디코더 끝으로 종료 인코더 디코더 끝으로 종료 인코더 디코더 끝으로 종료 끝으로 종료 끝으로 종료
t5-작은 g4dn.xlarge 5.98 9.74 30.71 1.28 2.25 7.54 0.93 1.59 5.91 407.40% 519.34%
g5.xlarge 4.63 7.56 24.22 0.61 1.05 3.99 0.47 0.80 3.19 606.66% 760.01%
t5 기반 g4dn.xlarge 11.61 19.05 78.44 3.18 5.45 19.59 3.15 2.96 13.76 400.48% 569.97%
g5.xlarge 8.59 14.23 59.98 1.55 2.47 11.32 1.54 1.65 8.46 530.05% 709.20%

첨부된 성능의 최적화 및 복제에 대한 자세한 내용은 다음을 참조하십시오. NVIDIA TensorRT로 실시간 추론을 위해 T5 및 GPT-2 최적화.

컴파일은 증류나 가지치기와 같은 가중치 제거 압축과 달리 추론 환경과 계산 스케줄링에서 작동하므로 모델 과학을 변경하지 않고 모델 정확도를 유지한다는 점에 유의하는 것이 중요합니다. NVIDIA TensorRT를 사용하면 컴파일과 양자화를 결합하여 추가 이득을 얻을 수 있습니다. 양자화는 최신 NVIDIA 하드웨어에서 두 가지 이점을 제공합니다. 메모리 사용량을 줄이고 혼합 정밀도로 융합 매트릭스 곱셈 추가를 실행하는 DL 특정 셀인 NVIDIA Tensor 코어의 사용을 가능하게 합니다.

Hugging Face T5 모델을 사용한 Amazon Search 실험의 경우 모델 추론을 위해 PyTorch를 TensorRT로 교체하면 속도가 534% 증가합니다.

NVIDIA Triton: 짧은 대기 시간, 높은 처리량의 추론 제공

최신 모델 제공 솔루션은 오프라인 학습 모델을 고객 대면 ML 기반 제품으로 변환할 수 있습니다. 이러한 규모에서 합리적인 비용을 유지하려면 서비스 오버헤드(HTTP 처리, 전처리 및 후처리, CPU-GPU 통신)를 낮게 유지하고 GPU의 병렬 처리 기능을 최대한 활용하는 것이 중요합니다.

NVIDIA Triton은 모델 런타임(NVIDIA TensorRT, ONNX, PyTorch, XGBoost 등)과 GPU, CPU 및 AWS 추론.

ML 실무자들은 여러 가지 이유로 Triton을 좋아합니다. 동적 일괄 처리 기능을 사용하면 사용자 정의 지연 동안 최대 사용자 정의 일괄 처리 크기 내에서 추론 요청을 누적할 수 있으므로 GPU 추론이 일괄 처리되어 CPU-GPU 통신 오버헤드를 상각할 수 있습니다. 동적 일괄 처리는 서버 측에서 매우 짧은 시간 프레임 내에 발생하므로 요청하는 클라이언트가 여전히 동기식에 가까운 실시간 호출 환경을 갖습니다. Triton 사용자는 또한 동시 모델 실행 용량을 즐깁니다. GPU는 컴퓨팅 집약적 워크로드를 병렬로 실행하는 데 탁월한 강력한 멀티태스커입니다. Triton은 CUDA 스트림을 사용하여 여러 모델 인스턴스를 동시에 실행함으로써 GPU 활용도와 처리량을 극대화합니다. 이러한 모델 인스턴스는 다른 사용 사례에 대한 다른 프레임워크의 다른 모델이거나 동일한 모델의 직접 복사본일 수 있습니다. 이는 유휴 GPU 메모리가 충분할 때 직접적인 처리량 향상으로 해석됩니다. 또한 Triton은 특정 DL 개발 프레임워크에 얽매이지 않기 때문에 과학자가 선택한 도구에서 자신을 완전히 표현할 수 있습니다.

AWS의 Triton을 통해 Amazon Search는 더 나은 서비스를 제공할 것으로 기대합니다. Amazon.com 저렴한 비용으로 대기 시간 요구 사항을 충족합니다. TensorRT 런타임과 Triton 서버 간의 긴밀한 통합은 개발 경험을 용이하게 합니다. AWS 클라우드 인프라를 사용하면 높은 기준 또는 안정성 및 보안을 유지하면서 처리량 요구 사항에 따라 몇 분 만에 확장 또는 축소할 수 있습니다.

AWS가 진입 장벽을 낮추는 방법

Amazon Search가 Amazon EC2 인프라에서 이 실험을 수행하는 동안 다른 AWS 서비스는 최첨단 딥 러닝 솔루션의 개발, 교육 및 호스팅을 용이하게 하기 위해 존재합니다.

예를 들어 AWS와 NVIDIA는 협력하여 Triton Inference Server의 관리형 구현을 출시했습니다. 아마존 세이지 메이커 ; 자세한 내용은 Amazon SageMaker의 NVIDIA Triton 추론 서버로 빠르고 확장 가능한 AI 배포. 또한 AWS는 Hugging Face와 협력하여 Amazon SageMaker와 Amazon Search T5 모델이 파생된 오픈 소스 프레임워크인 Hugging Face Transformers 간의 최적화된 관리형 통합을 개발했습니다. 에서 더 읽어보기 https://aws.amazon.com/machine-learning/hugging-face/.

지연 시간에 민감한 CPU 및 GPU 딥 러닝 서비스 애플리케이션을 사용하는 고객은 AWS에서 NVIDIA TensorRT 및 Triton을 고려할 것을 권장합니다. 무엇을 구축했는지 알려주십시오!

딥 러닝 및 Amazon Search용 딥 러닝 기반 솔루션 구축에 열정이 있습니까? 우리의 채용 페이지.


저자에 관하여

RJ 교육 및 추론을 위한 대규모 딥 러닝 시스템 구축을 주도하는 Search M5 팀의 엔지니어입니다. 직장 밖에서 그는 다양한 음식 요리를 탐구하고 라켓 스포츠를 합니다.

헤만트 푸갈리야 Search M5의 응용 과학자입니다. 그는 최신 자연어 처리 및 딥 러닝 연구를 적용하여 전 세계 Amazon 쇼핑에 대한 고객 경험을 개선하기 위해 노력하고 있습니다. 그의 연구 관심 분야는 자연어 처리 및 대규모 기계 학습 시스템입니다. 일 외에는 하이킹, 요리, 독서를 즐깁니다.

앤디 선 검색 맞춤법 교정을 위한 소프트웨어 엔지니어이자 기술 책임자입니다. 그의 연구 관심 분야에는 딥 러닝 추론 대기 시간 최적화 및 신속한 실험 플랫폼 구축이 포함됩니다. 일 외에는 영화 제작과 곡예를 즐깁니다.

르까이 Amazon Search의 소프트웨어 엔지니어입니다. 그는 고객의 쇼핑 경험을 돕기 위해 검색 맞춤법 수정 성능을 개선하기 위해 노력하고 있습니다. 그는 딥 러닝 모델을 위한 고성능 온라인 추론 및 분산 훈련 최적화에 중점을 두고 있습니다. 일 외에는 스키, 하이킹, 사이클링을 즐깁니다.

앤서니 고 현재 Search M5 Palo Alto, CA에서 소프트웨어 엔지니어로 일하고 있습니다. 그는 모델 배포 및 추론 최적화를 위한 도구와 제품을 구축하는 일을 하고 있습니다. 일 외에는 요리와 라켓 스포츠를 즐깁니다.

올리비에 크루 샹 프랑스에 기반을 둔 AWS의 기계 학습 전문가 솔루션 아키텍트입니다. Olivier는 소규모 신생 기업에서 대기업에 이르기까지 AWS 고객이 프로덕션 수준의 기계 학습 애플리케이션을 개발하고 배포할 수 있도록 지원합니다. 여가 시간에는 연구 논문을 읽고 친구 및 가족과 함께 황야를 탐험하는 것을 즐깁니다.

아니 쉬 모한 NVIDIA의 기계 학습 설계자이자 시애틀 광역 지역의 고객과 ML 및 DL 계약을 위한 기술 책임자입니다.

리우 지아 홍 NVIDIA 클라우드 서비스 제공업체 팀의 솔루션 설계자입니다. 그는 교육 및 추론 문제를 해결하기 위해 NVIDIA 가속 컴퓨팅을 활용하는 기계 학습 및 AI 솔루션을 채택하는 고객을 지원합니다. 여가 시간에는 종이접기, DIY 프로젝트, 농구를 즐깁니다.

엘리우스 트리아나 NVIDIA의 개발자 관계 관리자입니다. 그는 Amazon 및 AWS 제품 리더, 개발자 및 과학자를 NVIDIA 기술자 및 제품 리더와 연결하여 Amazon ML/DL 워크로드, EC2 제품 및 AWS AI 서비스를 가속화합니다. 또한 Eliuth는 열정적인 산악 자전거 타는 사람, 스키 선수 및 포커 플레이어입니다.

spot_img

최신 인텔리전스

spot_img