Amazon SageMaker Neo를 사용하면 개발자가 엣지에서 지원되는 디바이스 및 클라우드의 SageMaker에서 추론을 위해 기계 학습(ML) 모델을 최적화할 수 있습니다.
ML 추론은 훈련된 기계 학습 모델을 사용하여 예측하는 프로세스입니다. 높은 정확도를 위해 모델을 훈련한 후에 개발자는 높은 성능을 위해 모델을 튜닝하는 데 많은 시간과 노력을 들이곤 합니다. 클라우드에서 추론을 수행하는 경우 종종 개발자는 더 높은 처리량을 달성하기 위해 더 높은 비용을 들여 강력한 처리 기능과 많은 메모리를 제공하는 대규모 인스턴스에 의존합니다. 컴퓨팅 및 메모리가 제한된 엣지 디바이스에서 추론을 수행하는 경우 종종 개발자는 디바이스 하드웨어 제한 사항 내에서 허용 가능한 성능을 달성하기 위해 수개월에 걸쳐 수동으로 모델을 튜닝할 수도 있습니다.
Amazon SageMaker Neo는 클라우드 인스턴스 및 엣지 디바이스에서의 추론을 위해 기계 학습 모델을 자동으로 최적화하여 정확도를 떨어뜨리지 않고도 빠른 실행 속도를 지원합니다. DarkNet, Keras, MXNet, PyTorch, TensorFlow, TensorFlow-Lite, ONNX 또는 XGBoost에 이미 구축되어 Amazon SageMaker나 다른 위치에서 훈련된 기계 학습 모델부터 시작해볼 수 있습니다. 그런 다음, 대상 하드웨어 플랫폼을 선택합니다. SageMaker 호스팅 인스턴스나 Ambarella, Apple, ARM, 인텔, MediaTek, Nvidia, NXP, Qualcomm, RockChip 또는 Texas Instruments의 프로세서에 기반한 엣지 디바이스가 이에 해당할 수 있습니다. 한 번만 클릭하면 SageMaker Neo에서 훈련된 모델을 최적화하고 실행 파일로 컴파일합니다. 컴파일러는 기계 학습 모델을 사용하여 클라우드 인스턴스 또는 엣지 디바이스에서 모델의 최고 가용 성능을 끌어낼 수 있는 성능 최적화를 적용합니다. 그리고, SageMaker 엔드포인트 또는 지원되는 엣지 디바이스로 모델을 배포하고 예측을 시작합니다.
클라우드에서 추론하는 경우 SageMaker Neo는 SageMaker 호스팅에서 추론이 최적화된 컨테이너를 생성하여 추론 속도를 가속화하고 비용을 절감합니다. 엣지에서 추론하는 경우 SageMaker Neo는 선택한 운영 체제 및 프로세서 하드웨어에 대한 모델을 자동으로 튜닝하여 개발자는 수개월에 걸친 수동 튜닝에서 벗어날 수 있습니다.
Amazon SageMaker Neo는 Apache TVM 및 파트너가 제공하는 컴파일러 및 가속화 라이브러리를 사용하여 지정된 모델 및 하드웨어 대상에 대해 최상의 가용 플랫폼을 제공합니다. AWS는 Apache 소프트웨어 라이선스를 통해 Apache TVM 프로젝트에 컴파일러 코드를 제공하고 Neo-AI 오픈 소스 프로젝트에 런타임 코드를 제공하여 프로세서 공급업체와 디바이스 제작자가 공통된 초소형 런타임에서 빠르게 혁신할 수 있도록 지원합니다.
작동 방식
이점
성능 최대 25배 개선
Amazon SageMaker Neo는 기계 학습 모델을 자동으로 최적화하여 정확도 손실 없이 최대 25배 빠른 성능을 제공합니다. SageMaker Neo는 모델 및 대상 하드웨어 플랫폼에 가장 적합한 도구 체인을 사용하며, 모델 컴파일을 위해 간단한 표준 API를 제공합니다.
런타임 풋프린트 1/10 미만으로 절감
Amazon SageMaker Neo 런타임은 TensorFlow 또는 PyTorch와 같은 딥 러닝 프레임워크 풋프린트의 1/10 수준만큼만 소비합니다. 대상 하드웨어에 프레임워크를 설치하는 대신, 소형 Neo 런타임 라이브러리를 ML 애플리케이션에 로드하기 때문입니다. 그리고 TensorFlow-Lite와 같은 소형 프레임워크와 달리, Neo 런타임은 Neo 컴파일러에서 지원하는 모든 유형의 프레임워크에서 훈련된 모델을 실행할 수 있습니다.
프로덕션으로 보다 빠른 이전
Amazon SageMaker Neo를 사용하면 Amazon SageMaker 콘솔에서 몇 번의 클릭으로 거의 모든 종류의 하드웨어 플랫폼에 배포할 수 있도록 모델을 손쉽게 준비할 수 있습니다. 거의 노력을 들이지 않고도 수동 튜닝의 모든 이점을 얻을 수 있습니다.
주요 기능
정확도를 떨어뜨리지 않고도 추론 최적화
Amazon SageMaker Neo는 기계 학습 컴파일에서 연구 중심의 기술을 사용하여 대상 하드웨어에 맞게 모델을 최적화합니다. 이러한 체계적인 최적화 기술을 자동으로 적용하므로 SageMaker Neo는 정확도를 떨어뜨리지 않고도 모델을 가속화합니다.
널리 사용되는 기계 학습 프레임워크 지원
Amazon SageMaker Neo는 DarkNet, Keras, MXNet, PyTorch, TensorFlow, TensorFlow-Lite, ONNX 또는 XGBoost의 프레임워크별 형식에서 공통 표시로 모델을 변환하고 계산을 최적화하며 대상 SageMaker 호스팅 인스턴스나 엣지 디바이스에 적합한 하드웨어별 실행 파일을 생성합니다.
표준 API를 사용하는 소형 런타임 제공
Amazon SageMaker Neo 런타임은 1MB의 스토리지와 2MB의 메모리를 차지합니다. 이는 프레임워크의 스토리지 및 메모리 풋프린트에 비해 몇 배나 작은 수준이며, 간단한 공통 API를 제공하여 모든 종류의 프레임워크에서 생성된 컴파일된 모델을 실행할 수 있습니다.
널리 사용되는 대상 플랫폼 지원
Amazon SageMaker Neo 런타임은 Android, Linux 및 Windows 운영 체제와 Ambarella, ARM, 인텔, Nvidia, NXP, Qualcomm 및 Texas Instruments의 프로세서에서 지원됩니다. 또한 SageMaker Neo는 Apple 디바이스의 macOS, iOS, iPadOS, watchOS, tvOS에 배포할 수 있도록 PyTorch 및 TensorFlow 모델을 핵심 ML 형식으로 변환할 수도 있습니다.
Amazon SageMaker 호스팅 인스턴스에 대한 추론 최적화 컨테이너
클라우드에서 추론하는 경우 Amazon SageMaker Neo는 Neo 런타임에 통합된 MXNet, PyTorch 및 TensorFlow를 포함하는 추론 최적화 컨테이너를 제공합니다. 이전에 SageMaker Neo는 지원되지 않는 연산자를 사용하는 모델을 컴파일하지 못했습니다. 하지만 이제 SageMaker Neo는 모든 모델을 최적화하여 컴파일러가 모델의 연산자를 지원하고 프레임워크를 사용하여 컴파일되지 않은 모델의 나머지 부분도 실행할 수 있습니다. 그 결과, 추론 최적화 컨테이너에서 모든 MXNet, PyTorch 또는 TensorFlow 모델을 실행하는 동시에, 컴파일 가능한 모델에서 최고의 성능을 얻을 수 있습니다.
이기종 하드웨어를 위한 모델 파티셔닝
Amazon SageMaker Neo는 파트너가 제공하는 가속화 라이브러리를 활용하여 하드웨어 액셀러레이터 및 CPU를 포함하는 이기종 하드웨어 플랫폼에서 딥 러닝 모델에 대한 최상의 가용 성능을 지원합니다. Ambarella CV Tools, Nvidia Tensor RT, Texas Instruments와 같은 가속화 라이브러리는 각각 특정 함수 및 연산자 세트를 지원합니다. SageMaker Neo는 액셀러레이터에서 지원하는 연산자를 사용하는 부분은 액셀러레이터에서 실행하는 동시에, 모델의 나머지 부분은 CPU에서 실행하도록 모델을 자동으로 파티셔닝합니다. 이러한 방식으로 SageMaker Neo는 하드웨어 액셀러레이터를 최대한 활용하여 하드웨어에서 실행할 수 있는 모델 유형을 늘리면서 액셀러레이터가 해당 연산자를 지원하는 범위까지 모델 성능을 개선할 수 있습니다.
Amazon SageMaker INF1 인스턴스에 대한 지원
이제 Amazon SageMaker Neo는 Amazon SageMaker INF1 인스턴스 대상에 대해 모델을 컴파일합니다. SageMaker 호스팅에서는 AWS Inferentia 칩에 기반한 INF1 인스턴스에서 추론을 위한 관리형 서비스를 제공합니다. SageMaker Neo는 표준 모델 컴파일 API를 제공하는 동시에, Inferentia 프로세서에 특정한 Neuron 컴파일러를 사용하여 SageMaker INF1 인스턴스에서 배포를 위한 모델 준비 작업을 간소화할 뿐만 아니라, INF1 인스턴스에서 최상의 성능 및 비용 절감 효과를 지원할 수 있습니다.
블로그
Amazon SageMaker를 사용하여 Bayer 디지털 파밍 장치를 강화하는 데 성공
Marisa Messina | 2019년 8월 5일
Amazon SageMaker Neo를 통해 자동차에서 Pioneer 기계 학습 지원
Satadal Bhattacharjee | 2019년 6월 11일
Amazon SageMaker Neo를 통해 엣지 디바이스에서 객체 탐지 및 이미지 분류
Satadal Bhattacharjee | 2019년 6월 12일
AWS, 오픈 소스 Neo-AI 프로젝트를 개시하여 엣지 디바이스의 ML 배포 가속화
김석원 및 Vin Sharma | 2019년 1월 21일