런칭(디플로잉), 모니터링, 시스템 유지보수

Jane의 study note.·2022년 12월 21일
0

1. 런칭(디플로잉)

  1. 서비스 제품 시스템에 모형을 적용하기 위한 준비 진행
    • 코드 정리 및 문서 및 테스트 케이스 작성 등
  2. 훈련된 모형을 Joblib 패키지를 활용하여 저장 후,
    상용 환경에서 로딩 후 predict() 메서드 기반의 예측 모듈 생성
  3. 웹서비스에서 버튼을 누르면, predict() 메서드가 호출되도록 개발
    • 주로 REST API라는 읽기, 수정, 생성, 삭제(GET, POST, PUT, DELETE)를 수행하는 JSON 파일 기반의 입출력 기반의 HTTP 기반 API를 통해 웹서비스를 개발

2. 모니터링

  1. 일정 간격으로 시스템 내 모형의 실시간 성능을 구체적인 지표를 통해 확인
    • 성능이 떨어졌을 때, 알람을 통지할 수 있는 모니터링 코드 작성 필요
    • 갑작스런 급격한 성능 감소 뿐만 아니라,
    눈에 띄지 않게 장기적으로 서서히 성능이 감소하는 경우도 감지해야함
  2. 제품 결함을 사람이 분석 및 평가하기위해 수시로 전문가에게 불확실한 수준의 데이터 전송
    • 데이터의 결함이 없는지, 변화가 있는지 확인
    • 정기적으로 새로운 데이터를 수집하여, 조사원을 활용해 타겟 변수 Labeling 진행
  3. 데이터셋 업데이트 후, 정기적으로 모형 재훈련 진행 및 배포
    • 재훈련 후 성능이 개선되면, 새로운 모형을 제품에 배포 및 기존 모형을 백업

3. 시스템 유지보수

  1. 데이터셋 업데이트 후, 정기적으로 모형 재훈련 진행 및 배포
    • 재훈련 후 성능이 개선되면, 새로운 모형을 제품에 배포
  2. 모든 모형은 백업이 되도록 환경 구축
    • 올바르지 않게 모형이 작동하는 경우, 이전 모형으로 빠르게 롤백할 수 있도록 절차와 도구를 준비
  3. 데이터셋 또한 백업이 되도록 환경 구축
    • 새로운 데이터셋 오염시, 이전 데이터를 활용하여 모형 평가 진행 (예: 새로운 데이터셋이 이상치로 가득차 있다고 판명되는 경우)

0개의 댓글