WiseN

[Re2020] AWS AI/ML 주요 업데이트 - Data Collection & Pre-Processing 편

Jan 05, 2021   |   AWS

작성자_임성균

페이스북 공유하기 트위터 공유하기
Blog thumbnail

안녕하세요. 이번 블로그 포스팅의 주제는 2020 AWS RE:invent에 AI/ML Session에 소개된 내용에 대해서 설명해 드리려고 합니다. 이번 업데이트의 항목을 살펴보면 AI 서비스보다는 ML 서비스에 집중하여 ML 개발자에게 유용할 수 있는 서비스가 생겼습니다. AI 서비스의 주요 업데이트를 ML 파이프라인에 구조(Data Collect & Pre-processing → Build → Train&Tune → Deploy & Manage)로 나누어 설명해 드리도록 하겠습니다.

 


 

 

Amazon SageMaker는 모든 개발자 및 데이터 사이언티스트가 기계 학습(ML) 모델을 빠르게 준비, 구축, 훈련 및 배포할 수 있도록 하는 완전관리형 서비스입니다. SageMaker는 기계 학습 프로세스의 각 단계에서 부담스러운 작업을 제거하여 고품질의 모델을 더욱 쉽게 개발할 수 있도록 합니다. SageMaker는 기계 학습에 사용되는 모든 구성 요소를 단일 도구 세트로 제공하므로, 훨씬 적은 작업과 저렴한 비용으로 모델을 프로덕션으로 더욱 빠르게 이전할 수 있습니다.

 

이번 소개될 내용은 Data Collect & Pre-processing입니다.

주요 서비스는

(이번 업데이트 소식은 NEW입니다)

  •  Amazon SageMaker Ground Truth

  •  Amazon SageMaker Data Wrangler - NEW

  •  Amazon SageMaker Processing

  •  Amazon SageMaker Feature Storer - NEW

  •  Amazon SageMaker Clarify - NEW

 

 

Amazon SageMaker Data Wrangler

 

Amazon SageMaker Data Wrangler 서비스는 기계 학습 (ML)을 위해 데이터를 집계하고 준비하는 데 걸리는 시간을 몇 주에서 몇 분으로 단축합니다. Amazon SageMaker Data Wrangler를 사용하면 데이터 준비 및 기능 엔지니어링 프로세스를 단순화하고 단일 시각적 인터페이스에서 데이터 선택, 정리, 탐색 및 시각화를 포함한 데이터 준비 워크 플로의 각 단계를 완료 할 수 있습니다.

대부분의 ML 모델의 경우 원시 데이터를 모델 학습 및 예측에 사용할 수있는 기능으로 변환, 변환 및 검증하는 등 다양한 소스의 데이터를 집계하고 준비하는 데 몇 주 또는 몇 달을 소비 할 수 있습니다. 데이터 변환을 작성하는 코드를 작성하여 모델에 효율적으로 사용할 수있는 형식으로 데이터를 변환하고 다양한 데이터 소스에서 대규모로 실행할 수있는 추가 코드를 작성해야 합니다.

Amazon SageMaker Data Wrangler의 데이터 선택 도구를 사용하면 Amazon S3, Amazon Athena, Amazon Redshift, AWS Lake Formation 및 Amazon SageMaker Feature Store를 비롯한 다양한 데이터 원본에서 원하는 데이터를 선택하고 클릭 한 번으로 가져올 수 있습니다. Amazon SageMaker Data Wrangler에는 300 개 이상의 기본 제공 데이터 변환이 포함되어 있으므로 코드를 작성하지 않고도 기능을 빠르게 정규화, 변환 및 결합 할 수 있습니다. 


 

Amazon SageMaker Data Wrangler의 시각화 템플릿을 사용하면 ML을 위한 최초의 완전 통합 개발 환경 (IDE) 인 Amazon SageMaker Studio에서 이러한 변환을 보고 의도 한대로 이러한 변환이 완료 되었는지 빠르게 미리보고 검사 할 수 있습니다. 데이터가 준비되면 Amazon SageMaker Pipelines를 사용하여 완전히 자동화 된 ML 워크 플로를 구축하고 Amazon SageMaker 기능 저장소에서 재사용 할 수 있도록 저장할 수 있습니다.

 

핵심 기능

Import - Amazon Simple Storage Service (Amazon S3), Amazon Athena (Athena) 및 Amazon Redshift에 연결하고 데이터를 가져옵니다.

Data Flow - 일련의 ML 데이터 준비 단계를 정의하는 데이터 흐름을 만듭니다. 흐름을 사용하여 서로 다른 데이터 원본의 데이터 세트를 결합하고, 데이터 세트에 적용 할 변환의 수와 유형을 식별하고, ML 파이프 라인에 쉽게 통합 할 수있는 데이터 준비 워크 플로를 정의 할 수 있습니다.

Transform - 문자열, 벡터 및 숫자 데이터 형식화 도구와 같은 표준 변환을 사용하여 데이터 세트를 정리하고 변환합니다 . 텍스트 및 날짜 / 시간 임베딩 및 범주 인코딩과 같은 변환을 사용하여 데이터를 특징 화하십시오.

Analyze - 흐름의 어느 지점에서나 데이터 세트의 기능을 분석합니다. 데이터 랭글러에는 산점도 및 히스토그램과 같은 기본 제공 데이터 시각화 도구와 기능 상관 관계를 이해하기위한 대상 누출 분석 및 빠른 모델링과 같은 데이터 분석 도구가 포함되어 있습니다.

Export - 데이터 랭글러는 데이터 랭글러 작업, 기능 저장소 및 파이프 라인을 포함한 다른 SageMaker 서비스에 대한 내보내기 옵션을 제공하므로 데이터 준비 흐름을 ML 워크 플로에 쉽게 통합 할 수 있습니다. 데이터 랭글러 흐름을 Python 코드로 내보낼 수도 있습니다.


 

시작하기

https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler-getting-started.html

 

참고 레퍼런스

https://aws.amazon.com/about-aws/whats-new/2020/12/introducing-amazon-sagemaker-data-wrangler-the-fastest-and-easiest-way-to-prepare-data-for-machine-learning/

 

 

Amazon SageMaker Clarify

 

Amazon SageMaker Clarify는 기계 학습 개발자가 Bias을 식별 및 제한하고 예측을 설명 할 수 있도록 훈련 데이터 및 모델에 대한 가시성을 높이는 데 도움 되도록 서비스를 제공합니다. 예를 들어, Bias는 연령 또는 소득 계층과 같은 여러 그룹에서 예측의 정확성에 불균형을 나타냅니다. Bias은 모델 학습에 사용 된 데이터 또는 알고리즘에서 발생할 수 있습니다. 예를 들어 ML 모델이 주로 중년층의 데이터를 기반으로 학습 된 경우, 젊은이와 노인을 대상으로 예측을 할 때 정확도가 떨어질 수 있습니다. 기계 학습 분야는 데이터와 모델에서 Bias을 감지하고 측정하여 Bias을 해결할 수있는 기회를 제공합니다. 모델 입력의 중요성을 살펴보고 모델이 예측을 수행하는 이유를 설명 할 수도 있습니다.

Amazon SageMaker Clarify는 지정한 속성을 검사하여 데이터 준비 중, 훈련 후, 배포 된 모델에서 잠재적 Bias을 감지합니다. 예를 들어 초기 데이터 세트 또는 학습 된 모델에서 연령과 관련된 Bias을 확인하고 다양한 유형의 가능한 Bias을 수량화하는 자세한 보고서를 받을 수 있습니다. SageMaker Clarify에는 모델 예측을 설명하는 데 도움이되는 기능 중요도 그래프도 포함되어 있으며 내부 프레젠테이션을 지원하거나 수정 조치를 취할 수있는 모델의 문제를 식별하는 데 사용할 수있는 보고서를 생성합니다.

 

Measure Pre-training Bias

다음 표기법을 사용하여 편향 메트릭을 논의합니다. 여기에 설명 된 개념적 모델은 이벤트가 샘플 공간에 두 개의 가능한 결과 만있는 것으로 레이블이 지정되는 이진 분류를위한 것입니다.이를 긍정 (값 1 포함) 및 부정 (값 0)이라고합니다. 이 프레임 워크는 일반적으로 간단한 방식으로 다중 카테고리 분류로 확장하거나 필요할 때 지속적으로 가치있는 결과를 포함하는 케이스로 확장 할 수 있습니다.

https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-measure-data-bias.html

 

참고 레퍼런스

https://aws.amazon.com/about-aws/whats-new/2020/12/detect-bias-in-ml-models-and-explain-model-behavior-with-amazon-sagemaker-clarify/

 

 

Amazon SageMaker Feature Store

 

기계학습에서 Feature는 정확한 예측을 하기 위해 머신러닝 단계에서 생성되는 데이터 신호입니다. 훈련 중에는 여러 변형을 훈련하기 위해 피쳐가 배치성으로 저장됩니다. 배치성 피처를 이용하여 추론 중에 실시간으로 사용할 수 있도록 제공됩니다. 훈련과 추론 간의 피쳐를 일관성 있게 유지하는 것은 어렵고 부정확한 예측으로 최종적인 결과를 나타낼 수 있어 추론 시 추가적인 코딩이 필요할 수도 있습니다.

Amazon SageMaker Feature Store를 사용하면 태그 지정 및 메타 데이터 관리을 통한 검색이 가능하므로 Data Scientist는 각각의 새 모델에 대해 피쳐를 다시 작성하고 처리할 필요없이 기존 기능을 재사용 할 수 있습니다. 예를들어 실시간 예측의 경우 밀리 초의 짧은 지연 시간으로 기능을 제공하거나 Feature Store에서 모델 학습 또는 일괄 예측을 위해 추출 할 수 있습니다. 또한 특정 시점에서 기능을 쉽게 재현 할 수 있도록 피쳐 데이터의 기록을 관리합니다.

 

Amazon SageMaker Feature Store Notebook Examples

Amazon SageMaker Feature Store 사용을 시작하려면 Feature Store의 주요 기능을 보여주는 예제 Jupyter 노트북을 사용할 수 있습니다. 이 노트북은 기능 그룹을 생성 및 구성하는 방법, PutRecordAPI를 사용하여 데이터를 수집 하는 방법, 오프라인 데이터 복제가 수행되는 방법, 추론을 위해 기능 저장소의 데이터를 사용하는 방법, 마지막으로 삭제 및 정리 단계를 수행하는 방법을 보여줍니다.

https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-featurestore/sagemaker_featurestore_fraud_detection_python_sdk.html


참고 레퍼런스

https://aws.amazon.com/about-aws/whats-new/2020/12/introducing-amazon-sagemaker-feature-store/?nc1=h_ls