ml_in_practice 부스트캠프 AITech recsys ML

[ML/실험 관리] 머신러닝 모델 실험 관리

Kwangjin Park

Sep 22, 2024 · 2 min read

Follow

1. Experiment Management

실험 관리

  • 머신러닝 실험 관리
    • ML 모델 개발 및 최적화 과정에서, 실험에 사용된 다양한 요소들을 체계적으로 추적 및 관리하는 것
  • ML 실험에서 중요한 메타데이터
    • 코드 버전
    • 데이터셋 버전
    • 모델 버전
    • 하이퍼파라미터
    • 실행 환경(라이브러리, 프레임워크 등)
    • 평가 메트릭

실험 관리가 중요한 이유

  1. 실험 재현성(Reproductibility) 확보
    • 과거 실험한 모든 설정을 추적함으로서 언제든 최적의 모델을 재현할 수 있도록
      • 모든 모델을 영원히 들고 있을 수는 없기에(비용 및 용량 이슈)
    • 실제 현업 이슈 ex.
      • “저번에 성능이 가장 좋았던 실험 설정이 기억나지 않아 다시 찾아보려고 했지만, 정확한 설정을 확인할 수 없었습니다.”
      • “팀원이 휴가로 인해 부재중일 때, 해당 팀원의 실험을 이어서 진행해야 했으나 실험 설정을 파악하는데 어려움을 겪었습니다.”
  2. 모델 성능 향상 및 최적화 용이 image1
    • 각 실험의 메타데이터를 비교 분석하여, 모델 성능에 영향을 미치는 주요 요인 식별
    • 실제 현업 이슈 ex.
      • “수많은 실험을 진행했지만, 어떤 요인이 성능 향상에 기여했는지 파악하기 어려웠습니다.”
      • “동일한 모델에 대해 팀원들이 서로 다른 하이퍼파라미터 설정으로 실험을 진행하여, 최적의 설정을 찾는데 혼선이 있었습니다.”
  3. 협업 및 커뮤니케이션 촉진 image2
    • 실험 관리를 통해 실험 내용 기록 및 공유 → 팀원 간 이해도 개선 및 효과적 커뮤니케이션
    • 실제 현업 이슈 ex.
      • “팀원들이 내 실험 내용을 정확히 이해하지 못해, 프로젝트 진행에 어려움을 겪었습니다.”
      • “실험 결과 공유 회의에서 팀원들에게 실험 내용을 설명하는데 많은 시간이 소요되었습니다.”

실험 관리를 통한 성능 비교

  1. 실험 메타데이터 기록
    • 각 실험 설정, 하이퍼파라미터, 데이터셋 등의 메타데이터 기록
  2. 실험 간 성능 비교 분석
    • 기록된 메타데이터 기반한 실험
    • 주요 성능 평가 지표: 정확도 / 정밀도 / 재현율 / F1 score 등
  3. 최적 모델 선정 및 개선
    • 1, 2번 과정의 결과를 기반으로 최적 성능의 모델 선정
    • 이를 분석하여 개선점 도출 / 개선점에 대한 추가 실험 수행 / 반복적 개선

2. Experiment Management Tools

실험 관리 도구

  • 다양한 도구 / 대체로 유사한 기능 제공
    • 실험 추적 / 관리
    • 예측 결과 시각화
    • HPO(하이퍼 파라미터 튜닝)
    • 데이터셋 버전 / 모델 관리
  • mlflow / W&B 많이 활용 image3

Weight & Bias

  • 대표 기능
    • 5줄의 코드로 실험 추적, 버전 관리 및 시각화 가능
    • 모든 프레임워크와의 간편한 통합
    • 모든 모델 체크포인트 재현 가능
    • CPU 및 GPU 사용량 실시간 모니터링 image4
  • W&B를 통한 실험 관리
    • 기존 작성된 실험코드에 몇 줄만 추가하면 실험 추적 가능 → 간편한 활용 image5
    • 시스템 지표(네트워크, 디스크, 메모리)를 자동으로 추적하고 모니터링 image6
    • 활용한 메타정보 기록 및 정리 image7
    • 실험 중 발생하는 loss 및 다양한 metric 기록 image8
    • 분류 및 회귀 task에 다양한 시각화 방법 활용 가능
    • 활용 기능
      • “Sweep” 기능 → 하이퍼파라미터 자동 튜닝 기능 활용 가능
        1. 어떤 방법론으로 탐색하고 싶음?
          • method 정의: Grid Search, Random Search, Bayesian Search 중 하나 선택
        2. 어떤 하이퍼파라미터를 최적화하고 싶음?
          • parameters 정의: 탐색할 값을 구간이나 분포로 지정 가능
        3. 하이퍼파라미터 튜닝 실행
          • Sweep API 초기화: Sweep의 구성 요소 정의
          • Sweep agent 실행: 하이퍼파라미터 튜닝 실행
        4. 튜닝 결과 시각화 가능 / 최적화에 필요한 요소 분석
      • “Artifact” 기능 → 실험 파이프라인 관리
        • ML 실험 파이프라인을 Artifact로 추가하여 저장(개인서버 / W&B 제공 서버)
        • 저장한 Artifact 로드 및 수정 업데이트 가능
      • “Reports” 기능 → 작성한 실험 레포트 팀원과 공유하는 기능

chat_bubble 0

chat_bubble 댓글남기기

댓글남기기