주요 컨텐츠로 이동

Databricks에서 Unity 카탈로그를 이용한 머신 러닝: 모범 사례

Machine Learning with Unity Catalog on Databricks: Best Practices

Published: February 26, 2025

제품2분 소요

작성자: Lu Wang

Summary

  • Unity 카탈로그를 이용하여 데이터 전처리부터 모델 훈련 및 배포까지 ML 모델을 원활하게 구축하고 배포합니다.
  • 역할 기반 접근 제어, 그룹 클러스터, 그리고 거버넌스 기능을 활용하여 안전한 협업을 보장합니다.
  • 전용 그룹 클러스터와 Delta Live Tables를 이용하여 ML 워크플로우를 효율적으로 계산 리소스를 최적화합니다.

(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)

AI 또는 ML 플랫폼을 종단간으로 구축하는 것은 종종 저장, 분석, 비즈니스 인텔리전스(BI) 도구, 그리고 데이터를 분석하고 비즈니스 기능과 학습을 공유하기 위한 ML 모델에 대한 다양한 기술 계층을 필요로 합니다. 도전 과제는 다른 부분과 다른 팀들에 걸쳐 일관되고 효과적인 거버넌스 컨트롤을 배포하는 것입니다.

Unity Catalog는 데이터 액세스, 보안, 그리고 유래를 관리하기 위해 설계된 Databricks의 내장형, 중앙화된 메타데이터 계층입니다. 이것은 또한 플랫폼 내에서 검색 및 발견의 기반이 됩니다. Unity Catalog는 역할 기반 접근 제어(RBAC), 감사 추적, 데이터 마스킹과 같은 강력한 기능을 제공하여 팀 간 협업을 촉진하며, 민감한 정보가 보호되면서 생산성이 저해되지 않도록 합니다. 또한 ML 모델의 종단간 수명주기를 지원합니다.

이 가이드는 머신 러닝 사용 사례와 팀 간에 컴퓨팅 자원을 공유함으로써 유니티 카탈로그를 어떻게 사용하는지에 대한 종합적인 개요와 지침을 제공할 것입니다.

이 블로그 게시물은 Databricks의 유니티 카탈로그를 활용한 기능을 통해 머신러닝의 전체 수명 주기를 거치는 단계를 안내합니다.

이 기사의 예시는 미국에서 날짜별로 COVID-19 바이러스의 사례 수를 기록한 데이터셋을 사용하며, 추가적인 지리적 정보가 포함되어 있습니다. 목표는 미국에서 다음 7일 동안 발생할 바이러스의 사례 수를 예측하는 것입니다.

Databricks에서의 ML을 위한 주요 기능들

Databricks는 유니티 카탈로그를 통한 ML에 대한 더 나은 지원을 위해 여러 기능을 출시했습니다.

요구 사항:

  • Unity 카탈로그를 위해 작업 공간이 활성화되어야 합니다. 워크스페이스 관리자는 문서 를 확인하여 Unity Catalog를 위한 워크스페이스를 어떻게 활성화하는지 확인할 수 있습니다.
  • Databricks Runtime 15.4 LTS ML 이상을 사용해야 합니다.
  • 워크스페이스 관리자는 Previews UI를 사용하여 Compute: Dedicated group clusters preview를 활성화해야 합니다. Databricks 미리보기 관리를 확인하세요.
  • 작업 공간에 Secure Egress Gateway (SEG)가 활성화되어 있다면, pypi.org를 허용된 도메인 목록에 추가해야 합니다. 서버리스 출구 제어를 위한 네트워크 정책 관리를 참조하십시오.

그룹 설정

협업을 가능하게 하기 위해, 계정 관리자 또는 작업 공간 관리자 가 그룹을 설정해야 합니다.

  1. 오른쪽 상단에 있는 사용자 아이콘을 클릭하고 설정을 클릭하세요.

    계정 관리자

  2. "Workspace Admin" 섹션에서 "Identity and access"를 클릭한 다음, 그룹 섹션에서 "Manage"를 클릭합니다.
  3. “그룹 추가”를 클릭하십시오,
  4. “새로 추가”를 클릭하십시오.
  5. 그룹 이름을 입력하고 추가를 클릭합니다.
  6. 새로 생성한 그룹을 검색하고 Source 열이 “Account”라고 표시되어 있는지 확인하세요
  7. 검색 결과에서 귀하의 그룹 이름을 클릭하여 그룹 세부 정보로 이동합니다
  8. “Members” 탭을 클릭하고 원하는 멤버를 그룹에 추가하세요
  9. “Entitlements” 탭을 클릭하고 “Workspace access”와 “Databricks SQL access” 권한을 모두 체크하세요
  10. 관리자가 아닌 계정에서 그룹을 관리하려면 "권한" 탭에서 계정에 "그룹: 관리자" 접근 권한을 부여할 수 있습니다.
  11. 참고: 그룹 클러스터를 사용하려면 사용자 계정이 그룹의 멤버여야 합니다 - 그룹 관리자인 것만으로는 충분하지 않습니다.

전용 그룹 클러스터 활성화

전용 그룹 클러스터는 공개 미리보기 상태에 있으며, 이 기능을 활성화하려면 워크스페이스 관리자가 미리보기 UI를 사용하여 기능을 활성화해야 합니다.

  1. Databricks 작업 공간의 상단 표시 줄에서 사용자 이름을 클릭하세요.

    그룹 클러스터

  2. 메뉴에서 미리보기를 선택하세요.
  3. Compute: 전용 그룹 클러스터에 대해 미리보기를 활성화하거나 비활성화하기 위해 토글을 켜십시오.

그룹 컴퓨트 생성

전용 접근 모드는 단일 사용자 접근 모드의 최신 버전입니다. 전용 접근을 사용하면, 컴퓨팅 리소스를 단일 사용자 또는 그룹에 할당할 수 있으며, 할당된 사용자만 컴퓨팅 리소스를 사용할 수 있습니다.

ML을 사용하여 Databricks 런타임을 생성하려면

  1. Databricks 작업 공간에서 Compute로 이동하고 Create compute를 클릭하세요.
  2. 성능 섹션에서 “머신 러닝”을 체크하여 ML과 함께 Databricks 런타임을 선택합니다. Databricks Runtime에서 “15.4 LTS”를 선택합니다. 필요에 따라 원하는 인스턴스 유형과 작업자 수를 선택하십시오.
  3. 페이지 하단에 있는 고급 섹션을 확장하세요.
  4. 접근 모드에서, 수동을 클릭하고 드롭다운 메뉴에서 전용 (이전에: 단일 사용자)을 선택하세요.
  5. 단일 사용자 또는 그룹 필드에서 이 리소스에 할당하려는 그룹을 선택합니다.
  6. 필요에 따라 다른 원하는 컴퓨트 설정을 구성한 다음 생성을 클릭합니다.

클러스터가 시작되면, 그룹의 모든 사용자가 동일한 클러스터를 공유할 수 있습니다. 자세한 내용은 그룹 클러스터 관리에 대한 최고의 실무를 참조하세요.

Delta 라이브 테이블(DLT)을 통한 데이터 전처리

이 섹션에서, 우리는

  • 원시 데이터를 읽고 볼륨에 저장하세요
  • 입수 테이블에서 레코드를 읽고 Delta Live Tables 기대치를 사용하여 정제된 데이터가 포함된 새 테이블을 생성합니다.
  • 정제된 레코드를 Delta Live Tables 쿼리의 입력으로 사용하여 파생 데이터셋을 생성합니다.

DLT 파이프라인을 설정하려면 다음 권한이 필요할 수 있습니다:

  • USE CATALOG, 부모 카탈로그를 찾아보세요.
  • 모든 권한 또는 대상 스키마에 대한 USE SCHEMA, CREATE MATERIALIZED VIEW, CREATE TABLE 권한
  • 대상 볼륨에 대한 모든 권한 또는 볼륨 읽기 및 볼륨 쓰기
  1. 볼륨에 데이터 다운로드: 이 예제는 Unity 카탈로그 볼륨에서 데이터를 로드합니다.
    <catalog-name>, <schema-name>, 그리고 <volume-name> 을 Unity Catalog 볼륨의 카탈로그, 스키마, 그리고 볼륨 이름으로 바꾸십시오. 제공된 코드는 이러한 객체가 존재하지 않는 경우 지정된 스키마와 볼륨을 생성하려고 시도합니다. Unity Catalog에서 객체를 생성하고 쓸 수 있는 적절한 권한이 있어야 합니다. 요구 사항을 참조하십시오.
  2. 파이프라인 만들기 새 파이프라인을 구성하려면 다음을 수행하세요:
    • 사이드바에서, Data Engineering 섹션의 Delta Live Tables 를 클릭합니다.

      Delta Live 테이블

    • 파이프라인 생성을 클릭하세요.
    • 파이프라인 이름에 고유한 파이프라인 이름을 입력합니다.
    • Serverless 체크박스를 선택하세요.
    • Destination에서 테이블이 게시되는 Unity Catalog 위치를 구성하려면, Catalog와 Schema를 선택하세요.
    • 고급에서, 구성 추가를 클릭한 다음 카탈로그, 스키마, 그리고 데이터를 다운로드한 볼륨에 대한 파이프라인 매개변수를 다음 매개변수 이름으로 정의합니다:
      • my_catalog
      • my_schema
      • my_volume
    • 생성 클릭.
      새 파이프라인에 대한 파이프라인 UI가 표시됩니다. 소스 코드 노트북이 파이프라인에 대해 자동으로 생성되고 구성됩니다.
  3. 머터리얼라이즈 뷰와 스트리밍 테이블을 선언합니다. Databricks 노트북을 사용하여 Delta Live Tables 파이프라인의 소스 코드를 대화식으로 개발하고 검증할 수 있습니다.
  4. 노트북의 오른쪽 상단 또는 DLT UI에서 시작 버튼을 클릭하여 파이프라인 업데이트를 시작하세요. DLT는 정의된 카탈로그와 스키마에 생성될 것입니다. DLT `<my_catalog>.<my_schema>`.

DLT의 materialized view에서의 모델 훈련

우리는 DLT에서 생성된 머티리얼라이즈드 뷰에 서버리스 예측 실험을 시작할 것입니다.

  1. 사이드바에서 Machine Learning 섹션의 Experiments 를 클릭하세요
  2. Forecasting 타일에서 훈련 시작을 선택하세요.
  3. 구성 양식 작성
    • 다음의 머티리얼라이즈드 뷰를 훈련 데이터로 선택하세요:
      `<my_catalog>.<my_schema>.covid_case_by_date`
    • 시간 열로 날짜를 선택합니다.
    • 예측 빈도에서 일자를 선택하세요.
    • 수평선에 7을 입력하십시오
    • 예측 섹션의 대상 열 에서 케이스 선택
    • 모델 등록`<my_catalog>.<my_schema>`로 선택하세요
    • 훈련 시작 을 클릭하여 예측 실험을 시작하세요.

훈련이 완료되면 예측 결과는 지정된 델타 테이블에 저장되고 최적의 모델이 Unity 카탈로그에 등록됩니다.

실험 페이지에서 다음 단계 중 하나를 선택합니다:

  • 예측 결과 테이블을 보려면 예측 보기를 선택하세요.
  • 최적의 모델을 사용하여 배치 추론을 위한 자동 생성 노트북을 열려면 배치 추론 노트북을 선택하세요.
  • 최적의 모델을 모델 서빙 엔드포인트에 배포하기 위해 서빙 엔드포인트 생성 선택.

결론

이 블로그에서는 데이터 전처리부터 모델 훈련까지 Databricks에서 예측 모델을 설정하고 훈련하는 전체 과정을 살펴보았습니다. 유니티 카탈로그, 그룹 클러스터, 델타 라이브 테이블, 그리고 AutoML 예측을 활용함으로써, 우리는 모델 개발을 효율화하고 팀 간의 협업을 간소화할 수 있었습니다.

게시물을 놓치지 마세요

관심 있는 카테고리를 구독하고 최신 게시물을 받은편지함으로 받아보세요