주요 컨텐츠로 이동

The Simplification of AI Data

The Feature Store Evolved
Mani Parkhe
Craig Wiley
Patrick Wendell
Matei Zaharia
이 포스트 공유하기

데이터 과학자 팀에게 고품질의 AI 모델을 구축하는 데 있어 가장 큰 어려움이 무엇인지 물으면 거의 만장일치로 데이터에 액세스하고 관리하는 것이라고 말할 것입니다. 수년 동안 실무자들은 실험과 개발을 가속화하는 데 도움이 되는 다양한 기술과 추상화를 적용해 왔습니다. 지난 몇 년 동안, 피처 스토어는 실무자들이 머신 러닝을 위해 데이터를 정리하고 준비하는 데 점점 더 많이 사용되는 방법이 되었습니다. 2022년 초, 데이터브릭스는 피처 스토어를 일반에 공개했습니다. 올여름, 유니티는 피처 엔지니어링 및 관리 기능을 데이터브릭스 Unity Catalog의 기본 기능으로 도입하게 되어 매우 기쁘게 생각합니다. 이는 AI 데이터를 보다 간편하게 관리할 수 있는 방법에 있어 큰 진화를 의미합니다. 이러한 진화를 통해 피처 관리와 동급 최고의 데이터 카탈로그가 통합되어 피처를 생성하고 이를 사용하여 모델을 학습 및 제공하는 과정을 간소화하고 안전하게 보호합니다.

Unity Catalog에서의 피처 엔지니어링: 중앙집중형 ML 데이터 관리를 향한 진일보 

Feature Store는 ML 데이터 관리의 두 가지 주요 요구 사항을 충족하도록 설계된 일종의 카탈로그입니다. 이는 ML 데이터를 쉽게 검색하고 사용할 수 있어야 하며, 고성능 모델 학습 및 서비스 시스템에서 안정적인 고품질 데이터를 쉽게 사용할 수 있어야 한다는 것입니다. Feature Store를 사용하면 데이터 과학자가 조직에서 사용 가능한 새로운 피처를 쉽게 발견하고, 새로운 피처를 추가하고, ML 애플리케이션에서 바로 손쉽게 사용할 수 있습니다.

Unity Catalog는 레이크하우스와 데이터브릭스 워크스페이스에서 중앙 집중식 액세스 제어, 공유, 감사, 계보(리니지)와 데이터 검색 기능을 제공합니다. Feature Store를 사용하는 고객들은 피처의 공유와 거버넌스와 같은 기능들을 Unity Catalog에 계속해서 요청했습니다. "왜 피처용 카탈로그와 그 외의 모든 것을 위한 카탈로그가 따로 있어야 하나요?"라는 질문이 점점 더 명확해졌습니다.

Unity Catalog에 피처 관리를 통합하면서, Feature Store의 발전이 AI 개발 워크플로우의 여러 측면에 얼마나 큰 영향을 미칠지 분명해졌습니다.

가장 좋은 Feature Store는 레이크하우스입니다 

레이크하우스를 관리하는 카탈로그인 Unity Catalog에 피처 저장소 기능을 직접 빌드함으로써, Unity Catalog의 피처 엔지니어링은 모델의 훈련과 배포를 간소화합니다.

  • 피처 검색 간소화: Unity Catalog에서는 테이블과 피처, 모델, 함수 등 모든 레이크하우스 엔터티를 한 곳에서 검색할 수 있습니다. 더 이상 동일한 데이터에 대해 여러 검색 시스템을 사용할 필요가 없습니다.

  • 관리 및 공유 기능: Unity Catalog는 모든 엔티티(테이블, 함수, 모델)에 대한 통합 엔터프라이즈급 거버넌스는 물론 행 및 열 수준 보안과 정책과 같은 툴을 제공하여, 거버넌스가 허용하는 경우 팀이 워크스페이스 간에 기능을 쉽게 공유할 수 있도록 지원합니다. 더욱 풍부한 거버넌스 및 보안 기능이 추가되어 Unity Catalog가 진화하면서 피처에도 이러한 기능이 자동으로 적용됩니다.

  • 데이터 복사 불필요: 동일한 테이블을 ML용 피처 소스로 사용할 수 있으며, 다른 데이터 애플리케이션과 BI 대시보드에서도 사용할 수 있습니다. Delta는 이러한 다양한 애플리케이션을 기본적으로 지원하도록 구축되었으므로, 데이터를 다른 애플리케이션에 복사하거나 독립적으로 캐시할 필요가 없습니다. 항상 동기화된 AI 데이터를 사용할 수 있습니다. 

  • 엔티티 간의 관계를 탐색하는 리니지 그래프 내장: 고객은 올바른 데이터로 학습/서비스하고 있는지 리니지 그래프를 통해 확인할 수 있으며, 단일 통합 그래프를 사용하여 모델에서 기능까지 역추적함으로써 오류 및 모델 성능의 변화를 디버깅할 수 있습니다.

Primary Key가 있는 모든 테이블을 모델 학습과 서빙을 위한 피처로 사용 가능

일반적으로 기업들은 모든 데이터 엔지니어링 파이프라인에 대해 단일 ELT 프레임워크로 표준화하기를 원합니다. 이는 일관성을 유지하고 레이크하우스의 모든 데이터 세트에 엔터프라이즈 정책을 적용하기 위함입니다. 피처 엔지니어링 기능을 Unity Catalog에 통합하면 조직은 하나의 표준화된 ELT 프레임워크를 사용하여 피처 엔지니어링 파이프라인을 만들고 유지 관리할 수 있습니다.

Unity Catalog에서 새로운 기능을 생성하는 프로세스를 간소화하기 위해, 우리는 PRIMARY KEY 제약 조건에 TIMESERIES 절을 지원하도록 SQL 구문을 업그레이드했습니다. 이를 통해 애플리케이션이 모델 학습과 평가에 피처를 자동으로 사용할 수 있고, 적절한 시점 조인(point-in-time JOIN)을 수행할 수 있습니다. [AWS][Azure][GCP]

CREATE TABLE IF NOT EXISTS ads_platform.user_data.engagement_features (
  user_uuid            STRING    NOT NULL,
  ts                   TIMESTAMP NOT NULL,
  num_clicks_30d       INTEGER,
  total_purchases_30d  FLOAT,
  ...

  -- specify the primary keys and time-series keys as constraints
  CONSTRAINT user_sales_features_pk PRIMARY KEY (user_uuid, ts TIMESERIES)

) USING DELTA;

피처 스토어 기능을 자체 구현하거나 오픈 소스 라이브러리 또는 특정 벤더의 DSL(Domain Specific Language)을 사용하여 생성한 기존 피처 테이블을 가지고 있는 고객들도 있습니다. 이러한 델타 테이블에 PRIMARY KEY 제약 조건을 추가하면 기존 피처 테이블의 피처들을 ML 모델 학습과 서비스에 사용할 수 있습니다.

자동 계보 추적으로 학습/추론 편향 제거

피처를 사용하여 데이터브릭에서 학습된 MLflow 모델은 모델 학습에 사용된 피처에 대한 계보(리니지)를 자동으로 캡처합니다. 이 리니지는 모델 내에 feature_spec.yaml아티팩트로 저장됩니다. 이렇게 하면 사용자가 모델과 피처의 매핑을 따로 유지 관리할 필요가 없어져 그동안 불편했던 점을 해결할 수 있습니다. 추론 시스템은 피처의 스펙과 메타데이터를 모델 스코어링에 사용할 수 있습니다. 또한 이 정보를 리니지 그래프 시스템에 사용하여 모델에 사용된 모든 피처를 표시할 수 있고, 특정 피처에 대해 해당 피처를 사용하는 모든 모델로의 연결 링크를 표시할 수 있습니다.

The Simplification of AI Data

모델에 피처 자동 제공

모델이 데이터브릭스 Model Serving에 배포되면, 시스템은 리니지를 사용해 추론에 필요한 피처들을 추적하고 레이크하우스에 있는 적절한 온라인 테이블을 통해 피처를 제공합니다. 따라서 MLOps 엔지니어가 모델 스코어링을 위해 작성해야 하는 코드가 간소화됩니다. 적절한 ID로 모델 서빙 엔드포인트를 호출하기만 하면 자동으로 피처가 조회됩니다. 또한 모델, 피처, 기타 데이터 자산들이 Unity Catalog에 있으므로 이러한 자산에 대한 모든 액세스는 동일한 엔터프라이즈 거버넌스를 따릅니다.

The Simplification of AI Data

태그를 이용한 피처 큐레이션과 검색

데이터 과학자들은 데이터브릭스 Feature Store API 또는 기타 ELT 프레임워크 및 SDK를 사용하여 생성된 모든 피처를 찾을 수 있습니다. Unity Catalog에서 특정 카탈로그를 선택하여 primary key를 가진 모든 델타 테이블을 나열할 수 있습니다. 하지만 사용자 태그를 사용하면 이러한 큐레이션 및 검색 과정을 간소화하고 다음과 같은 다양한 사용 사례를 해결할 수 있습니다.

  • 사용자가 자주 사용하는 머신러닝 데이터 테이블에 대해 큐레이션된 세트를 만들고자 하는 경우

  • 데이터 과학자가 자주 사용하는 피처들과 테이블들에 대한 개인 컬렉션을 만들고 싶은 경우

  • 팀에서 해당 팀의 ML 사용 사례에 맞게 선별된 고품질의 피처 세트를 만들려는 경우

The Simplification of AI Data

Unity Catalog 검색 태그는 카탈로그와 스키마 전체에 적용할 수 있습니다. 사용자는 테이블, 뷰, 모델, 함수 등과 같은 다양한 엔티티에 이러한 태그를 적용할 수 있습니다. Unity Catalog에서 사용자 태그를 탐색하는 방법은  AWS, AzureGCP 별로 상세 가이드를 참고하세요. 

Unity Catalog에서 피처 엔지니어링 시작하기

워크스페이스 화면에서 왼쪽 메뉴의 Machine Learning 아래 Features 버튼을 클릭하면 레이크하우스에서 새로운 Feature Store 기능을 사용할 수 있습니다. 카탈로그를 선택하면 ML 모델 훈련에 피처로 사용할 수 있는 모든 기존 테이블을 확인할 수 있습니다.

Unity Catalog의 피처 엔지니어링 문서를 따라 AWS, AzureGCP 에서 시작해 보세요. 이 end-to-end notebook으로 시작할 수 있습니다.

 

Databricks 무료로 시작하기

관련 포스트

레이크하우스 AI: 생성형 AI 어플리케이션을 만들기 위한 데이터 중심의 접근 방식

생성형 AI는 모든 비즈니스에 혁신적인 영향을 미칠 것입니다. 데이터브릭스는 10년간 AI 혁신을 선도해 왔으며, 수천 명의 고객과 적극적으로 협력하여 AI 솔루션을 제공하고, 오픈...
모든 플랫폼 블로그 포스트 보기