Amazon SageMaker 피처 스토어를 사용하여 기능을 생성, 저장 및 공유하십시오. - 아마존 SageMaker

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

Amazon SageMaker 피처 스토어를 사용하여 기능을 생성, 저장 및 공유하십시오.

기계 학습 (ML) 개발 프로세스는 주로 데이터에서 특성이라 하는 데이터 신호를 추출하여 ML 모델을 학습시키는 것으로 시작합니다. Amazon SageMaker Feature Store를 사용하면 데이터 과학자, 기계 학습 엔지니어 및 일반의가 ML 개발을 위한 기능을 쉽게 생성, 공유 및 관리할 수 있습니다. 특성 저장소는 원시 데이터를 ML 알고리즘 교육을 위한 특성으로 변환하는 데 필요한 반복적인 데이터 처리 및 큐레이션 작업을 줄임으로써 이 프로세스를 가속화합니다.

또한 데이터의 처리 로직은 한 번만 작성되며 생성된 특성은 학습과 추론에 모두 사용되므로 학습과 제공의 편차가 줄어듭니다. 특성 저장소는 특성 및 관련 메타데이터를 저장하는 중앙 집중식 저장소이므로 특성을 쉽게 검색하고 재사용할 수 있습니다. 온라인 또는 오프라인 저장소를 생성할 수 있습니다. 온라인 저장소는 저지연 실시간 추론 사용 사례에 사용되고 오프라인 저장소는 교육 및 일괄 추론에 사용됩니다. 

다음 다이어그램은 특성 저장소를 기계 학습 파이프라인의 일부로 사용하는 방법을 보여줍니다. 먼저 원시 데이터를 읽고 처리합니다. 온라인 및 오프라인 저장소로 스트리밍하거나 오프라인 저장소에 직접 일괄 처리하여 데이터를 수집할 수 있습니다. 먼저 FeatureGroup을(를) 생성하여 온라인 저장소나 오프라인 저장소 또는 둘 다에 구성합니다. 그런 다음 데이터를 FeatureGroup에 수집하여 저장소에 저장할 수 있습니다.FeatureGroup은(는) 레코드를 설명하기 위해 특성 저장소의 스키마를 통해 정의된 특성 그룹입니다.

온라인 저장소는 주로 밀리초 수준의 저지연 읽기 및 높은 처리량의 쓰기가 필요한 실시간 예측을 지원하도록 설계되었습니다. 오프라인 저장소는 주로 일괄 예측 및 모델 교육을 위한 것입니다. 오프라인 저장소는 추가 전용 저장소이며 과거 특성 데이터를 저장하고 액세스하는 데 사용할 수 있습니다. 오프라인 저장소를 이용하면 탐색 및 모델 학습에 필요한 특성을 저장하고 제공할 수 있습니다. 온라인 저장소는 최신 특성 데이터만 보관합니다. 특성 그룹은 변경 가능하며 생성 후 스키마를 발전시킬 수 있습니다.

특성 저장소 작동 방식

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

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

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

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

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

스트리밍 또는 일괄 처리의 두 가지 방법으로 특성 저장소의 특성 그룹에 데이터를 수집할 수 있습니다. 스트리밍을 통해 데이터를 수집하는 경우 동기 방식으로 PutRecordAPI를 직접적으로 호출하여 레코드 컬렉션이 특성 저장소에 푸시됩니다. 이 API를 사용하면 특성 저장소의 최신 특성 값을 유지하고 업데이트가 감지되는 즉시 새 특성 값을 푸시할 수 있습니다.

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

특성 그룹 생성

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

중요

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

특성 조사, 발견 및 공유

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

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

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

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

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

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

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

특성 데이터 모으기

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

동기 방식으로 PutRecordAPI를 직접 호출하여 레코드를 특성 저장소로 푸시할 수 있습니다. 이는 동기 방식의 API 호출이므로 단일 API 호출로 소규모 업데이트를 푸시할 수 있습니다. 이렇게 하면 특성 값을 최신으로 유지하고 업데이트가 감지되는 즉시 값을 게시할 수 있습니다. 이러한 기능을 스트리밍 특성이라고도 합니다. 

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

온라인 저장소에서 Record을(를) 제거하려면 DeleteRecordAPI 호출을 사용하세요. 이렇게 하면 삭제된 레코드도 오프라인 저장소에 추가됩니다.

특성 저장소의 복원성

특성 저장소는 여러 가용 영역에 배포됩니다. 가용 영역은 한 AWS 리전내에 있는 격리된 위치입니다. 일부 가용 영역에 장애가 발생하는 경우 특성 저장소는 다른 가용 영역을 사용할 수 있습니다. 가용 영역에 대한 자세한 내용은 아마존의 레질리언스 SageMaker섹션을 참조하세요.