JUST WRITE

Feature Store 필요해?! 본문

Paper

Feature Store 필요해?!

천재보단범재 2023. 3. 7. 22:49

 

저번 포스팅에서 MLOps에 대해서 하나하나 살펴보았습니다.

논문을 통해 MLOps의 전체적인 흐름과 아키텍처에 대해 알아보았습니다.

 

Machine Learning Operations Overview, Definition and Architecture

1. Why this paper? 데이터 거버넌스 관리 솔루션 개발자로 첫 커리어를 시작했습니다. 데이터를 다루다보니 자연스럽게 데이터에 깊은 관심을 가지게 되었고 데이터 엔지니어로 꿈을 꾸게 되었고

developnote-blog.tistory.com

이번 포스팅에서는 MLOps에서 중요한 component 중 하나인 Feature store에 대해 정리해보려 합니다.

저번 포스팅에서 언급만 되었고 자세히 살펴보지 않았습니다.

ETRI에서 Feature Store에 대해 정리한 Paper를 토대로 살펴보겠습니다. 

1. Summary

해당 논문은 Feature Store에 대해 전반적으로 소개하고 있습니다.

  • Feature Store란?
  • Feature Store와 Data Warehouse 비교
  • Feature Store 역할
  • Feature Store Tool

개념뿐만 아니라 Data Warehouse와의 비교를 통해 헷갈리는 부분을 속 시원하게 정리해 줍니다.

이미 잘 정리된 Paper이기 때문에 원본을 읽어보시길 추천드립니다.

2. Detail

2-1. 데이터 플랫폼 vs AI 플랫폼

AI 프로젝트는 크게 데이터 플랫폼과 AI 플랫폼 2가지 영역으로 나눠집니다.

2가지 영역을 비교해 보면 아래와 같다.

데이터 플랫폼 AI 플랫폼
  • 데이터 수집 / 저장
  • 데이터 Flow 관리
  • Feature Engineering / Train Data 생성
  • 모델 학습(Train) / 선택(Selection) / 검증(Validation)
  • Hyperparameter 최적화(tunning)
  • 모델 서빙
대규모 분산 처리 고성능 컴퓨팅 처리(GPU)

모델의 성능을 좋게 하려면 반복적으로 다양하게 실험을 통해 이루어집니다.

데이터 플랫폼과 AI 플랫폼 작업이 반복적으로 수행되어야 합니다.

데이터 플랫폼 작업이 선행되어 Train Data 생성 후 AI 플랫폼 작업이 수행됩니다.(데이터 플랫폼 -> AI 플랫폼)

데이퍼 플랫폼과 AI 플랫폼의 연계의 효율성이 AI 프로젝트에 영향을 미칩니다.

이런 두 플랫폼 작업의 연계 효율성을 위해 Feature Store가 탄생하게 됩니다. 

2-2. What is Feature Store?

Feature Store는 2017년에 Uber의 Michelangelo 머신러닝 플랫폼에서 등장합니다.

Feature Store에 데이터 소스에서 Feature Engineering을 통해 나온 feature을 저장하였습니다.

모델 학습 시에 Feature Store에 저장된 feature을 가져와 Train Data를 생성하여 훈련하였습니다.

2-2-1. Feature Store vs Data Warehouse

Feature Store와 Data Warehouse 자주 비교되곤 합니다.

공통점이 있지만 역할은 확연히 다릅니다.

  Feature Store Data Warehouse
공통점
  • 중앙 저장소
  • 정제된 데이터를 저장
차이점
  • AI 모델 개발에 사용
  • 데이터 과학자 이용
  • 검증 작업 진행 O
  • 대시보드, 리포팅, 분석에 사용
  • 데이터 분석가 이용
  • 검증 작업 진행 X

2-2-2. Online vs Offline 저장소

Feature Store는 Online, Offline 2가지 저장소 영역을 가집니다.

Feature Store와 Data Warehouse의 차이점 중의 하나이기도 합니다.

먼저 Feature의 용도는 2가지로 나눠집니다.

  • 모델 학습에 쓰이는 Train 데이터용 Feature -> 대규모 일괄 작업
  • 운영에 적용된 모델 추론에 쓰이는 Feature -> 실시간 작업

Feature의 용도에 따라 요구되는 사항이 다르기 때문에 Online, Offline 저장소로 나눠집니다.

먼저, 모델 학습 시 사용되는 Feature는 대용량 데이터입니다.

주로 대규모 일괄 작업으로 처리됩니다.

학습 Feature는 Offline 저장소에 저장됩니다.

그에 반해 추론에 쓰이는 Feature는 실시간 작업으로 생성되어 Online 저장소에 저장됩니다.

출처 : https://kedion.medium.com/creating-a-feature-store-with-feast-part-1-37c380223e2f
Feature Store가 2개로 나눠져 있다 보니 Online과 Offline 저장소 사이의 일관성을 유지하는 것이 중요합니다.주기적으로 저장소 사이의 데이터를 갱신해줍니다.

2-3. Feature Store 역할

Feature는 모델 학습에 필요한 중요한 데이터입니다.

Feature Store는 Feature를 효율적으로 관리하기 위해 중요한 역할을 합니다.

Feature Store의 역할은 아래와 같습니다.

  • Feature 저장
    • 데이터 플랫폼에서 생성한 Feature를 저장
    • 모델 학습할 때마다 Feature를 생산하는 비용 절감
    • 중복적으로 사용되는 Feature의 재생성 비용 절감
  • Feature 관리
    • Feature 버전 관리
    • Feature 생성에 사용된 원본 데이터, 생성 History 등 Feature 관련 정보 관리
  • Feature 모니터링
    • Online 저장소와 Offline 저장소의 차이 모니터링
    • 저장된 Feature의 통계적 특성 모니터링 -> Data Drfit 체크
  • Feature 접근 제어
    • Feature 중 개인정보에 대한 인증 및 보완 기능

2-4. Feature Store Tool

해당 논문에서는 3개의 Tool을 자세하게 설명하고 있습니다.

3. 정리

이번 논문을 정리하면서 Feature Store의 역할과 등장하게 된 이유를 확실히 알 수 있었습니다.

AI 모델을 Product에 적용할 때 Feature Store 도입은 꼭 고려해야 될 사항인 거 같습니다.

하지만 아직 2가지 성격의 Online/Offline 저장소를 갖는 특징이 가슴 깊이 와닿지 않았습니다.

2가지 성격의 저장소가 필요한 이유는 이해가 되었지만 동작 방식이 확실하게 감이 오지 않았습니다.

해당 부분은 따로 공부해서 포스팅을 진행해보려 합니다.

이 논문은 한글로 잘 정리되어 있어 원본을 꼭 읽어보시길 바랍니다.

[논문링크]

 

A Survey on Feature Store -Electronics and Telecommunications Trends | Korea Science

Abstract In this paper, we discussed the necessity and importance of introducing feature stores to establish a collaborative environment between data engineering work and data science work. We examined the technology trends of feature stores by analyzing t

koreascience.kr

[참고사이트]

 

728x90
반응형
Comments