기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
특성 저장소를 사용하여 기능 생성, 저장 및 공유
기계 학습(ML) 개발 프로세스에는 원시 데이터를 추출하고, 이를 특성(ML 모델에 대한 의미 있는 입력)으로 변환하는 것이 포함됩니다. 그런 다음 이러한 기능은 데이터 탐색, ML 훈련 및 ML 추론을 위해 서비스 가능한 방식으로 저장됩니다. Amazon SageMaker Feature Store는 기능을 생성, 저장, 공유 및 관리하는 방법을 간소화합니다. 이는 기능 스토어 옵션을 제공하고 반복적인 데이터 처리 및 큐레이션 작업을 줄임으로써 이루어집니다.
무엇보다도 특성 저장소를 사용하면 다음을 수행할 수 있습니다.
-
계정 간 또는 조직에서 ML 개발을 위한 기능 처리, 저장, 검색 및 공유를 간소화합니다.
-
특성 처리 코드 개발을 추적하고, 특성 프로세서를 원시 데이터에 적용하고, 일관된 방식으로 특성을 특성 스토어에 수집합니다. 이렇게 하면 훈련 중 성능과 제공 중 성능의 차이가 ML 모델의 정확도에 영향을 미칠 수 있는 ML의 일반적인 문제인 훈련-서비스 왜곡이 줄어듭니다.
-
특성 및 관련 메타데이터를 특성 그룹에 저장하여 특성을 쉽게 검색하고 재사용할 수 있습니다. 특성 그룹은 변경할 수 있으며 생성 후 스키마를 발전시킬 수 있습니다.
-
온라인 또는 오프라인 스토어 또는 둘 다를 포함하도록 구성할 수 있는 기능 그룹을 생성하여 기능을 관리하고 ML 작업에 대한 기능 저장 방법을 자동화합니다.
-
온라인 스토어는 기능에 대한 최신 레코드만 유지합니다. 이는 주로 짧은 밀리초 지연 시간 읽기 및 높은 처리량 쓰기가 필요한 실시간 예측을 지원하도록 설계되었습니다.
-
오프라인 스토어는 기능에 대한 모든 레코드를 기록 데이터베이스로 보관합니다. 이는 주로 데이터 탐색, 모델 훈련 및 배치 예측을 위한 것입니다.
-
다음 다이어그램은 특성 저장소를 ML 파이프라인의 일부로 사용하는 방법을 보여줍니다. 원시 데이터를 읽고 나면 특성 저장소를 사용하여 원시 데이터를 특성으로 변환하고 특성 그룹으로 수집할 수 있습니다. 기능은 스트리밍 또는 배치를 통해 특성 그룹의 온라인 및 오프라인 스토어에 수집할 수 있습니다. 그런 다음 데이터 탐색, 모델 훈련 및 실시간 또는 배치 추론을 위해 기능을 제공할 수 있습니다.
특성 저장소 작동 방식
특성 저장소에서 특성은 특성 그룹이라는 컬렉션에 저장됩니다.특성 그룹은 각 열이 특성이며, 각 행은 고유한 식별자인 테이블로 시각화할 수 있습니다. 원칙적으로 특성 그룹은 각 특성에 특정한 특성과 값으로 구성됩니다. Record
는 고유한 RecordIdentifier
에 해당하는 특성 값의 컬렉션입니다. 총체적으로 FeatureGroup
은 Record
를 설명하기 위해 FeatureStore
에 정의된 특성 그룹입니다.
다음 모드에서 특성 저장소를 사용할 수 있습니다.
-
온라인 - 온라인 모드는 저지연(밀리초)으로 특성을 읽고 높은 처리량 예측에 사용합니다. 이 모드를 사용하려면 특성 그룹을 온라인 저장소에 저장해야 합니다.
-
오프라인 - 오프라인 모드는 대량의 데이터 스트림이 오프라인 저장소에 공급되며, 이를 훈련 및 일괄 추론에 사용할 수 있습니다. 이 모드에서는 특성 그룹을 오프라인 저장소에 저장해야 합니다. 오프라인 저장소는 S3 버킷을 스토리지로 사용하며 Athena 쿼리를 사용하여 데이터를 가져올 수도 있습니다.
-
온라인 및 오프라인 - 여기에는 온라인 모드와 오프라인 모드가 모두 포함됩니다.
스트리밍 또는 일괄 처리의 두 가지 방법으로 특성 저장소의 특성 그룹에 데이터를 수집할 수 있습니다. 스트리밍을 통해 데이터를 수집하면 동기 PutRecord
API 호출을 호출하여 레코드 모음이 특성 저장소로 푸시됩니다. 이렇게 API 하면 특성 저장소에서 최신 특성 값을 유지하고 업데이트가 감지되는 즉시 새 특성 값을 푸시할 수 있습니다.
또는 특성 저장소에서 데이터를 일괄적으로 처리하고 수집할 수도 있습니다. 예를 들어 Amazon SageMaker Data Wrangler를 사용하여 기능을 작성하고 Data Wrangler에서 노트북을 내보낼 수 있습니다. 노트북은 특성 저장소 특성 그룹에 특성을 일괄적으로 수집하는 SageMaker 처리 작업일 수 있습니다. 이 모드를 사용하면 오프라인 저장소에 일괄적으로 수집할 수 있습니다. 또한 특성 그룹이 온라인 및 오프라인 모두에서 사용하도록 구성된 경우 온라인 저장소로의 수집도 지원합니다.
특성 그룹 생성
특성을 특성 저장소에 수집하려면, 먼저 특성 그룹과 특성 그룹에 속하는 모든 특성에 대한 특성 정의(특성 이름 및 데이터 유형)를 정의해야 합니다. 생성된 특성 그룹은 변경 가능하며 스키마를 발전시킬 수 있습니다. 특성 그룹 이름은 AWS 리전 및 내에서 고유합니다 AWS 계정. 특성 그룹을 생성할 때 특성 그룹의 메타데이터를 생성할 수도 있습니다. 메타데이터에는 간단한 설명, 스토리지 구성, 각 레코드를 식별하는 기능 및 이벤트 시간이 포함될 수 있습니다. 또한 메타데이터에는 작성자, 데이터 소스, 버전 등과 같은 정보를 저장하는 태그가 포함될 수 있습니다.
중요
FeatureGroup
이름 또는 설명이나 태그와 같은 관련 메타데이터에는 개인 식별 정보(PII) 또는 기밀 정보가 포함되어서는 안 됩니다.
특성 조사, 발견 및 공유
특성 저장소에서 특성 그룹을 생성한 후에는 특성 저장소의 다른 인증된 사용자가 해당 특성 그룹을 공유하고 검색할 수 있습니다. 사용자는 특성 저장소의 모든 특성 그룹 목록을 살펴보거나 특성 그룹 이름, 설명, 레코드 식별자 이름, 생성 날짜, 태그별로 검색하여 기존 특성 그룹을 검색할 수 있습니다.
온라인 저장소에 저장된 특성에 대한 실시간 추론
특성 저장소를 사용하면 스트리밍 소스의 데이터(다른 애플리케이션의 클린 스트림 데이터)로 온라인 저장소에 저장된 특성을 실시간으로 강화하고, 실시간 추론을 위해 밀리초 수준의 저지연 특성을 제공할 수 있습니다.
또한 클라이언트 애플리케이션에서 서로 다른 두 FeatureGroups
을 쿼리하여 실시간 추론을 위해 서로 다른 FeatureGroups
간에 조인을 수행할 수도 있습니다.
모델 훈련 및 일괄 추론을 위한 오프라인 저장소
특성 저장소는 S3 버킷의 특성 값을 위한 오프라인 스토리지를 제공합니다. 데이터는 이벤트 시간을 기반으로 하는 접두사 체계를 사용하여 S3 버킷에 저장됩니다.오프라인 저장소는 추가 전용 저장소로, 특성 저장소는 모든 특성 값의 과거 레코드를 유지할 수 있습니다. 데이터는 최적화된 저장 및 쿼리 액세스를 위해 오프라인 저장소에 Parquet 형식으로 저장됩니다.
콘솔에서 Data Wrangler를 사용하여 기능을 쿼리, 탐색 및 시각화할 수 있습니다. 특성 저장소는 데이터 결합을 지원하여 데이터 세트를 생성, 훈련, 검증 및 테스트할 수 있으며, 다양한 시점에서 데이터를 추출할 수 있습니다.
특성 데이터 모으기
특성 생성 파이프라인을 생성하여 대규모 배치 (1백만 행 이상의 데이터) 또는 소규모 배치를 처리하고 오프라인 또는 온라인 저장소에 특성 데이터를 쓸 수 있습니다. Amazon Managed Streaming for Apache Kafka 또는 Amazon Kinesis와 같은 스트리밍 소스는 특성을 추출하여 훈련, 추론 또는 특성 생성을 위해 온라인 저장소에 직접 공급하는 데이터 소스로도 사용할 수 있습니다.
동기 PutRecord
API 호출을 호출하여 레코드를 특성 저장소로 푸시할 수 있습니다. 이 호출은 동기식 API 호출이므로 한 API 번의 호출로 작은 업데이트 배치를 푸시할 수 있습니다. 이렇게 하면 특성 값을 최신으로 유지하고 업데이트가 감지되는 즉시 값을 게시할 수 있습니다. 이러한 기능을 스트리밍 특성이라고도 합니다.
특성 데이터가 수집 및 업데이트되면 특성 저장소는 오프라인 저장소의 모든 특성에 대한 과거 데이터를 저장합니다. 일괄 수집의 경우 S3 버킷에서 특성 값을 가져오거나 Athena를 사용하여 쿼리할 수 있습니다. 또한 Data Wrangler를 사용하여 새로운 특성을 처리하고 엔지니어링한 다음, 선택한 S3 버킷으로 내보내 특성 저장소에서 액세스할 수 있도록 할 수 있습니다. 일괄 수집의 경우 특성 저장소에 데이터를 일괄 수집하도록 처리 작업을 구성하거나 Athena를 사용하여 S3 버킷에서 특성 값을 가져올 수 있습니다.
온라인 스토어Record
에서 를 제거하려면 DeleteRecord
API 호출을 사용합니다. 이렇게 하면 삭제된 레코드도 오프라인 저장소에 추가됩니다.
특성 저장소의 복원성
특성 저장소는 여러 가용 영역()에 분산됩니다AZs. 가용 영역은 한 AWS 리전내에 있는 격리된 위치입니다. 일부 AZs 실패 시 특성 저장소는 다른 를 사용할 수 있습니다AZs. 에 대한 자세한 내용은 섹션을 AZs참조하세요Amazon의 복원력 SageMaker.