모델 신뢰성

프로덕션을 위한 Machine Learning 모델 개발

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

ML 모델과 비즈니스 임팩트 지표 정렬

  • 비즈니스 임팩트 지표는 ML이 비즈니스에 미치는 영향을 측정합니다
    • 예: 매출, 비용 절감, 고객만족도(CSAT)
  • 모델 지표와 정렬되어야 합니다
    • 예: 이탈 예측기 --> 매출
    • 예: 제조 유지보수 예측기 --> 비용 절감
    • 예: 챗봇 의도 탐지 정확도 --> CSAT

그래프 상승

프로덕션을 위한 Machine Learning 모델 개발

ML 파이프라인의 테스트 루틴

  • 유닛 테스트: 개별 구성요소를 검증
    • 예: PCA 인스턴스가 기대한 특징 수를 반환하는지 확인
  • 통합 테스트: 전체 파이프라인을 검증
    • 예: 입력 전처리, 예측 정확도, 출력 후처리가 올바른지 확인
  • 스모크 테스트: 시스템 동작을 빠르게 확인
    • 예: 소량의 샘플 이미지를 올바르게 분류하는지 확인
  • 일찍, 자주 테스트하십시오
    • 예: 새 데이터가 오면 즉시 테스트
프로덕션을 위한 Machine Learning 모델 개발

유닛 테스트 예시

def test_pipeline():
    # Generate mock data for testing
    X_train = pd.DataFrame({'age': [25, 30, 35, 40], 'income': [50000, 60000, 70000, 80000])
    y_train = pd.Series([0, 0, 1, 1])

    pipeline = Pipeline([('preprocessing', DataPreprocessor()),  # Set up pipeline
                         ('model', LogisticRegression())])
    pipeline.fit(X_train, y_train)  # Fit pipeline on training data

    # Generate mock data for testing
    X_test = pd.DataFrame({'age': [30, 35, 40, 45], 'income': [55000, 65000, 75000, 85000])
    y_test = pd.Series([0, 0, 1, 1])
    y_pred = pipeline.predict(X_test)  
    accuracy = accuracy_score(y_test, y_pred)  # Evaluate pipeline on test data

    assert accuracy > 0.8, "Error: pipeline accuracy is too low."
프로덕션을 위한 Machine Learning 모델 개발

모델 노후화 모니터링

  • 모델 노후화: 시간이 지날수록 성능 저하
    • 데이터/환경 변화 때문
  • 지속적 모니터링!

당황한 로봇

프로덕션을 위한 Machine Learning 모델 개발

모델 노후화의 식별과 대응

식별

  • 모델 성능 모니터링
  • 데이터·환경 변화 모니터링

대응

  • 새 데이터로 재학습
    • 예: 새 특징을 모델에 포함
  • 환경 변화를 반영하도록 데이터 파이프라인 업데이트
    • 예: 분석 플랫폼 변경으로 파이프라인 혼선
프로덕션을 위한 Machine Learning 모델 개발

연습해 봅시다!

프로덕션을 위한 Machine Learning 모델 개발

Preparing Video For Download...