What ML feature stores require and how ScyllaDB fits in as fast, scalable online feature store 이 블로그 게시물에서 우리는 실시간 기계 학습 (ML) 응용 프로그램에서 기능 스토어의 역할과 ScyllaDB가 온라인 기능 서빙을위한 강력한 선택의 이유를 탐구 할 것입니다. 우리는 기능의 기초를 다루고, 기능 스토어가 어떻게 작동하는지, 그 혜택, 다른 워크로드 요구 사항을 다루고 ML 응용 프로그램에서 지연이 어떻게 중요한 역할을합니다. 기계 학습의 특징은 무엇입니까? 기능은 기계 학습 모델을 훈련하거나 제공하는 데 사용되는 측정 가능한 속성입니다.Features can be raw data points or engineered values derived from the raw data.For example, in a social media app like ShareChat, features may include: 지난 10분간 좋아하는 숫자 지난 7일간의 주식 수 포스팅의 주제 이미지 크레딧 : Ivan Burmistrov and Andrei Manakov (ShareChat) 이러한 데이터 포인트는 사용자 참여 또는 콘텐츠 권장과 같은 결과를 예측하는 데 도움이됩니다.These data points help predict outcomes such as user engagement or content recommendation. 기능 벡터는 단순히 특정 예측 작업과 관련된 기능의 집합입니다.For example, this is what a feature vector could look like for a credit scoring application. 관련 데이터 포인트를 선택하고 기능으로 변환하는 것은 기계 학습 프로젝트에서 중요한 부분을 차지합니다.그것은 또한 훈련되는 모델이 시간이 지남에 따라 더 정확해질 수 있도록 기능을 정밀화하고 최적화하는 지속적인 과정입니다. 브랜드명 상품명 Store Architectures 기능을 효율적으로 사용하려면 조직 내에서 사용할 수 있는 기능을 관리하는 중앙 위치를 만들 수 있습니다.A central feature store allows: 새로운 기능을 만드는 표준 프로세스 간단한 액세스를 위한 기능 저장 팀을 통한 기능의 발견 및 재사용 모델 훈련과 추론을 위한 기능을 제공 대부분의 아키텍처는 두 개의 스토어/데이터베이스를 구별합니다: 모델 훈련을 위한 오프라인 스토어 (bulk writes/reads) 추론을 위한 온라인 상점 (real-time, low-latency writes/reads) 전형적인 기능 스토어 파이프라인은 원시 데이터 (데이터 호수 또는 스트림에서)를 섭취하고, 기능 엔지니어링을 수행하고, 두 스토어에서 기능을 저장한 다음 두 개의 별도의 파이프라인을 통해 제공합니다 : 하나는 훈련을 위해, 하나는 추론을 위해. 중앙화된 기능 스토어의 장점 중앙화된 기능 스토어는 몇 가지 장점을 제공합니다 : 복제: 팀이 기존 기능을 재사용할 수 있습니다. Self-Serve Access: 데이터 과학자는 독립적으로 기능을 생성하고 쿼리할 수 있습니다. 통합 파이프라인: 훈련 및 추론 워크로드가 크게 다르더라도 동일한 추론 레이어를 사용하여 여전히 쿼리할 수 있다. 이것은 더 빠른 이테레이션, 더 많은 일관성 및 ML 워크플로우 간의 더 나은 협력 결과입니다. Feature Stores의 다양한 워크로드 기능 매장 내에 존재하는 두 가지 매우 다른 워크로드 요구 사항을 분해하자 : 모델 훈련과 실시간 추론. 모델 훈련 (offline store) 예측을 하려면 먼저 기계 학습 모델을 훈련해야 합니다. 훈련은 크고 고품질의 데이터 세트가 필요합니다. 이 데이터 세트를 오프라인 기능 매장에 저장할 수 있습니다. 늦음 : 우선 순위가 아니다 볼륨: 높은 (백만에서 수십억 개의 레코드) 빈도: 희귀, 일정한 일자리 목적: 역사적 데이터의 큰 조각을 복구 기본적으로 오프라인 스토어는 거대한 데이터 세트를 효율적으로 저장해야합니다. Real-time Inference (온라인 스토어) 모델이 준비되면 실시간 추론을 실행할 수 있습니다. 실시간 추론은 사용자가 제공한 입력을 취하고 예측으로 변환합니다. Latency: 높은 우선 순위 볼륨: 요청 당 낮지만 높은 전송량(초당 수백만 개까지) 주파수: 사용자 행동에 의해 유발되는 일정(예: 음식 주문) 목적: 신속한 예측을 위해 최신 기능을 제공 예를 들어, 식품 배달 앱을 고려하십시오.사용자의 최근의 바구니 콘텐츠, 나이 및 위치는 기능으로 변환되고 즉시 구매할 다른 항목을 권장하는 데 사용될 수 있습니다.This would require real-time inference - and latency makes or breaks the user experience. Latency가 중요한 이유 Latency(이 문서의 맥락에서)는 쿼리를 보내고 기능 스토어에서 응답을 받는 시간을 의미합니다.For real-time ML applications – especially user-facing ones– low latency is critical for success. 체크 아웃 중에 사용자가 관련 식품을 표시하는 것을 상상해보십시오.이 제안이 느린 온라인 상점으로 인해 로드하는 데 너무 오래 걸리면 기회가 사라집니다. 최신 데이터 삽입 관련 특징을 찾으려면 실행 Inference 예측으로 돌아가기 milliseconds에서 발생할 수 있습니다. 기능 스토어 솔루션 선택 기능 스토어를 구축하기로 결정하면 열려있는 소스와 상업적 인 프레임 워크와 공급 업체가 수십 개가 있습니다.Once you decide to build a feature store, you will quickly find that there are dozens of frameworks and providers, both open source and commercial, to choose from: Feast (Open Source): 유연한 데이터베이스 지원을 제공합니다 (예: Postgres, Redis, Cassandra, ScyllaDB) Hopsworks : 자신의 생태계와 밀접하게 연결 AWS SageMaker: AWS 스택에 연결 (예: S3, DynamoDB) 그리고 많은 다른 팀의 기술적 전문성, 지연 요구 사항 및 기존 스택과 필요한 통합과 같은 요소는 모두 역할을합니다. 온라인 기능 스토어의 확장성과 성능에 대해 걱정하는 경우, 데이터베이스의 유연성은 핵심적인 고려 사항입니다. 기능 스토어 (예를 들어 AWS SageMaker, GCP Vertex, Hopsworks 등)는 자신의 데이터베이스 기술을 온라인 스토어로 제공합니다. 엄격한 P99 지연 요구 사항 (예를 들어, <15ms P99)과 같은 공급 업체를 선택하는 것을 상상해보십시오.이 요구 사항은 개념 증명 (POC) 중에 성공적으로 충족됩니다.하지만 나중에 지연 상승을 경험할 수 있습니다 - 아마도 요구 사항이 변경되거나 앱에 새로운 사용자가 증가하거나 다른 예측할 수없는 이유입니다.당신은 비용을 절약하기 위해 다른 온라인 스토어 데이터베이스 백엔드로 전환하고 싶습니다. 문제는 당신이 할 수 없다는 것입니다... 적어도 쉽지 않다.당신은 내장된 솔루션에 갇혀 있습니다.모든 것이 잠겨 있기 때문에 온라인 상점의 부분만을 마이그레이션하는 것은 불가능합니다. 이러한 상황을 피하고 싶다면 오프라인 및 온라인 스토어 백엔드에 대해 유연한 도구를 살펴볼 수 있습니다.Feast 또는 FeatureForm과 같은 도구를 사용하면 온라인 및 오프라인 스토어 모두에 대한 자체 데이터베이스 백엔드를 가져올 수 있습니다.이것은 판매자 잠금을 피하고 미래의 데이터베이스 마이그레이션을 늦어지거나 비용이 올라가는 경우에 덜 고통 스럽게 만드는 좋은 방법입니다. ScyllaDB, 온라인 기능 매장 ScyllaDB는 Apache Cassandra 및 DynamoDB API와 호환되는 고성능 NoSQL 데이터베이스입니다.It is a high-performance NoSQL database that's API compatible with Apache Cassandra and DynamoDB API. , 그리고 포함 , 그것을 낮은 지연, 높은 통과 기능 스토어 응용 프로그램에 이상적으로 만듭니다. Shard-per-Core 아키텍처 삽입된 Cache 시스템 왜 ScyllaDB? 낮은 지연 시간 (single-digit millisecond P99 performance) 높은 가용성 및 탄력성 높은 규모의 통과량 (petabyte-scale deployments) No vendor lock-in (on-prem 또는 어떠한 클라우드에서도 실행) 기존 Cassandra/DynamoDB 설치에 대한 Drop-in 교체 다른 NoSQL 데이터베이스에서 쉽게 마이그레이션 (Cassandra, DynamoDB, MongoDB 등) Feature Store Framework Feast와의 통합 ScyllaDB는 실시간 성능, 가용성 및 지연 예측이 중요한 온라인 기능 스토어 사용 사례에서 빛납니다. ScyllaDB + Feast 통합 Feast는 온라인 및 오프라인 스토어를 모두 지원하는 인기있는 오픈 소스 기능 스토어 프레임워크입니다.그의 강점 중 하나는 ScyllaDB를 포함하여 자신의 데이터베이스 소스를 연결할 수있는 기능입니다. . Docs에서 ScyllaDB + Feast 통합 기능 스토어 튜토리얼으로 시작하십시오.Get Started with a Feature Store Tutorial ScyllaDB를 온라인 기능 스토어로 사용해보고 싶습니까? ScyllaDB 클러스터를 만들고 실시간 추론 애플리케이션을 구축하는 과정을 안내하는 우리의 튜토리얼을 확인하십시오. 튜토리얼: ScyllaDB와 함께 가격 예측 추론 앱 튜토리얼: Feast & ScyllaDB와 함께 실시간 앱 Feast + ScyllaDB 통합 GitHub: 기능 스토어 코드 예로 ScyllaDB 질문이 있거나 설치에 도움을 원하십니까? ! 포럼에 게시된 글 Feastiner, Francisco Javier Arceo와 함께 개발자 워크샵을 마쳤습니다. 당신은 지금 요청에 그것을 볼 수 있습니다. Update: Python, Feast & NoSQL을 사용하여 실시간 ML 앱을 구축하십시오.