Questo documento descrive come definire un set di dati di ottimizzazione supervisionato per un un modello di machine learning.
Informazioni sui set di dati di ottimizzazione supervisionati
Viene utilizzato un set di dati di ottimizzazione supervisionato per ottimizzare un modello preaddestrato per un'attività o un dominio specifici. I dati di input devono essere simili che il modello dovrebbe incontrare nell'uso reale. Le etichette di output devono rappresentano le risposte o i risultati corretti per ogni input.
Set di dati di addestramento
Per ottimizzare un modello, fornisci un set di dati di addestramento. Un set di dati di addestramento deve includere almeno 16 esempi. Per ottenere risultati ottimali, ti consigliamo di fornire almeno 100-500 esempi. Più esempi fornisci nel tuo migliori saranno i risultati. Non esiste un limite al numero di esempi in un set di dati di addestramento.
Set di dati di convalida
Se possibile, fornisci anche un set di dati di convalida. Un set di dati di convalida consente di misurare l'efficacia di un job di ottimizzazione. Set di dati di convalida supporta fino a 256 esempi.
Per set di dati di esempio, consulta Set di dati di esempio in questa pagina.
Formato del set di dati
Il set di dati di ottimizzazione del modello deve essere in formato JSON Lines (JSONL), dove ogni riga contiene un singolo esempio di ottimizzazione. Prima di ottimizzare il modello, devi caricare il tuo set di dati in un bucket Cloud Storage.
Ogni esempio di conversazione in un set di dati di ottimizzazione è composto da un campo
campo messages
.
Il campo
messages
è composto da un array di coppie di ruolo-contenuti.role
fa riferimento all'autore del messaggio ed è impostato susystem
,user
omodel
. Il ruolosystem
è facoltativo e può avvenire solo nel il primo elemento dell'elenco dei messaggi. I ruoliuser
omodel
sono obbligatori e possono ripetersi in modo alternato.Il campo
content
rappresenta il contenuto del messaggio.Per ogni esempio, la lunghezza massima del token per
context
emessages
combinato è di 32.768 token. Inoltre, ogni campocontent
per il campomodel
non deve superare gli 8192 token.
Esempio a turno singolo
Per maggiori dettagli sul seguente schema Gemini, consulta Eseguire la migrazione dell'ottimizzazione dall'API PaLM all'API Gemini.
[
{
"messages": [
{
"role": "system",
"content": "You should classify the text into one of the following classes:[business, entertainment]"
},
{ "role": "user", "content": "Diversify your investment portfolio" },
{ "role": "model", "content": "business" }
]
},
{
"messages": [
{
"role": "system",
"content": "You should classify the text into one of the following classes:[business, entertainment]"
},
{ "role": "user", "content": "Watch a live concert" },
{ "role": "model", "content": "entertainment" }
]
}
]
Esempio di multi-turno
Per maggiori dettagli sul seguente schema Gemini, consulta Eseguire la migrazione dell'ottimizzazione dall'API PaLM all'API Gemini.
{
"messages": [
{
"role": "system",
"content": "You are a pirate dog named Captain Barktholomew."
},
{
"role": "user",
"content": "Hi"
},
{
"role": "model",
"content": "Argh! What brings ye to my ship?"
},
{
"role": "user",
"content": "What's your name?"
},
{
"role": "model",
"content": "I be Captain Barktholomew, the most feared pirate dog of the seven seas."
}
]
}
Set di dati di esempio
Puoi utilizzare un set di dati di esempio per imparare a ottimizzare un modello gemini-1.0-pro-002
.
Per utilizzare questi set di dati, specifica gli URI nei parametri applicabili quando creando un job di ottimizzazione supervisionato di un modello di testo.
Ad esempio:
...
"training_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_train_data.jsonl",
...
"validation_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_validation_data.jsonl",
...
Mantieni la coerenza con i dati di produzione
Gli esempi nei tuoi set di dati devono corrispondere al traffico di produzione previsto. Se il set di dati contiene formattazioni, parole chiave, istruzioni o informazioni specifiche, i dati di produzione devono essere formattati allo stesso modo e contenere le stesse istruzioni.
Ad esempio, se gli esempi nel tuo set di dati includono "question:"
e una proprietà
"context:"
, anche il traffico di produzione deve essere formattato per includere un
"question:"
e "context:"
nello stesso ordine in cui vengono visualizzati nel set di dati
esempi. Se escludi il contesto, il modello non riconoscerà il pattern,
anche se la domanda esatta
si trovava in un esempio nel set di dati.
Carica set di dati di ottimizzazione in Cloud Storage
Per eseguire un job di ottimizzazione, devi caricare uno o più set di dati in un nel bucket Cloud Storage. Puoi crea un nuovo bucket Cloud Storage o utilizzarne uno esistente per archiviare i file dei set di dati. La regione del bucket non corrisponde importante, ma consigliamo di utilizzare un bucket che si trova nella stessa posizione progetto Google Cloud in cui prevedi di ottimizzare il modello.
Quando il bucket è pronto, carica il file del tuo set di dati al bucket.
Stimare il costo dell'ottimizzazione con un set di dati
Il seguente blocco note può aiutarti a stimare i conteggi dei token e i costi di ottimizzazione
durante l'esecuzione di un job di ottimizzazione per gemini-1.0-pro-002
.
Passaggi successivi
- Scegli una regione per ottimizzare un modello.
- Per scoprire come l'ottimizzazione supervisionata può essere utilizzata in una soluzione che crea un Knowledge base sull'AI generativa, consulta Soluzione Jump Start: IA generativa knowledge base.