다음을 통해 공유


MLOps 스택에 대한 Databricks 자산 번들

GitHub의 Databricks 자산 번들, Databricks CLI 및 Databricks MLOps Stack 리포지토리를 사용하여 MLOps 스택을 만들 수 있습니다. MLOps Stack은 프로덕션 모범 사례를 따르는 Azure Databricks의 MLOps 프로젝트입니다. Databricks 자산 번들이란?을 참조하세요.

MLOps Stacks 프로젝트를 만들고, 배포하고, 실행하려면 다음 단계를 완료합니다.

요구 사항

  • 대상 원격 작업 영역에 작업 영역 파일이 사용하도록 설정되어 있는지 확인합니다. 작업 영역 파일이란?을 참조하세요.
  • 개발 머신에서 Databricks CLI 버전 0.212.2 이상이 설치되어 있는지 확인합니다. 설치된 Databricks CLI 버전을 확인하려면 databricks -v 명령을 실행합니다. Databricks CLI 버전을 업데이트하려면 Databricks CLI 설치 또는 업데이트를 참조하세요. (번들은 Databricks CLI 버전 0.18 이하에서는 작동하지 않습니다.)

1단계: 인증 설정

인증을 위해 Databricks CLI를 구성합니다.

이 문서에서는 OAuth U2M(사용자-컴퓨터) 인증 및 인증을 위해 명명된 DEFAULT 해당 Azure Databricks 구성 프로필을 사용하려고 하는 것으로 가정합니다.

참고 항목

U2M 인증은 이러한 단계를 실시간으로 시도하는 데 적합합니다. 완전히 자동화된 워크플로의 경우 Databricks는 OAuth M2M(컴퓨터 간) 인증을 대신 사용하는 것이 좋습니다. 인증에서 M2M 인증 설정 지침을 참조하세요.

  1. Databricks CLI를 사용하여 각 대상 작업 영역에 대해 다음 명령을 실행하여 OAuth 토큰 관리를 로컬로 시작합니다.

    다음 명령에서 작업 영역별 Azure Databricks URL로 바꿉 <workspace-url> 니다. 예를 들면 다음과 같습니다https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. Databricks CLI는 Azure Databricks 구성 프로필로 입력한 정보를 저장하라는 메시지를 표시합니다. 제안된 프로필 이름을 적용하려면 누르 Enter 거나 새 프로필 또는 기존 프로필의 이름을 입력합니다. 이름이 같은 기존 프로필은 입력한 정보로 덮어씁니다. 프로필을 사용하여 여러 작업 영역에서 인증 컨텍스트를 빠르게 전환할 수 있습니다.

    기존 프로필 목록을 얻으려면 별도의 터미널 또는 명령 프롬프트에서 Databricks CLI를 사용하여 명령을 databricks auth profiles실행합니다. 특정 프로필의 기존 설정을 보려면 명령을 databricks auth env --profile <profile-name>실행합니다.

  3. 웹 브라우저에서 화면의 지침을 완료하여 Azure Databricks 작업 영역에 로그인합니다.

  4. 프로필의 현재 OAuth 토큰 값과 토큰의 예정된 만료 타임스탬프를 보려면 다음 명령 중 하나를 실행합니다.

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    동일한 --host 값을 가진 여러 프로필이 있는 경우 Databricks CLI가 올바른 일치하는 OAuth 토큰 정보를 찾을 수 있도록 옵션과 -p 옵션을 함께 지정 --host 해야 할 수 있습니다.

2단계: 번들 프로젝트 만들기

  1. Databricks 자산 번들 템플릿을 사용하여 MLOps Stacks 프로젝트의 시작 파일을 만듭니다. 이렇게 하려면 먼저 다음 명령을 실행합니다.

    databricks bundle init mlops-stacks
    
  2. 화면 프롬프트에 응답합니다. 이러한 프롬프트에 응답하는 방법에 대한 지침은 GitHub의 Databricks MLOps Stacks 리포지토리에서 새 프로젝트 시작을 참조하세요.

    첫 번째 프롬프트는 ML 코드 구성 요소, CI/CD 구성 요소 또는 둘 다를 설정하는 옵션을 제공합니다. 이 옵션은 즉시 관련된 구성 요소만 만들도록 선택할 수 있으므로 초기 설정을 간소화합니다. (다른 구성 요소를 설정하려면 초기화 명령을 다시 실행합니다.) 다음 중 하나를 선택합니다.

    • CICD_and_Project (기본값) - ML 코드와 CI/CD 구성 요소를 모두 설정합니다.
    • Project_Only - ML 코드 구성 요소만 설정합니다. 이 옵션은 데이터 과학자가 시작하기 위한 것입니다.
    • CICD_Only - CI/CD 구성 요소만 설정합니다. 이 옵션은 ML 엔지니어가 인프라를 설정하는 것입니다.

    모든 화면 프롬프트에 응답한 후 템플릿은 MLOps Stacks 프로젝트의 시작 파일을 만들고 현재 작업 디렉터리에 추가합니다.

  3. 원하는 대로 MLOps Stacks 프로젝트의 시작 파일을 사용자 지정합니다. 이렇게 하려면 새 프로젝트 내의 다음 파일의 지침을 따르세요.

    역할 목표 문서
    이 리포지토리의 처음 사용자 이 리포지토리의 ML 파이프라인 및 코드 구조 이해 README.md
    데이터 과학자 새 프로젝트에 대한 ML 코드 작성 시작 <project-name>/README.md
    데이터 과학자 기존 프로젝트에 대한 프로덕션 ML 코드(예: 모델 학습 논리) 업데이트 docs/ml-pull-request.md
    데이터 과학자 프로덕션 모델 ML 리소스 수정(예: 모델 학습 또는 유추 작업) <project-name>/resources/README.md
    MLOps / DevOps 현재 ML 프로젝트에 대한 CI/CD 설정 docs/mlops-setup.md

3단계: 번들 프로젝트 유효성 검사

번들 구성이 유효한지 확인합니다. 이렇게 하려면 다음과 같이 프로젝트의 루트에서 Databricks CLI를 databricks.yml 실행합니다.

databricks bundle validate

번들 구성 요약이 반환되면 유효성 검사가 성공했습니다. 오류가 반환되면 오류를 수정한 다음 이 단계를 반복합니다.

4단계: 번들 배포

프로젝트의 리소스 및 아티팩트가 원하는 원격 작업 영역에 배포됩니다. 이렇게 하려면 다음과 같이 프로젝트의 루트에서 Databricks CLI를 databricks.yml 실행합니다.

databricks bundle deploy -t <target-name>

파일 내에서 databricks.yml 원하는 대상의 이름(예dev: , teststaging또는 prod.)으로 바꿉 <target-name> 다.

5단계: 배포된 번들 실행

프로젝트의 배포된 Azure Databricks 작업은 미리 정의된 일정에 따라 자동으로 실행됩니다. 배포된 작업을 즉시 실행하려면 다음과 같이 프로젝트의 루트에서 Databricks CLI를 databricks.yml 실행합니다.

databricks bundle run -t <target-name> <job-name>
  • 작업이 배포된 파일 내에서 databricks.yml 원하는 대상의 이름(예dev: , teststaging또는 prod)으로 바꿉 <target-name> 다.
  • 내 파일 중 하나에 있는 작업 이름(예batch_inference_job: , write_feature_table_job또는 model_training_job.)으로 바꿉 <job-name> 다..yml<project-name>/databricks-resources

Azure Databricks 작업에 대한 링크가 나타납니다. 이 링크는 웹 브라우저에 복사하여 Azure Databricks UI 내에서 작업을 열 수 있습니다.

6단계: 배포된 번들 삭제(선택 사항)

배포된 프로젝트의 리소스 및 아티팩트를 더 이상 필요하지 않은 경우 삭제하려면 다음과 같이 프로젝트의 루트에서 Databricks CLI를 databricks.yml 실행합니다.

databricks bundle destroy -t <target-name>

파일 내에서 databricks.yml 원하는 대상의 이름(예dev: , teststaging또는 prod.)으로 바꿉 <target-name> 다.

화면의 프롬프트에 응답하여 이전에 배포된 리소스 및 아티팩트 삭제를 확인합니다.