[MLOps] 5. Continuous Training
Continuous Training
- 연속 학습(Continuous Training, CT) 프로세스는 학습 파이프라인의 실행을 조정하고 자동화하는 과정이다.
- 모델을 얼마나 자주 재학습할지는 사용 사례와 그로 인해 얻는 비즈니스 가치 및 비용에 따라 다르다.
- 예를 들어, 이미지 분류에 뛰어난 ML 모델을 사용하는 경우, 이미지를 생성하고 수집하는 환경에 변화가 없다면 매일 새 데이터를 사용해 모델을 재학습하는 것이 큰 이점이 없을 수 있다.
- 반면, 쇼핑 사이트에서 추천 시스템을 운영하는 경우, 사용자 행동은 계속해서 변화하므로 새로운 데이터를 자주 재학습하면 새로운 트렌드와 패턴을 포착할 수 있다.
-
이 재학습에 대한 투자는 클릭률을 높이고, 따라서 추가적인 구매로 이어질 수 있다.
- 파이프라인의 각 실행은 다음과 같은 여러 방식으로 트리거될 수 있다.
- 설정한 작업에 따라 일정에 맞춰 실행
- 특정 임계값을 초과하는 새로운 데이터가 사용 가능해지거나, 연속 모니터링 과정에서 모델의 성능 저하가 감지될 때와 같은 이벤트 기반 실행
- 수동 호출에 따른 임시 실행
-
아래 그림은 일반적인 파이프라인의 흐름을 보여준다.
Continuous Training Process
- 전형적인 ML 학습 파이프라인의 워크플로는 다음과 같은 단계들을 포함한다.
- 데이터 수집: 학습 데이터는 최신 업데이트 날짜와 시간과 같은 필터링 기준을 사용해 데이터셋 및 feature 저장소에서 추출된다.
- 데이터 검증: 추출된 학습 데이터가 왜곡되거나 손상된 데이터로 모델이 학습되지 않도록 데이터가 검증된다.
- 데이터 변환: 데이터는 일반적으로 학습, 평가, 테스트용으로 분할된다. 그런 다음, 데이터는 변환되고 모델이 예상하는 대로 feature 가 엔지니어링된다.
- 모델 학습 및 튜닝: ML 모델이 학습되고, 최적의 모델을 생성하기 위해 학습 및 평가 데이터 분할을 사용하여 하이퍼 파라미터가 튜닝된다.
- 모델 평가: 모델은 테스트 데이터로 평가되며, 다양한 평가 지표를 사용해 데이터의 다양한 파티션에서 모델의 성능이 평가된다.
- 모델 검증: 모델 평가 결과는 모델이 예상 성능 기준을 충족하는지 확인하기 위해 검증된다.
- 모델 등록: 검증된 모델은 메타데이터와 함께 모델 레지스트리에 저장된다.
- 위 그림에서 보여주듯이, CT 파이프라인은 재학습 트리거에 따라 실행된다.
- 파이프라인이 시작되면, 데이터셋 및 feautre 저장소에서 새로운 학습 데이터셋을 추출하고, ML 워크플로의 단계를 실행한 후 학습된 모델을 모델 레지스트리에 제출한다.
-
파이프라인 실행 중에 생성되는 모든 실행 정보와 아티팩트는 메타데이터 및 아티팩트 저장소에 기록된다.
- 조정되고 자동화된 학습 파이프라인은 ML 개발 단계에서 수행되는 전형적인 데이터 과학 프로세스의 단계를 반영한다.
- 그러나 자동화된 파이프라인에는 몇 가지 차이점이 있다.
- 자동화된 파이프라인에서는 데이터 검증 및 모델 검증이 실험 중일 때보다 중요한 역할을 한다. 이 단계들은 전체 ML 학습 프로세스의 관문 역할을 한다.
-
자동화된 파이프라인의 실행은 무인으로 이루어지므로, 실행이 진행됨에 따라 학습 및 평가 데이터가 변화하면서 파이프라인이 구현한 데이터 처리 및 학습 절차가 더 이상 최적이거나 유효하지 않을 수 있다.
- 데이터 검증 단계는 데이터 이상이 발생하기 시작했을 때 이를 감지할 수 있다.
- 이러한 이상에는 새로운 feature, 새로운 feature 도메인, 사라진 feature, 그리고 feature 분포의 급격한 변화가 포함될 수 있다.
-
데이터 검증 단계는 새로운 학습 데이터를 예상 데이터 스키마와 기준 통계와 비교하여 작동한다. 데이터 검증이 작동하는 방식에 대한 자세한 내용은 TensorFlow Data Validation을 사용한 머신러닝의 대규모 데이터 분석 및 검증을 참조하면 된다.
- 모델 검증 단계는 새로운 모델 후보의 성능이 향상되지 않거나 오히려 저하되는 경우를 감지한다.
-
파이프라인은 이 단계에서 여러 평가 지표, 특정 입력에 따른 민감도 분석, 보정 및 공정성 지표를 포함한 복잡한 검증 로직을 적용할 수 있다.
- 따라서 CT 에서 중요한 측면은 추적이다.
- 파이프라인 실행은 디버깅, 재현성 및 계통 분석(lineage analysis)을 가능하게 하는 방식으로 생성된 메타데이터 및 아티팩트를 추적해야 한다.
- 계통 분석(lineage analysis)이란 학습된 모델을 해당 모델의 학습 시 사용된 데이터셋(스냅샷)으로 추적하고, 모든 중간 아티팩트 및 메타데이터를 연결할 수 있어야 함을 의미한다.
- 계통 분석은 다음과 같은 작업을 지원한다.
- 학습 중 사용된 하이퍼 파라미터 검색
- 파이프라인에 의해 수행된 모든 평가 검색
- 가능하다면 변환 단계 이후의 처리된 데이터 스냅샷 검색
- 기술 통계, 스키마, feature 분포와 같은 데이터 요약 정보 검색
-
파이프라인 실행이 완료되고 모델이 검증되면, 파이프라인은 모델 후보를 모델 레지스트리에 등록할 수 있다.
- 자동화된 파이프라인에는 배포 단계가 포함될 수 있으며, 실질적으로 통합된 엔드 투 엔드 학습 및 배포 파이프라인 역할을 할 수 있다.
- 예를 들어, 모델이 하루에 여러 번 학습 및 배포되는 경우(ex. 매시간), 학습과 배포가 단일 파이프라인에 통합되어 구현될 수 있다.
-
이러한 경우, 모델 크기 검증, 서빙 런타임 검증(종속 항목 및 가속기 포함), 서빙 지연 시간(latency) 평가와 같은 추가 검증이 파이프라인에 내장된다.
- 그러나 이러한 완전한 파이프라인을 만드는 것이 모든 조직에서 실용적이지 않을 수 있다.
- 예를 들어, 일부 조직에서는 모델 학습과 모델 배포가 다른 팀의 책임일 수 있다.
- 따라서 대부분의 학습 파이프라인은 학습되고 검증된 모델을 등록하는 단계에서 끝나며, 이를 서빙하기 위해 배포하는 단계까지는 가지 않는다.
Summary
- 연속 학습 과정에서 일반적으로 생성되는 자산은 다음과 같다.
- 모델 레지스트리에 저장된 학습되고 검증된 모델
- 파이프라인 실행 매개변수, 데이터 통계, 데이터 검증 결과, 변환된 데이터 파일, 평가 지표, 모델 검증 결과, 학습 체크포인트 및 로그를 포함한 ML 메타데이터 및 아티팩트 저장소에 저장된 학습 메타데이터 및 아티팩트
- 연속 학습 과정에서 핵심 MLOps 기능은 다음과 같다.
- 데이터셋 및 feature 저장소
- ML 메타데이터 및 아티팩트 저장소
- 데이터 처리
- 모델 학습
- 모델 평가
- ML 파이프라인
- 모델 레지스트리
댓글 남기기