파이프라인 모니터링 구조도


ㅇ 먼저 머신러닝 어플리케이션을 생성합니다.

ㅇ 표준화 및 모델링 코드를 Joblib 아티팩트 형태로 저장하고 서빙 API를 빌드하여 GitHub에 제출

(서빙 API를 빌드하는 데 사용되는 Pydantic은 유형 주석을 사용하여 데이터를 자동으로 구문 분석하고 유효성을 검사하고 실패 시 오류를 반환하는 유용한 라이브러리입니다.)

ㅇ 이때 Jenkins는 이를 인지하고 앱을 빌드하여 컨테이너를 구동한다.

ㅇ 실행 중인 컨테이너는 Jenkins에서 자동으로 감지하여 생성된 Docker 이미지를 DockerHub에 푸시합니다.

ㅇ 그리고 LOCUST라는 오픈소스로 만든 Docker 컨테이너를 시뮬레이션하여 테스트했습니다.

ㅇ 이 시점에서 Prometheus는 Jenkins 작업의 지표를 수집하고 LOCUST의 시뮬레이션 지표도 수집합니다.

ㅇ 수집된 메트릭을 Grafana로 보내 LOCUST에서 수행하는 ML 성능 모니터링을 수행하는 대시보드를 생성하고 Jenkins 행동에 대한 메트릭을 수집하고 모니터링하는 대시보드를 생성합니다.

ㅇ 이러한 모니터링 파이프라인 구축을 통해 모델 훈련 코드를 변경하고 커밋하면 ML 모델의 성능 모니터링이 자동으로 변경된다.