데이터분석

55. SageMaker 사용해보기

장수우 2024. 2. 12. 23:37
학습 주제
  • SageMaker 사용해보기
  • 머신러닝 개발상의 난점
  • 머신러닝 개발 프레임웍 필요성 대두
주요 학습 내용
  • 모델 개발 전체 과정
    • 문제 정의
      1. 훈련용 데이터 수집
      2. 모델 빌딩과 테스트
      3. 모델 배포
      4. 모델 A / B 테스트 -> 전체 론치
      5. A / B 테스트 결과 분석
        2~5 반복 중 테스트 결과 통과 시 론치
  • A / B 테스트
    • 온라인 서비스에서 새 기능의 임팩트를 객관적으로 측정하는 방법
    • 새로운 기능을 론치함으로 생기는 위험 부담을 줄이는 방법
      - 100%의 사용자에게 론치하는 것이 아닌 작게 시작하고 관찰 후 결정한다.
    • 보통 사용자들을 2개의 그룹으로 나누고 시간을 두고 관련 지표를 비교한다.
    • 가설에서 영향받는 지표를 미리 정하고 시작하는 것이 일반적이다
  • 머신러닝 개발시 발생하는 문제점들
    • 훈련용 데이터 셋 관리
      • 어떻게 훈련용 데이터 셋을 수집했는가?
        - labe 데이터의 비율
        - bias가 있는지
      • 어떻게 이 데이터들을 보관하고 관리할 것인가?
      • 다양한 feature들을 어떻게 구현했고 관리할 것인가?
        - 데이터 과학자가 코딩을 할 수 있는지 여부가 아주 중요하다
        - feature Store가 필요해진다.
    • ML 모델 빌딩시 사용 하이퍼 파라미터 관리
      • 다양한 러닝 알고리즘과 하이퍼 파라미터를 어떻게 손쉽게 테스트가 가능한가?
      • 모델 빌딩에 사용한 하이퍼 파라미터를 저장하고 쉽게 찾을 수 있는가?
      • 모델 검증 결과를 저장하고 쉽게 찾을 수 있는가?
    • ML 모델 관리
      • 모델별 사용 알고리즘/하이퍼파라미터/트레이닝셋/테스트 결과를 유기적으로 보관해야한다.
        - 버전닝이 필요
      • 모델 재연성이 아주 중요해진다.
    • 모델 론치 프로세스
      • 만든 모델을 어떻게 프로덕션으로 론치할 것인가?
      • 프로덕션 엔지니어링 팀과의 협업이 중요해진다.
      • 이 부분은 프로세스 자동화가 필요
    • 모델 AB 테스트 프로세스
  • CI
    • 지속적인 통합은 개발자들이 작업한 코드를 주기적으로 공유 코드 저장소에 병합하는 것을 말한다.
    • 개발 품질 향상, 개발 주기 단축
  • CD
    • 배포 과정까지 자동화 하는것, 모든 코드 변경 사항이 테스트를 통과하면 자동으로 운영환경에 배포
  • MLOps 엔지니어가 알아야하는 기술
    • 데이터 엔지니어가 알아야 하는 기술
      - 파이썬/스칼라/자바
      - 데이터 파이프라인과 데이터 웨어하우스
    • DevOps 엔지니어가 알아야 하는 기술
      - CI/CD, 서비스 모니터링, …
      - 컨테이너 기술 (K8S, 도커)
      - 클라우드 (AWS, GCP, Azure) 
      - Infrastructure As Code (Configuration As Code)
    • 머신러닝 관련 경험/지식
      - 머신러닝 모델 빌딩과 배포
      - ML 모델 빌딩 프레임웍 경험
      - SageMaker, Kubeflow, MLflow
  • Aamazon SageMaker
    •  머신러닝 모델 개발을 처음부터 끝까지 해결해주는 AWS 서비스
    • 크게 4가지 기능 제공
      - 트레이닝 셋 준비 (Ground Truth)
      - 모델 훈련
      - 모델 검증
      - 모델 배포와 관리: API 엔드포인트, 배치 서빙, …
    • 다양한 머신러닝 프레임웍을 지원
      - Tensorflow/Keras, PyTorch, MXNet, …
      - 자체 SageMaker 모듈로 머신러닝 모델 훈련 가능
    • 다양한 개발방식 지원
      - 기본적으로 Python Notebook (SageMaker 모듈)을 통해 모델 훈련
      - 스칼라/자바 SDK도 제공
공부하면서 어려웠던 점
  •  
반응형

'데이터분석' 카테고리의 다른 글

62. 임베딩, 감정분석  (0) 2024.02.26
61. Text, Data 마이닝  (0) 2024.02.19
54. 회귀 모델 만들기  (1) 2024.02.10
53. Classification 모델링  (1) 2024.02.09
52. 데이터 EDA  (1) 2024.02.07