주요 컨텐츠로 이동
공지사항

피처 뷰를 소개합니다

ML 피처를 구축, 서빙 및 거버넌스를 적용하는 더 간단한 관리형 방식

작성자: Nick Joung, 이안 애커먼 , Julia Brouillette

  • 정의: Feature Views는 ML 피처를 한 번 정의하고 어디서나 사용할 수 있도록 지원하는 관리형 프레임워크입니다. 동일한 정의를 사용하여 실험 및 학습을 위한 과거 데이터는 물론, 배치 또는 실시간 추론을 위한 프로덕션 파이프라인을 모두 구동할 수 있습니다.
  • 해결하는 과제: 실시간 ML의 프로덕션화. 노트북에서 피처를 실험하고 몇 번의 API 호출만으로 신속하게 프로덕션에 배포하세요. ML 확장을 어렵게 만드는 학습/서빙 스큐(skew), 중복된 피처 코드, 취약한 자체 관리형 스트리밍 및 온라인 스토어 인프라를 제거합니다.
  • 결과: 피처는 관리형 파이프라인을 통해 구체화되어 거버넌스가 적용된 Unity Catalog 오브젝트가 되며, 스트리밍 피처는 200ms end-to-end p99로 서빙됩니다.

이상적인 환경이라면 ML 피처는 단 한 번만 구축될 것입니다. 하지만 많은 팀의 경우, 노트북에서 잘 작동하는 피처가 결국 중복된 로직, 취약한 파이프라인, 일회성 백필, 온라인 스토어 연동 작업, 거버넌스 오버헤드로 이어지곤 합니다. 사기 탐지, 개인화, 추천과 같은 실시간 사용 사례에서는 모델이 정확한 예측을 하기 위해 최신 신호에 의존하기 때문에 이러한 복잡성을 감당하기가 훨씬 더 어렵습니다. 일반적인 과제는 다음과 같습니다.

  • 실시간 및 과거 학습 전반에 걸쳐 피처 로직을 재구현해야 함
  • 학습/서빙 스큐(skew)로 인한 모델 성능 저하
  • 여러 사용 사례에 걸쳐 피처를 검색하고 재사용하는 데 따르는 어려움
  • 방대한 과거 룩백(lookback) 데이터를 가진 피처를 온라인 스토어에 백필해야 함
  • 대규모의 복잡한 프로덕션 인프라 유지 관리
  • 구성 요소 및 파이프라인 전반의 거버넌스 및 리니지 추적

Databricks에서 직접 관리형 피처 파이프라인을 생성할 수 있는 프레임워크인 Feature Views의 Public Preview 출시 소식을 기쁜 마음으로 전해드립니다. Feature Views를 사용하면 피처를 한 번만 작성하면 플랫폼이 실험부터 실시간 서빙까지 모든 과정을 알아서 처리합니다.

Feature Views란 무엇인가요?

Feature View는 전체 ML 라이프사이클을 아우르는 간단하면서도 강력한 추상화 레이어입니다. 데이터 사이언티스트나 ML 엔지니어는 소스, 엔티티, 시계열 열, 연산 등 피처 로직을 정의합니다. 이 단 하나의 정의를 바탕으로 Databricks의 Feature Store는 실험 및 학습을 위해 시점 정확도(point-in-time-accurate)가 보장되는 과거 데이터를 생성합니다. 준비가 되면 사용자는 Feature View를 구체화(materialize)하고, Databricks는 효율적인 추론을 위해 피처 데이터를 계산하는 파이프라인을 실행합니다.

동일한 피처 정의로 배치 및 스트리밍 소스를 모두 지원할 수 있습니다. 두 소스 모두 실험 및 프로덕션화 과정이 동일합니다. 배치 소스에서 스트리밍 소스로 전환하는 것은 단 몇 줄의 코드만으로 가능할 정도로 간단합니다.

다음은 스트리밍 및 배치 피처로 실행되는 동일한 Feature View 정의의 예시입니다.

왜 Feature Views를 사용해야 할까요?

1. 단 하나의 정의로 스큐(skew) 방지

실시간 ML에서 실패를 유발하는 가장 큰 원인은 학습용 피처 계산 방식과 서빙 시점의 피처 계산 방식 간의 차이입니다. Feature Views는 구조적으로 이러한 격차를 해소합니다. 단 하나의 정의만 존재하며, 플랫폼이 이 단일 정의를 기준으로 학습 값과 온라인 추론 값을 계산하여 서로 일치하도록 만들기 때문입니다. ML 팀의 입장에서는 유지 관리해야 할 코드가 훨씬 줄어들고 프로덕션으로 가는 과정이 훨씬 더 수월해집니다.

수억 명의 여행객을 위한 더 나은 추천은 더 나은 피처에서 시작됩니다. Feature Views 덕분에 피처 코드가 극적으로 줄어들었습니다. 이제 저희 데이터 사이언티스트들은 피처 계산 방법이 아니라 여행객에게 가치를 제공하는 요소에 집중하며 더 빠르게 업무를 진행하고 있습니다.—Jules Marshall, Skyscanner 데이터 부문 시니어 디렉터

2. 실험을 위한 Genie Code

Feature View가 작동하는 모습을 보여주는 GIF

Feature Engineering Client SDK와 Genie Code를 사용하여 쉽고 빠르게 구축을 시작해 보세요. 이 SDK를 사용하면 노트북에서 로컬로 피처를 간편하게 선언하고, 과거 데이터에 대해 정확한 값을 즉시 계산하며, 시점 정확도가 보장되는 학습 세트를 구성할 수 있습니다.

Databricks는 피처 정의, 피처 데이터, 모델 학습, MLflow를 하나의 환경에 함께 배치하므로, 데이터 사이언티스트는 단일 노트북 내에서 피처 아이디어 구상부터 모델 실험까지 원스톱으로 진행할 수 있습니다.

팀은 Genie Code와 Feature Views를 함께 사용하여 적절한 데이터 소스 식별, 피처 아이디어 생성, 단일 노트북에서의 모델 및 데이터 실험 등 원샷 모델 실험 워크플로를 실행할 수 있습니다.

3. 직접 운영할 필요가 없는 프로덕션 지원 파이프라인

피처를 프로덕션에 적용할 준비가 되면 Unity Catalog에 등록하고 materialize_features를 호출하기만 하면 됩니다. Databricks가 사용자를 대신해 파이프라인을 생성 및 관리하며, 적절한 온라인 및 오프라인 스토어에 데이터를 기록합니다.

프로덕션 지원이란 고품질 데이터, 확장 가능한 인프라, 미션 크리티컬한 안정성을 의미합니다. Feature Views는 내부적으로 이미 검증된 GA 제품인 Lakebase 및 RTM을 오케스트레이션하여, Feature Serving 워크로드를 지원하도록 구성 요소 간의 협업을 최적화합니다. 긴 윈도우 백필, 스트림 피처, 온라인 스토어의 오래된 행 만료와 같은 예외적인 케이스(corner cases)도 별도의 설정 없이 바로 처리됩니다.

4. 필요할 때 바로 확보하는 실시간 최신성

새로운 이벤트가 발생할 때마다 모델에 서빙되는 값을 즉시 변경해야 하는 사용 사례를 위해, Feature Views는 Kafka 기반의 스트리밍 피처를 지원하여 이벤트 발생부터 온라인 사용 가능 시점까지 200ms의 엔드투엔드 p99 레이턴시를 제공합니다. RollingWindow는 밀리초 단위의 해상도로 각 이벤트의 타임스탬프부터 역방향으로 탐색하므로, "최근 10분간의 트랜잭션 합계"와 같은 집계가 항상 최신 상태로 유지됩니다.

내부적으로 Databricks는 이러한 빠른 처리를 가능하게 하는 구성 요소들을 오케스트레이션합니다. Spark Realtime Mode는 이벤트를 지속적으로 처리하고 마이크로 배치를 기다리는 대신 이벤트별로 롤링 집계를 업데이트합니다. Lakebase는 빈번하고 작은 업서트(upsert)에 대한 쓰기 증폭을 최소화하는 스트리밍 최적화 온라인 스토어 역할을 하며, Model Serving은 추론 시점에 피처를 검색합니다. 사용자는 롤링 윈도우(rolling-window) 피처를 작성하기만 하면 되며, 파이프라인 구축은 플랫폼이 담당합니다.

5. Unity Catalog을 통한 거버넌스 및 플랫폼 전반의 통합

구체화된 피처(Materialized Features)는 데이터이며, 데이터와 동일하게 거버넌스가 적용되어야 합니다. Databricks에서 Feature Views는 검색 가능하고 액세스가 제어되며 전체 리니지가 추적되는 Unity Catalog의 일급 객체(first-class object)입니다. 피처는 모델과 함께 패키징됩니다. MLflow로 모델을 로깅하면 피처 종속성이 기록되며, 추론 시점에 Model Serving이 필요한 피처를 자동으로 조회하므로 별도의 조회 코드나 수동 연동 작업이 필요하지 않습니다. Feature Views는 MLflow, Model Serving, Genie Code와 결합되어 Databricks를 전체 ML 스택을 개발, 배포 및 거버넌스할 수 있는 단일 공간으로 만들어 줍니다.

Genie Code가 노트북에 피처를 추가하는 모습을 보여주는 GIF

Genie Code는 Feature Views와 기본적으로 통합되어 있어, 데이터 사이언티스트가 간단한 프롬프트만으로 피처를 구축하고 반복 개선할 수 있습니다. 노트북에 새로운 피처를 추가하도록 요청하면, Genie Code는 Databricks에 이미 존재하는 데이터와 거버넌스를 활용하여 컨텍스트에 맞는 정확한 코드를 생성할 수 있습니다.

팀들이 Feature Views를 활용하는 방법

  • 금융 서비스 팀은 사기 탐지를 위한 1초 미만 단위의 트랜잭션 신호를 얻기 위해 RollingWindow 스트리밍 피처를 사용합니다.
  • 개인화 및 추천 팀은 사용자의 가장 최신 인세션(in-session) 의도를 포착하여 참여를 유도하는 동시에, 오프라인 모델 학습을 위해 동일한 정의를 재사용합니다.
  • 플랫폼 팀은 이전에는 파편화되어 있던 피처 파이프라인을 거버넌스가 적용된 Unity Catalog 객체로 통합하여, 자체 관리형 온라인 스토어 및 스트림 프로세서 운영에 따른 부담을 덜고 있습니다.

시작하기

시작하려면 Genie에게 Feature Views를 사용하여 새 실험을 빌드하도록 요청하세요.

Genie는 피처를 정의하고, 데이터 세트의 중요도를 분석하고, 학습 세트를 구축하고, 프로덕션 준비가 완료되면 이를 등록 및 구체화하도록 도울 수 있습니다. 스트리밍 구체화에는 Lakebase를 지원하는 리전의 엔터프라이즈 티어 워크스페이스가 추가로 필요합니다.

자세한 내용은 다음 문서를 참조하세요.

  • 첫 번째 피처를 정의하려면 Feature Views 문서를 읽어보세요.
  • 코드를 직접 실습해 보려면 Feature Views 빠른 시작 노트북을 사용해 보세요.
  • 전체 학습 및 서빙 워크플로에 대한 내용은 Feature Views를 사용한 모델 학습 및 Feature Views 구체화 관련 문서를 참조하세요.

Feature Views를 사용하면 기본 인프라를 직접 운영할 필요 없이 피처를 한 번 작성하여 실험, 배치, 실시간 서빙 전반에서 사용할 수 있습니다. 기존 배치 피처를 가져와 밀리초 수준의 최신성으로 얼마나 더 강력한 신호를 제공하는지 확인하고, Databricks가 이를 지원하는 파이프라인을 실행하도록 하세요.

이러한 문제를 함께 해결하고 싶으시다면, 현재 채용 중이니 지원해 주세요!

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

최신 게시물을 이메일로 받아보세요

블로그를 구독하고 최신 게시물을 이메일로 받아보세요.