DAGsHub 스토리지: DevOps 학위가 없는 DVC 원격 장치 구성

DVC는 좋은 도구입니다.그것은 너로 하여금 너의 데이터, 모델, 실험을 추적하고 공유하게 할 수 있다.또한 일반적인 ML 워크플로우의 단계에 대해 버전 제어를 수행하는 파이핑도 지원합니다.데이터와 모델을 공유하려면 DVC 원격 장치 (예를 들어 S3, Gcloud, GDrive 등) 를 설정해야 하지만, 이렇게 하면 매우 번거롭고 많은 시간이 걸릴 수 있습니다.

주문할 게 너무 많아서...사진 작성자Hans-Peter GausterUnsplash
본문에서, 나는 당신에게 이러한 설정이 이렇게 어려울 필요가 없다는 것을 보여 드리겠습니다.그것은 매끄럽고 쉬워야 한다.이 문제를 해결하기 위해 우리는 DAGs Hub 저장소를 만들었습니다. 이것은 DVC 원격 장치로 매우 쉽게 설정할 수 있고 신용카드가 필요하지 않으며 복잡한 권한을 부여할 필요가 없고 클라우드 설정이 필요하지 않습니다.다섯 개의 명령만 있으면 너는 시작할 수 있어!
우선 DAGs Hub에 프로젝트가 필요합니다.두 가지 방법이 있는데 하나는 create one from scratch이고, 다른 하나는 connect an existing project 다른 플랫폼(GitHub, GitLab, BitBucket 지원)이다.
만약 당신이 필요하다면, 우리는 플랫폼에서 어떻게 새로운 프로젝트를 시작하는지에 관한 tutorial 가 있습니다.
본 강좌를 계속하기 위해서는 먼저 배워야 합니다install DVC.
DVC를 설치한 후 Git 프로젝트에서
dvc init
이 명령은 .dvc/.gitignore, .dvc/config, .dvc/plots.dvcignore를 생성합니다.이 항목들은
git commit -m "Initialize DVC" 
본 강좌에서, 나는 다음과 같은 구조를 가진 새로운 프로젝트를 창설하였다
data
├── processed
│   ├── test_text.txt
│   └── train_text.txt
└── raw
    └── test_full.txt
파일이든 디렉터리든 우리의 데이터를 추적하기 위해 dvc add
dvc add data
이곳은 DVC가 마력을 발휘하는 곳이다.그것은 .dvc 파일에 추가된 항목의 메타데이터를 저장한다.이것은 작은 텍스트 파일로 원본 항목에 접근하는 방법에 대한 정보를 포함하지만 원본 항목 자체는 포함하지 않습니다.이 명령은 또한 추가된 항목을 .gitignore 파일에 추가하기 때문에 의외로 제출하지 않습니다
우리의 예에서 DVC는 data.dvc라는 파일을 만들었는데 다음과 같다.
outs:
- md5: 61b3e1a6439d6770be4d210b758f6cbd.dir
  size: 0
  nfiles: 3
  path: data
Git에서 버전 관리를 수행할 파일입니다.
이 단계에 따라, 우리는 원본 코드를 제출하는 것처럼 .dvc 파일을 제출할 준비를 하고 있습니다.
git add data.dvc .gitignore
git commit -m "Add data"

원격 저장 데이터



버킷을 설정하는 것은 그리 어렵지 않을 거야!사진 작성자Jessica JohnstonUnsplash
걸출하다우리는 현재 데이터의 버전을 추적하고 있으며, 현재 우리는 데이터 자체의 저장 위치를 찾아야 한다.
앞서 언급한 바와 같이 DVC 리모컨을 쉽게 설정하는 방법을 보여 드리겠습니다.다음은 데이터와 모델을 코드와 함께 놓는 다섯 가지 간단한 명령입니다.비교하기 편리하도록 리모컨을 설치하는 전통적인 방법을 보여 드리겠습니다. 그러면 DAGsHub 저장소를 사용하여 절약한 시간을 쉽게 이해할 수 있습니다.

DevOps 학위가 없으면 어떻게 합니까


DAGs Hub에서, 우리는 플랫폼의 모든 항목에 DVC 리모컨을 만들어서 데이터와 모델을 전송합니다. 마치 당신이 Git 리모컨을 받아서 코드를 전송하는 것과 같습니다.이것이 바로 단순성이 드러나기 시작하는 곳!이 URL에서 데이터를 밀어넣거나 끌어오려면 기존 DAGs Hub 자격 증명(HTTPS 기본 인증을 통해)을 사용합니다.이것은 우리가 어떠한 IAM도 설정할 필요가 없고, 방문 영패를 제공하여 귀하의 bucket에 접근할 필요도 없고, 클라우드 공급자와 관련된 것도 필요하지 않다는 것을 의미합니다.
공공 저장소는 코드와 같은 공공 읽을 수 있는 데이터를 가지고 있을 것이다.협력자로부터 데이터를 공유하거나 수신하려면 프로젝트 협력자로 추가하십시오.만약 저장소가 개인이라면, 관리자만이 데이터를 저장소에 끌어들이거나 밀어넣을 수 있습니다.

기본적으로, 만약 당신이 코드를 복제할 수 있다면, 당신은 데이터를 추출할 수 있습니다.
손을 더럽히자!
  • DVC 리모컨으로 DAGsHub을 추가해야 합니다.
  • dvc remote add origin --local https://dagshub.com/<username>/<repo_name>.dvc
    
  • 이제 DVC에서 우리의 증명서를 어떻게 요구하는지 알려드려야 합니다.
  • dvc remote modify origin --local auth basic
    dvc remote modify origin --local user <username>
    dvc remote modify origin --local ask_password true
    
  • 마지막으로 데이터를 새로운 리모컨으로 전송
  • # Make sure you are using DVC 1.10 or greater for the next command
    dvc push -r origin
    
    이렇게!5개의 명령만 있으면 DVC 리모컨을 쉽게 설정할 수 있습니다. 우리는 클라우드 공급자의 웹 페이지를 열어 복잡한 IAM을 처리하고 신용카드 정보를 제공한 적이 없습니다.

    간단한 완두콩 레몬 짜기
    DAGsHub 스토리지에 대한 더 많은 정보가 필요하시면 저희 Feature Reference를 읽어 주십시오.

    DevOps 학위와 비교하는 방법


    이 부분을 깊이 연구하기 전에DAGsHub메모리를 제외하고DAGsHub는 현재AWS S3GCS를 지원하고 있다.
    비교를 위해 Amazon S3에서 이를 구현하는 방법을 살펴보겠습니다.
  • AWS를 클라우드 서비스 제공업체로 채용합니다.이것은 신용카드 인출을 포함한다. (계좌가 있으면 건너갈 수 있다.)

  • Set up a bucket 스토리지 데이터
  • 설치AWS CLI tool
  • CLI 도구
  • 를 사용하여 AWS에 로그인
  • Bucket을 사용할 사용자가 관리자가 아니라면create an IAM user

  • Assign it the correct permissions용 삽
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "AWS": "<IAM-user-ARN>" (e.g: "arn:aws:iam::7777777:user/dags-lover")
                },
                "Action": [
                    "s3:GetObject",
                    "s3:PutObject",
                    "s3:ListBucket",
                ],
                "Resource": [
                    "arn:aws:s3:::/*"
                    "arn:aws:s3:::"
                ]
            }
        ]
    }
    
  • 많은 일들이 있죠?이 모든 절차는 틀리기 쉽다. 설령 가장 경험이 많은 사용자에게도 마찬가지다 하더라도, 만약 당신이 처음으로 이렇게 한다면, 당신은 뭔가를 놓칠 수 있다
    그뿐만이 아니다.DAGs Hub을 통합하려면 프로젝트 설정에 저장 키를 추가해야 합니다. 그러면 파일 뷰어에 파일을 열거하고 표시하며 구분할 수 있습니다.
    https://dagshub.com///settings/storage/keys에서 이 설정 페이지를 찾을 수 있습니다

    bucket URL을 입력하면 스토리지 키를 추가하는 모든 명령이 표시됩니다.
    따라와!우리 아직 완성 안 했어!이제 DVC에 S3 패키지를 설치해야 합니다.
    pip install "dvc[s3]"
    #Or if you are using poetry
    poetry add dvc --extras "s3"
    
    다음은 리모컨으로 버킷을 추가해야 합니다
    dvc remote add s3-remote s3://your-bucket/storage
    
    마지막으로 우리는 데이터를 전송한다
    dvc push -r origin
    

    다그슈브 창고에서 사람을 구해줘!사진 작성자Nikko MacaspacUnsplash

    자세히 보기


    나는 이것이 네가 DVC 리모컨을 어떻게 설정하는지 이해하는 데 도움이 되기를 바란다.DAGsHub에 대한 더 많은 정보는 저희website,documentation를 보거나 저희Discord community에 가입하세요.

    좋은 웹페이지 즐겨찾기