AWS Neuron은 고성능의 비용 효율적인 딥 러닝(DL) 가속화를 지원하는 컴파일러, 런타임 및 프로파일링 도구가 포함된 SDK입니다. AWS Trainium 기반 Amazon Elastic Compute Cloud(Amazon EC2) Trn1 인스턴스에서 고성능 훈련을 지원합니다. 모델 배포의 경우 AWS Inferentia 기반 Amazon EC2 Inf1 인스턴스와 AWS Inferentia2 기반 Amazon EC2 Inf2 인스턴스에서 지연 시간이 짧은 고성능 추론을 지원합니다. Neuron을 사용하면 TensorFlow 및 PyTorch와 같은 주요 프레임워크에서 Amazon EC2 Trn1, Inf1 및 Inf2 인스턴스를 기반으로 기계 학습(ML) 모델의 최적화된 훈련 및 배포를 시작할 수 있습니다. 또한 Neuron은 코드 변경을 최소화하고 공급업체별 솔루션과 연동되도록 설계되었습니다.
이점
ML 프레임워크 및 라이브러리에 대한 기존 지원을 바탕으로 구축
Inferentia 및 Trainium 액셀러레이터를 지원하는 AWS Neuron SDK는 PyTorch 및 TensorFlow와 기본적으로 통합됩니다. 이 통합을 사용하면 이 유명한 프레임워크에서 기존 워크플로를 계속해서 사용할 수 있고 코드 몇 줄만 변경하여 시작할 수 있습니다. 분산 모델 훈련의 경우 Neuron SDK는 Megatron-LM 및 PyTorch Fully Sharded Data Parallel(FSDP)과 같은 라이브러리를 지원합니다.
훈련 및 추론에 최적화된 성능
AWS Neuron SDK를 사용하면 런타임 시 Trainium 및 Inferentia 액셀러레이터에 액세스하여 효율적인 프로그래밍을 지원할 수 있습니다. 광범위한 데이터 유형, 새로운 반올림 모드, 제어 흐름 및 사용자 지정 연산자를 지원하므로 DL 워크로드에 대한 최적의 구성을 선택할 수 있습니다. 분산 훈련의 경우 Neuron을 사용하면 Trn1 UltraClusters를 효율적으로 사용하면서 Elastic Fabric Adapter(EFA) 네트워킹을 통한 집합 컴퓨팅 연산을 지원할 수 있습니다.
향상된 디버깅 및 모니터링
Neuron은 Just-In-Time(JIT) 컴파일을 제공하여 개발자 워크플로를 가속화합니다. TensorBoard 플러그인 지원이 포함된 디버깅 및 프로파일링 도구를 제공합니다. Neuron은 eager 디버그 모드를 지원하므로 코드 사이를 손쉽게 이동하면서 연산자를 하나씩 평가할 수 있습니다. Neuron 헬퍼 도구를 사용하면 모델 온보딩 및 성능 최적화를 위한 모범 사례를 따르는 데 도움이 됩니다. 또한 Neuron에는 성능 및 사용률 인사이트를 제공하는 도구가 포함되어 있습니다.
다른 AWS 서비스와의 손쉬운 통합
AWS Deep Learning AMI 및 AWS Deep Learning Containers는 AWS Neuron으로 미리 구성되어 제공됩니다. 컨테이너식 애플리케이션을 사용하는 경우에는 Amazon Elastic Container Service(ECS), Amazon Elastic Kubernetes Service(EKS) 또는 선호하는 네이티브 컨테이너 엔진을 사용하여 Neuron을 배포할 수 있습니다. 또한 Neuron은 데이터 과학자와 개발자가 ML 모델의 구축, 훈련 및 배포에 사용할 수 있는 Amazon SageMaker를 지원합니다.
기능
스마트 파티셔닝
전반적인 성능 개선을 위해 AWS Neuron은 신경망 컴퓨팅을 자동으로 최적화하여 컴퓨팅 집약적인 태스크를 Trainium 및 Inferentia 액셀러레이터에서 실행하고 다른 태스크를 CPU에서 실행합니다.
광범위한 ML 데이터 유형
AWS Neuron은 FP32, TF32, BF16, FP16, INT8 및 구성 가능한 새로운 FP8을 지원합니다. 워크로드에 적합한 데이터 유형을 사용하면 성능을 최적화하는 동시에 정확성 목표를 달성하는 데 도움이 됩니다.
FP32 Autocasting
AWS Neuron은 높은 정밀도의 FP32 모델을 낮은 정밀도의 데이터 유형으로 자동 캐스팅하여 정확성과 성능을 최적화합니다. 자동 캐스팅을 사용하면 낮은 정밀도의 재훈련이 필요하지 않으므로 출시 시간이 단축됩니다.
확률 반올림을 기본적으로 지원
AWS Neuron은 하드웨어 가속 확률 반올림을 지원합니다. 확률 반올림을 사용하면 FP32에서 BF16으로 자동 캐스팅할 경우 BF16 속도와 FP32에 가까운 정확도로 훈련을 실행할 수 있습니다.
NeuronCore Pipeline
NeuronCore Pipeline은 자연어 처리와 같이 지연 시간에 민감한 애플리케이션을 위한 높은 처리량(throughput)의 모델 병렬 처리를 지원합니다. 이 파이프라인은 컴퓨팅 그래프를 여러 NeuronCore에 샤딩하고 각 코어의 온칩 메모리에 모델 파라미터를 캐싱합니다. 그런 다음 파이프라인 방식으로 코어 전체에 훈련 및 추론 워크로드를 스트리밍합니다.
집합 통신 연산
AWS Neuron을 사용하면 전용 하드웨어서 병렬로 다양한 집합 통신 및 컴퓨팅 작업을 실행할 수 있습니다. 이렇게 하면 분산 워크로드의 지연 시간이 짧아지고 전반적인 성능이 개선됩니다.
사용자 지정 연산자
AWS Neuron은 사용자 지정 연산자를 지원합니다. C++에서 새로운 사용자 지정 연산자를 작성하면 Neuron이 이러한 연산자를 Trainium 및 Inferentia2 인라인 단일 명령, 다중 데이터(SIMD) 코어에서 실행합니다.
Eager 디버그 모드
AWS Neuron은 eager 디버그 모드를 지원하므로 코드 사이를 손쉽게 이동하면서 연산자를 하나씩 평가할 수 있습니다.
작동 방식
확대하여 이미지 설명 읽기AWS 기계 학습 액셀러레이터
AWS Trainium 액셀러레이터
AWS Trainium은 저렴한 비용의 고성능 DL 훈련을 위해 AWS가 특별히 구축한 ML 훈련 액셀러레이터입니다. 각 AWS Trainium 액셀러레이터에는 2세대 NeuronCore 2개가 있고 FP32, TF32, BF16, FP16 및 INT8 데이터 유형을 지원합니다. 또한 구성 가능한 FP8(cFP8)도 지원하므로 범위와 정밀도 간의 적정 균형을 달성할 수 있습니다. 효율적인 데이터 및 모델 병렬 처리를 지원하기 위해 각 Trainium 액셀러레이터에는 32GB의 고대역폭 메모리가 탑재되어 있고 최대 210TFLOPS의 FP16/BF16 컴퓨팅 파워를 제공하며 인스턴스 내 초고속 비차단 인터커넥트 기술인 NeuronLink를 제공합니다.
AWS Inferentia 액셀러레이터
AWS Inferentia 및 AWS Inferentia2는 저렴한 비용으로 높은 성능의 추론을 제공하도록 AWS가 설계 및 구축한 기계 학습 추론 액셀러레이터입니다. 각 AWS Inferentia 액셀러레이터에는 4개의 1세대 NeuronCore가 있으며 FP16, BF16 및 INT8 데이터 유형을 지원합니다. 각 AWS Inferentia2 액셀러레이터에는 2개의 2세대 NeuronCores가 있으며 FP32, TF32 및 구성 가능한 새로운 FP8(cFP8) 데이터 유형을 추가로 지원합니다.
Amazon EC2 ML 인스턴스
Amazon EC2 Trn1 인스턴스
AWS Trainium 액셀러레이터로 구동되는 Amazon EC2 Trn1 인스턴스는 고성능 DL 훈련용으로 특별히 구축되었습니다. 다른 유사한 Amazon EC2 인스턴스 대비 최대 50% 저렴한 훈련 비용을 제공합니다. Trn1 인스턴스는 최대 16개의 AWS Trainium 액셀러레이터를 갖추고 있으며 최대 1600Gbps(Trn1n)의 2세대 Elastic Fabric Adapter(EFA) 네트워크 대역폭을 지원합니다.
Amazon EC2 Inf2 인스턴스
Amazon EC2 Inf2 인스턴스는 최대 12개의 AWS Inferentia2 액셀러레이터로 구동되어 Inf1 인스턴스 대비 최대 4배 더 높은 처리량(throughput)과 최대 10배 더 짧은 지연 시간을 제공합니다. Inf2 인스턴스는 Amazon EC2 최초의 추론 최적화 인스턴스로, 엑셀러레이터 간의 초고속 연결을 통한 스케일 아웃 분산 추론을 지원합니다.
Amazon EC2 Inf1 인스턴스
Amazon EC2 Inf1 인스턴스는 최대 16개의 AWS Inferentia 액셀러레이터로 구동됩니다. 이 인스턴스는 비교 가능한 Amazon EC2 인스턴스에 비해 추론당 최대 70% 저렴한 비용으로 최대 2.3배 더 많은 처리량을 제공합니다.