Informazioni sulle suddivisioni di dati per i modelli AutoML

Questa pagina descrive in che modo Vertex AI utilizza l'addestramento, la convalida e il test di dati per addestrare un modello AutoML e i modi in cui puoi controllare il modo in cui i dati vengono suddivisi tra questi tre insiemi. AutoML utilizza le suddivisioni dei dati in modo diverso a seconda del tipo di dati di addestramento.

Questa pagina descrive le suddivisioni dei dati di immagini, testo e video. Per informazioni sulle suddivisioni per dati tabulari, consulta Suddivisione dei dati per dati tabulari.

Immagine

Per i set di dati delle immagini, AutoML utilizza il set di addestramento per addestrare e il set di convalida per convalidare i risultati restituiti dal modello durante l'addestramento. Al termine dell'addestramento, AutoML utilizza set di test per fornire le metriche di valutazione finale.

Testo

Per i set di dati di testo, i set di addestramento e convalida vengono utilizzati provare diverse opzioni di pre-elaborazione, architettura e iperparametri combinazioni. Queste prove generano modelli addestrati che vengono poi valutati il set di convalida per la qualità e per guidare l'esplorazione di opzioni aggiuntive combinazioni.

Quando un numero maggiore di prove non porta più a miglioramenti della qualità, la versione è considerato il modello addestrato finale, con le migliori prestazioni. Poi, Vertex AI addestra altri due modelli, utilizzando i parametri e determinata nella fase di ottimizzazione parallela:

  1. Un modello addestrato con i tuoi set di addestramento e convalida.

    Vertex AI genera le metriche di valutazione del modello su questo modello, utilizzando il set di test. È la prima volta che il test ha impostato . Questo approccio garantisce che le metriche di valutazione finale riflessione imparziale delle prestazioni del modello addestrato finale e produzione.

  2. Un modello addestrato con i set di addestramento, convalida e test.

    Questo è il modello che utilizzi per richiedere le previsioni.

Video

Per i set di dati video, AutoML utilizza il set di addestramento per addestrare modello di base, e usa il set di test per fornire la valutazione finale metrics. Il set di convalida non viene utilizzato per i set di dati video.

Puoi consentire a Vertex AI di dividere automaticamente i dati. I tuoi dati sono suddivisi in modo casuale nei tre insiemi per percentuale. È il modo più semplice suddividono i dati e funziona bene nella maggior parte dei casi.

Imposta Testo Immagine Video
Formazione 80 80 80
Convalida 10 10 N/D
Test 10 10 20

Per utilizzare la suddivisione dati predefinita, accetta quella predefinita nella console Google Cloud o lascia il campo split vuoto per l'API.

Se vuoi controllare in che modo i dati vengono suddivisi in set, puoi utilizzare quanto segue: opzioni:

Puoi scegliere solo una di queste opzioni: sei tu a scegliere quando addestrerai il tuo model. Alcune di queste opzioni richiedono modifiche ai dati di addestramento (ad esempio, l'etichetta ml_use). Se includi dati o etichette per le opzioni di suddivisione dati richiedono l'uso di queste opzioni; puoi comunque scegliere un'altra opzione addestrare il modello.

Suddivisione manuale per dati non strutturati

La suddivisione manuale è anche nota come "suddivisione predefinita".

Per utilizzare l'etichetta ml_use per controllare la suddivisione dati, devi aver impostato il valore Etichetta ml_use nei dati.

Imposta un valore per l'etichetta ml_use

Puoi impostare l'etichetta ml_use per i dati relativi a immagini, video e testo al momento dell'importazione dei dati (per elemento di dati o per l'intero file di importazione) o dopo l'importazione dei dati utilizzando la console Google Cloud.

Impostazione di ML_use per singoli elementi di dati al momento dell'importazione

Puoi impostare l'etichetta ml_use su ogni elemento dati includendo un valore per il parametro aiplatform.googleapis.com/ml_use nel Righe JSON dati o impostando il valore della prima colonna del file CSV. Consulta le informazioni sulla preparazione dei dati per il tipo di dati per ulteriori dettagli.

Se uno qualsiasi dei tuoi dati viene ripetuto nei dati (se lo stesso video, immagine o lo snippet di testo appare più volte nel file di importazione), Vertex AI utilizza il valore ml_use per il primo elemento di dati rileva e ignora eventuali valori ml_use successivi. Il primo l'elemento non è necessariamente quello più vicino all'inizio del caricamento .

Impostazione di ml_use per interi file di caricamento

Se i tuoi dati possono essere ordinati in diversi file di caricamento in base al valore ml_use, puoi impostare il valore ml_use per l'intero file di caricamento utilizzando il valore per file menu a discesa quando carichi file utilizzando la console Google Cloud oppure utilizzando dataItemLabels Map nel metodo datasets.import.

Se imposti ml_use per un file di caricamento, e il file contiene anche ml_use , i valori ml_use nel file hanno la precedenza sui valori a livello di file valore.

Impostazione di ml_use dopo l'importazione

Dopo aver caricato i dati, puoi impostare o aggiornare il valore ml_use per elementi di dati specifici nella console Google Cloud selezionando uno o più elementi nella visualizzazione elenco e utilizzando il menu a discesa Assegna l'utilizzo del machine learning.

Se carichi di nuovo un file di dati, anche se i valori ml_use sono cambiati, aggiorna il valore ml_use. Non puoi aggiornare ml_use valori dopo l'importazione da utilizzando l'API Vertex AI.

Utilizza l'etichetta ml_use

Quando addestri il modello, specifichi Manuale (avanzato) per la suddivisione dei dati nella console Google Cloud. Se l'addestramento avviene con l'API Vertex AI, utilizzare l'oggetto FilterSplit, che specifica labels.aiplatform.googleapis.com/ml_use=training per l'addestramento filtro labels.aiplatform.googleapis.com/ml_use=validation per la convalida e labels.aiplatform.googleapis.com/ml_use=test per il filtro di prova. Ad esempio:

model = job.run(
dataset=dataset,
model_display_name=_name,
training_filter_split="labels.aiplatform.googleapis.com/ml_use=training",
validation_filter_split="labels.aiplatform.googleapis.com/ml_use=validation",
test_filter_split="labels.aiplatform.googleapis.com/ml_use=test")

Tutti gli elementi di dati con un valore ml_use vengono assegnati al set specificato. Dati gli elementi senza ml_use impostato vengono esclusi dal processo di addestramento.

Suddivisione filtro dati

Puoi utilizzare altre etichette (oltre a ML-use) e altri campi per suddividere i dati in base a utilizzando l'oggetto FilterSplit l'API Vertex AI. Ad esempio, puoi impostare trainingFilter su labels.flower=rose, i validationFilter per labels.flower=daisy e Da testFilter a labels.flower=dahlia. Questa impostazione causerebbe la migrazione di tutti i dati etichettati come rose da aggiungere al set di addestramento, tutti i dati etichettati come daisy al set di convalida e tutti i dati etichettati come dahlia da aggiungere il set di test.

Se applichi filtri in base a più campi, un elemento di dati potrebbe corrispondere a più di un filtro. In questo caso, il set di addestramento ha la precedenza, seguito dal set di convalida. seguito dal set di test. In altre parole, un elemento viene inserito nel set di test se corrisponde al filtro per il set di test, ma non corrisponde a nessuno dei due e i filtri di addestramento o convalida. Se un elemento non corrisponde ai filtri per nessuno di viene escluso dall'addestramento.

Non utilizzare per la suddivisione dati categorie correlate a quello che sarà il modello prevedendo; ciascuno dei tuoi insiemi deve riflettere l'intervallo di dati utilizzato dal modello per fare previsioni. Ad esempio, non utilizzare i filtri descritti in precedenza, per un modello che deve classificare le foto in base al tipo di fiore).

Se non vuoi che un filtro corrisponda ad alcun elemento, impostalo su "-" (il segno meno).

Suddivisione matematica

La divisione matematica è nota anche come "suddivisione a frazione".

Per impostazione predefinita, i dati vengono suddivisi casualmente in set in base al valore predefinito percentuali per il tuo tipo di dati. Puoi modificare le percentuali impostandoli su qualsiasi valore fino a 100 (per l'API Vertex AI si utilizzano frazioni che sommano 1,0).

Per modificare le percentuali (frazioni), utilizza lo Oggetto FractionSplit da definire le tue frazioni. Per i tipi di dati immagine, testo e video, puoi utilizzare anche Console Google Cloud per aggiornare le percentuali suddivise quando addestri il tuo model.