AI 또는 ML 플랫폼을 종단간으로 구축하는 것은 종종 저장, 분석, 비즈니스 인텔리전스(BI) 도구, 그리고 데이터를 분석하고 비즈니스 기능과 학습을 공유하기 위한 ML 모델에 대한 다양한 기술 계층을 필요로 합니다. 도전 과제는 다른 부분과 다른 팀들에 걸쳐 일관되고 효과적인 거버넌스 컨트롤을 배포하는 것입니다.
Unity Catalog는 데이터 액세스, 보안, 그리고 유래를 관리하기 위해 설계된 Databricks의 내장형, 중앙화된 메타데이터 계층입니다. 이것은 또한 플랫폼 내에서 검색 및 발견의 기반이 됩니다. Unity Catalog는 역할 기반 접근 제어(RBAC), 감사 추적, 데이터 마스킹과 같은 강력한 기능을 제공하여 팀 간 협업을 촉진하며, 민감한 정보가 보호되면서 생산성이 저해되지 않도록 합니다. 또한 ML 모델의 종단간 수명주기를 지원합니다.
이 가이드는 머신 러닝 사용 사례와 팀 간에 컴퓨팅 자원을 공유함으로써 유니티 카탈로그를 어떻게 사용하는지에 대한 종합적인 개요와 지침을 제공할 것입니다.
이 블로그 게시물은 Databricks의 유니티 카탈로그를 활용한 기능을 통해 머신러닝의 전체 수명 주기를 거치는 단계를 안내합니다.
이 기사의 예시는 미국에서 날짜별로 COVID-19 바이러스의 사례 수를 기록한 데이터셋을 사용하며, 추가적인 지리적 정보가 포함되어 있습니다. 목표는 미국에서 다음 7일 동안 발생할 바이러스의 사례 수를 예측하는 것입니다.
Databricks에서의 ML을 위한 주요 기능들
Databricks는 유니티 카탈로그를 통한 ML에 대한 더 나은 지원을 위해 여러 기능을 출시했습니다.
Databricks 런타임 머신러닝 (Databricks Runtime ML): 가장 일반적인 ML 및 DL 라이브러리를 포함한 미리 구축된 머신러닝 및 딥러닝 인프라와 함께 클러스터 생성을 자동화합니다.
전용 그룹 클러스터: 전용 액세스 모드를 사용하여 그룹에 할당된 Databricks 런타임 ML 컴퓨팅 리소스를 생성합니다
입수 테이블에서 레코드를 읽고 Delta Live Tables 기대치를 사용하여 정제된 데이터가 포함된 새 테이블을 생성합니다.
정제된 레코드를 Delta Live Tables 쿼리의 입력으로 사용하여 파생 데이터셋을 생성합니다.
DLT 파이프라인을 설정하려면 다음 권한이 필요할 수 있습니다:
USE CATALOG, 부모 카탈로그를 찾아보세요.
모든 권한 또는 대상 스키마에 대한 USE SCHEMA, CREATE MATERIALIZED VIEW, CREATE TABLE 권한
대상 볼륨에 대한 모든 권한 또는 볼륨 읽기 및 볼륨 쓰기
볼륨에 데이터 다운로드: 이 예제는 Unity 카탈로그 볼륨에서 데이터를 로드합니다.
<catalog-name>, <schema-name>, 그리고 <volume-name> 을 Unity Catalog 볼륨의 카탈로그, 스키마, 그리고 볼륨 이름으로 바꾸십시오. 제공된 코드는 이러한 객체가 존재하지 않는 경우 지정된 스키마와 볼륨을 생성하려고 시도합니다. Unity Catalog에서 객체를 생성하고 쓸 수 있는 적절한 권한이 있어야 합니다. 요구 사항을 참조하십시오.
파이프라인 만들기 새 파이프라인을 구성하려면 다음을 수행하세요:
사이드바에서, Data Engineering 섹션의 Delta Live Tables 를 클릭합니다.
파이프라인 생성을 클릭하세요.
파이프라인 이름에 고유한 파이프라인 이름을 입력합니다.
Serverless 체크박스를 선택하세요.
Destination에서 테이블이 게시되는 Unity Catalog 위치를 구성하려면, Catalog와 Schema를 선택하세요.
고급에서, 구성 추가를 클릭한 다음 카탈로그, 스키마, 그리고 데이터를 다운로드한 볼륨에 대한 파이프라인 매개변수를 다음 매개변수 이름으로 정의합니다:
my_catalog
my_schema
my_volume
생성 클릭.
새 파이프라인에 대한 파이프라인 UI가 표시됩니다. 소스 코드 노트북이 파이프라인에 대해 자동으로 생성되고 구성됩니다.
머터리얼라이즈 뷰와 스트리밍 테이블을 선언합니다. Databricks 노트북을 사용하여 Delta Live Tables 파이프라인의 소스 코드를 대화식으로 개발하고 검증할 수 있습니다.
노트북의 오른쪽 상단 또는 DLT UI에서 시작 버튼을 클릭하여 파이프라인 업데이트를 시작하세요. DLT는 정의된 카탈로그와 스키마에 생성될 것입니다. DLT `<my_catalog>.<my_schema>`.
DLT의 materialized view에서의 모델 훈련
우리는 DLT에서 생성된 머티리얼라이즈드 뷰에 서버리스 예측 실험을 시작할 것입니다.
사이드바에서 Machine Learning 섹션의 Experiments 를 클릭하세요
Forecasting 타일에서 훈련 시작을 선택하세요.
구성 양식 작성
다음의 머티리얼라이즈드 뷰를 훈련 데이터로 선택하세요: `<my_catalog>.<my_schema>.covid_case_by_date`
시간 열로 날짜를 선택합니다.
예측 빈도에서 일자를 선택하세요.
수평선에 7을 입력하십시오
예측 섹션의 대상 열 에서 케이스 선택
모델 등록 을 `<my_catalog>.<my_schema>`로 선택하세요
훈련 시작 을 클릭하여 예측 실험을 시작하세요.
훈련이 완료되면 예측 결과는 지정된 델타 테이블에 저장되고 최적의 모델이 Unity 카탈로그에 등록됩니다.
실험 페이지에서 다음 단계 중 하나를 선택합니다:
예측 결과 테이블을 보려면 예측 보기를 선택하세요.
최적의 모델을 사용하여 배치 추론을 위한 자동 생성 노트북을 열려면 배치 추론 노트북을 선택하세요.
최적의 모델을 모델 서빙 엔드포인트에 배포하기 위해 서빙 엔드포인트 생성 선택.
결론
이 블로그에서는 데이터 전처리부터 모델 훈련까지 Databricks에서 예측 모델을 설정하고 훈련하는 전체 과정을 살펴보았습니다. 유니티 카탈로그, 그룹 클러스터, 델타 라이브 테이블, 그리고 AutoML 예측을 활용함으로써, 우리는 모델 개발을 효율화하고 팀 간의 협업을 간소화할 수 있었습니다.