1비전 AI 모델 라이프사이클

비전 AI 모델은 배포 후에도 지속적인 모니터링과 개선이 필요합니다. MLOps 관점에서 모델 라이프사이클을 관리해야 합니다.

1
개발/학습
2
검증/테스트
3
배포/운영
4
모니터링
5
재학습
단계주요 활동핵심 지표
개발데이터 수집, 레이블링, 모델 설계데이터 품질, 분포
검증오프라인 테스트, A/B 테스트Precision, Recall, F1
배포모델 서빙, 엣지 배포Latency, Throughput
모니터링성능 추적, 드리프트 탐지실시간 정확도, 분포 변화
재학습새 데이터로 모델 업데이트개선율, 회귀 여부

핵심 원칙: 모델 배포는 끝이 아니라 시작입니다. 제조 환경은 지속적으로 변화하므로, 모델도 함께 진화해야 합니다.

2프로덕션 성능 지표 (KPI)

비전 AI 시스템의 운영 품질을 측정하는 핵심 지표들입니다.

모델 성능 지표

Accuracy, Precision, Recall, F1-Score, AUC-ROC, False Positive Rate (FPR), False Negative Rate (FNR)

운영 성능 지표

Inference Latency (P50/P95/P99), Throughput (검사/분), 가용성, 에러율

비즈니스 지표

과검출률 (Over-Kill), 누출률 (Escape Rate), 재검사율, 품질 비용 절감액

# 성능 지표 계산 및 모니터링 (수도코드) # === Prometheus 메트릭 정의 === # - inference_latency (Histogram): 추론 지연 시간 # - inference_count (Counter): 총 추론 횟수 # - model_accuracy (Gauge): 롤링 정확도 # - false_positive/negative_rate (Gauge): 과검출/누출률 # === 성능 지표 계산기 === class PerformanceMetrics: # 1. 윈도우 기반 레코드 관리 (최근 1000개) # 2. 메트릭 계산 (calculate_metrics) # - 기본: 총 추론수, 검증수, 평균 신뢰도 # - 지연: 평균, P95, P99 latency # - 검증된 데이터로 Confusion Matrix 계산 # TP, TN, FP, FN → accuracy, precision, recall, F1 # - 비즈니스 지표 # FPR (과검출률), FNR (누출률) # === 모델 성능 모니터 === class ModelPerformanceMonitor: # 1. 초기화 # - station_id, model_version # - 알람 임계값 설정 # accuracy_min: 95%, FP_max: 5%, FN_max: 1% # 2. 추론 결과 기록 (record_inference) # - Prometheus 메트릭 업데이트 # 3. 수동 검증 결과 업데이트 (샘플링 검증) # 4. 알람 체크 (check_alerts) # - 정확도 하락 → CRITICAL # - 과검출 증가 → WARNING # - 누출 증가 → CRITICAL (가장 심각) # - P99 지연 증가 → WARNING # 5. 건강 상태 판정 # - HEALTHY / DEGRADED / WARNING / CRITICAL

누출률(Escape Rate) 주의: False Negative는 불량품이 양품으로 출하되는 것을 의미합니다. 고객 품질 문제로 이어지므로 가장 엄격하게 관리해야 하는 지표입니다.

3데이터 드리프트 탐지

제조 환경 변화(재료, 조명, 설비)로 인해 입력 데이터 분포가 변화하면 모델 성능이 저하됩니다. 이를 데이터 드리프트라고 합니다.

드리프트 유형원인탐지 방법
Covariate Drift입력 데이터 분포 변화PSI, KL Divergence
Concept Drift입출력 관계 변화성능 지표 모니터링
Prior Drift레이블 분포 변화클래스 비율 추적
# 데이터 드리프트 탐지 (수도코드) # === 이미지 특징 추출기 === class ImageFeatureExtractor: # ResNet18 사전학습 모델 사용 # 마지막 FC 제거 → 특징 벡터 출력 # 이미지 → 특징 벡터로 변환 # === 통계 기반 드리프트 탐지 === class StatisticalDriftDetector: # 1. 참조 데이터 설정 (학습 시점 분포) # 2. 슬라이딩 윈도우로 현재 데이터 관리 # 3. PSI (Population Stability Index) 탐지 # - 각 특징 차원별 버킷 분포 비교 # - PSI = Σ (actual - expected) * ln(actual/expected) # - PSI > 0.1 → 드리프트 감지 # 4. KS 테스트 (Kolmogorov-Smirnov) # - 각 차원별 분포 차이 검정 # - Bonferroni 보정 적용 # - p-value < 0.01 → 드리프트 감지 # === 예측 결과 기반 드리프트 탐지 === class PredictionDriftDetector: # 1. 참조 분포 설정 (정상 운영 시점) # 2. 레이블 드리프트 탐지 # - Pass율 변화 모니터링 # - 이항 검정으로 유의성 판단 # - 변화율 > 5% & p < 0.01 → 드리프트 # 3. 신뢰도 드리프트 탐지 # - 평균 신뢰도 변화 모니터링 # - Welch's t-test로 검정 # - 변화 > 0.05 & p < 0.01 → 드리프트
⚠️

드리프트 탐지 알람 예시

PSI Score 0.18 > 임계값 0.10 - 입력 데이터 분포 변화 감지. 조명 조건 또는 제품 표면 상태 변경 확인 필요.

4자동 재학습 파이프라인

드리프트가 감지되거나 성능이 저하되면 자동으로 모델을 재학습하는 파이프라인을 구축합니다.

# 자동 재학습 파이프라인 (수도코드) # === 재학습 트리거 유형 === # SCHEDULED: 정기 재학습 # DRIFT_DETECTED: 드리프트 감지 # PERFORMANCE_DROP: 성능 저하 # NEW_DEFECT_TYPE: 새 불량 유형 # === 재학습 파이프라인 === class RetrainingPipeline: # 1. 재학습 필요 여부 판단 (should_retrain) # - 정확도 < 95% → 성능 저하 # - drift_score > 0.1 → 드리프트 감지 # - 새 불량 100건 이상 → 새 불량 유형 # 2. 학습 데이터 준비 (prepare_training_data) # - 기존 학습 데이터 로드 # - 새로운 검증된 샘플 추가 (30일간) # - 클래스 균형 조정 (PASS:FAIL = 3:1) # - Train/Val 분리 (8:2) # 3. 새 모델 학습 (train_new_model) # - 기존 모델 기반 전이학습 # - 새 버전 생성 (v{날짜시간}) # - 모델 레지스트리에 STAGED로 등록 # 4. 모델 검증 (validate_new_model) # - Shadow 모드: 현재 vs 새 모델 비교 # - 모든 지표에서 회귀 없음 확인 # - 정확도 1% 이상 개선 필요 # - 결과: DEPLOY 또는 REJECT # 5. 모델 배포 (deploy_model) # - 카나리: 10% → 25% → 50% → 75% → 100% # - 각 단계 5분 모니터링 # - 문제 시 자동 롤백

5운영 모범 사례

비전 AI 시스템의 안정적 운영을 위한 모범 사례들입니다.

영역모범 사례효과
샘플링 검증 Pass 판정 제품 중 일정 비율 수동 검증 누출률 모니터링, GT 데이터 확보
다중 모델 제품/불량 유형별 전문 모델 운영 정확도 향상, 유지보수 분리
Fallback 정책 모델 장애 시 수동 검사 전환 라인 중단 방지
버전 관리 모델, 데이터, 코드 버전 추적 재현성, 롤백 가능
점진적 배포 카나리/블루-그린 배포 전략 위험 최소화
# 운영 모범 사례 구현 (수도코드) # === Fallback 모드 === # MANUAL_INSPECTION: 수동 검사 전환 # PASS_ALL: 전량 Pass (위험 - 품질 이슈) # FAIL_ALL: 전량 Fail (보수적 - 생산성 저하) # === 운영 설정 === # 샘플링 검증 비율 # - Pass 판정: 1% 수동 검증 # - Fail 판정: 10% 수동 검증 # - 낮은 신뢰도(<0.8): 100% 검증 # 타임아웃: 200ms # 연속 실패 임계값: 5회 # === 비전 AI 운영자 === class VisionAIOperator: # 1. 검사 실행 (inspect) # - 타임아웃 포함 추론 # - 실패 시 Fallback 처리 # - 샘플링 검증 대상 결정 # 2. 샘플링 검증 로직 # - 낮은 신뢰도 → 항상 검증 # - 높은 신뢰도 Pass → 1% 확률 # - Fail → 10% 확률 # 3. Fallback 활성화/해제 # - 연속 5회 실패 시 활성화 # - CRITICAL 알람 발송 # - 건강 체크 통과 시 자동 해제 # 4. 건강 체크 (health_check) # - 테스트 이미지로 추론 테스트 # - 지연 시간 확인 # - 상태: HEALTHY / DEGRADED / UNHEALTHY # === 다중 모델 라우터 === class MultiModelRouter: # 제품 코드별 전문 모델 매핑 # 기본 모델 설정 # 적합한 모델로 요청 라우팅

샘플링 검증의 중요성: 운영 중 수동 검증 데이터는 모델 성능 모니터링과 재학습의 핵심입니다. Pass 판정 제품 중 일부를 반드시 수동 확인하여 누출률을 추적하세요.

6비전 AI 품질 개선 로드맵

Chapter 4를 마무리하며, 비전 AI 시스템의 지속적 품질 개선을 위한 로드맵입니다.

단계목표핵심 활동
Level 1: 기본 동작하는 시스템 모델 배포, 기본 모니터링, 수동 재학습
Level 2: 관리 측정 가능한 품질 KPI 대시보드, 샘플링 검증, 버전 관리
Level 3: 정의 표준화된 프로세스 드리프트 탐지, 재학습 트리거, A/B 테스트
Level 4: 정량 예측 가능한 성능 자동 재학습 파이프라인, CI/CD for ML
Level 5: 최적화 지속적 개선 AutoML, 자가 치유 시스템, 비즈니스 연계

Chapter 4 요약: 컴퓨터 비전과 품질 AI는 제조업의 품질 검사를 혁신하고 있습니다. 딥러닝 기반 불량 검출, 이상 탐지, 엣지 배포, MES 연동, 그리고 지속적 모니터링과 재학습까지 - 전체 라이프사이클을 이해하고 관리하는 것이 성공의 열쇠입니다.

다음 단계: Chapter 5에서는 예측 정비(Predictive Maintenance)와 설비 AI를 다룹니다. 진동, 음향, 온도 센서 데이터를 활용한 고장 예측과 잔여 수명(RUL) 추정, CMMS 통합을 학습합니다.