Crea, archivia e condividi funzionalità con Feature Store - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea, archivia e condividi funzionalità con Feature Store

Il processo di sviluppo dell'apprendimento automatico (ML) include l'estrazione di dati grezzi e la loro trasformazione in funzionalità (input significativi per il modello ML). Queste funzionalità vengono quindi archiviate in modo pratico per l'esplorazione dei dati, l'addestramento del machine learning e l'inferenza ML. Amazon SageMaker Feature Store semplifica il modo in cui crei, archivia, condividi e gestisci le funzionalità. Questo viene fatto fornendo opzioni di feature store e riducendo il lavoro ripetitivo di elaborazione e cura dei dati.

Tra le altre cose, con Feature Store puoi:

  • Semplifica l'elaborazione, l'archiviazione, il recupero e la condivisione delle funzionalità per lo sviluppo del machine learning tra account o all'interno di un'organizzazione.

  • Tieni traccia dello sviluppo del codice di elaborazione delle funzionalità, applica il feature processor ai dati grezzi e inserisci le tue funzionalità nel Feature Store in modo coerente. In questo modo si riduce l'inclinazione del servizio di formazione, un problema comune nel machine learning, in cui la differenza tra le prestazioni durante l'allenamento e quelle durante il servizio può influire sulla precisione del modello di apprendimento automatico.

  • Archivia le funzionalità e i metadati associati in gruppi di funzionalità, in modo che le funzionalità possano essere facilmente scoperte e riutilizzate. I gruppi di funzionalità sono mutabili e possono far evolvere il loro schema dopo la creazione.

  • Crea gruppi di funzionalità che possono essere configurati per includere un negozio online o offline, o entrambi, per gestire le funzionalità e automatizzare il modo in cui le funzionalità vengono archiviate per le attività di machine learning.

    • Il negozio online conserva solo i record più recenti relativi alle tue funzionalità. È progettato principalmente per supportare previsioni in tempo reale che richiedono letture a bassa latenza di millisecondi e scritture a throughput elevato.

    • Il negozio offline conserva tutti i record relativi alle tue funzionalità come database storico. È destinato principalmente all'esplorazione dei dati, all'addestramento dei modelli e alle previsioni in batch.

Il diagramma seguente mostra come utilizzare Feature Store come parte della pipeline ML. Dopo aver letto i dati grezzi, puoi utilizzare Feature Store per trasformare i dati grezzi in funzionalità e inserirli nel tuo gruppo di funzionalità. Le funzionalità possono essere importate tramite streaming o in batch negli store online e offline del gruppo di funzionalità. Le funzionalità possono quindi essere utilizzate per l'esplorazione dei dati, l'addestramento dei modelli e l'inferenza in tempo reale o in batch.

Dove Feature Store si inserisce nella tua pipeline di machine learning.

Funzionamento di Feature Store

Nel Feature Store, le funzionalità sono archiviate in una raccolta denominata gruppo di funzionalità. È possibile visualizzare un gruppo di funzionalità come una tabella in cui ogni colonna è una funzionalità, con un identificativo univoco per ogni riga. In linea di principio, un gruppo di funzionalità è composto da funzionalità e valori specifici per ciascuna funzionalità. Un Record è una raccolta di valori per funzionalità che corrispondono a un RecordIdentifier univoco. Complessivamente, un FeatureGroup è un gruppo di funzionalità definite in FeatureStore per descrivere un Record

Puoi utilizzare Feature Store nelle seguenti modalità: 

  • Online: in modalità online, le funzionalità vengono elaborate con letture a bassa latenza (millisecondi) e utilizzate per previsioni ad alta resa. Questa modalità richiede l'archiviazione di un gruppo di funzionalità in un archivio online. 

  • Offline: in modalità offline, grandi flussi di dati vengono inviati a un archivio offline, che può essere utilizzato per l’addestramento e l'inferenza in batch. Questa modalità richiede che un gruppo di funzionalità venga memorizzato in un archivio offline. L’archivio offline utilizza il tuo bucket S3 per l'archiviazione e può inoltre recuperare dati utilizzando le query Athena. 

  • Online e offline: include sia la modalità online sia quella offline.

Puoi inserire dati in gruppi di funzionalità nel Feature Store in due modi: in streaming o in batch. Quando si importano dati tramite streaming, una raccolta di record viene inviata al Feature Store chiamando una chiamata sincrona. PutRecord API Ciò API consente di mantenere i valori delle funzionalità più recenti nel Feature Store e di inviare nuovi valori delle funzionalità non appena viene rilevato un aggiornamento.

In alternativa, Feature Store può elaborare e importare dati in batch. Ad esempio, puoi creare funzionalità utilizzando Amazon SageMaker Data Wrangler ed esportare un notebook da Data Wrangler. Il notebook può essere un SageMaker processo di elaborazione che inserisce le funzionalità in batch in un gruppo di funzionalità del Feature Store. Questa modalità consente l'inserimento in batch nell'archivio offline. Supporta inoltre l'inserimento nell’archivio online se il gruppo di funzionalità è configurato per l'utilizzo sia online sia offline. 

Creazione di gruppi di funzionalità

Per importare funzionalità nel Feature Store, occorre prima specificare il gruppo di funzionalità e le definizioni delle funzionalità (nome della funzionalità e tipo di dati) per tutte le funzionalità che appartengono al gruppo di funzionalità. Dopo la loro creazione, i gruppi di funzionalità sono mutevoli e possono evolvere il loro schema. I nomi dei gruppi di funzionalità sono univoci all'interno di un e Regione AWS . Account AWS Quando create un gruppo di feature, potete anche creare i metadati per il gruppo di feature. I metadati possono contenere una breve descrizione, una configurazione di archiviazione, funzionalità per l'identificazione di ogni record e l'ora dell'evento. Inoltre, i metadati possono includere tag per memorizzare informazioni come l'autore, l'origine dei dati, la versione e altro.

Importante

FeatureGroupi nomi o i metadati associati come la descrizione o i tag non devono contenere informazioni personali identificabili (PII) o informazioni riservate.

Ricerca, individuazione e condivisione di funzionalità

Dopo aver creato un gruppo di funzionalità nel Feature Store, altri utenti autorizzati del Feature Store possono individuarlo e condividerlo. Gli utenti possono sfogliare un elenco di tutti i gruppi di funzionalità nel Feature Store o individuare i gruppi di funzionalità esistenti effettuando una ricerca del gruppo di funzionalità per nome, descrizione, nome identificativo del record, data di creazione e tag. 

Inferenza in tempo reale per le funzionalità memorizzate nell’archivio online 

Con Feature Store, puoi arricchire le funzionalità memorizzate nell'archivio online in tempo reale con dati provenienti da una fonte di streaming (rielaborazione di dati di streaming da un'altra applicazione) e fornire le funzionalità con una bassa latenza in millisecondi per l'inferenza in tempo reale. 

È inoltre possibile eseguire unioni tra diversi FeatureGroups per l'inferenza in tempo reale eseguendo query su due diversi FeatureGroups nell'applicazione client. 

Archivio offline per l'addestramento dei modelli e l'inferenza in batch

Feature Store offre l'archiviazione offline dei valori delle funzionalità nel bucket S3. I dati vengono archiviati nel bucket S3 utilizzando uno schema di prefisso basato sull'ora dell'evento. L’archivio offline è un archivio di sola aggiunta, che consente a Feature Store di mantenere un record storico di tutti i valori delle funzionalità. I dati vengono memorizzati nell'archivio offline in formato Parquet per ottimizzare l'archiviazione e l'accesso alle query.

Puoi interrogare, esplorare e visualizzare le funzionalità utilizzando Data Wrangler dalla console.  Feature Store supporta la combinazione di dati per produrre, addestrare, convalidare e testare set di dati, consentendo di estrarre dati in momenti diversi.

Inserimento dei dati sulle funzionalità

È possibile creare pipeline di generazione di funzionalità per elaborare batch di grandi dimensioni (1 milione di righe di dati o più) o piccoli batch per scrivere dati sulle funzionalità nell'archivio offline o online. Le fonti di streaming come Amazon Managed Streaming for Apache Kafka o Amazon Kinesis possono essere utilizzate anche come fonti di dati da cui estrarre le funzionalità e inviarle direttamente all'archivio online per l’addestramento, l'inferenza o la creazione di funzionalità. 

È possibile inviare i record al Feature Store chiamando la chiamata sincrona. PutRecord API Poiché si tratta di una API chiamata sincrona, consente di inviare piccoli lotti di aggiornamenti in una singola chiamata. API Ciò consente di mantenere sempre aggiornati i valori delle funzionalità, pubblicandoli non appena viene rilevato un aggiornamento. Queste sono anche dette funzionalità di streaming

Quando i dati sulle funzionalità vengono acquisiti e aggiornati, Feature Store archivia i dati storici per tutte le funzionalità nell'archivio offline. Per l'acquisizione in batch, puoi estrarre i valori delle funzionalità dal tuo bucket S3 o utilizzare Athena per eseguire query. Puoi anche utilizzare Data Wrangler per elaborare e progettare nuove funzionalità, che possono quindi essere esportate in un bucket S3 di tua scelta a cui accedere tramite Feature Store. Per l'inserimento in batch, puoi configurare un processo di elaborazione per importare in batch i tuoi dati nel Feature Store, oppure puoi estrarre i valori delle funzionalità dal tuo bucket S3 utilizzando Athena. 

Per rimuovere una Record dal tuo negozio online, usa la chiamata. DeleteRecordAPI L’operazione aggiungerà anche il record eliminato all'archivio offline.

Resilienza nel Feature Store

Feature Store è distribuito su più zone di disponibilità (AZs). Una AZ è una posizione isolata all'interno di un Regione AWS. Se alcune AZs falliscono, Feature Store può utilizzarne altreAZs. Per ulteriori informazioni suAZs, vedereResilienza in Amazon SageMaker.