피처 스토어(Feature Store)란 무엇입니까?

업데이트: 2025년 5월 15일
저자 소개:
Mike Del Balso, Tecton의 CEO 겸 공동 창립자
Willem Pienaar, Feast개발자
데이터 팀은 운영 머신러닝을 위해서는 데이터 파이프라인 구축을 훨씬 뛰어넘는 데이터 문제를 해결해야 한다는 점을 깨닫기 시작했습니다.
이전 게시물인 ML 데이터에 DevOps가 필요한 이유에서 저희는 ML 시스템을 프로덕션 환경에 배포할 때 팀이 직면하는 몇 가지 주요 데이터 문제를 강조했습니다.
- 올바른 원시 데이터에 액세스
- 원시 데이터로 피처 빌드하기
- 피처를 학습 데이터로 결합하기
- 프로덕션에서 특성 계산 및 서빙
- 프로덕션에서 모니터링 기능
대규모 분석 용이든 실시간 스트리밍용이든 프로덕션 데이터 시스템은 새로운 것이 아닙니다. 하지만 고객 대면 애플리케이션에 내장된 ML 기반 인텔리전스인 운영 머신러닝 은 대부분의 팀에게 새로운 개념입니다. 운영 목적(예: 추천 시스템, 사기 탐지, 개인화 등)으로 머신러닝을 프로덕션에 배포하는 과제는 데이터 도구에 대한 새로운 요구사항을 제시합니다.
이를 가능하게 하기 위해 새로운 종류의 ML 전용 데이터 인프라 가 등장하고 있습니다.
점점 더 많은 데이터 사이언스 및 데이터 엔지니어링팀이 ML 애플리케이션을 프로덕션 환경에 적용하는 데 필요한 데이터 세트와 데이터 파이프라인을 관리하기 위해 특징점으로 눈을 돌리고 있습니다. 이 게시물에서는 최신 특징점의 핵심 구성 요소와 이러한 부분의 총합이 어떻게 데이터 엔지니어링 노력의 중복을 줄이고, 머신러닝 수명 주기를 단축하며, 데이터 사이언스팀 간의 새로운 종류의 협업을 가능하게 하여 조직에 엄청난 시너지 효과를 내는지 설명합니다.
| 간단한 복습: ML에서 특성 은 예측 모델에 입력 신호로 사용되는 데이터입니다. |
| 예를 들어, 신용카드 회사가 거래의 사기 여부를 예측하려는 경우, 거래가 해외에서 발생하는지 여부 또는 이번 거래 규모가 고객의 일반적인 거래와 어떻게 비교되는지가 유용한 피처가 될 수 있습니다. 피처를 언급할 때는 보통 신호의 개념을 가리킵니다(예: “transaction_in_foreign_country”), 피처의 특정 값이 아니라(예: “거래 #1364는 해외에서 발생했습니다”가 아님). |
![]() |
피처 스토어의 주요 목적은 무엇인가요?
“모델과 데이터 간의 인터페이스”
저희는 Uber의 Michelangelo 플랫폼을 설명하는 블로그 게시물에서 특징점들을 처음 소개했습니다. 이후 특징점들은 운영 머신러닝 스택의 필수 구성 요소로 부상했습니다.
피처 스토어의 이점은 다음과 같습니다.
- 광범위한 엔지니어링 지원 없이 새로운 피처를 프로덕션에 배포합니다.
- 특성 계산, 백필, 로깅 자동화
- 팀 간에 특성 파이프라인 공유 및 재사용
- 피처 버전, 리니지, 메타데이터 추적
- 학습 및 서빙 데이터 간의 일관성 달성하기
- 프로덕션 환경에 있는 피처 파이프라인의 상태를 모니터링합니다.
특징점은 운영 ML 애플리케이션을 구축하고 운영할 때 발생하는 모든 데이터 관리 문제를 해결하는 것을 목표로 합니다.
피처 스토어는 다음과 같은 ML 전용 데이터 시스템입니다.
- 가공되지 않은 데이터를 피처 값으로 변환 하는 데이터 파이프라인을 실행합니다.
- 피처 데이터 자체를 저장하고 관리하며,
- 학습 및 추론 목적으로 피처 데이터를 일관되게 서빙합니다

특징점은 간편한 특징점 관리를 지원하기 위해 여러 환경에서 특징점 파이프라인을 쉽게 빌드, 배포하고 추론할 수 있게 해주는 데이터 추상화를 제공합니다. 예를 들어, 피처 변환을 한 번만 정의하면 개발 환경(기록 값을 이용한 학습)과 프로덕션 환경(최신 피처 값을 이용한 추론) 양쪽에서 모두 해당 값을 일관되게 계산하고 서빙하기가 쉬워집니다.
특징점은 ML 프로젝트의 수명 주기 전반에 걸쳐 피처 데이터와 메타데이터를 위한 중앙 허브 역할을 합니다. 피처 스토어의 데이터는 다음과 같은 용도로 사용됩니다.
- 피처 탐색 및 엔지니어링
- 모델 반복, 학습, 디버깅
- 특성 검색 및 공유
- 추론을 위한 모델 프로덕션 서빙
- 운영 상태 모니터링
특징점은 협업을 가능하게 함으로써 ML 조직에 규모의 경제를 가져옵니다. 피처가 특징점에 등록되면 조직 내 다른 모델에서 즉시 재사용할 수 있게 됩니다. 이는 데이터 엔지니어링 작업의 중복을 줄이고, 새로운 ML 프로젝트가 선별된 프로덕션 지원 피처 라이브러리를 사용하여 빠르게 시작할 수 있도록 합니다.

효과적인 특징점은 배포되는 환경에 맞게 조정할 수 있는 모듈식 시스템으로 설계되었습니다. 일반적으로 특징점을 구성하는 5가지 주요 구성 요소가 있습니다. 이 글의 나머지 부분에서는 해당 구성 요소를 살펴보고 운영 ML 애플리케이션을 구동하는 데 있어 각 구성 요소의 역할을 설명합니다.
피처 스토어의 구성 요소
최신 특징점에는 변환, 저장소, 서빙, 모니터링, 피처 레지스트리라는 5가지 주요 구성 요소가 있습니다.

다음 섹션에서는 이 각 섹션의 목적과 일반적인 기능에 대해 간략히 설명합니다.
피처 데이터 서빙
피처 스토어는 모델에 피처 데이터를 서빙합니다. 이러한 모델은 학습과 서빙 전반에 걸쳐 피처에 대한 일관된 뷰 가 필요합니다. 모델 학습에 사용되는 피처의 정의는 온라인 서빙에서 제공되는 피처와 정확히 일치해야 합니다. 이것이 일치하지 않으면 학습-서빙 스큐(training-serving skew) 가 발생하여, 치명적이고 디버그하기 어려운 모델 성능 문제를 일으킬 수 있습 니다.

특징점은 피처를 생성하는 데 사용되는 로직과 처리를 추상화하여, 사용자가 필요한 모든 환경에서 회사 내 모든 피처에 일관되게 액세스할 수 있는 쉽고 정식적인 방법을 제공합니다.
오프라인에서 데이터(예: 학습용)를 검색할 때 노트북 친화적인 특징점 SDK를 통해 특성 값에 액세스하는 것이 일반적입니다. 모델 학습에 사용되는 각 예시에 대해 특정 시점의 정확한 세계 상태 뷰를 제공합니다(일명 “시간 이동”).
온라인 서빙을 위해 특징점은 가장 최신 피처 값으로 구성된 단일 피처 벡터를 한 번에 제공합니다. 응답은 저지연 데이터베이스가 지원하는 고성능 API를 통해 제공됩니다.

머신러닝을 위한 데이터 스토리지
특징점은 피처 서빙 레이어를 통한 검색을 지원하기 위해 특징점 데이터를 영속화합니다. 피처 스토어는 일반적으로 다양한 피처 서빙 시스템의 요구사항을 지원하기 위해 온라인 및 오프라인 스토리지 레이어를 모두 포함합니다.

오프라인 스토리지 레이어는 일반적으 로 학습을 위해 몇 달 또는 몇 년 분량의 특성 데이터를 저장하는 데 사용됩니다. 오프라인 특징점 데이터는 종종 S3, BigQuery, Snowflake, Redshift와 같은 데이터 웨어하우스나 데이터 레이크에 저장됩니다. 데이터 사일로를 방지하기 위해 일반적으로 오프라인 특성 스토리지용으로 기존 데이터 레이크 또는 데이터 웨어하우스를 확장하는 것이 선호됩니다.
온라인 스토리지 레이어는 추론 중 짧은 지연 시간의 조회를 위해 피처 값을 유지하는 데 사용됩니다. 일반적으로 각 엔터티의 최신 피처 값만 저장하여 현재 상태를 모델링합니다. 온라인 스토어는 일반적으로 최종적 일관성을 가지며, 대부분의 ML 사용 사례에서는 엄격한 일관성 요구사항이 필요하지 않습니다. 일반적으로 DynamoDB, Redis 또는 Cassandra와 같은 키-값 스토어로 구현됩니다.

피처 스토어는 각 특성 값이 엔터티(예: 사용자) 및 타임스탬프와 연결되는 엔터티 기반 데이터 모델을 사용합니다. 엔터티 기반 데이터 모델은 표준화된 특성 관리를 지원하기 위한 최소한의 구조를 제공하고, 일반적인 특성 엔지니어링 워크플로에 자연스럽게 맞으며, 프로덕션에서 간단한 query를 허용합니다.
머신러닝에서의 데이터 변환

모델이 최신 뷰를 사용하여 예측할 수 있도록 운영 ML 애플리케이션 은 새로운 데이터를 피처 값으로 정기적으로 처리해야 합니다. 특징점은 이러한 값을 생성하는 변환을 관리하고 오케스트레이션할 뿐만 아니라 외부 시스템에서 생성된 값을 수집하기도 합니다. 특징점에서 관리하는 변환은 공통 피처 레지스트리(아래 설명)의 정의에 따라 구성됩니다.
특징점을 처음 사용하는 대부분의 팀에는 이미 피처 값을 생성하는 기존 데이터 파이프라인이 있습니다. 따라서 특징점은 점진적으로 도입할 수 있고 기존 데이터 플랫폼과 최고 수준의 통합을 지원하는 것이 매우 중요하며, 이를 통해 팀은 기존 ETL 파이프라인을 ML 사용 사례에 즉시 운영할 수 있습니다.
특징점은 일반적으로 세 가지 주요 유형의 데이터 변환과 상호 작용합니다.
| 특성 유형 | 정의 | 일반적인 입력 데이터 소스 | 예제 |
|---|---|---|---|
| 배치 변환 | 저장된 데이터에만 적용되는 변환 | 데이터 웨어하우스, 데이터 레이크, 데이터베이스 | 사용자 국가, 제품 카테고리 |
| 스트리밍 변환 | 스트리밍 소스에 적용되는 변환 | Kafka, Kinesis, PubSub | 지난 30분 동안의 사용자당 카테고리별 클릭 수, 지난 1시간 동안의 리스팅당 조회 수 |
| 온디맨드 변환 | 예측 시에만 사용할 수 있는 데이터를 기반으로 피처를 생성하는 데 사용되는 변환. 이러한 피처는 미리 compute할 수 없습니다. | 사용자 대면 애플리케이 션 | 사용자가 현재 지원되는 지역에 있나요? |
주요 이점은 동일한 모델에서 다양한 유형의 피처를 함께 쉽게 사용할 수 있다는 것입니다.

모델은 추론을 위해 최신 피처 값에 액세스해야 합니다. 특징점은 피처를 지속적으로 정기 재계산하여 이 작업을 수행합니다. 새로운 데이터가 처리되어 최신 변환 작업 값으로 변환되도록 변환 작업이 오케스트레이션됩니다. 이러한 작업은 특징점이 연결된 데이터 처리 엔진(예: Spark 또는 Pandas)에서 실행됩니다.
모델 개발 시에는 다양한 변환 요구사항이 발생합니다. 모델을 반복할 때, 기록 이벤트(예: 지난 6개월간의 모든 구매)에 해당하는 학습 데이터 세트에서 사용될 새로운 피처를 엔지니어링하는 경우가 많습니다. 이러한 사용 사례를 지원하기 위해 특징점을 사용하면 학습을 위해 특징점의 기록 값을 생성하고 유지하는 '백필 작업'을 쉽게 실행할 수 있습니다. 일부 특징점은 등록된 학습 데이터세트에 대해 사전 구성된 시간 범위에 맞춰 새로 등록된 특징점을 자동으로 백필합니다.
변환 코드는 여러 환경에서 재사용되어 학습-서빙 스큐를 방지하며, 팀이 환경 간에 코드를 다시 작성해야 하는 수고를 덜어줍니다.
특징점은 피처 수명 주기 전반에 걸쳐 모든 피처 관련 리소스(compute, storage, serving)를 통합적으로 관리합니다. 피처 프로덕션화에 필요한 반복적인 엔지니어링 작업을 자동화함으로써 프로덕션까지의 경로를 간단하고 빠르게 만들어줍니다. 관리 최적화(예: 모든 모델에서 사용되지 않는 특성을 폐기하거나 모델 간에 중복되는 특성 변환을 제거)는 특히 팀이 수동으로 특성을 관리하는 복잡성이 증가함에 따라 상당한 효율성을 가져올 수 있습니다.
머신러닝 모니터링
ML 시스템에 문제가 발생하면 일반적으로 데이터 문제입니다. 특징점은 이러한 문제를 감지하고 표면화하는 데 최적화되어 있습니다. 피처 스토어는 저장하고 서빙하는 피처에 대해 정확성과 품질을 나타내는 측정항목을 계산할 수 있습니다. 특징점은 이러한 측정항목을 모니터링하여 ML 애플리케이션의 전반적인 상태에 대한 신호를 제공합니다.

피처 데이터는 사용자가 정의한 스키마 또는 기타 구조적 기준에 따라 검증될 수 있습니다. 데이터 품질은 drift 및 학습-서빙 스큐를 모니터링하여 추적됩니다. 예: 모델 성능을 저하시킬 수 있는 불일치를 감지하기 위해 모델에 제공된 피처 데이터를 모델이 학습된 데이터와 비교합니다.
프로덕션 시스템을 실행할 때는 운영 메트릭을 모니터링하는 것도 중요합니다. 특징점은 핵심 기능과 관련된 운영 메트릭을 추적합니다. 예를 들어 피처 스토리지 관련 메트릭(가용성, 용량, 사용률, 최신성) 또는 피처 서빙 관련 메트릭(throughput, 지연 시간, 오류율)이 있습 니다. 다른 메트릭은 외부 데이터 처리 엔진의 운영 메트릭(예: 작업 성공률, throughput, 처리 지연 및 속도)과 같이 중요한 인접 시스템 구성 요소의 작업을 설명합니다.
특징점은 기존 모니터링 인프라에서 이러한 메트릭을 사용할 수 있도록 합니다. 이를 통해 프로덕션 스택의 기존 관측 가능성 도구를 사용하여 ML 애플리케이션 상태를 모니터링하고 관리할 수 있습니다.
특징점은 어떤 모델이 어떤 특성을 사용하는지에 대한 가시성을 확보하여 특정 사용자, 모델 또는 소비자에게 관련된 보기로 알림 및 상태 측정항목을 자동으로 집계할 수 있습니다.
모든 특징점이 내부적으로 이러한 모니터링을 구현하는 것이 필수적이지는 않지만, 데이터 품질 모니터링 시스템을 연결할 수 있는 인터페이스를 최소한 제공해야 합니다. ML 사용 사례마다 전문적인 모니터링 요구사항이 다를 수 있으므로 여기서 연결성(pluggability)이 중요합니다.
머신 러닝 모델 레지스트리
모든 특징점의 핵심 구성 요소는 표준화된 피처 정의 및 메타데이터의 중앙 집중식 레지스트리 입니다. 레지스트리는 조직 내 피처 관련 정보에 대한 단일 정보 소스(single source of truth) 역할을 합니다.

레지스트리는 사용자가 특징점과 상호 작용하기 위한 중앙 인터페이스입니다. 팀은 레지스트리를 공통 카탈로그로 사용하여 팀 내에서 그리고 여러 팀에 걸쳐 새로운 정의를 탐색, 개발, 협업 및 게시합니다.
레지스트리의 정의는 특징점 시스템 동작을 구성합니다. 자동화된 작업은 레지스트리를 사용하여 데이터 수집, 변환, 스토리지를 예약하고 구성합니다. 이것은 특징점에 어떤 데이터가 저장되고 어떻게 구성되는지에 대한 기반이 됩니다. 서빙 APIs는 레지스트리를 사용하여 어떤 피처 값을 사용할 수 있어야 하는지, 누가 액세스할 수 있어야 하는지, 어떻게 서빙되어야 하는지를 일관되게 파악합니다.
레지스트리를 사용하면 중요한 메타데이터를 특성 정의에 첨부할 수 있습니다. 이를 통해 소유권, 프로젝트 또는 도메인별 정보를 추적하고 인접 시스템과 쉽게 통합할 수 있는 경로를 제공합니다. 여기에는 리니지 추적에 사용되는 종속성 및 버전에 대한 정보가 포함됩니다.
일반적인 디버깅, 규정 준수 및 감사 워크플로를 지원하기 위해 레지스트리는 분석적으로 사용 가능한 것과 프로덕션에서 실제로 실행 중인 것에 대한 불변의 기록 역할을 합니다.
지금까지 특징점의 핵심적인 최소 구성 요소를 살펴보았습니다. 실제로 기업은 규정 준수, 거버넌스, 보안과 같은 요구사항이 있는 경우가 많으며, 이를 위해서는 추가적인 엔터프라이즈중심 기능이 필요합니다. 이는 다음 블로그 게시물의 주제가 될 것입니다.
피처 스토어 시작하기
우리는 특징점을 최신 ML 애플리케이션의 데이터 흐름의 핵심으로 보고 있습니다. 피처 스토어는 ML을 프로덕션에 적용하는 데이터 사이언스팀에게 중요한 인프라 임이 빠르게 증명되고 있습니다. 2028년까지 특징점을 사용하는 조직의 수가 4배로 증가할 것으로 예상됩니다.
피처 스토어를 시작하는 데는 몇 가지 옵션이 있습니다.
- Feast 는 피처 compute를 위한 변환 파이프라인을 이미 갖추고 있지만, 이를 프로덕션에서 사용하는 데 도움이 되는 뛰어난 저장소 및 서빙 레이어가 필요한 경우에 훌륭한 옵션입니다. 현재 Feast는 GCP에서만 사용할 수 있지만, 모든 환경을 위한 경량 특징점으로 Feast를 사용할 수 있도록 열심히 노력하고 있습니다. 계속 지켜봐 주세요.
- Tecton 은 서비스형 피처 플랫폼입니다. Feast와 Tecton의 큰 차이점 은 Tecton이 변환을 지원하여 Tecton 내에서 피처 파이프라인을 엔드투엔드로 관리할 수 있다는 점입니다. Tecton은 관리형 서비스이며, 프로덕션 SLA, 호스팅, 고급 협업, 관리형 변환(배치/스트리밍/실시간) 및/또는 엔터프라이즈 기능이 필요한 경우 훌륭한 특징점 선택지입니다.
저희는 운영 ML 스택의 주요 구성요소로 부상하고 있는 특징점에 대한 공통된 정의를 제공하기 위해 이 블로그 게시물을 작성했습니다. 산업은 이 분야에서 활동이 폭발적으로 증가할 것으로 예상합니다.
