발표 영상 - https://www.youtube.com/watch?v=a6XAdK1-ZBE
AWS re:Invent는 매년 신규 서비스를 통해 클라우드 기술의 미래를 조망하고, 새로운 기술을 익히고 배우는 글로벌 기술 컨퍼런스입니다. 분야별 클라우드 기술 전문가이신 AWS Hero와 함께 개발자, 아키텍트 및 데브옵스 엔지니어, 데이터과학자 및 분석가 등 직무별로 새해 주목할 만한 AWS 신규 서비스를 고객의 입장에서 생생하게 전달해 드리고자 합니다.
2. 목차
• 자기소개
• 지난 서비스 소개
• Amazon Sagemake
r
• Amazon Sagemaker Studi
o
• 신규 서비스 소개
• Amazon Sagemaker Pipeline
s
• Amazon Sagemaker Data Wrangler
• Amazon Sagemaker Feature Stor
e
• Amazon Sagemaker Clarify
5. 쉽게 생성, 비교, 히스토리 추적
가능한 실험환경 제공
Amazon
SageMaker
Experiments
Amazon
SageMaker
Notebooks
모델학습 간 실시간 디버깅 및
알림기능
Amazon
SageMaker
Debugger
배포된 모델의 성과 및 유효성 모
니터링
Amazon
SageMaker Model
Monitor
Amazon
SageMaker
Autopilot
더 빨라진 협업을 위한 Pre-built
노트북 환경 제공
제어가능한 AutoML 기능
Amazon Sagemaker Studio
머신러닝 개발을 위한 IDE (2019)
7. • 반복적인 프로세스 == 고통
• 데이터준비 -> 모델학습 -> 모델배포 -> 데이터준비 (…)
머신러닝 워크플로우 구축의 어려운점
Feature
Engineering
Prototyping and
Experimentation
Model Training
Model
Management and
Deployment
8. 머신러닝 워크플로우 구축의 어려운점
• 프로덕션 단계의 배포를 위해 많은 과정이 존재
• 단계별 코드 관리 - 데이터처리, 학습, 튜닝 등등
• 단계별 디펜던시 관리
• 각 단계를 구조화하여 워크플로우화
• 워크플로우 관리
• 워크플로우 단계별 산출물 관리
• 모델 버전관리 및 배포
• 스케일러블한 자동화 환경 구축
Troubleshooting?
Workflow?
Version Management?
Large scale?
Engineering?
Automation?
Compliance?
프로덕션 ML모델 관리 == MLOps
10. Amazon Sagemaker Pipelines
• 워크플로우 구성을 위한 Python SDK 제공
• 시각화된 워크플로우를 Sagemaker Studio
상에서 제공
• 데이터변환, 모델학습, 디버깅, 최적화를 포함
한 모든 과정들을 관리
워크플로우 구성 및 관리
class MyPipeline(dsl.Pipeline):
# Pipeline parameter definitions
training_instance = PipelineParam(string)
num_trees = PipelineParam(int, default=100)
tree_depth = PipelineParam(int, default=3
)
# Example data query step
get_input_data_step = AthenaStep(query="SELECT a,b,c FROM table_xyz”
)
# Example training step
training_step = XGBoostStep(
entry_point='scripts/xgb/train.py’,
source_dir='scripts/xgb’
,
instance_type=training_instance
,
env_vars=[num_trees, tree_depth],
inputs={'train': processing_step.outputs(‘clean_data')}
)
11. Amazon Sagemaker Pipelines
• 단계별 진행중, 진행완료 상태 시각화 제공
• 단계별 결과와 관련 로그 제공
• 단계별 파라미터 변경, 관리 및 모니터링
파이프라인 상태 시각화 실시간 제공
12. Amazon Sagemaker Pipelines
• 학습완료 한 모델을 관리하는 저장소
• 여러모델, 모델별 버전 관리 및 모델 평가 메트
릭 같은 메타정보도 함께 저장되고 관리
• Python SDK나 Sagemaker Studio에서 접
근 가능
• 멀티계정 지원
모델을 관리하는 모델 레지스트리
13. Amazon Sagemaker Pipelines
• 모델 자동 배포를 위한 CI/CD 리소스 제공
• 스케일러블한 ML파이프라인 오케이스트레이션
• 모델성능 유지를 위한 모델 최신화
CI/CD 파이프라인 수행으로 모델 최신화
14. 요약
아래 내용 모두 Amazon Sagemaker Studio 내에서 가능합니다
!
• 제공되는 CI/CD 템플릿을 이용하여 ML 워크플로우 구성 및 관리
• 수천+개의 프로덕션 모델 관리
• 버젼별 모델관리 및 사용 환경 제공
16. • 전체 과정의 80%이상 소요될 만큼 많은 시간이 소요됨
• 데이터 셀렉션, 클리닝, 피쳐 엔지니어링, 시각화, 모델 프로토타이핑 등 많은 작업과
해당 작업을 위한 툴이 요구됨
• Missing Values, Outlier Detection 같은 간단해 보이는 작업도 코드로 작성이 되
고 관리되어야함
• 프로덕션 단계로 전환 시 위에 관리하던 코드가 다른작업자에 의해 재작업되는 경우
가 많음 (DS가 친숙한 Pandas 에서 DE가 친숙한 Spark
)
• 불필요한 재작업과 의도치 않은 실수들이 일어날 수 있음
머신러닝을 위한 데이터 준비의 어려운점
17. Amazon Sagemaker Data Wrangler
Source: https://virtual.awsevents.com/media/1_uip4lhkf
18. Amazon Sagemaker Data Wrangler
• Amazon Athena, Redshift, AWS Lake
Formation, Amazon S3, Feature Store 등
다양한 소스에서 데이터 조회 지원
• 별도 준비과정 없이 Sagemaker Studio 내에
서 직접 쿼리 가능
• CSV, Parquet, 데이터베이스 테이블 등 다양
한 데이터 포맷 지원
다양한 데이터소스에서 빠른 쿼리 지원
19. Amazon Sagemaker Data Wrangler
• 빌트인 데이터 변환 옵션을 제공하여 콘솔상에
서 쿼리 작성없이 처리 가능
• 컬럼 타입변경, 이름변경, 삭제, Missing
Value, Outlier 처리 등 많이 수행하는 데이터
처리를 포함하는 300+ 빌트인 데이터 변환 옵
션 제공
• Pyspark, SQL, Pandas 환경 내 커스텀 데
이터 변환 가능
손쉬운 데이터 변환
20. Amazon Sagemaker Data Wrangler
• 데이터 시각화를 제공하여 직관적인 이해를 도
움
• Histogram, Scatter Plot, Box Plot 등 데이
터 시각화 템플릿 제공
• Sagemaker Studio 콘솔상에서 인터랙티브
하게 생성 및 수정이 가능하고 이상치나
Outlier 같은 값들을 빠르게 파악 가능
손쉬운 데이터 시각화
21. Amazon Sagemaker Data Wrangler
• 프로덕션에 배포 전 데이터 준비과정 중 이상점
발견 가능
• 샘플링 한 데이터를 바탕으로 모델 성능에 영향
을 주는 핵심 Feature 들을 발견
• 모델 성능 향상을 위해 탐색적인 Feature 탐색
환경을 제공
모델 성능에 대한 빠른 예측
22. Amazon Sagemaker Data Wrangler
• 데이터 전처리 워크플로우를 노트북이나
Python 코드로 Export 가능
• 전처리 워크플로우를 Sagemaker Pipelines
에 통합하여 자동화 관리 가능
• 전처리의 결과인 Feature들을 Feature
Store에 배포하여 재사용 및 공유 가능
손쉬운 프로덕션 배포
23. 요약
아래 내용 모두 Amazon Sagemaker Studio 내에서 가능합니다
!
• ML 데이터 준비를 위한 워크플로우를 가시적이고 운영가능한 형태로 제공
• 쿼리 없이 빠르게 데이터 조회 가능
• 전처리 및 변환
25. • Feature 는 모델의 입력값
• 대부분의 ML모델은 Feature로 숫자 벡터를 가짐
• Raw Data => 코드화=> Feature Vecto
r
• Feature는 간단한 indecator 형태일 수 있고, Matrix Factorization 같은 복잡한 형태일
수 있음
• Feature의 형태나 처리과정을 Feature Engineering이라고 하고, 이런 과정의 결과는
모델의 성능에 많은 영향을 줌
• ML워크플로우 상에서는 모델 학습 전 데이터전처리 단계에 속함
Feature 와 Feature Engineering 의 중요성
26. • 복잡한 연산, 길고 지루한 작업 + 반복적인 작업
• 처리된 결과를 재사용 혹은 공유하기 어려움
• 만들어진 Feature 들을 사용하기 위해 재작업이 필요할 수 있음
• ML 환경: Python or SQL 같은 언어로 처리
• Production 환경: Java, C++ 같은 언어로 처리
• 변환과정에서 의도치하는 다른점이 생길 수 있음 => 모델 성과에 영향을 줌
• 프로덕션에 운영중인 모델이 문제가 있을 경우 트러블 슈팅의 어려움
Feature Engineering 의 어려운점
27. Amazon Sagemaker Feature Store
Source: https://virtual.awsevents.com/media/1_96ejbx62
Feature Store 가 없다면?
28. Amazon Sagemaker Feature Store
Source: https://virtual.awsevents.com/media/1_96ejbx62
Feature Store 가 있다면?
29. Amazon Sagemaker Feature Store
Data Ingestion
• Streaming Ingestio
n
• 스트리밍 처리를 위한 API 제공
• Online/Offline Feature Store 에 저장
• 데이터 검증 작업 제공
• Batch Ingestio
n
• Sagemaker Custom Spark Container 제공
• Online/Offline Feature Store 에 저장
• 데이터 검증 작업 제공
30. Amazon Sagemaker Feature Store
Online and Offline Store
• Online Feature Stor
e
• 스트리밍 처리를 위한 API 제공
• 최신의 Feature 데이터
• ms단위의 데이터 동기 지연
• Offline Feature Stor
e
• Feature 의 Historical 데이터
• 15분이내의 데이터 동기 지연
• Sagemaker Custom Spark Container 제공
31. 요약
아래 내용 모두 Amazon Sagemaker Studio 내에서 가능합니다
!
• Feature 들을 관리하는 중앙저장소를 제공하고 여러 Endpoint 에서 사용할 수 있도록 함
• 학습모델과 프로덕션모델의 데이터 불일치로 인한 문제를 해결하고, 학습단계에서 Feature
에 대한 중요정보 제공
• Feature Engineering 의 버전 관리
33. • ML모델은 문제 해결을 위함이고, 문제를 해결하는 모델이나 데이터 자체의 내재된
편향성을 이해하는것은 중요
• ML모델을 통한 결과를 사용하는 내/외부 인원은 ML의 전문가가 아님
• 설명가능한 형태의 정보를 전달하는게 중요
• 법이나 규정을 준수하기 위해
설명가능한 ML모델와 Bias Detection의 중요성
34. 설명가능성을 갖추기는 어려운 작업
• 모델의 성능과 설명가능성은 Trade-of
f
• 설명가능성을 위한 다양한 알고리즘과 테크닉이 존재
• 최적의 방법은
?
• Perturbations-based Algorith
m
• Ablation/Permutation-based Algorith
m
• Gradient-based Algorith
m
• Neuron Activation
s
• Sensitive Analysi
s
• Saliency Mask
s
• Rule Extractio
n
• 어떻게 효과적으로 전달할것인가?
Source: https://virtual.awsevents.com/media/1_49n1ghzz
41. 요약
아래 내용 모두 Amazon Sagemaker Studio 내에서 가능합니다
!
• 데이터 준비단계에서 데이터의 불균형이나 Bias를 발견
• 학습데이터에 대한 Bias를 발견
• 배포한 모델에 대한 Bias를 발견
42. AWS re:invent 2020 추천세션
[NEW LAUNCH!] Accelerate data preparation with Amazon SageMaker Data Wrangler
ML을 위한 완전 통합관리형 개발 환경인 Amazon Sagemaker Studio에 추가된 Data Wrangler 소개 세션입니다
.
[NEW LAUNCH!] Understand ML model predictions and biases with Amazon SageMaker Clarify
ML Workflow 전반에서 데이터의 Bias나 불균형 감지나 모델의 메트릭을 설명 가능한 형태로 제공합니다
.
[NEW LAUNCH!] Amazon SageMaker Feature Store: Store, discover, and share features for ML apps
이제 번거롭고 반복적인 Feature Engineering 작업과 결과물을 Amazon Sagemaker 내에서 효율적으로 관리해보세요
!
[NEW LAUNCH!] How to create fully automated ML workflows with Amazon SageMaker Pipelines
MLOps in Amazon Sagemaker! 이제 Sagemaker Studio에서 모든 ML 파이프라인을 관리할 수 있습니다
!
Productionizing R workloads using Amazon SageMaker
R로도 프로덕션 레벨의 ML모델 개발하기. Sagemaker에서 내가 원하는 커스텀환경을 갖추고 사용하는 사례입니다.