Mit Feature Store können Sie Funktionen erstellen, speichern und teilen - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Mit Feature Store können Sie Funktionen erstellen, speichern und teilen

Der Entwicklungsprozess für maschinelles Lernen (ML) umfasst das Extrahieren von Rohdaten und deren Umwandlung in Funktionen (aussagekräftige Eingaben für Ihr ML-Modell). Diese Funktionen werden dann auf brauchbare Weise für die Datenexploration, das ML-Training und die ML-Inferenz gespeichert. Amazon SageMaker Feature Store vereinfacht die Erstellung, Speicherung, gemeinsame Nutzung und Verwaltung von Funktionen. Dies wird durch die Bereitstellung von Feature-Store-Optionen und die Reduzierung sich wiederholender Datenverarbeitungs- und Kurationsarbeiten erreicht.

Mit Feature Store können Sie unter anderem:

  • Vereinfachen Sie die Verarbeitung, das Speichern, Abrufen und Teilen von Funktionen für die ML-Entwicklung zwischen Konten oder innerhalb einer Organisation.

  • Verfolgen Sie die Entwicklung Ihres Codes für die Feature-Verarbeitung, wenden Sie Ihren Feature-Prozessor auf die Rohdaten an und übernehmen Sie Ihre Funktionen auf konsistente Weise in den Feature Store. Auf diese Weise wird die Verzerrung beim Training reduziert, ein häufig auftretendes Problem bei maschinellem Lernen, bei dem sich der Unterschied zwischen der Leistung während des Trainings und der Durchführung auf die Genauigkeit Ihres ML-Modells auswirken kann.

  • Speichern Sie Ihre Funktionen und die zugehörigen Metadaten in Feature-Gruppen, sodass Features leicht gefunden und wiederverwendet werden können. Feature-Gruppen sind veränderbar und können ihr Schema nach der Erstellung weiterentwickeln.

  • Erstellen Sie Feature-Gruppen, die so konfiguriert werden können, dass sie einen Online- oder Offline-Store oder beides enthalten, um Ihre Funktionen zu verwalten und zu automatisieren, wie Features für Ihre ML-Aufgaben gespeichert werden.

    • Der Online-Shop speichert nur die neuesten Datensätze für Ihre Funktionen. Dies ist in erster Linie für die Unterstützung von Prognosen in Echtzeit konzipiert, für die Lesevorgänge mit niedriger Latenz im Millisekundenbereich und Schreibvorgänge mit hohem Durchsatz erforderlich sind.

    • Im Offline-Speicher werden alle Datensätze für Ihre Features als historische Datenbank gespeichert. Dies ist in erster Linie für die Datenexploration, das Modelltraining und Batch-Vorhersagen vorgesehen.

Das folgende Diagramm zeigt, wie Sie Feature Store als Teil Ihrer ML-Pipeline verwenden können. Sobald Sie Ihre Rohdaten eingelesen haben, können Sie Feature Store verwenden, um die Rohdaten in Features umzuwandeln und sie in Ihre Feature-Gruppe aufzunehmen. Die Features können per Streaming oder als Batch in die Online- und Offline-Stores der Feature-Gruppe aufgenommen werden. Die Funktionen können dann zur Datenexploration, zum Modelltraining und zur Echtzeit- oder Batch-Inferenz verwendet werden.

Das Diagramm zeigt, wo Feature Store in Ihre Machine-Learning-Pipeline passt. In diesem Diagramm besteht die Pipeline aus der Verarbeitung Ihrer Rohdaten in Features und deren Speicherung im Feature Store, wo Sie dann Ihre Features bereitstellen können. Nachdem Sie Ihre Rohdaten eingelesen haben, können Sie Feature Store verwenden, um Ihre Rohdaten in aussagekräftige Features umzuwandeln. Dieser Transformationsprozess wird als Feature-Verarbeitung bezeichnet. Sie können den Feature Store auch verwenden, um Streaming- oder Batch-Daten in Online- und Offline-Speicher aufzunehmen. Anschließend können Sie Ihre Funktionen für die Datenexploration, Echtzeit- und Batch-Inferenz sowie für das Modelltraining bereitstellen.

So funktioniert Feature Store

Im Feature Store werden Features in einer Sammlung gespeichert, die als Feature-Gruppe bezeichnet wird. Sie können eine Feature-Gruppe als Tabelle visualisieren, in der jede Spalte ein Feature ist, mit einer eindeutigen Kennung für jede Zeile. Im Prinzip besteht eine Feature-Gruppe aus Features und Werten, die für jedes Feature spezifisch sind. Record ist eine Sammlung von Werten für Merkmale, die einem eindeutigen Objekt entsprechen RecordIdentifier. Insgesamt FeatureGroup ist eine Gruppe von Merkmalen, die in Ihrem definiert wurdenFeatureStore, um Record zu beschreiben. 

Sie können Feature Store in den folgenden Modi verwenden: 

  • Online – Im Online-Modus werden Funktionen mit Lesevorgängen mit geringer Latenz (Millisekunden) gelesen und für Prognosen mit hohem Durchsatz verwendet. Für diesen Modus muss eine Feature-Gruppe in einem Online-Speicher gespeichert werden. 

  • Offline – Im Offline-Modus werden große Datenströme in einen Offline-Speicher eingespeist, der für Training und Batch-Inferenz verwendet werden kann. Für diesen Modus muss eine Feature-Gruppe in einem Offline-Speicher gespeichert werden. Der Offline-Speicher verwendet Ihren S3-Bucket als Speicher und kann auch Daten mithilfe von Athena-Abfragen abrufen. 

  • Online und Offline – Dies umfasst sowohl den Online- als auch den Offline-Modus.

Sie können Daten auf zwei Arten in Feature-Gruppen im Feature Store aufnehmen: Streamen oder stapelweise. Wenn Sie Daten über Streaming aufnehmen, wird eine Sammlung von Datensätzen durch Aufrufen eines synchronen PutRecord API-Aufrufs an den Feature Store übertragen. Diese API ermöglicht es Ihnen, die neuesten Feature-Werte im Feature Store zu verwalten und neue Feature-Werte zu übertragen, sobald ein Update erkannt wird.

Alternativ kann Feature Store Daten stapelweise verarbeiten und aufnehmen. Sie können beispielsweise Funktionen mit Amazon SageMaker Data Wrangler erstellen und ein Notizbuch aus Data Wrangler exportieren. Bei dem Notizbuch kann es sich um einen SageMaker Verarbeitungsauftrag handeln, bei dem die Funktionen stapelweise in eine Feature-Store-Funktionsgruppe aufgenommen werden. Dieser Modus ermöglicht die Batch-Aufnahme in den Offline-Speicher. Er unterstützt auch die Aufnahme in den Onlineshop, wenn die Featuregruppe sowohl für die Online- als auch für die Offline-Verwendung konfiguriert ist. 

Erstellt eine Funktionsgruppe.

Um Features in den Feature Store aufzunehmen, müssen Sie zunächst die Feature-Gruppe und die Feature-Definitionen (Feature-Name und Datentyp) für alle Features definieren, die zur Feature-Gruppe gehören. Nach ihrer Erstellung sind Feature-Gruppen veränderbar und können ihr Schema weiterentwickeln. Die Namen von Feature-Gruppen sind innerhalb eines AWS-Region und eindeutig. AWS-Konto Wenn Sie eine Feature-Gruppe erstellen, können Sie auch die Metadaten für die Feature-Gruppe erstellen. Die Metadaten können eine kurze Beschreibung, eine Speicherkonfiguration, Funktionen zur Identifizierung der einzelnen Datensätze und die Uhrzeit des Ereignisses enthalten. Darüber hinaus können die Metadaten Tags zum Speichern von Informationen wie Autor, Datenquelle, Version und mehr enthalten.

Wichtig

FeatureGroupNamen oder zugehörige Metadaten wie Beschreibungen oder Tags sollten keine personenbezogenen Daten (PII) oder vertrauliche Informationen enthalten.

Funktionen finden, entdecken und teilen

Nachdem Sie eine Feature-Gruppe im Feature Store erstellt haben, können andere autorisierte Benutzer des Feature Store sie teilen und entdecken. Benutzer können eine Liste aller Feature-Gruppen im Feature Store durchsuchen oder vorhandene Feature-Gruppen finden, indem sie nach Feature-Gruppennamen, Beschreibung, Datensatz-ID, Erstellungsdatum und Stichwörtern suchen. 

Inferenz in Echtzeit für im Online-Speicher gespeicherte Funktionen 

Mit Feature Store können Sie Ihre im Online-Speicher gespeicherten Funktionen in Echtzeit mit Daten aus einer Streaming-Quelle anreichern (saubere Stream-Daten aus einer anderen Anwendung) und die Funktionen mit einer Latenz von wenigen Millisekunden für Echtzeit-Inferenzen bereitstellen. 

Sie können auch Verknüpfungen zwischen verschiedenen Geräten durchführen, um daraus in Echtzeit Rückschlüsse FeatureGroups zu ziehen, indem Sie zwei unterschiedliche Verknüpfungen in der Client-Anwendung abfragen FeatureGroups

Offline-Speicher für Modelltraining und Batch-Inferenz

Feature Store bietet Offline-Speicher für Feature-Werte in Ihrem S3-Bucket. Ihre Daten werden in Ihrem S3-Bucket unter Verwendung eines Präfixschemas gespeichert, das auf der Ereigniszeit basiert. Beim Offline-Speicher handelt es sich um einen reinen Append-Speicher, sodass Feature Store historische Aufzeichnungen aller Feature-Werte führen kann. Die Daten werden im Offline-Speicher im Parquet-Format gespeichert, um die Speicherung und den Abfragezugriff zu optimieren.

Sie können Funktionen mit Data Wrangler von der Konsole aus abfragen, untersuchen und visualisieren.  Feature Store unterstützt das Kombinieren von Daten, um Datensätze zu erstellen, zu trainieren, zu validieren und zu testen, und ermöglicht es Ihnen, Daten zu verschiedenen Zeitpunkten zu extrahieren.

Erfassung von Funktionsdaten

Pipelines zur Feature-Generierung können erstellt werden, um große Batches (1 Million Datenzeilen oder mehr) oder kleine Batches zu verarbeiten und Feature-Daten in den Offline- oder Onlinespeicher zu schreiben. Streaming-Quellen wie Amazon Managed Streaming for Apache Kafka oder Amazon Kinesis können auch als Datenquellen verwendet werden, aus denen Funktionen extrahiert und für Trainings, Inferenzen oder die Erstellung von Funktionen direkt in den Online-Speicher eingespeist werden. 

Sie können Datensätze in den Feature Store übertragen, indem Sie den synchronen PutRecord API-Aufruf aufrufen. Da es sich um einen synchronen API-Aufruf handelt, können kleine Batches von Updates in einem einzigen API-Aufruf übertragen werden. Auf diese Weise können Sie die hohe Aktualität der Feature-Werte aufrechterhalten und Werte veröffentlichen, sobald ein Update erkannt wird. Diese werden auch als Streaming-Funktionen bezeichnet. 

Wenn Feature-Daten aufgenommen und aktualisiert werden, speichert Feature Store historische Daten für alle Features im Offline-Speicher. Für Batch-Ingest können Sie Feature-Werte aus Ihrem S3-Bucket abrufen oder Athena für Abfragen verwenden. Sie können Data Wrangler auch verwenden, um neue Funktionen zu verarbeiten und zu entwickeln, die dann in einen ausgewählten S3-Bucket exportiert werden können, auf den Feature Store zugreifen kann. Für die Batch-Aufnahme können Sie einen Verarbeitungsjob so konfigurieren, dass Ihre Daten stapelweise in den Feature Store aufgenommen werden, oder Sie können mit Athena Feature-Werte aus Ihrem S3-Bucket abrufen. 

Verwenden Sie den DeleteRecord API-Aufruf, um einen Record aus Ihrem Onlineshop zu entfernen. Dadurch wird der gelöschte Datensatz auch zum Offline-Speicher hinzugefügt.

Ausfallsicherheit im Feature Store

Feature Store ist auf mehrere Availability Zones (AZs) verteilt. Eine AZ ist ein isolierter Standort innerhalb eines AWS-Region. Wenn einige AZs ausfallen, kann Feature Store andere AZs verwenden. Weitere Informationen über ACL finden Sie in Resilienz bei Amazon SageMaker.