[분석지능개발팀 임창대]
What is Feature?
ML(Machine Learning) 은 과거의 예시 데이터를 학습한 모델을 기반으로 새로운 데이터 예측을 수행합니다.
ML 모델 학습에서 표 형태의 2차원 데이터를 사용하였을 때 행이 예시이고 열이 해당 예시를 설명하는 속성으로 구분될 수 있습니다.
이때 해당 속성이 바로 Feature 입니다.
What is Feature store?
Data scientist 는 모델 학습 시에 필요한 Feature 를 다양한 원천 데이터 저장소에 요청하고, 모델 추론 시에도 새로운 데이터를 예측한 결과와 학습에서 사용한 Feature 를 조합하여 사용자에게 서비스를 제공합니다.
Feature store 는 이러한 모델 학습 및 추론 과정에서 Feature 를 효과적으로 관리하게 해주는 모델과 Feature 간의 인터페이스 입니다.
Feature store 는 ML 학습을 위해 데이터에 대한 도메인 지식을 활용하여 Feature 를 만들어내는 과정(Feature engineering) 과 모델 학습 및 추론 부분을 분리하여 각자의 전문 영역에 더 집중할 수 있도록 하고, 각 부분의 재사용성을 높이는 시스템을 구축합니다.
What are the features of Feature store?
– 모든 원천 데이터 저장소에서 데이터 수집:
Feature Store는 Batch data(Data warehouse, data lake, database, …) 또는 Streaming data(Kafka, Kinesis, PubSub, …) 를 수집 할 수 있습니다.
– Feature 저장, 카탈로그 작성, 검색 및 재사용:
Feature store 는 사용할 Feature group 을 태깅 및 인덱싱하여 관리해줍니다. 이를 통해 학습 때 사용한 Feature Group 을 태그를 통해 추론 시에 사용할 수 있습니다.
– 특성 일관성 보장:
훈련 데이터와 추론을 위한 데이터 사이의 일관성 유지를 위해 수정되는 데이터 또한 저장 및 버전 관리를 수행합니다.
What are the disadvantages of Feature store?
– ML modeling 초기 단계에서 사용할 Feature 와 Model 이 모델이 정해지지 않은 경우 많은 Feature group 을 관리하는 것은 작업을 비효율적으로 만들 수 있습니다.
– Feature store 는 주로 표 형태의 정형 데이터를 대상으로 설계되었기에 비정형 데이터는 일반적인 데이터 저장소를 쓰는 게 나을 수 있습니다.
What are the use cases of Feature store?
결론적으로 Feature store 는 ML 기반 서비스 제공 시 ML 모델 추론 결과와 해당 ML 모델의 학습 데이터 함께 사용할 경우 유리합니다.
예시로는 아래와 같은 경우가 있습니다.
– 과거 사용자 기록 및 콘텐츠 선호도를 기반으로 한 개인화 서비스
– 과거 사례를 기반으로 한 사기 탐지 서비스
현재 Feature store 는 다양한 플랫폼에서 제공되고 있으며 open source 형태로도 사용할 수 있습니다.
References
– https://www.phdata.io/blog/what-is-a-feature-store/
– https://aws.amazon.com/ko/sagemaker/feature-store/
– https://docs.feast.dev/
– https://towardsdatascience.com/feature-engineering-what-powers-machine-learning-93ab191bcc2d