AWS Neuron이란 무엇인가요?
AWS Neuron은 AWS Inferentia 및 AWS Trainium 기반 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 딥 러닝 및 생성형 AI 워크로드를 실행하는 데 사용되는 소프트웨어 개발 키트(SDK)입니다. 여기에는 컴파일러, 런타임, 훈련 및 추론 라이브러리, 모니터링, 프로파일링 및 디버깅을 위한 개발자 도구가 포함됩니다. Neuron은 딥 러닝 및 AI 모델 구축 및 배포, 최고 성능 및 최저 비용을 달성하기 위한 최적화, 모델 동작에 대한 심층적인 인사이트 확보 등 엔드 투 엔드 기계 학습(ML) 개발 수명 주기를 지원합니다.
인기 있는 ML 프레임워크 및 라이브러리와의 기본 통합
Neuron은 PyTorch 및 JAX 그리고 Hugging Face Optimum Neuron, PyTorch Lightning, AXLearn과 같은 필수 ML 라이브러리와 기본적으로 통합됩니다. 또한 Neuron은 StableHLO 및 GSPMD를 포함한 OpenXLA를 지원하므로 PyTorch/XLA 및 JAX 개발자가 Neuron의 Inferentia 및 Trainium에 대한 컴파일러 최적화를 사용할 수 있습니다. Neuron을 사용하면 Amazon SageMaker, Amazon EKS, Amazon ECS, AWS ParallelCluster, AWS Batch와 같은 서비스뿐 아니라 Ray(Anyscale), Domino Data Lab, Datadog, Weights & Biases와 같은 서드 파티 서비스와 함께 Trainium 및 Inferentia 기반 인스턴스를 사용할 수 있습니다.
분산 훈련 및 추론 라이브러리
Neuron에는 오픈 소스 PyTorch 라이브러리인 NxD Training 및 NxD Inference를 사용하는 분산 훈련 및 추론을 위한 기본 최적화 기능이 포함되어 있습니다. NxD Training은 대규모 분산 훈련을 단순화 및 최적화하고 다양한 모델 아키텍처, 병렬 처리 전략, 훈련 워크플로를 지원합니다. NxD Training은 온디바이스 샘플링, QKV 가중치 결합, 연속 배칭, 추측 디코딩, 동적 버킷팅, 분산 추론과 같은 주요 기능을 사용하여 최적화된 모델 추론을 위한 포괄적인 솔루션을 제공합니다. 또한 NxD Inference는 vLLM, Hugging Face TGI와 같은 서빙 솔루션과도 통합됩니다. 둘 다 서로 다른 모델 아키텍처를 위한 모델 허브를 포함합니다.
고급 응용 과학 기능
Neuron은 과학자와 연구자가 Trainium 및 Inferentia를 기반으로 오픈 소스 AI 연구 및 혁신의 경계를 넓힐 수 있도록 지원하는 몇 가지 응용 과학 기능을 갖추고 있습니다. Neuron Kernel Interface(NKI)는 Trainium 및 Inferentia에서 사용할 수 있는 하드웨어 프리미티브 및 지침에 대한 직접적인 액세스 권한을 제공하여 연구진이 최적의 성능을 위해 컴퓨팅 커널을 구축하고 조정할 수 있도록 합니다. 이는 일반적으로 사용되는 Triton과 같은 구문과 타일 수준 시멘틱을 도입한 Python 기반 프로그래밍 환경입니다. 연구진은 NKI를 사용하여 새로운 기능, 최적화 및 과학 혁신으로 딥 러닝 모델을 개선할 수 있습니다. Neuron의 사용자 지정 C++ 연산자를 사용하면 개발자가 Inferentia 및 Trainium에 최적화된 자체 연산자를 만들어 SDK의 기능을 확장할 수 있습니다.
강력한 개발자 도구
AWS Neuron SDK는 AWS Inferentia 및 Trainium 기반 EC2 인스턴스에서 딥 러닝 모델의 모니터링, 관리, 최적화를 위한 심층적인 인사이트를 제공하는 포괄적인 도구 세트를 제공합니다. 하드웨어 리소스, 모델 실행, 시스템 세부 정보를 모니터링하기 위한 neuron-top, neuron-monitor, Neuron Sysfs와 같은 유틸리티를 제공합니다. Kubernetes 및 EKS 기반 컨테이너식 애플리케이션의 경우, Neuron은 Amazon CloudWatch 통합 및 기타 인기 있는 관찰성 도구(예: Data Dog, Weights & Biases)를 통해 모니터링을 간소화합니다. 또한 neuron-profile 도구는 단일 노드 및 분산 애플리케이션 모두에서 성능 병목 현상을 식별하고 해결하는 데 도움이 되며, 인기 있는 ML 프레임워크에 대한 기본 프로파일링 기능을 제공합니다.