본문 바로가기
Backend MLOps/lecture

[ Inflearn ] 머신러닝 엔지니어 실무 - 1

by SteadyForDeep 2021. 8. 28.
반응형

# 파이프라인의 목적

 

1. 생산성 향상

2. 품질관리 : 지속적인 품질 하락에 따른 관리

3. 장애 대응 능력 향상 : 머신러닝의 장애는 기존의 방식으로 인지하기 어렵고 인지되어도 대처하기 어려운 부분이 많음

 

즉, 기술부채를 줄이기 위한 전략

 

# 유지 보수성을 위한 숙제들

 

- 리펙토링

- 종속성 제거

- API의 강화

- 미사용 코드 삭제 ( 버전 관리의 적극 활용 )

- 문서화

 

# 일반적인 ML 팀 구성

 

- Researcher ( ML의 이해는 높지만 SW이해가 낮다. )

- Software Engineer ( SW이해는 높지만 ML에 대한 이해가 낮다. )

- Research Engineer ( 양쪽에 대한 이해가 높아야 하고 중재역할을 잘 할 수 있어야한다. )

 

# 머신러닝 프로잭트

 

ML 프로잭트는 기본적으로 실험

SW 프로잭트는 TDD 로 테스트

 

ML에서는 feature, 알고리즘, hyperparameter 구성등

여러가지 조합에 대한 시도 후 적합한 모델 도출

-> 코드 재사용 극대화, 재현성 유지

 

SW에서는 기한과 필요 인력등이 예측 가능

 

# 테스팅 방법

 

ML시스템 테스트는 SW 보다 복잡하다.

ML시스템은 데스트의 복잡성 때문에 배포의 트리거 포인트를 잡기 어렵다.

ML의 배포는 트리거포인트가 여러가지

 

요청시 : 파이프라인의 임시 수동 실행

주기적 : 라벨이 지정된 새 데이터는 일정 주기를 가지고 업데이트

새 학습 데이터 : 개 데이터가 들어오는 경우 재학습

모델 성능 저하 시 : 성능 저하가 눈에 띄는 경우 재학습

데이터 변화시 Concept Drift: 사용되는 피쳐의 큰 변화가 생겨 모델이 구식이 되었을 경우

 

그렇기 때문에 CI가 힘들다.

 

어려운 머신러닝 프로잭트는

지속적으로 진화하는 데이터셋과

지속적으로 다양해지는 Metric에 의해

파이프라인을 요구하게 된다.

 

모델 레지스트리가 꼭 필요하다.

 

# ML 프로잭트의 파이프라인

CI/CD/CT ( Continuous Training )

 

# MLOps의 성숙도 ( Google )

 

LV 0

수동적, 스크립트 중심의 대화식 프로세스

ML과 운영의 분리

드문 릴리즈의 반복, 모델 배포 주기가 거의 없음

CI/CD 없음

배포는 예측 서비스를 의미함

Active 모니터링 없음

 

LV 1 ( 사실상 상당히 높은 편 )

빠른 실험

프로덕션 모델의 CT

실험 운영환경의 조화

구성 요소 및 파이프라인을 위한 모듈화된 코드

지속적인 모델의 제공

파이프라인 배포

 

LV 2

Production에서 파이프라인을 빠르고 안정적으로 CI/CD/CT

자동화된 CI/CD를 통해 과학자는 Feature Engineering, 모델 아키텍쳐, 하이퍼파라미터를 신속하게 탐색할 수 있음

 

반응형

댓글