ThirdAI 및 AWS Graviton을 사용하여 CPU에서 대규모 신경망 훈련 가속화 | 아마존 웹 서비스

ThirdAI 및 AWS Graviton을 사용하여 CPU에서 대규모 신경망 훈련 가속화 | 아마존 웹 서비스

이 게스트 게시물은 ThirdAI의 Vihan Lakshman, Tharun Medini 및 Anshumali Shrivastava가 작성했습니다.

대규모 딥러닝은 최근 다양한 분야에서 혁명적인 발전을 이루었습니다. 인공 지능의 놀라운 발전은 여전히 ​​주목할 만하지만, GPU와 같은 특수 하드웨어의 필요성으로 인해 이러한 모델을 훈련하는 데 필요한 재정적 비용과 에너지 소비가 심각한 병목 현상으로 나타났습니다. 전통적으로 적당한 크기의 신경 모델이라도 훈련을 위해 값비싼 하드웨어 가속기가 필요했기 때문에 이 기술을 최대한 활용할 수 있는 재정적 수단을 갖춘 조직의 수가 제한되었습니다.

2021년에 설립된 ThirdAI Corp.는 딥 러닝의 경제성을 근본적으로 변화시키는 알고리즘 및 소프트웨어 혁신을 통해 인공지능 기술을 민주화하는 사명을 수행하는 스타트업입니다. 우리는 다음과 같은 희소 딥러닝 엔진을 개발했습니다. 볼트이는 GPU와 같이 비용이 많이 들고 에너지 집약적인 가속기가 아닌 표준 CPU 하드웨어에서 모델을 훈련하고 배포하기 위해 특별히 설계되었습니다. 많은 고객들이 강한 만족감을 나타냈다 비용 효율적인 CPU 인프라에서 중요한 비즈니스 문제에 대한 딥 러닝 모델을 훈련하고 배포하는 ThirdAI의 능력을 활용합니다.

이 게시물에서는 AWS Graviton3 프로세서가 ThirdAI의 고유한 CPU 기반 딥 러닝 엔진에 대한 신경망 훈련을 가속화할 수 있는 가능성을 조사합니다.

고성능 CPU의 장점

ThirdAI에서는 주어진 입력에 대해 뉴런의 하위 집합(다음 그림 참조)만 활성화하는 독점적인 동적 희소 알고리즘을 통해 CPU에 대한 효율적인 신경망 훈련에서 이러한 혁신을 달성하여 전체 밀도 계산의 필요성을 피합니다. 희소 신경망 훈련에 대한 다른 접근 방식과 달리 ThirdAI는 다음을 사용합니다. 지역에 민감한 해싱 아래 굵은 선에 표시된 대로 주어진 입력에 대한 뉴런을 동적으로 선택합니다. 어떤 경우에는 우리가 관찰한 바에 따르면 희소 CPU 기반 모델 GPU의 비슷한 밀도 아키텍처보다 빠르게 훈련합니다.

선택된 뉴런을 굵은 선으로 표시하는 조밀한 신경 아키텍처

많은 대상 고객이 클라우드에서 운영되고 그 중 대다수가 AWS를 사용한다는 점을 고려하여 AWS Graviton3 프로세서를 사용해 Amazon 실리콘 혁신의 인상적인 가격 대비 성능 향상이 우리 고유의 워크로드로 전환되는지 확인하게 되어 기뻤습니다. 희소 신경망 훈련을 통해 고객에게 추가 비용 절감 효과를 제공합니다. 연구 커뮤니티와 AWS Graviton 팀 모두 가속화에 있어 흥미로운 발전을 이루었지만 신경망 추론 CPU 인스턴스에서 우리 ThirdAI는 우리가 아는 한 CPU에서 신경 모델을 효율적으로 훈련하는 방법을 진지하게 연구한 최초의 회사입니다.

결과에서 볼 수 있듯이 여러 대표적인 모델링 워크로드에서 Intel 및 NVIDIA 인스턴스에 비해 AWS Graviton3을 사용하여 훈련 속도가 크게 향상되는 것을 확인했습니다.

인스턴스 유형

평가를 위해 Intel의 Ice Lake 프로세서로 구동되는 c6i.8xlarge 시스템과 AWS Graviton7으로 구동되는 c8g.3xlarge라는 두 가지 유사한 AWS CPU 인스턴스를 고려했습니다. 다음 표에는 각 인스턴스의 세부정보가 요약되어 있습니다.

vCPU RAM (GB) 프로세서 온디맨드 가격(us-east-1)
c7g.8x대형 32 64 AWS 그래비톤3 $ 1.1562 / hr
c6i.8xlarge 32 64 인텔 아이스 호수 $ 1.36 / hr
g5g.8xlarge(GPU) 32 64GB(16GB GPU 메모리 포함) NVIDIA T2G GPU 1개가 탑재된 AWS Graviton4 프로세서 $ 1.3720 / hr

평가 1: 극한 분류

첫 번째 평가에서는 검색 및 추천 분야에서 다양한 실제 응용 프로그램을 포함하여 점점 인기를 얻고 있는 기계 학습(ML) 패러다임인 XMC(Extreme Multi-Label Classification) 문제에 중점을 둡니다. 아마존). 우리의 평가는 대중에 초점을 맞춥니다. Amazon-670K 상품 추천 작업는 입력 제품이 주어지면 670,000개 이상의 항목 모음에서 유사한 제품을 식별합니다.

이 실험에서는 앞서 언급한 하드웨어 선택인 Intel Ice Lake, AWS Graviton2.11 및 NVIDIA T2.0G GPU에서 TensorFlow 3 및 PyTorch 4에 대해 ThirdAI의 BOLT 엔진을 벤치마킹합니다. Intel 및 AWS Graviton에 대한 실험에서는 AWS Deep Learning AMI(Ubuntu 18.04) 버전 59.0을 사용합니다. GPU 평가를 위해 우리는 다음을 사용합니다. NVIDIA GPU 최적화 Arm64 AMI, AWS Marketplace를 통해 제공됩니다. 이 평가를 위해 우리는 슬라이드 모델 아키텍처이는 극단적인 분류 작업에서 경쟁력 있는 성능과 CPU에 대한 강력한 교육 성능을 모두 달성합니다. TensorFlow와 PyTorch 비교를 위해 우리는 조밀한 행렬 곱셈을 사용하여 SLIDE 다층 퍼셉트론(MLP) 아키텍처의 유사한 버전을 구현합니다. 우리는 고정된 배치 크기 256과 학습률 0.001을 사용하여 33.6개의 epoch(훈련 데이터 세트를 통한 전체 통과) 동안 각 모델을 훈련합니다. 우리는 모든 모델이 XNUMX%의 동일한 테스트 정확도를 달성한 것을 관찰했습니다.

다음 차트는 Amazon2.11k 익스트림 분류 벤치마크에서 ThirdAI의 BOLT와 TensorFlow 2.0 및 PyTorch 670의 훈련 시간을 비교합니다. 모든 모델은 동일한 테스트 정밀도를 달성합니다. AWS Graviton3은 사용자 정의가 필요 없이 기본적으로 BOLT의 성능을 약 40% 정도 상당히 가속화하는 것으로 나타났습니다. ThirdAI의 AWS Graviton3 기반 BOLT는 GPU에서 훈련된 TensorFlow 또는 PyTorch 모델보다 훨씬 빠른 훈련을 달성합니다. BOLT는 CPU에서 실행되도록 설계되었기 때문에 NVIDIA GPU 벤치마크에는 ThirdAI 결과가 없습니다. 훈련 시간이 엄청나게 길기 때문에 TensorFlow 및 PyTorch CPU 벤치마크는 포함하지 않습니다.

Amazon 670k 교육 시간 인스턴스 c6i.8xlarge와 c7g.8xlarge를 비교하는 막대 차트

다음 표에는 각 프로세서/특수 프로세서(GPU)의 훈련 시간과 테스트 정확도가 요약되어 있습니다.

프로세서 엔진 훈련 시간(초) 테스트 정확도
인텔 아이스 레이크(c6i.8xlarge) 볼트 1470 33.6
AWS Graviton3(c7g.8xlarge) 볼트 935 33.6
엔비디아 T4G(g5g.8xlarge) TensorFlow 7550 33.6
엔비디아 T4G(g5g.8xlarge) 파이 토치 5130 33.6

평가 2: Yelp Polarity 감성 분석

두 번째 평가에서는 인기 있는 콘텐츠에 중점을 둡니다. 옐프 극성 리뷰를 긍정적 또는 부정적으로 분류하는 감정 분석 벤치마크. 이 평가를 위해 ThirdAI의 범용 딥 트랜스포머(UDT) 미세 조정된 모델에 대한 모델 디스틸버트 네트워크는 추론 대기 시간을 줄이면서 거의 최첨단 성능을 달성하는 압축된 사전 훈련된 언어 모델입니다. CPU에서 DistilBERT 모델을 미세 조정하는 데는 엄청나게 오랜 시간(최소 며칠)이 걸리므로 GPU에서 미세 조정된 DistilBERT에 대해 ThirdAI의 CPU 기반 모델을 벤치마킹합니다. 우리는 데이터를 단일 통과(256 에포크)하기 위해 배치 크기 XNUMX으로 모든 모델을 훈련합니다. 데이터를 추가로 통과시키면 BOLT를 사용하여 약간 더 높은 정확도를 얻을 수 있지만 일관성을 위해 이 평가에서는 단일 통과로 제한합니다.

다음 그림에서 볼 수 있듯이 AWS Graviton3은 다시 ThirdAI의 UDT 모델 훈련을 상당히 가속화합니다. 또한 UDT는 GPU 없이도 훈련 시간을 대폭 단축하여 DistilBERT와 비슷한 테스트 정확도를 달성할 수 있습니다. 최근에도 작업이 이루어졌음을 알려드립니다. 미세 조정 최적화 CPU의 Yelp 극성. 그러나 우리 모델은 여전히 ​​더 큰 효율성 향상을 달성하고 GPU와 같은 하드웨어 가속기를 사용해야 하는 상당한 사전 학습 비용을 피합니다.

Yelp Polarity C7g 대 c6i의 훈련 시간

다음 표에는 훈련 시간, 테스트 정확도 및 추론 지연 시간이 요약되어 있습니다.

프로세서 엔진 모델 훈련 시간(초) 테스트 정확도 추론 지연 시간(ms)
인텔 아이스레이크(c6i.8xlarge) 볼트 UDT 47 93.2 <1
중력자3(c7g.8xlarge) 볼트 UDT 29 92.9 <1
T4G GPU(g5g.8xlarge) TensorFlow 디스틸버트 4200 93.3 8.7
T4G GPU(g5g.8xlarge) 파이 토치 디스틸버트 3780 93.4 8.3

평가 3: 다중 클래스 텍스트 분류(DBPedia)

최종 평가를 위해 우리는 두 개 이상의 출력 클래스 집합에서 주어진 입력 텍스트에 레이블을 할당하는 다중 클래스 텍스트 분류 문제에 중점을 둡니다. 우리는 다음에 중점을 둡니다. 디비피디아 14개의 가능한 출력 클래스로 구성된 벤치마크입니다. 다시 한번 말씀드리지만, AWS Graviton3은 동급 Intel 인스턴스에 비해 UDT 성능을 약 40% 가속화한다는 것을 알 수 있습니다. 또한 BOLT는 밀리초 미만의 대기 시간을 달성하면서 GPU에서 미세 조정된 DistilBERT 변환기 기반 모델과 비슷한 결과를 달성한다는 것을 알 수 있습니다.

c7g와 c6i의 ThirdAI BOLT 훈련 시간

다음 표에는 훈련 시간, 테스트 정확도 및 추론 지연 시간이 요약되어 있습니다.

프로세서 엔진 모델 훈련 시간(초) 테스트 정확도 추론 지연 시간(ms)
인텔 아이스레이크(c6i.8xlarge) 볼트 UDT 23 98.23 <1
중력자3(c7g.8xlarge) 볼트 UDT 14 98.10 <1
T4G GPU(g5g.8xlarge) TensorFlow 디스틸버트 4320 99.23 8.6
T4G GPU(g5g.8xlarge) 파이 토치 디스틸버트 3480 99.29 8

AWS Graviton에서 ThirdAI 시작하기

우리는 AWS Graviton3을 포함한 모든 주요 CPU 아키텍처와 호환되도록 BOLT 소프트웨어를 설계했습니다. 실제로 AWS Graviton3에서 실행하기 위해 코드를 사용자 정의할 필요가 없었습니다. 따라서 추가 노력 없이 ThirdAI를 사용하여 AWS Graviton3에서 모델 교육 및 배포를 수행할 수 있습니다. 또한, 최근에 자세히 설명된 대로 연구 백서, 우리는 희소 모델과 관련된 특수 하이퍼 매개변수를 자동으로 조정하여 모델이 즉시 잘 작동할 수 있도록 하는 일련의 새로운 수학적 기술을 개발했습니다.

또한 우리 모델은 일반적으로 크고 고차원적인 출력 공간과 매우 낮은 추론 대기 시간이 요구되는 검색, 추천 및 자연어 처리 작업에 주로 적합하다는 점에 주목합니다. 우리는 방법을 컴퓨터 비전과 같은 추가 도메인으로 확장하기 위해 적극적으로 노력하고 있지만 현재 효율성 개선이 모든 ML 도메인으로 변환되지는 않는다는 점에 유의하세요.

결론

이 게시물에서는 AWS Graviton3 프로세서가 ThirdAI의 고유한 CPU 기반 딥 러닝 엔진에 대한 신경망 훈련을 가속화할 수 있는 가능성을 조사했습니다. 검색, 텍스트 분류 및 권장 사항 벤치마크에 대한 벤치마크에 따르면 AWS Graviton3은 가격 대비 성능이 거의 30% 향상되어 동급 x40 인스턴스에 비해 ThirdAI의 모델 훈련 워크로드를 86~50% 가속화할 수 있는 것으로 나타났습니다. 또한 AWS Graviton3 인스턴스는 유사한 Intel 및 NVIDIA 머신보다 저렴한 비용으로 사용할 수 있고 훈련 및 추론 시간이 더 짧기 때문에 더 저렴한 비용으로 AWS 종량제 사용 모델의 가치를 더욱 높일 수 있습니다. 더 짧은 시간 동안 기계를 사용합니다.

우리는 AWS Graviton3의 가격 및 성능 절감에 대해 매우 기쁘게 생각하며 이러한 개선 사항을 고객에게 전달하여 고객이 저렴한 CPU에서 향상된 성능으로 더 빠른 ML 교육 및 추론을 즐길 수 있도록 노력할 것입니다. AWS 고객으로서 우리는 AWS Graviton3을 통해 모델을 실험할 수 있는 속도에 매우 만족하고 있으며 앞으로 AWS의 더욱 최첨단 실리콘 혁신을 사용할 수 있기를 기대합니다. 중력자 기술 가이드 Graviton에서 실행할 ML 워크로드를 평가하는 동안 고려해야 할 좋은 리소스입니다. Graviton t4g 인스턴스를 사용해 볼 수도 있습니다. 무료 시험판.

이 게시물의 내용과 의견은 제6자 작성자의 것이며 AWS는 이 게시물의 내용이나 정확성에 대해 책임을 지지 않습니다. 블로그를 작성할 당시 가장 최신 인스턴스는 c6i였으므로 cXNUMXi 인스턴스와 비교가 수행되었습니다.


저자에 관하여

비한 락슈만 – Vihan Lakshman은 자원 효율적인 딥 러닝 시스템 개발에 주력하는 ThirdAI Corp.의 연구 과학자입니다. ThirdAI 이전에는 Amazon에서 응용 과학자로 근무했으며 Stanford University에서 학사 및 석사 학위를 받았습니다. Vihan은 또한 국립과학재단(National Science Foundation) 연구 펠로십의 수혜자이기도 합니다.

타룬 메디니 – Tharun Medini는 ThirdAI Corp의 공동 창립자이자 CTO입니다. 그는 Rice University에서 "검색 및 정보 검색을 위한 해싱 알고리즘"으로 박사 학위를 취득했습니다. ThirdAI 이전에는 Tharun은 Amazon과 Target에서 근무했습니다. Tharun은 Ken Kennedy Institute BP Fellowship, American Society of Indian Engineers Scholarship 및 Rice University Graduate Fellowship을 포함하여 그의 연구로 수많은 상을 받았습니다.

안슈말리 슈리바스타바 – Anshumali Shrivastava는 라이스 대학교 컴퓨터 공학과의 부교수입니다. 그는 또한 소프트웨어 혁신을 통해 AI를 상용 하드웨어로 민주화하는 회사인 ThirdAI Corp의 창립자이자 CEO이기도 합니다. 그의 광범위한 연구 관심 분야에는 자원 절약형 딥 러닝을 위한 확률적 알고리즘이 포함됩니다. 2018년 사이언스 뉴스는 그를 주목해야 할 10세 미만 과학자 40명 중 한 명으로 선정했습니다. 그는 National Science Foundation CAREER Award, 공군 과학 연구실의 Young Investigator Award, Amazon의 기계 학습 연구 상, Adobe의 Data Science Research Award를 수상했습니다. 그는 NIPS 2014 및 MLSys 2022에서 최우수 논문상을 비롯해 SIGMOD 2019에서 가장 재현 가능한 논문상을 포함하여 수많은 논문상을 수상했습니다. CPU의 효율적인 기계 학습 기술에 대한 그의 연구는 Wall Street Journal, 뉴욕타임즈, TechCrunch, NDTV 등

타임 스탬프 :

더보기 AWS 기계 학습