머신러닝 시스템 설계 관련 절차

머신러닝 시스템 설계 관련 절차

절차

  1. 문제 정의
    1. 요구질문 명확히 하기
    2. 사용자 시나리오 정리 및 비즈니스 목표 정의
    3. 요구사항 및 제약사항 정리
    4. 데이터 현황 및 소스 확인하기
    5. 모델 기준 문제 구체화
  2. 수치 정의
    • 오프라인: 모델 자체의 성능 관점 메트릭이나 인프라 비용 측면
      • Classification metrics
      • Retrieval and ranking metrics
      • Regression metrics: MSE, MAE,
      • Problem specific metrics
      • Latency
      • Computational cost (in particular for on-device)
    • 온라인: 비즈니스 관련 메트릭
      • CTR
      • Task/session success/failure rate,
      • Task/session total (e.g. watch) times,
      • Engagement rate (like rate, comment rate)
      • Conversion rate
      • Revenue lift
      • Reciprocal rank of first click, etc,
      • Counter metrics: direct negative feedback (hide, report)
    • 메트릭간 TRADE-OFF
  3. 아키텍처 정의
    1. 추상화된 최상위 아키텍처 정의
      1. 백엔드 등 ML과 간접적으로 연관된 전후 관련 아키텍처 요소
      2. ML 관련 요소
    2. ML 관련 아키텍처
  4. 데이터 수집 및 준비
    1. 필요한 데이터의 소스 및 가공필요 요소 파악
    2. 데이터 저장에 필요한 공간 확보
    3. 데이터 타입 및 레이블 체크
  5. 피쳐 엔지니어링
    1. 피쳐 선택 및 사용방식 체크
    2. 전처리
      1. Missing Variable 등
  6. 모델 개발 및 오프라인 평가
    1. 모델 선택
    2. 데이터셋 구축
    3. 훈련 및 평가 + 튜닝
  7. 예측치 확인
  8. 온라인 테스팅 및 배포 완료
    1. A/B테스트
    2. 배포 완료
  9. . 스케일링, 모니터링 및 모델 업데이트
    1. 스케일링 관련 필요 요소 파악
    2. 모니터링
    3. 모델 재학습 및 재배포

Reference