Recupero dei dati di addestramento

Per recuperare i dati delle caratteristiche per l'addestramento del modello, utilizza recupero dati in batch. Per esportare i valori delle funzionalità per l'archiviazione o l'analisi ad hoc, le funzionalità di esportazione .

Recupera i valori delle caratteristiche per l'addestramento del modello

Per l'addestramento del modello, è necessario un set di dati che contenga esempi per l'attività di previsione. Questi esempi sono costituiti da istanze che includono i loro caratteristiche ed etichette. L'istanza rappresenta l'elemento su cui si desidera la previsione. Ad esempio, un'istanza potrebbe essere una casa e vuoi determinare il suo valore di mercato. Le sue funzionalità potrebbero includere la posizione, l'età e il il prezzo delle case vicine vendute di recente. Un'etichetta è una risposta per un'attività di previsione, ad esempio la casa è stata venduta per 100.000 $.

Poiché ogni etichetta è un'osservazione in un momento specifico, i valori delle caratteristiche che corrispondono al momento in cui l'osservazione sono stati realizzati, ad esempio i prezzi delle case nelle vicinanze quando una determinata abitazione era venduto. Man mano che le etichette e i valori delle caratteristiche vengono raccolti nel tempo, i valori delle caratteristiche modifica. Vertex AI Feature Store (legacy) può eseguire una ricerca point-in-time per che è possibile recuperare i valori delle caratteristiche in un determinato momento.

Esempio di ricerca point-in-time

L'esempio seguente riguarda il recupero dei valori delle caratteristiche per due di istanze VM con le etichette L1 e L2. Le due etichette vengono osservate in T1 e rispettivamente T2. Immagina di bloccare lo stato dei valori delle caratteristiche a quei i timestamp. Quindi, per la ricerca point-in-time in T1, Vertex AI Feature Store (legacy) restituisce i valori delle caratteristiche più recenti fino al giorno T1 per Feature 1, Feature 2 e Feature 3 e non divulga valori oltre T1. Con il passare del tempo, i valori delle caratteristiche cambiano e l'etichetta cambia. Quindi, in T2, Feature Store restituisce diversi valori delle caratteristiche per questo in un determinato momento.

Esempio di ricerca point-in-time

Input per il recupero dati in batch

Come parte di una richiesta di recupero dati in batch, sono necessarie le seguenti informazioni:

  • Un elenco di caratteristiche esistenti per le quali ottenere i valori.
  • Un elenco di istanze di lettura che contiene informazioni per ogni esempio di addestramento. Elenca le osservazioni relative a un determinato momento. Può essere un file CSV o una tabella BigQuery. L'elenco deve includere quanto segue informazioni:
    • Timestamp: i momenti in cui le etichette sono state osservate o misurate. La i timestamp sono obbligatori per consentire a Vertex AI Feature Store (legacy) di eseguire una ricerca point-in-time.
    • ID entità: uno o più ID delle entità che corrispondono ai dell'etichetta.
  • L'URI di destinazione e il formato in cui viene scritto l'output. Nell'output, Vertex AI Feature Store (legacy) unisce essenzialmente la tabella dalla sessione di istanze VM e i valori delle caratteristiche dall'archivio di caratteristiche. Specifica uno dei seguenti formati e posizioni per l'output:
    • Tabella BigQuery in un set di dati a livello di una o più regioni.
    • File CSV in un bucket Cloud Storage regionale o multiregionale. Ma se i valori delle caratteristiche includono array, è necessario scegliere un altro formato.
    • File Tfrecord in in un bucket Cloud Storage.

Requisiti per le regioni

Sia per le istanze di lettura che per la destinazione, il set di dati o il bucket di origine deve trovarsi nella stessa regione o nella stessa regione località multiregionale come archivio di caratteristiche. Ad esempio, un archivio di caratteristiche in us-central1 può solo leggere o pubblicare dati nei bucket Cloud Storage o set di dati BigQuery che si trovano in us-central1 o negli Stati Uniti una località multiregionale. Non puoi utilizzare i dati di, ad esempio, us-east1. Inoltre, la lettura o la pubblicazione dei dati utilizzando bucket a due regioni non è supportata.

Elenco delle istanze di lettura

L'elenco delle istanze di lettura specifica le entità e i timestamp relativi all'evento i valori delle caratteristiche che vuoi recuperare. Il file CSV o BigQuery deve contenere le seguenti colonne in qualsiasi ordine. Ogni colonna richiede un'intestazione di colonna.

  • Devi includere una colonna timestamp, in cui il nome dell'intestazione è timestamp e I valori della colonna sono timestamp nel formato RFC 3339.
  • Devi includere una o più colonne di tipo entità, dove l'intestazione l'ID tipo di entità e i valori della colonna sono gli ID entità.
  • (Facoltativo) Puoi includere valori pass-through (colonne aggiuntive) che vengono passati così come sono all'output. Ciò è utile se disponi di dati che non si trovano in Vertex AI Feature Store (legacy) ma vuoi includerli nell'output.

Esempio (CSV)

Immagina un archivio di caratteristiche che contiene i tipi di entità users e movies insieme con le loro caratteristiche. Ad esempio, le funzionalità di users potrebbero includere age e gender mentre le funzionalità di movies potrebbero includere ratings e genre.

In questo esempio, vuoi raccogliere dati di addestramento sui film preferenze. Puoi recuperare i valori delle caratteristiche per le due entità utente alice e bob e i contenuti dei film che ha guardato. Da un set di dati separato, sai che alice ha guardato movie_01 e gli è piaciuto. bob ha guardato movie_02 e non gli è piaciuto. Pertanto, l'elenco delle istanze di lettura potrebbe essere simile al seguente esempio:

users,movies,timestamp,liked
"alice","movie_01",2021-04-15T08:28:14Z,true
"bob","movie_02",2021-04-15T08:28:14Z,false

Vertex AI Feature Store (legacy) recupera i valori delle caratteristiche per in corrispondenza o prima dei timestamp specificati. Devi specificare le caratteristiche specifiche GET come parte della richiesta di recupero dati in batch, non nell'elenco delle istanze di lettura.

Questo esempio include anche una colonna denominata liked, che indica se un all'utente è piaciuto un film. Questa colonna non è inclusa nell'archivio di caratteristiche, ma puoi passare comunque questi valori all'output del recupero dati in batch. Nell'output, questi dati i valori pass-through sono uniti ai valori dell'archivio di caratteristiche.

Valori null

Se, in un determinato timestamp, il valore di una caratteristica è nullo, Vertex AI Feature Store (legacy) restituisce il valore della caratteristica non null precedente. Se non sono presenti valori precedenti, Vertex AI Feature Store (legacy) restituisce null.

Valori delle caratteristiche di recupero dati in batch

Eseguire il recupero in batch dei valori delle caratteristiche da un archivio di caratteristiche per ottenere i dati, come determinato il file con l'elenco delle istanze di lettura.

Se vuoi ridurre i costi di utilizzo dell'archiviazione offline leggendo i dati di addestramento recenti ed escludendo quelli vecchi, specifica un'ora di inizio. Per informazioni su come ridurre il costo di utilizzo dell'archiviazione offline specificando un'ora di inizio, consulta Specificare un'ora di inizio per ottimizzare i costi di archiviazione offline durante l'elaborazione in batch e l'esportazione in batch.

UI web

Utilizza un altro metodo. Non puoi generare caratteristiche in batch nella console Google Cloud.

REST

Per pubblicare i valori delle caratteristiche in batch, invia una richiesta POST utilizzando il metodo featurestores.batchReadFeatureValues .

Il seguente esempio restituisce una tabella BigQuery contenente la caratteristica per i tipi di entità users e movies. Nota che ogni destinazione di output potrebbe avere alcuni prerequisiti prima di poter inviare una richiesta. Ad esempio, se specifichi un nome di tabella per bigqueryDestination, devi avere un set di dati esistente. Questi sono documentati nel riferimento API.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • LOCATION_ID: regione in cui è stato creato l'archivio di caratteristiche. Ad esempio, us-central1.
  • PROJECT_ID: il tuo ID progetto.
  • FEATURESTORE_ID: ID dell'archivio di caratteristiche.
  • DATASET_NAME: nome del set di dati BigQuery di destinazione.
  • TABLE_NAME: nome della tabella BigQuery di destinazione.
  • STORAGE_LOCATION: URI Cloud Storage del file CSV delle istanze di lettura.

Metodo HTTP e URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID:batchReadFeatureValues

Corpo JSON della richiesta:

{
  "destination": {
    "bigqueryDestination": {
      "outputUri": "bq://PROJECT_ID.DATASET_NAME.TABLE_NAME"
    }
  },
  "csvReadInstances": {
    "gcsSource": {
      "uris": ["STORAGE_LOCATION"]
    }
  },
  "entityTypeSpecs": [
    {
      "entityTypeId": "users",
      "featureSelector": {
        "idMatcher": {
          "ids": ["age", "liked_genres"]
        }
      }
    },
    {
      "entityTypeId": "movies",
      "featureSelector": {
        "idMatcher": {
          "ids": ["title", "average_rating", "genres"]
        }
      }
    }
  ],
  "passThroughFields": [
    {
      "fieldName": "liked"
    }
  ]
}

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID:batchReadFeatureValues"

PowerShell

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID:batchReadFeatureValues" | Select-Object -Expand Content

Dovresti vedere un output simile al seguente. Puoi utilizzare lo OPERATION_ID nella risposta a recupera il dell'operazione.

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.BatchReadFeatureValuesOperationMetadata",
    "genericMetadata": {
      "createTime": "2021-03-02T00:03:41.558337Z",
      "updateTime": "2021-03-02T00:03:41.558337Z"
    }
  }
}

Python

Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta documentazione di riferimento dell'API Python.

from google.cloud import aiplatform


def batch_serve_features_to_bq_sample(
    project: str,
    location: str,
    featurestore_name: str,
    bq_destination_output_uri: str,
    read_instances_uri: str,
    sync: bool = True,
):

    aiplatform.init(project=project, location=location)

    fs = aiplatform.featurestore.Featurestore(featurestore_name=featurestore_name)

    SERVING_FEATURE_IDS = {
        "users": ["age", "gender", "liked_genres"],
        "movies": ["title", "average_rating", "genres"],
    }

    fs.batch_serve_to_bq(
        bq_destination_output_uri=bq_destination_output_uri,
        serving_feature_ids=SERVING_FEATURE_IDS,
        read_instances_uri=read_instances_uri,
        sync=sync,
    )

Linguaggi aggiuntivi

Puoi installare e utilizzare il le seguenti librerie client di Vertex AI per chiamare l'API Vertex AI. Le librerie client di Cloud offrono uno sviluppatore ottimizzato l'esperienza utilizzando le convenzioni naturali stili di ogni lingua supportata.

Visualizza job di recupero dati in batch

Utilizza la console Google Cloud per visualizzare i job di recupero dati in batch in un progetto Google Cloud.

UI web

  1. Nella sezione Vertex AI della console Google Cloud, vai a alla pagina Funzionalità.

    Vai alla sezione Pagina Funzionalità

  2. Seleziona una regione dall'elenco a discesa Regione.
  3. Nella barra delle azioni, fai clic su Visualizza job di recupero dati in batch per elencare i job batch per tutti gli archivi di caratteristiche.
  4. Fai clic sull'ID di un job di recupero dati in batch per visualizzarne i dettagli, ad esempio la lettura l'origine dell'istanza utilizzata e la destinazione di output.

Passaggi successivi