DVC 시작하기
DVC 시작하기 (Get Started with DVC)
Git으로는 큰 데이터셋과 머신러닝 모델을 다루기 어려워요. DVC(Data Version Control)를 쓰면 코드와 함께 대용량 데이터·모델을 추적하고, 저장소를 클론했을 때 데이터셋·체크포인트·모델이 즉시 워크스페이스에 준비돼 있는 걸 볼 수 있어요. Git 체크아웃 하나로 100GB 파일을 1초도 안 돼서 다른 버전으로 바꿀 수 있죠. DVC는 말 그대로 "데이터를 위한 Git"이에요.
DVC 설치
가장 간단한 설치는 uv나 pipx를 이용하는 거예요.
$ uv tool install dvc # 또는
$ pipx install dvc
설치가 끝나면 dvc --help로 도움말이 뜨는지 확인하면 돼요.
프로젝트 초기화
가상의 ML 프로젝트를 처음부터 만들어 보며 시작할게요. 먼저 Git 저장소를 만들고, 그 안에서 DVC 프로젝트로 사용할 현재 디렉터리를 초기화해요.
$ mkdir example-get-started
$ cd example-get-started
$ git init
$ dvc init
dvc init을 실행하면 .dvc/ 디렉터리와 내부 파일들이 생기는데, .dvc/.gitignore와 .dvc/config 같은 파일은 Git에 커밋해야 해요.
$ git add .dvc
$ git commit -m "Initialize DVC"
데이터 추적
데이터 파일 하나를 골라 추적해 볼게요. 여기선 data.xml을 예시로 쓰지만, 텍스트든 바이너리든 파일·디렉터리 모두 상관없어요.
$ dvc get https://github.com/treeverse/dataset-registry \
get-started/data.xml -o data/data.xml
$ dvc add data/data.xml
dvc get은 Git 저장소를 "데이터 레지스트리"처럼 쓰게 해 줘요. DVC 저장소에 추적된 파일·디렉터리를 아무거나 내려받을 수 있죠. dvc add를 실행하면 data/data.xml.dvc라는 작은 메타데이터 파일이 생기는데, 이건 원본 데이터 대신 Git이 추적할 자리표시자 역할을 해요. 딥링크라 원본 데이터는 .dvc/cache에 저장돼요.
저장과 공유
데이터를 원격 저장소에 올리려면 먼저 dvc remote add로 원격을 설정해요.
$ mkdir /tmp/dvcstore
$ dvc remote add -d myremote /tmp/dvcstore
$ dvc push
-d는 기본(default) 원격으로 설정하라는 뜻이에요. 원격에 저장된 데이터·모델은 다른 프로젝트 사본에서 dvc pull로 내려받을 수 있어요. 보통 git pull이나 git clone 다음에 실행하죠.
$ dvc pull
상태와 버전 전환
git checkout과 dvc checkout으로 전체 데이터 및 모델 워크스페이스를 특정 커밋 상태로 만들 수 있고, 이전 버전의 데이터셋으로 되돌아가는 것도 간단해요. DVC는 로컬 데이터 사이언스·ML 프로젝트에서 Git 기반 데이터·모델 버전 관리를 위해 설계됐어요.
더 알아보기
- DVC 설치 가이드 — 다양한 설치 옵션
- dvc init — 프로젝트 초기화 옵션
- Data Pipelines — 데이터 파이프라인 구축