데이터 과학자 기계 학습 전문가는 일반적인 데이터 과학 프로젝트에서 다양한 유형의 상당한 수의 데이터를 처리합니다. 다양한 구성과 기능으로 수많은 모델이 개발되었으며 최적의 성능을 얻기 위해 매개 변수 튜닝을 여러 번 반복했습니다.
이러한 시나리오에서 모든 데이터 수정 및 모델 구축 프로세스 조정을 모니터링하고 측정하여 효과가 있었던 것과 그렇지 않은 것을 결정해야 합니다. 이전 판으로 돌아가서 이전 결과를 살펴볼 수 있는 것도 중요합니다.
데이터, 기본 모델 관리 및 재현 가능한 결과 실행을 지원하는 데이터 버전 제어(DVC)는 이 모든 것을 모니터링할 수 있는 기술 중 하나입니다.
이 게시물에서는 데이터 버전 제어와 사용하기에 가장 좋은 도구에 대해 자세히 살펴보겠습니다. 의 시작하자.
데이터 버전 제어란 무엇입니까?
모든 프로덕션 시스템에는 버전 관리가 필요합니다. 최신 데이터에 대한 단일 액세스 지점입니다. 특히 여러 사용자가 동시에 자주 수정하는 모든 리소스는 모든 변경 사항을 추적하기 위해 감사 추적을 생성해야 합니다.
버전 제어 시스템은 팀의 모든 사람이 동일한 페이지에 있는지 확인하는 역할을 합니다. 팀의 모든 사람이 파일의 가장 최신 버전에서 작업하고 더 중요한 것은 모든 사람이 한 번에 동일한 프로젝트에서 공동 작업하고 있음을 보장합니다.
적절한 장비가 있다면 최소한의 노력으로 이것을 달성할 수 있습니다!
신뢰할 수 있는 데이터 버전 관리 전략을 사용하는 경우 일관된 데이터 세트와 모든 연구의 철저한 아카이브를 갖게 됩니다. 재현성, 추적 가능성 및 ML 모델 기록에 관심이 있는 경우 데이터 버전 관리 도구는 워크플로에 매우 중요합니다.
데이터 세트 또는 모델의 해시와 같은 항목 버전을 획득하는 데 도움이 되며 이를 식별하고 비교하는 데 사용할 수 있습니다. 이 데이터 버전은 종종 메타데이터 관리 솔루션에 입력되어 모델 교육의 버전이 지정되고 반복 가능하도록 보장합니다.
최고의 데이터 버전 제어 도구
이제 코드의 모든 부분을 추적하는 데 사용할 수 있는 최고의 데이터 버전 제어 솔루션을 살펴볼 차례입니다.
1. 힘내 LFS
Git LFS 프로젝트는 무료로 사용할 수 있습니다. Git 내에서 오디오 샘플, 비디오, 데이터베이스 및 사진과 같은 대용량 파일은 텍스트 포인터로 대체되며 파일 내용은 GitHub.com 또는 GitHub Enterprise와 같은 원격 서버에 저장됩니다.
이를 통해 Git을 사용하여 최대 몇 GB 크기의 대용량 파일을 버전화하고 외부 스토리지를 활용하는 Git 리포지토리에서 더 많은 것을 호스팅하고 대용량 파일 리포지토리를 더 빠르게 복제 및 검색할 수 있습니다. 데이터 관리와 관련하여 이것은 매우 가벼운 솔루션입니다. Git으로 작업하기 위해 추가 명령, 스토리지 시스템 또는 툴킷이 필요하지 않습니다.
다운로드하는 정보의 양을 제한합니다. 이는 리포지토리에서 대용량 파일을 복제하고 검색하는 것이 더 빠를 것임을 의미합니다. 포인터는 더 가벼운 재질로 만들어졌으며 LFS를 가리킵니다.
결과적으로 리포지토리를 기본 리포지토리로 푸시하면 빠르게 업데이트되고 공간을 덜 차지합니다.
장점
- 대부분의 비즈니스 개발 워크플로에 쉽게 통합됩니다.
- Git 리포지토리와 동일한 권한을 사용하기 때문에 추가 권한을 처리할 필요가 없습니다.
단점
- Git LFS는 데이터를 저장하기 위해 전용 서버를 사용해야 합니다. 결과적으로 데이터 사이언스 팀은 고정되고 엔지니어링 작업 부하가 증가합니다.
- 매우 전문적이며 데이터 과학 워크플로우의 후속 단계를 위해 다양한 도구를 사용해야 할 수 있습니다.
가격 정책
누구나 무료로 사용할 수 있습니다.
2. LakeFS
LakeFS는 S3 또는 GCS에 데이터를 저장하고 페타바이트로 확장되는 Git과 같은 분기 및 커밋 패러다임을 갖는 오픈 소스 데이터 버전 관리 솔루션입니다.
이 분기 전략은 원자적으로 즉각적으로 구성, 병합 및 롤백할 수 있는 개별 분기에서 변경이 발생하도록 허용하여 데이터 레이크 ACID를 준수하도록 합니다.
LakeFS를 통해 팀은 반복 가능하고 원자적이며 버전이 지정된 데이터 레이크 활동을 생성할 수 있습니다. 신인 무대지만 무시할 수 없는 힘이다.
Git과 같은 분기 및 버전 제어 접근 방식을 사용하여 데이터 레이크, 데이터의 페타바이트까지 확장 가능. 엑사바이트 단위로 버전 제어를 확인할 수 있습니다.
장점
- Git과 유사한 작업에는 분기, 커밋, 병합 및 되돌리기가 포함됩니다.
- 사전 커밋/병합 후크는 데이터 CI/CD 확인에 사용됩니다.
- 형식 중립을 유지하면서 S3 및 GCS와 같은 간단한 클라우드 스토리지를 위한 ACID 트랜잭션과 같은 복잡한 기능을 제공합니다.
- 데이터 변경 사항을 실시간으로 되돌립니다.
- 쉽게 확장하여 매우 큰 데이터 레이크를 수용할 수 있습니다. 개발 및 프로덕션 설정 모두에 대해 버전 제어를 제공할 수 있습니다.
단점
- LakeFS는 신제품이므로 기능과 설명서가 이전 솔루션보다 더 빠르게 변경될 수 있습니다.
- 데이터 버전 관리에 중점을 두기 때문에 데이터 과학 워크플로의 다양한 부분에 다양한 추가 도구를 활용해야 합니다.
가격 정책
누구나 무료로 사용할 수 있습니다.
3. DVC
Data Version Control은 데이터 과학 및 기계 학습 애플리케이션용으로 설계된 무료 데이터 버전 관리 솔루션입니다. 모든 언어로 파이프라인을 정의할 수 있는 프로그램입니다.
이 도구는 대용량 파일, 데이터 세트, 머신 러닝 모델, 코드 등을 관리함으로써 머신 러닝 모델을 공유하고 재현할 수 있도록 합니다. 이 프로그램은 몇 단계만으로 설정할 수 있는 간단한 명령줄을 제공한다는 점에서 Git의 선례를 따릅니다.
이름에서 알 수 있듯이 DVC는 데이터 버전 관리에 관한 것만이 아닙니다. 또한 팀을 위한 파이프라인 및 기계 학습 모델 관리를 용이하게 합니다.
마지막으로 DVC는 팀 모델의 일관성과 반복성을 개선하는 데 도움이 됩니다. 코드에서 복잡한 파일 접미사 및 주석을 사용하는 대신 Git 브랜치 새로운 아이디어를 시도하기 위해. 여행하려면 종이와 연필 대신 자동화된 미터법 추적을 사용하십시오.
일관된 번들을 전송하려면 기계 학습 모델, 데이터 및 코드를 프로덕션, 멀리 떨어진 컴퓨터 또는 동료의 데스크톱으로 전송하는 경우 임시 스크립트 대신 푸시/풀 명령을 활용할 수 있습니다.
장점
- 가볍고 오픈 소스이며 모든 주요 클라우드 플랫폼 및 스토리지 종류와 함께 작동합니다.
- 유연하고 형식과 프레임워크에 구애받지 않으며 구현이 간단합니다.
- 모든 ML 모델의 전체 진화는 소스 코드와 데이터로 거슬러 올라갈 수 있습니다.
단점
- 파이프라인 관리와 DVC 버전 제어는 불가분의 관계입니다. 팀에서 이미 다른 데이터 파이프라인 제품을 사용하고 있는 경우 중복성이 있습니다.
- DVC는 가볍기 때문에 팀에서 더 사용자 친화적으로 만들기 위해 수동으로 추가 기능을 설계해야 할 수 있습니다.
가격 정책
누구나 무료로 사용할 수 있습니다.
4. 델타레이크
DeltaLake는 데이터 레이크 안정성을 높이는 오픈 소스 스토리지 계층입니다. Delta Lake는 스트리밍 및 일괄 데이터 처리 외에도 ACID 트랜잭션 및 확장 가능한 메타데이터 관리를 지원합니다.
Apache Spark API와 함께 작동하며 기존 데이터 레이크에 있습니다. Delta Sharing은 비즈니스에서 안전한 데이터 공유를 위한 세계 최초의 개방형 프로토콜로, 컴퓨터 시스템과 관계없이 다른 비즈니스와 데이터를 간단하게 교환할 수 있습니다.
Delta Lakes는 페타바이트 규모의 데이터를 쉽게 처리할 수 있습니다. 메타데이터는 데이터와 동일한 방식으로 저장되며, 사용자는 상세 설명 방법을 사용하여 가져올 수 있습니다. Delta Lakes에는 스트림 및 배치 데이터를 모두 읽을 수 있는 단일 아키텍처가 있습니다.
Upsert는 Delta를 사용하여 간단하게 수행할 수 있습니다. 델타 테이블로의 이러한 업서트 또는 병합은 SQL 병합과 유사합니다. 이를 사용하여 다른 데이터 프레임의 데이터를 테이블에 통합하고 업데이트, 삽입 및 삭제를 수행할 수 있습니다.
장점
- ACID 트랜잭션 및 강력한 메타데이터 관리와 같은 많은 기능을 현재 데이터 스토리지 솔루션에서 사용할 수 있습니다.
- Delta Lake는 이제 페타바이트 규모의 수십억 개의 파티션과 파일이 있는 테이블을 손쉽게 관리할 수 있습니다.
- 수동 데이터 버전 제어 및 기타 데이터 문제의 필요성을 줄여 개발자가 데이터 레이크를 기반으로 제품 개발에 집중할 수 있습니다.
단점
- Spark 및 대용량 데이터와 함께 작동하도록 설계되었기 때문에 Delta Lake는 일반적으로 대부분의 작업에 과도합니다.
- 전용 데이터 형식을 사용해야 하므로 유연성이 제한되고 현재 형식과 호환되지 않습니다.
가격 정책
누구나 무료로 사용할 수 있습니다.
5. 얼뜨기
Dolt는 git 저장소와 동일한 방식으로 분기, 복제, 분기, 병합, 푸시 및 풀링을 수행하는 SQL 데이터베이스입니다. 버전 제어 데이터베이스의 사용자 경험을 개선하기 위해 Dolt는 데이터와 구조가 동시에 변경되도록 합니다.
귀하와 귀하의 동료가 협업할 수 있는 훌륭한 도구입니다. 다른 MySQL 데이터베이스와 동일한 방식으로 Dolt에 연결하고 쿼리를 실행하거나 SQL 명령을 사용하여 데이터를 변경할 수 있습니다.
데이터 버전 관리와 관련하여 Dolt는 독보적입니다. Dolt는 데이터 버전만 관리하는 다른 솔루션과 달리 데이터베이스입니다. 이 소프트웨어는 현재 초기 단계에 있지만 가까운 장래에 Git 및 MySQL과 완벽하게 호환될 것이라는 희망이 있습니다.
Git에서 사용하는 데 익숙한 모든 명령은 Dolt에서도 작동합니다. Git 버전 파일, Dolt 버전 테이블 명령줄 인터페이스를 사용하여 CSV 파일을 가져오고 변경 사항을 커밋하고 원격에 게시하고 팀원의 변경 사항을 병합합니다.
장점
- 경량 및 오픈 소스 일부.
- 더 모호한 선택과 비교하여 SQL 인터페이스가 있어 데이터 분석가가 더 쉽게 액세스할 수 있습니다.
단점
- 다른 데이터베이스 버전 관리 대안과 비교할 때 Dolt는 아직 개발 중인 제품입니다.
- Dolt는 데이터베이스이므로 이점을 얻으려면 데이터를 데이터베이스로 전송해야 합니다.
가격 정책
누구나 커뮤니티 세션을 사용할 수 있습니다. 플랫폼은 프리미엄 가격을 제공하지 않습니다. 대신 공급자에게 문의해야 합니다.
6. 후피 동물
Pachyderm은 많은 기능을 갖춘 무료 데이터 과학 버전 제어 시스템입니다. Pachyderm Enterprise는 매우 안전한 환경에서 대규모 협업을 위해 설계된 강력한 데이터 과학 플랫폼입니다.
Pachyderm은 목록에 있는 몇 안 되는 데이터 과학 플랫폼 중 하나입니다. Pachyderm의 목표는 전체 데이터 주기를 관리하고 기계 학습 모델의 결과를 간단하게 복제할 수 있는 플랫폼을 제공하는 것입니다. Pachyderm은 이 맥락에서 "데이터의 Docker"로 알려져 있습니다. Pachyderm은 Docker 컨테이너를 사용하여 실행 환경을 패키징합니다. 이렇게 하면 동일한 결과를 복제하는 것이 간단해집니다.
데이터 과학자와 DevOps 팀은 버전이 지정된 데이터와 Docker의 조합 덕분에 안심하고 모델을 배포할 수 있습니다. 효율적인 스토리지 시스템 덕분에 스토리지 비용을 최소화하면서 페타바이트 규모의 정형 및 비정형 데이터를 유지할 수 있습니다.
파이프라인 단계 전체에서 파일 기반 버전 관리는 중간 출력을 포함하여 모든 데이터 및 아티팩트에 대한 철저한 감사 레코드를 제공합니다. 도구의 많은 기능은 팀이 도구를 최대한 활용하는 데 도움이 되는 이러한 요소에 의해 구동됩니다.
장점
- 컨테이너를 기반으로 하는 데이터 환경은 이동이 가능하고 클라우드 공급자 간에 쉽게 전송할 수 있습니다.
- 소형 시스템에서 초대형 시스템으로 확장할 수 있는 강력한 기능을 제공합니다.
단점
- Pachyderm의 무료 버전을 처리하는 데 필요한 Kubernetes 서버와 같이 움직이는 요소가 너무 많기 때문에 학습 곡선이 더 가파릅니다.
- Pachyderm은 기술 구성 요소가 많기 때문에 회사의 기존 인프라에 통합하기 어려울 수 있습니다.
가격 정책
커뮤니티 세션으로 플랫폼 사용을 시작할 수 있으며 엔터프라이즈 버전의 경우 공급업체에 문의해야 합니다.
7. Neptune
모델 구축 메타데이터는 MLOps 스택의 중요한 측면인 ML 메타데이터 저장소에서 관리합니다. 모든 MLOps 워크플로에서 Neptune은 중앙 집중식 메타데이터 스토리지 역할을 합니다.
수천 개의 기계 학습 모델을 모두 한 곳에서 추적, 시각화 및 비교할 수 있습니다. 여기에는 실험 추적, 모델 레지스트리 및 모델 모니터링과 같은 기능과 협업 인터페이스가 포함됩니다. 여기에는 여러 모델 교육 및 하이퍼파라미터 튜닝 도구를 포함하여 25개 이상의 다양한 도구와 라이브러리가 통합되어 있습니다.
신용 카드를 사용하지 않고 Neptune에 가입할 수 있습니다. Gmail 계정으로 충분합니다.
장점
- 모든 파이프라인, 흐름, 코드베이스 또는 프레임워크와의 통합이 간단합니다.
- 실시간 시각화, 쉬운 API 및 빠른 지원
- Neptune을 사용하면 모든 실험 데이터를 한 위치에 "백업"하여 나중에 복구할 수 있습니다.
단점
- 완전한 오픈 소스는 아니지만 개별 버전은 개인 용도로 충분할 것으로 예상되지만 그러한 액세스는 한 달로 제한됩니다.
- 몇 가지 작은 설계 결함이 발견됩니다.
가격 정책
누구나 무료로 사용할 수 있는 개인 플랜으로 플랫폼 사용을 시작할 수 있습니다. 가격 섹션은 월 $150부터 시작합니다.
결론
이 게시물에서는 최고의 데이터 버전 관리 도구에 대해 논의했습니다. 우리가 본 것처럼 각 도구에는 고유한 기능 세트가 있습니다. 일부는 무료였고 일부는 유료였습니다. 일부는 소규모 비즈니스 모델에 적합하고 다른 일부는 대규모 비즈니스 모델에 더 적합합니다.
따라서 장단점을 따져본 후 목적에 가장 적합한 소프트웨어를 선택해야 합니다. 프리미엄 제품을 구매하기 전에 무료 평가판을 테스트해 보시기 바랍니다.
댓글을 남겨주세요.