DVC 실험 관리

DVC 실험 관리 (Experiment Management)

실험을 코드에 계측(instrument)해서 빠르게 추적하기 시작할 수 있는 게 DVC의 실험 관리예요. 각 실험과 연관된 코드·데이터·메트릭·파라미터·플롯의 변경을 관리하면서, Git 저장소를 비대하게 만들지 않아요. 파이프라인을 실험 관리 시스템으로 활용해 작업을 스테이지로 나누고 의존성·출력을 추적하며 파라미터·하이퍼파라미터를 네이티브로 주입할 수도 있어요.

출처: Get Started: Experiment Management

실험 추적 (Experiment Tracking)

코드를 계측해 실험 추적을 시작하는 방식이에요. 실험마다 코드·데이터·메트릭·파라미터·플롯의 변경을 관리하되, Git 저장소를 크게 만들지 않아요.

핵심은 DVC의 파라미터·메트릭·플롯 기능이에요.

  • 파라미터(parameters): params.yaml 파일에 하이퍼파라미터를 정의하고 스테이지에서 참조해요. 실험이 실행될 때마다 지정된 파라미터 값을 추적해요.
  • 메트릭(metrics): 학습 스크립트가 메트릭 파일(예: metrics.json)을 출력하도록 해 두면 dvc exp show로 실험 결과를 한눈에 비교할 수 있어요.
  • 플롯(plots): 시각화 데이터를 출력해 실험 간 성능 곡선을 그려 비교해요.

파이프라인을 통한 실험 (Experimenting Using Pipelines)

DVC 데이터 파이프라인을 실험 관리 시스템으로 쓰는 방식이에요. 워크플로를 스테이지로 나누고, 의존성과 출력을 추적하며, 파라미터·하이퍼파라미터를 실험 실행에 주입해요.

실험을 Git으로 정리

각 실험은 Git 커밋과 연결되어 있어요. 실험과 관련된 코드·데이터·메트릭 변경을 커밋으로 묶어 저장하고, 원하는 실험으로 언제든 되돌아갈 수 있어요. DVC 저장소에 실험을 저장하고 서로 비교하며 관리할 수 있죠.

더 알아보기