재현 가능한 실험 설계

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

Sinan Ozdemir

Data Scientist and Author

재현 가능한 실험

  • 정확성과 신뢰성 보장
  • 결과 복제가 더 쉬움
  • 협업 향상
  • ML 모델의 편향 위험 감소
  • 연구 과정의 무결성 강화
프로덕션을 위한 Machine Learning 모델 개발

MLflow

머신러닝 실험을 추적·관리하는 오픈 소스 플랫폼. MLflow는 다음에 사용됨:

  • 재현 가능한 ML 파이프라인 생성
  • 다음을 추적·관리:
    • 패키지 종속성
    • 코드 버전
    • 실험 설정
  • 여러 사용자가 실험에 접근 가능

mlflow

1 https://www.databricks.com/blog/2018/06/05/introducing-mlflow-an-open-source-machine-learning-platform.html
프로덕션을 위한 Machine Learning 모델 개발

MLflow 사용 예시

# standard scikit-learn imports
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# new imports from MLflow
import mlflow
import mlflow.sklearn
프로덕션을 위한 Machine Learning 모델 개발

MLflow 사용 예시(계속)

with mlflow.start_run():  # Start an MLflow run assuming we have data prepared

    # Build and train model
    rf = RandomForestClassifier()
    rf.fit(X_train, y_train)

    # Log parameters and model information
    mlflow.log_param("n_estimators", rf.n_estimators)
    mlflow.sklearn.log_model(rf, "model")

    y_pred = rf.predict(X_test)  # Evaluate model
    accuracy = accuracy_score(y_test, y_pred)
    mlflow.log_metric("accuracy", accuracy)  # log the test accuracy metric
프로덕션을 위한 Machine Learning 모델 개발

코드 추적

  • MLflow로 코드 버전과 변경 사항 로깅
  • 코드의 서로 다른 버전 비교
  • 특정 결과를 만든 코드 버전 식별
  • 실험을 쉽게 재현
  • 디버깅과 문제 해결 용이
프로덕션을 위한 Machine Learning 모델 개발

모델 레지스트리

  • 모델과 메타데이터의 중앙 저장소
  • MLflow로 모델 버전 로깅, 저장, 비교 가능
  • 전체 ML 파이프라인 재현
  • 모델 비교에 활용
  • 모델의 정확도와 신뢰성 보장

storage

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

실험 재현성

  • 입력 데이터, 코드, 설정 추적 및 로깅
  • 전체 ML 파이프라인 재현
  • 모델 결과에 대한 신뢰 구축
  • 타인이 검증·재사용할 수 있게 함
  • 실행 간 결과 일관성 보장

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

문서화 다시 보기

  • 재현 가능한 ML을 위해 문서는 필수이며 다음을 포함해야 함:
    • 모델 입력 데이터
    • 모델 생성에 사용한 코드
    • 실험에 사용한 설정
    • 실험 결과(선정 모델 등)
  • 문서는 쉽게 접근 가능해야 함
  • 실험의 완전한 기록이어야 함
프로덕션을 위한 Machine Learning 모델 개발

연습해 봅시다!

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

Preparing Video For Download...