MLops

패스트캠퍼스 챌린지 14일차

Laftel 2022. 2. 7. 18:47
반응형

데이터 버전을 관리하는 것이 왜 필요한가?머신러닝 모델 개발을 하다 보면, 원래 처음의 데이터. row data를 조금씩 조금씩 변경해가면서, 여러 가지 방법의 피쳐 엔지니어링을 해보면서 이 칼럼을 바꿔보기도 하고 어떤 칼럼을 추가해보기도 하고 어떤 칼럼을 삭제해보기도 하고 하면서 굉장히 많은 버전의 데이터가 생성된다
시계열 데이터가 있을 때 noise를 줄이는 방법으로 일정 기간의 무빙 레버리지를 적용하는 경우가 상당히 많다.
그런데 이 경우에 noise를 줄이면서도 데이터의 특징을 살리기 위해서는 데이터마다 어떤 한 시간의 이동 평균을 사용해야 할지, 3일의 이동 평균을 사용해야 할지 이러한 것들을 여러가지 시도해보면서. 각각 모델에 태워보고 각각 여러 버전의 데이터에서 가장 좋은 성능을 내는 데이터가 무엇인지 가장 좋은 성능을 내는 피쳐 엔지니어링 기법이 무엇이었는지 확인하는 경우가 많다. 그런데 이렇게 데이터를 조금씩 조금씩 바꿔가면서 실험을 하다보면 데이터의 여러 버젼이 엄청나게 많이 쌍이게 되고 
그러면 나중에 봤을 때 어떤 데이터가 어떤 피쳐엔지니어링을 통해서 나왔던 데이터인지 확인하기 기억하기 어려운 지경에 이른다. 파일 이름으로 구분하면 안 될까? 파일이나 폴더 이름을 잘 구분을해서 어떤 파일이 어떤 피쳐엔지니어링을 거친 데이터인지 구분하는 것도 나쁘지는 않은 방법이다.
하지만 더 좋은 더 사용법이 간편한 하면서도 효율적으로 관리를 할 수 있는 무료 툴이 있다. 이걸 사용하는 게 훨씬 좋다
일반적인 소프트웨어를 개발을 할 때도 소스 코드는 계속 계속 바뀌게된다. 버그가 발생하면 옛날 코드로 돌아가고자 하고 이러한 바램이 굉장히 많았다. 그래서 이러한 소스코드의 버젼을 쉽고 효율적으로 관리해주는 형상 관리 툴.소스코드 버젼 컨트롤 툴들이 발전을 하게 되었다.Git.
하지만 대용량 데이터를 올리고 다운로드 받기에는 적합하지 않다.
애초에 git 소프트웨어 소스코드 , 텍스트 파일들만 가볍게 저장하고 다운로드 받을 수 있는 서비스이다
보통 대용량데이터는 구글 드라이브나 아마존S3의 대용량 저장소에 저장한고 깃허브에는 그 데이터를 다운 받을 수 있는 접속 정보를 작성해놓는다.
소스코드와 데이터 버젼을 함께 관리하는 대표적인 툴 DVC,Pachyderm,Delta Lake,Dolt
오픈 소스이며 디버깅도 할 수 있고 깃과 유사한 DVC
DVC는 실제 데이터 스토리지에 저장 되고 깃허브에는 그 데이터의 메타 데이터만 저장한다. 이거를 자동화, 쉽게 사용하게 해준다. DVC add를 수행하면 이 데이터의 meta데이터를 가지고 있는 .dvc 파일이 생성이 된다. 이 dvc파일에는 실제 데이터 스토리지의 위치 그리고 버젼정보와 같은 메타 정보가 담기게 된다. .dvc 파일만 깃허브에 저장이 된다. 파이썬 api도 제공을 해서 파이썬 코드로 파일 업로드와 다운로드를 쉽게 할 수 있다

#직장인인강 #직장인자기계발 #패스트캠퍼스후기#온라인패키지:머신러닝서비스구축을위한실전MLOps#머신러닝서비스구축을위한실전MLOps온라인패키지Online.

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

반응형