말씀하신 문제는 **MLOps 파이프라인(CI/CD/CT)**에서 각 단계가 언제 트리거되는지와 어떤 역할을 맡는지를 이해하는 데 초점을 두고 있습니다.
📌 실제 AI 모델 개발·배포 파이프라인 순서
1. CI (Continuous Integration)
👉 트리거: 코드 변경
- 구체적 조건
- 모델 아키텍처 코드 수정 (예: 새로운 레이어 추가, loss function 교체)
- 데이터 전처리/피처 엔지니어링 코드 변경
- 파이프라인 오케스트레이션 스크립트 변경 (Airflow, Kubeflow 등)
- 설정 파일(config, requirements.txt, Dockerfile) 변경
- 새로운 실험 코드가 Pull Request 로 들어왔을 때
- 검증 방식
- 단위 테스트(Unit test): 함수 단위 동작 확인
- 통합 테스트(Integration test): 파이프라인 전체가 정상 실행되는지
- 소규모 데이터셋으로 빠른 학습·추론 → 모델 코드가 동작하는지 확인
- 목적: 코드가 “깨지지 않고 돌아간다”는 보장을 주는 단계
2. CT (Continuous Training)
👉 트리거: 모델 재학습 필요성이 감지될 때
- 구체적 조건
- 성능 모니터링 기반 (가장 중요)
- 운영 환경의 예측 성능(정확도, F1, RMSE 등)이 사전 정의된 임계치 이하로 하락
- 예: 분류 모델의 F1-score < 0.8, 추천 CTR 10% 감소
- 원인: 데이터 분포 변화(데이터 드리프트), 입력과 출력 관계 변화(컨셉 드리프트)
- 신규 데이터 축적
- 일정 기간 동안 새로 수집된 데이터가 특정 기준 이상일 때
- 예: 새로운 고객 로그가 1M건 이상 모이면 재학습
- 스케줄 기반
- 사전에 설정된 주기마다 자동 실행
- 예: 매일 자정, 매주 월요일마다 재학습
- 특정 이벤트 기반
- 새로운 라벨 데이터셋이 업로드됨
- 특정 피처(예: 정책 변경으로 새로운 변수 추가)가 발생
- 목적: 최신 데이터 반영, 성능 유지, drift 대응
3. CD (Continuous Delivery / Deployment)
👉 트리거: 새로운 모델을 운영 환경에 반영할 준비가 되었을 때
- 구체적 조건
- CT 단계에서 학습 완료된 모델이 성능 검증을 통과
- 모델 레지스트리(예: MLflow, SageMaker Registry)에서 “Staging → Production” 승격 승인
- 배포 정책 조건 충족:
- Canary Release: 일부 트래픽만 새 모델에 전달 → 성능 OK 시 전체 반영
- A/B 테스트: 기존 모델 vs 새 모델 비교 후 더 우수한 모델을 채택
- 블루-그린 배포: 새로운 인스턴스를 띄워 테스트 후 교체
- CI/CD 툴에서 “배포 파이프라인” 실행 신호가 떨어짐