머신러닝 시스템 설계 관련 절차
절차
- 문제 정의
- 요구질문 명확히 하기
- 사용자 시나리오 정리 및 비즈니스 목표 정의
- 요구사항 및 제약사항 정리
- 데이터 현황 및 소스 확인하기
- 모델 기준 문제 구체화
- 수치 정의
- 오프라인: 모델 자체의 성능 관점 메트릭이나 인프라 비용 측면
- 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
- 오프라인: 모델 자체의 성능 관점 메트릭이나 인프라 비용 측면
- 아키텍처 정의
- 추상화된 최상위 아키텍처 정의
- 백엔드 등 ML과 간접적으로 연관된 전후 관련 아키텍처 요소
- ML 관련 요소
- ML 관련 아키텍처
- 추상화된 최상위 아키텍처 정의
- 데이터 수집 및 준비
- 필요한 데이터의 소스 및 가공필요 요소 파악
- 데이터 저장에 필요한 공간 확보
- 데이터 타입 및 레이블 체크
- 피쳐 엔지니어링
- 피쳐 선택 및 사용방식 체크
- 전처리
- Missing Variable 등
- 모델 개발 및 오프라인 평가
- 모델 선택
- 데이터셋 구축
- 훈련 및 평가 + 튜닝
- 예측치 확인
- 온라인 테스팅 및 배포 완료
- A/B테스트
- 배포 완료
- . 스케일링, 모니터링 및 모델 업데이트
- 스케일링 관련 필요 요소 파악
- 모니터링
- 모델 재학습 및 재배포