Part3. 오픈소스를 통해 알아보는 MLOps의 구성요소
Data management ?
- ml 프로젝트를 하면서 데이터를 업데이트 해야하는 경우가 생김
- 특히 시계열 데이터의 경우에는 데이터가 실시간으로 바뀜
- feature engeeniring을 통해서도 데이터의 버전이 계속 바뀜
DVC (data version control)
git과 연동하면서 데이터 버전을 관리
대부분의 스토리지와 호환가능
깃과 유사한 인터페이스
이 과정을 자동화 해두어 쉽게 사용할 수 있음
Tutorial
자세한 내용은 https://github.com/iterative/dvc#how-dvc-works 를 참조
아래 명령어로 dvc 를 설치하고, git repo 를 clone 후 repo 내 dvc 관련 설정파일을 초기화한다.
pip install dvc
git clone https://github.com/owner/repo
cd repo
dvc init
아래처럼 설정파일이 추가 된 것을 확인할 수 있다.
$ git status
Changes to be committed:
new file: .dvc/.gitignore
new file: .dvc/config
...
$ git commit -m "Initialize DVC"
아래 명령어로 remote storage 를 설정 후, git 에 추가한다.
dvc remote add -d storage s3://mybucket/dvcstore
git add .dvc/config
git commit -m "Configure remote storage"
데이터 저장
dvc add data/data.xml
git add data/data.xml.dvc data/.gitignore
git commit -m "Add raw data"
dvc push
dvc add 에서는 데이터 파일의 hash 를 계산하여 .dvc 메타파일에 저장을하고, 실제 remote storage 로의 전송은 dvc push 단계에서 수행된다.
데이터 가져오기
git clone
git pull
dvc pull
dvc pull 단계에서 git 의 메타파일을 기반으로 데이터를 remote storage 로부터 가져온다.
실제 dvc 를 이용해보면 dvc add 단계에서 data file 들을 gitignore 에 추가해주기 때문에 data file 이 github 에 저장되는 것을 방지해준다.
필수 링크: https://bit.ly/37BpXiC
10일차 학습 인증샷 :
오늘은 데이터 관리 오픈소스 툴인 DVC에 대해 살펴봤다.
한번도 사용해본적은 없는데, 이번 기회에 배워두면 프로젝트 진행할 때 정말 좋을듯하다.
내일부터 직접 사용해보면서 제대로 익혀야겠다 ~
'Study > MLops' 카테고리의 다른 글
[MLops] 220210 패스트캠퍼스 챌린지 18일차 - DVC 실습(2) (0) | 2022.02.10 |
---|---|
[MLops] 220209 패스트캠퍼스 챌린지 17일차 - DVC 실습 (0) | 2022.02.09 |
[MLops] 220207 패스트캠퍼스 챌린지 15일차 - DVC (0) | 2022.02.07 |
[MLops] 220206 패스트캠퍼스 챌린지 14일차 - PVC (0) | 2022.02.06 |
[MLops] 220205 패스트캠퍼스 챌린지 13일차 - service (0) | 2022.02.05 |
댓글