필요에 따라 MLOps에 대해 공부해 봅니다.
효과적인 ML(Machine Learning) 적용을 위한 요소
1) 대규모 데이터 세트
2) 저렴한 주문형 컴퓨팅 리소스
3) 다양한 클라우드 플랫폼에서 ML을 위한 전문 가속기
4) 다양한 ML 연구 분야(예: Computer vision, Natural Lanaguage Understing, Recommnendation AI 시스템)의 빠른 발전
이러한 복잡한 ML 시스템(MLOps) 을 위해서는 DevOps 원칙하에, ML의 CI(Continuous Integration), CD(Continuous Deploy), CT(Continuous Trainning) 를 위해, ML 시스템 개발(Dev)과 시스템 운영(Ops)를 통합하여, ML 엔지니어링을 위한 문화와 방식 이다.
DevOps vs MLOps
1. 공통점
No | 공통점 |
1 | 시스템을 안정적으로 빌드하고 운영하기 위한 목적 |
2 | 소스 제어의 지속적 통합, 단위 테스트, 통합테스트, 소프트웨어 모듈 또는 패키지의 지속적 배포 |
2. 차이점
No | 공통점 |
팀 구성 | ML팀은 탐색적 데이타 분석, 모델 개발, 실험 에 중점을 둔 데이타 과학자 or ML 연구원이 포함, 서비스 빌드 가능한 SW 엔지니어는 없을 수 있음 |
개발 | ML은 기본적으로 실험임, 즉, 특성, 알고리즘, 모델링기법, 매개변수 구성의 다양성을 통한 최적 해 찾기임 |
테스트 | 다른 SW테스트 보다 더 복잡함, 일반적 단위, 통합테스트 이외에, 데이타 검증, 학습된 모델 품질평가, 모델 검증이 필요함 |
배포 | MLOps 시스템을 사용하여 모델을 자동 재학습시키고, 배포하기 위한 다단계 파이프라인이 필요함 |
프로덕션 | ML 모델은 지속적으로 진화하는 데이타 프로필로 인한 성능 저하됨 모델의 온라인 성능을 모니터링 하여, 값이 기대치를 벗어나면 알림 및 롤백시스템이 필요함 |
CI | 코드와 구성요소만 통합하고 테스트 하는 것이 아니라, 테이터, 스키마, 모델도 포함되어야 함 |
CD | 단일 SW 배포만이 아니라 모델도 포함된다 |
CT | 모델의 자동 재 학습이 포함 |
ML을 위한 데이타 과학 단계
아래의 MLOps 단계는 수동 또는 자동 파이프라인으로 진행 할 수 있다
1. 데이터 추출 : 다양한 데이터 소스로 부터 데이터를 선택하고 통합한다
2. 데이터 분석 : ML 모델 빌드에 사용되는 데이타를 이해하기 위해 탐색적 데이타 분석 수행
- 결과물 : 1) 모델에서 예상되는 데이터 스키마 및 특성 이해, 2) 모델에서 필요한 데이터 준비 및 특성추출
3. 데이타 준비 : MLOps를 위한 데이터를 준비함
4. 모델 학습 : 준비된 데이타로 알고리즘 구현, fitting을 통한 최적 모델
5. 모델 평가 : Validation DB로 모델을 평가 함
6. 모델 검증 : 실 검증 수행
7. 모델 배포 : 대상 환경에 배포 한다
8. 모델 모니터링 : 성능을 모니터링 한다
여기서, 모델 Validation 과 Testing이 혼돈이 있을 수 있다
- Model Trainning : 모델을 Fitting 하고 최적의 모델을 만드는 것
- Model Validation : 모델이 잘 만들어 졌는지, 모델 개발단에서 확인 하는 것으로 모의고사 같은 개념으로, 모의고사 후 개선 작업이 발생 (빠르게 개선 가능)
- Model Testing : 실제 모델이 잘 사용되는지 확인 하는 것으로, 실제 모의고사가 끝나고 실제 수능 같은 개념, 모델의 최종 성능 검증
MLOps 수준 0: 수동 프로세스
'- 배움이 있는 삶 > - AI | Big data' 카테고리의 다른 글
chatGPT 답변이 안올때 문제 (0) | 2023.03.31 |
---|---|
chatGPT와 Bing 챗봇과의 차이점 (0) | 2023.03.31 |
중국판 ‘챗GPT’ 인공지능 챗봇 '어니봇 (2) | 2023.02.20 |
오픈AI, 챗GPT - New Version 출시 예정 (2) | 2023.02.20 |
AI Trustworthiness (0) | 2023.02.13 |