피처 스토어로 기능을 만들고 저장하고 공유하세요. - 아마존 SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

피처 스토어로 기능을 만들고 저장하고 공유하세요.

머신 러닝 (ML) 개발 프로세스에는 원시 데이터를 추출하여 특징으로 변환하는 작업 (ML 모델에 대한 의미 있는 입력) 이 포함됩니다. 그런 다음 데이터 탐색, ML 교육 및 ML 추론을 위해 해당 기능을 서비스 가능한 방식으로 저장합니다. Amazon SageMaker Feature Store는 기능을 생성, 저장, 공유 및 관리하는 방법을 간소화합니다. 이는 기능 저장소 옵션을 제공하고 반복적인 데이터 처리 및 큐레이션 작업을 줄임으로써 이루어집니다.

무엇보다도 Feature Store를 사용하면 다음과 같은 작업을 수행할 수 있습니다.

  • 계정 간 또는 조직 내에서 ML 개발을 위한 기능 처리, 저장, 검색, 공유를 간소화합니다.

  • 기능 처리 코드 개발을 추적하고, 기능 프로세서를 원시 데이터에 적용하고, 기능을 일관된 방식으로 Feature Store에 수집하세요. 이를 통해 학습과 제공 중의 성능 차이가 ML 모델의 정확도에 영향을 미칠 수 있는 ML에서 흔히 발생하는 문제인 학습-제공 편차가 줄어듭니다.

  • 기능을 쉽게 발견하고 재사용할 수 있도록 기능 및 관련 메타데이터를 기능 그룹에 저장하세요. 기능 그룹은 변경 가능하며 생성 후 스키마를 발전시킬 수 있습니다.

  • 온라인 또는 오프라인 스토어 또는 둘 다를 포함하도록 구성할 수 있는 기능 그룹을 생성하여 기능을 관리하고 ML 작업을 위해 기능이 저장되는 방식을 자동화하세요.

    • 온라인 스토어에는 기능에 대한 최신 레코드만 보관됩니다. 이는 주로 밀리초의 지연 시간이 짧은 읽기와 높은 처리량의 쓰기가 필요한 실시간 예측을 지원하기 위해 설계되었습니다.

    • 오프라인 스토어는 기능에 대한 모든 기록을 기록 데이터베이스로 보관합니다. 이는 주로 데이터 탐색, 모델 교육 및 배치 예측을 위한 것입니다.

다음 다이어그램은 Feature Store를 ML 파이프라인의 일부로 사용하는 방법을 보여줍니다. 원시 데이터를 가져오면 Feature Store를 사용하여 원시 데이터를 기능으로 변환하고 이를 기능 그룹에 통합할 수 있습니다. 스트리밍이나 배치를 통해 피처 그룹의 온라인 및 오프라인 스토어에 피처를 인제스트할 수 있습니다. 그런 다음 데이터 탐색, 모델 교육, 실시간 또는 일괄 추론에 기능을 제공할 수 있습니다.

Feature Store가 머신 러닝 파이프라인에 적합한 곳.

특성 저장소 작동 방식

특성 저장소에서 특성은 특성 그룹이라는 컬렉션에 저장됩니다.특성 그룹은 각 열이 특성이며, 각 행은 고유한 식별자인 테이블로 시각화할 수 있습니다. 원칙적으로 특성 그룹은 각 특성에 특정한 특성과 값으로 구성됩니다. Record는 고유한 RecordIdentifier에 해당하는 특성 값의 컬렉션입니다. 총체적으로 FeatureGroupRecord를 설명하기 위해 FeatureStore에 정의된 특성 그룹입니다. 

다음 모드에서 특성 저장소를 사용할 수 있습니다. 

  • 온라인 - 온라인 모드는 저지연(밀리초)으로 특성을 읽고 높은 처리량 예측에 사용합니다. 이 모드를 사용하려면 특성 그룹을 온라인 저장소에 저장해야 합니다. 

  • 오프라인 - 오프라인 모드는 대량의 데이터 스트림이 오프라인 저장소에 공급되며, 이를 훈련 및 일괄 추론에 사용할 수 있습니다. 이 모드에서는 특성 그룹을 오프라인 저장소에 저장해야 합니다. 오프라인 저장소는 S3 버킷을 스토리지로 사용하며 Athena 쿼리를 사용하여 데이터를 가져올 수도 있습니다. 

  • 온라인 및 오프라인 - 여기에는 온라인 모드와 오프라인 모드가 모두 포함됩니다.

스트리밍 또는 일괄 처리의 두 가지 방법으로 특성 저장소의 특성 그룹에 데이터를 수집할 수 있습니다. 스트리밍을 통해 데이터를 수집할 때 동기 PutRecord API 호출을 호출하여 레코드 컬렉션이 Feature Store로 푸시됩니다. API이렇게 하면 Feature Store에서 최신 기능 값을 유지하고 업데이트가 감지되는 즉시 새 기능 값을 푸시할 수 있습니다.

또는 특성 저장소에서 데이터를 일괄적으로 처리하고 수집할 수도 있습니다. 예를 들어, Amazon SageMaker 데이터 랭글러를 사용하여 기능을 작성하고 데이터 랭글러에서 노트북을 내보낼 수 있습니다. 노트북은 기능을 Feature Store 기능 그룹에 일괄 수집하는 SageMaker 처리 작업일 수 있습니다. 이 모드를 사용하면 오프라인 저장소에 일괄적으로 수집할 수 있습니다. 또한 특성 그룹이 온라인 및 오프라인 모두에서 사용하도록 구성된 경우 온라인 저장소로의 수집도 지원합니다. 

특성 그룹 생성

특성을 특성 저장소에 수집하려면, 먼저 특성 그룹과 특성 그룹에 속하는 모든 특성에 대한 특성 정의(특성 이름 및 데이터 유형)를 정의해야 합니다. 생성된 특성 그룹은 변경 가능하며 스키마를 발전시킬 수 있습니다. 기능 그룹 이름은 AWS 리전 AND 내에서 고유합니다. AWS 계정기능 그룹을 생성할 때 기능 그룹의 메타데이터를 생성할 수도 있습니다. 메타데이터에는 간단한 설명, 스토리지 구성, 각 레코드를 식별하는 기능, 이벤트 시간이 포함될 수 있습니다. 또한 메타데이터에는 작성자, 데이터 원본, 버전 등과 같은 정보를 저장하는 태그가 포함될 수 있습니다.

중요

FeatureGroup설명 또는 태그와 같은 이름 또는 관련 메타데이터에는 개인 식별 정보 (PII) 또는 기밀 정보가 포함되어서는 안 됩니다.

특성 조사, 발견 및 공유

특성 저장소에서 특성 그룹을 생성한 후에는 특성 저장소의 다른 인증된 사용자가 해당 특성 그룹을 공유하고 검색할 수 있습니다. 사용자는 특성 저장소의 모든 특성 그룹 목록을 살펴보거나 특성 그룹 이름, 설명, 레코드 식별자 이름, 생성 날짜, 태그별로 검색하여 기존 특성 그룹을 검색할 수 있습니다. 

온라인 저장소에 저장된 특성에 대한 실시간 추론 

특성 저장소를 사용하면 스트리밍 소스의 데이터(다른 애플리케이션의 클린 스트림 데이터)로 온라인 저장소에 저장된 특성을 실시간으로 강화하고, 실시간 추론을 위해 밀리초 수준의 저지연 특성을 제공할 수 있습니다. 

또한 클라이언트 애플리케이션에서 서로 다른 두 FeatureGroups을 쿼리하여 실시간 추론을 위해 서로 다른 FeatureGroups간에 조인을 수행할 수도 있습니다. 

모델 훈련 및 일괄 추론을 위한 오프라인 저장소

특성 저장소는 S3 버킷의 특성 값을 위한 오프라인 스토리지를 제공합니다. 데이터는 이벤트 시간을 기반으로 하는 접두사 체계를 사용하여 S3 버킷에 저장됩니다.오프라인 저장소는 추가 전용 저장소로, 특성 저장소는 모든 특성 값의 과거 레코드를 유지할 수 있습니다. 데이터는 최적화된 저장 및 쿼리 액세스를 위해 오프라인 저장소에 Parquet 형식으로 저장됩니다.

콘솔에서 Data Wrangler를 사용하여 기능을 쿼리, 탐색 및 시각화할 수 있습니다.   특성 저장소는 데이터 결합을 지원하여 데이터 세트를 생성, 훈련, 검증 및 테스트할 수 있으며, 다양한 시점에서 데이터를 추출할 수 있습니다.

특성 데이터 모으기

특성 생성 파이프라인을 생성하여 대규모 배치 (1백만 행 이상의 데이터) 또는 소규모 배치를 처리하고 오프라인 또는 온라인 저장소에 특성 데이터를 쓸 수 있습니다. Amazon Managed Streaming for Apache Kafka 또는 Amazon Kinesis와 같은 스트리밍 소스는 특성을 추출하여 훈련, 추론 또는 특성 생성을 위해 온라인 저장소에 직접 공급하는 데이터 소스로도 사용할 수 있습니다. 

동기 호출을 호출하여 Feature Store에 레코드를 푸시할 수 있습니다. PutRecord API 동기 API 호출이므로 한 번의 호출로 소량의 업데이트를 푸시할 수 있습니다. API 이렇게 하면 특성 값을 최신으로 유지하고 업데이트가 감지되는 즉시 값을 게시할 수 있습니다. 이러한 기능을 스트리밍 특성이라고도 합니다. 

특성 데이터가 수집 및 업데이트되면 특성 저장소는 오프라인 저장소의 모든 특성에 대한 과거 데이터를 저장합니다. 일괄 수집의 경우 S3 버킷에서 특성 값을 가져오거나 Athena를 사용하여 쿼리할 수 있습니다. 또한 Data Wrangler를 사용하여 새로운 특성을 처리하고 엔지니어링한 다음, 선택한 S3 버킷으로 내보내 특성 저장소에서 액세스할 수 있도록 할 수 있습니다. 일괄 수집의 경우 특성 저장소에 데이터를 일괄 수집하도록 처리 작업을 구성하거나 Athena를 사용하여 S3 버킷에서 특성 값을 가져올 수 있습니다. 

온라인 Record 스토어에서 a를 제거하려면 통화를 사용하십시오. DeleteRecordAPI 이렇게 하면 삭제된 레코드도 오프라인 저장소에 추가됩니다.

특성 저장소의 복원성

피처 스토어는 여러 가용 영역 (AZs) 에 분산되어 있습니다. 가용 영역은 한 AWS 리전내에 있는 격리된 위치입니다. 일부가 AZs 실패하는 경우 Feature Store는 다른 기능을 사용할 수 AZs 있습니다. 에 대한 자세한 내용은 AZs 을 참조하십시오아마존의 레질리언스 SageMaker.