구축

모델 저작을 위한 관리형 노트북

Amazon SageMaker는 데이터 탐색 및 사전 처리를 위해 Jupyter 노트북을 실행하는 완전관리형 인스턴스를 제공합니다. 이러한 노트북에는 인기 있는 딥 러닝 플랫폼용 CUDA 및 cuDNN 드라이버, Anaconda 패키지, TensorFlow, Apache MXNet, Chainer 및 PyTorch용 라이브러리가 사전에 로드되어 있습니다.

클릭 한 번만으로 인기 있는 Jupyter 오픈 소스 노트북 형식을 사용하는 완전관리형 기계 학습 노트북 환경에 액세스할 수 있습니다.

이러한 노트북 작업 공간에서 인기 있는 거의 모든 라이브러리, 프레임워크, 인터페이스를 사용하여 재사용 가능한 워크플로에서 데이터를 탐색 및 시각화하고 결과를 문서화할 수 있습니다. 노트북에서 이미 Amazon S3에 저장된 자체 데이터를 가져올 수 있습니다. 또한 AWS Glue를 사용하여 Amazon RDS, Amazon DynamoDB, Amazon Redshift에서 손쉽게 S3로 데이터를 옮겨 분석할 수 있습니다. 자체 노트북을 작성 또는 가져오거나 Amazon SageMaker에 미리 로드된 여러 사전 구축된 노트북 중 하나를 사용할 수 있습니다. 사전 구축된 노트북은 모든 기본 기계 학습 알고리즘에 사용할 수 있습니다. 뿐만 아니라 일반 ML 애플리케이션과 고급 Amazon SageMaker 기능을 시작하도록 도와주는 노트북 템플릿을 사용할 수 있습니다.

일반 ML 애플리케이션용 템플릿

고급 SageMaker 기능용 템플릿

시계열 예측

기존 보유 TensorFlow, Apache MXNet 및 Chainer 컨테이너 가져오기

맞춤형 직접 마케팅

기존 보유 scikit 또는 R 알고리즘 또는 모델 가져오기

고객 이탈 예측

분산 교육에서의 데이터 샤딩

고성능 알고리즘 내장

Amazon SageMaker는 속도, 규모, 정확도에 최적화된 확장 가능한 고성능 기계 학습 알고리즘을 제공합니다. 이러한 알고리즘은 페타바이트 규모의 데이터 집합에서 교육을 수행하고, 다른 구현보다 최대 10배 빠른 성능을 제공할 수 있습니다. 교육 도중 정답이 알려지는 지도(supervised) 알고리즘 중 선택하여 모델에게 모델이 실수한 곳을 가르칠 수 있습니다. Amazon SageMaker에는 XGBoost 같은 지도 알고리즘과 선형/로지스틱 회귀 또는 분류가 포함되어 있어 추천 및 시계열 예측 문제를 해결합니다. Amazon SageMaker에는 k-평균 클러스터링과 주 성분 분석(PCA) 등을 사용하는 비지도 학습(즉, 알고리즘이 스스로 정답을 찾아야 함)에 대한 지원도 포함되어 있어 구매 행태에 따른 고객 그룹화 식별 등의 문제를 해결합니다.

Amazon SageMaker에서는 가장 일반적인 기계 학습 알고리즘을 자동으로 사용할 수 있습니다. 데이터 원본을 지정하기만 하면 데이터 분할을 위한 k-평균 클러스터링, 추천을 위한 인수 분해 머신, 시계열 예측, 선형 회귀 또는 주성분 분석을 바로 실행할 수 있습니다.  

BlazingText Word2Vec 수많은 문서에서 워드임베딩 생성을 가속화 및 확장하기 위해 Word2Vec 알고리즘의 BlazingText 구현.
DeepAR RNN(순환 신경망)을 사용해 다수의 관련 시계열에서 패턴을 학습하여 정확한 예측을 생성하는 알고리즘.
인수 분해 머신 아주 적은 양의 데이터로도 기능 사이의 모든 상호 작용을 추산할 수 있는 기능을 갖춘 모델.
Gradient Boosted Tree(XGBoost) “Extreme Gradient Boosting”의 약어인 XGBoost는 최적화된 분산형 경사 부스팅 라이브러리입니다.
이미지 분류(ResNet) 이미지 분류 시스템 개발을 위한 인기 있는 신경망.
k-평균 클러스터링 가장 간단한 ML 알고리즘 중 하나. 레이블 없는 데이터 내에서 그룹을 찾는 데 사용됩니다.

잠재 디리클레 할당(LDA)

텍스트 파일 집합에 존재하는 주 주제를 자동으로 발견하는 데 적합한 모델.
Linear Learner(분류) 선형 분류는 객체의 특징을 사용해 객체가 속하는 적절한 그룹을 식별합니다.
Linear Learner(회귀) 선형 회귀는 두 변수 사이의 선형 관계를 예측하는 데 사용됩니다.
신경 토픽 모델링(NTM) 텍스트 및 이미지 데이터 집합의 학습 주제를 위한 신경망 기반 접근 방식.
주 성분 분석(PCA) 흔히 데이터 사전 처리에 사용되는 이 알고리즘은 많은 기능의 테이블 또는 매트릭스를 가져와 보다 적은 수의 대표적 기능으로 줄입니다.
Random Cut Forest 이상 탐지를 위한 감독되지 않는 기계 학습 알고리즘.
Seqence2Sequence 기계 번역, 텍스트 요약 등에서 자주 사용되는 텍스트용 범용 인코더-디코더.
k-최근접이웃(kNN) 분류 및 회귀 문제를 처리하는 데 적합한 비모수 모델.
개체 탐지
이미지의 여러 개체를 탐지 및 분류하고 경계 상자를 배치.

이러한 알고리즘은 최적화되었기 때문에 성능이 기존 구현에서 달성할 수 있는 것보다 최대 10배 빠릅니다. 이렇게 할 수 있었던 방법 중 하나는 이러한 알고리즘이 되돌아가서 이미 봤던 데이터를 다시 보지 않아도 되도록 알고리즘을 구현하는 것입니다. 전통적으로 알고리즘은 이전 데이터를 참조하기 위해 데이터 집합을 여러 번 거슬러가는 경우가 많습니다. 작은 데이터 세트에서는 이렇게 해도 무방하지만 큰 데이터 집합의 경우, 성능 히트로 교육이 크게 느려질 수 있습니다. 단일 패스를 고려하여 설계함으로써 페타바이트 규모의 데이터 집합에서 능률적이고 비용 효율적으로 교육할 수 있습니다.

다양한 프레임워크 지원

Amazon SageMaker는 TensorFlow, Apache MXNet, Chainer 및 PyTorch를 자동으로 구성하고 최적화하므로 이러한 프레임워크를 사용하기 위해 별도로 설정 작업을 할 필요가 없습니다. AWS에서는 몇 달 내에 다른 주요 프레임워크도 추가할 예정입니다. 하지만 원하는 프레임워크를 Amazon EC2 Container Registry에 저장하는 Docker 컨테이너에 구축하면 언제든 Amazon SageMaker에서 이를 사용할 수 있습니다.

로컬에서 테스트 및 프로토타입 제작

Amazon SageMaker에서 사용하는 오픈 소스 Apache MXNetTensorflow Docker 컨테이너는 Github에 제공되어 있습니다. 이러한 컨테이너를 로컬 환경에 다운로드하고 Amazon SageMaker 학습 또는 호스팅 환경에 배포하기 전에 Amazon SageMaker Python SDK를 사용하여 스크립트를 테스트할 수 있습니다. 로컬 테스트에서 프로덕션 교육 및 호스팅으로 전환할 준비가 되면, 코드 한 줄만 바꾸면 됩니다. 

교육

원클릭 교육

Amazon SageMaker에서 교육할 준비가 되면 Amazon S3에 있는 데이터의 위치를 지정하고, 필요한 Amazon SageMaker ML 인스턴스 유형과 수량을 표시한 다음, 콘솔에서 클릭 한 번으로 시작하십시오. Amazon SageMaker는 분산 컴퓨팅 클러스터를 설정하고, 교육을 수행하며, 결과를 Amazon S3로 출력하고, 완료되면 클러스터를 삭제합니다.

Amazon SageMaker를 사용하면 모델 교육이 쉬워집니다. S3에서 데이터 위치를 지정하기만 하면 Amazon SageMaker가 알고리즘을 받아 필요에 맞게 구성된 자체 소프트웨어 정의 네트워크 내에 격리된 교육 클러스터에서 알고리즘을 실행합니다. 빠르고 효율적인 교육에 적합한 P3 GPU 인스턴스 등 인스턴스 유형을 선택하기만 하면 Amazon SageMaker가 auto-scaling 그룹에 클러스터를 생성하고, 각 노드에 EBS 볼륨을 추가하며, 데이터 파이프라인을 설정한 후, TensorFlow, MXNet, Chainer 또는 PyTorch 스크립트, Amazon 자체 알고리즘 또는 사용자 자체 컨테이너가 제공하는 사용자 알고리즘을 사용하여 교육을 시작합니다. 완료되면 Amazon SageMaker는 결과를 S3로 출력하고 클러스터를 자동으로 삭제합니다.

대규모 교육을 쉽게 수행할 수 있도록 AWS는 S3에서 교육 데이터가 스트리밍되는 방식을 최적화했습니다. API를 통해 알고리즘의 필요에 따라 모든 데이터를 클러스터의 각 노드에 보낼지 또는  Amazon SageMaker가 노드에서의 데이터 분산을 관리하도록 할지 지정할 수 있습니다.

내장 알고리즘과 결합하면 Amazon SageMaker로 가능한 교육의 확장성을 통해 교육 실행 시간과 비용을 대폭 줄일 수 있습니다.

자동 모델 튜닝

Amazon SageMaker는 수천 개의 다양한 알고리즘 파라미터 조합을 조정하여 자동으로 모델을 튜닝함으로써 모델이 산출할 수 있는 가장 정확한 예측에 도달할 수 있습니다.

정확도를 높이도록 모델을 튜닝할 때 활용할 수 있는 두 가지 수단이 있습니다. 모델에 제공하는 데이터 입력을 수정하는 것(예: 숫자의 로그 기록)과 알고리즘의 파라미터를 조정하는 것입니다. 이를 하이퍼파라미터라고 하는데, 적절한 값을 찾기가 어려울 수 있습니다. 일반적으로는 임의의 값으로 시작하여 변경 내용이 미치는 영향이 나타나기 시작하면 조정을 반복합니다. 모델에 얼마나 많은 하이퍼파라미터가 있는지에 따라 주기가 길어질 수 있습니다.

Amazon SageMaker는 교육 도중 자동 모델 튜닝을 옵션으로 제공하여 이를 간소화합니다. Amazon SageMaker는 자동으로 기계 학습을 사용하여 기계 학습 모델을 튜닝합니다. 그 원리는 다양한 데이터 형식이 모델에 미치는 효과를 학습하고 이 지식을 모델의 여러 사본에서 적용하여 가능한 최선의 결과물을 빠르게 찾는 것입니다. 개발자 또는 데이터 과학자는 모델에 공급하는 데이터의 조정에만 신경 쓰면 되므로 교육 도중 걱정해야 할 것이 크게 줄어듭니다.

자동 모델 튜닝을 시작할 때 API를 통해 교육 작업 수를 지정하기만 하면 Amazon SageMaker가 나머지 작업을 처리합니다.

배포

클릭 한 번으로 배포

높은 중복성을 위해 모델을 여러 가용 영역에 걸쳐 Auto Scaling Amazon ML 인스턴스에 클릭 한 번으로 배포할 수 있습니다. 인스턴스 유형과 원하는 최대 수 및 최소 수만 지정하면 나머지는 Amazon SageMaker가 처리합니다. Amazon SageMaker가 인스턴스를 시작하고 모델을 배포하며 애플리케이션에 대한 안전한 HTTPS 엔드포인트를 설정합니다. 짧은 지연 시간/높은 처리량 추론을 달성하기 위해서는 애플리케이션에 이 엔드포인트에 대한 API 호출만 포함하면 됩니다. 모델 변경에 더 이상 코드 변경이 필요하지 않기 때문에 이 아키텍처를 통해 몇 분 안에 새 모델을 애플리케이션에 통합할 수 있습니다.

자동 A/B 테스트

Amazon SageMaker는 모델 A/B 테스트를 자동으로 관리할 수도 있습니다. 최대 다섯 개의 모델에 트래픽을 분산하도록 엔드포인트를 구성하고 각각의 모델이 처리할 유추 호출의 백분율을 설정할 수 있습니다. 이 모두를 즉시 변경할 수 있으므로 실험을 실행해 어떤 모델이 현실에서 가장 정확한 결과를 산출하는지 결정할 수 있는 유연성이 커집니다.

Auto Scaling을 통한 완전관리형 호스팅

Amazon SageMaker는 사용자를 대신하여 프로덕션 컴퓨팅 인프라를 관리하여 상태 확인을 수행하고, 보안 패치를 적용하며, 그 밖의 일상적 유지 관리를 수행합니다. 이 모두는 기본 제공되는 Amazon CloudWatch 모니터링 및 로깅을 통해 이루어집니다.

배치 변환

배치 변환은 대규모 또는 소규모 배치 데이터에 대한 예측을 실행할 수 있게 해 줍니다. 이제 데이터 세트를 여러 데이터 청크로 분할하고 실시간 엔드포인트를 관리할 필요가 없습니다. 간단한 API를 통해 대량 데이터 레코드에 대한 예측을 요청하고 데이터를 쉽고 빠르게 변환할 수 있습니다.

 

Amazon SageMaker 요금에 대해 자세히 알아보기

요금 페이지로 이동하기
시작할 준비가 되셨습니까?
가입
질문이 있으십니까?
문의하기
페이지 콘텐츠
구축 교육 배포