Questo documento descrive come definire un set di dati di ottimizzazione supervisionata per un modello Gemini. Puoi ottimizzare i tipi di dati testo, immagine, audio e documento.
Informazioni sui set di dati di ottimizzazione supervisionata
Un set di dati di ottimizzazione supervisionata viene utilizzato per ottimizzare un modello preaddestrato per un'attività o un dominio specifico. I dati di input devono essere simili a quelli che prevedi che il modello incontrerà nell'uso reale. Le etichette di output devono rappresentare 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. Per ottenere risultati ottimali, ti consigliamo di iniziare con 100 esempi. Se necessario, puoi aumentare il numero di esempi fino a migliaia. La qualità del set di dati è molto più importante della quantità.
Set di dati di convalida
Ti consigliamo vivamente di fornire un set di dati di convalida. Un set di dati di convalida ti aiuta a misurare l'efficacia di un job di ottimizzazione.
Limitazioni
Per le limitazioni relative ai set di dati, come i token di input e output massimi, la dimensione massima del set di dati di convalida e la dimensione massima del file del set di dati di addestramento, consulta Informazioni sul fine-tuning supervisionato per i modelli Gemini.
Formato del set di dati
Sono supportati i seguenti formati di dati:
Formato JSON Lines (JSONL), in cui ogni riga contiene un singolo esempio di ottimizzazione. Prima di ottimizzare il modello, devi caricare il set di dati in un bucket Cloud Storage.
Esempio di set di dati per Gemini
{
"systemInstruction": {
"role": string,
"parts": [
{
"text": string
}
]
},
"contents": [
{
"role": string,
"parts": [
{
// Union field data can be only one of the following:
"text": string,
"fileData": {
"mimeType": string,
"fileUri": string
}
}
]
}
]
}
Parametri
L'esempio contiene dati con i seguenti parametri:
Parametri | |
---|---|
|
Obbligatorio: I contenuti della conversazione attuale con il modello. Per le query a un solo turno, si tratta di una singola istanza. Per le query multi-turno, questo è un campo ripetuto che contiene la cronologia della conversazione e l'ultima richiesta. |
|
(Facoltativo) Vedi Modelli supportati. Istruzioni per il modello per indirizzarlo verso prestazioni migliori. Ad esempio, "Rispondi nel modo più conciso possibile" o "Non utilizzare termini tecnici nella risposta". Le stringhe Il campo |
|
Facoltativo. Un frammento di codice che consente al sistema di interagire con sistemi esterni per eseguire un'azione o un insieme di azioni al di fuori delle conoscenze e dell'ambito del modello. Vedi Chiamata di funzione. |
Sommario
Il tipo di dati strutturati di base contenente i contenuti in più parti di un messaggio.
Questa classe è costituita da due proprietà principali: role
e parts
. La proprietà role
indica l'individuo che produce i contenuti, mentre la proprietà parts
contiene
più elementi, ognuno dei quali rappresenta un segmento di dati all'interno di un messaggio.
Parametri | |
---|---|
|
(Facoltativo) L'identità dell'entità che crea il messaggio. Sono supportati i seguenti valori:
Il valore Per le conversazioni non multi-turn, questo campo può essere lasciato vuoto o non impostato. |
|
Un elenco di parti ordinate che compongono un singolo messaggio. Le diverse parti possono avere tipi MIME IANA diversi. Per i limiti degli input, ad esempio il numero massimo di token o di immagini, consulta le specifiche del modello nella pagina Modelli Google. Per calcolare il numero di token nella richiesta, consulta Recuperare il conteggio dei token. |
Parti
Un tipo di dati contenente contenuti multimediali che fanno parte di un messaggio Content
in più parti.
Parametri | |
---|---|
|
(Facoltativo) Un prompt di testo o uno snippet di codice. |
|
(Facoltativo) Dati archiviati in un file. |
|
(Facoltativo) Contiene una stringa che rappresenta il campo Vedi Chiamata di funzione. |
|
(Facoltativo) L'output del risultato di un Vedi Chiamata di funzione. |
Esempio di set di dati
Ogni esempio di conversazione in un set di dati di ottimizzazione è composto da un campo messages
obbligatorio e da un campo context
facoltativo.
Il campo messages
è costituito da un array di coppie ruolo-contenuto:
- Il campo
role
si riferisce all'autore del messaggio ed è impostato susystem
,user
omodel
. Il ruolosystem
è facoltativo e può essere presente solo nel primo elemento dell'elenco dei messaggi. I ruoliuser
emodel
sono obbligatori e possono ripetersi in modo alternato. - Il campo
content
contiene il contenuto del messaggio.
Per ogni esempio, la lunghezza massima dei token per context
e messages
combinati
è di 131.072 token. Inoltre, ogni campo content
per il campo model
non deve
superare gli 8192 token.
{
"messages": [
{
"role": string,
"content": string
}
]
}
Mantieni la coerenza con i dati di produzione
Gli esempi nei set di dati devono corrispondere al traffico previsto in produzione. 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 "context:"
, anche il traffico di produzione deve essere formattato in modo da includere "question:"
e "context:"
nello stesso ordine in cui appare negli esempi di set di dati. Se escludi il contesto, il modello non riconoscerà il pattern,
anche se la domanda esatta facesse parte di un esempio nel set di dati.
Carica i set di dati di ottimizzazione in Cloud Storage
Per eseguire un job di ottimizzazione, devi caricare uno o più set di dati in un bucket Cloud Storage. Puoi creare un nuovo bucket Cloud Storage o utilizzarne uno esistente per archiviare i file del set di dati. La regione del bucket non è importante, ma ti consigliamo di utilizzare un bucket che si trova nello stesso progettoGoogle Cloud in cui prevedi di ottimizzare il modello.
Una volta pronto il bucket, carica il file del set di dati nel bucket.
Segui la best practice per la progettazione dei prompt
Una volta creato il set di dati di addestramento e addestrato il modello, è il momento di progettare i prompt. È importante seguire la best practice di progettazione dei prompt nel set di dati di addestramento per fornire una descrizione dettagliata dell'attività da eseguire e dell'aspetto dell'output.
Passaggi successivi
- Scegli una regione per ottimizzare un modello.
- Per scoprire come è possibile utilizzare il fine-tuning supervisionato in una soluzione che crea una knowledge base di AI generativa, consulta Soluzione Jump Start: knowledge base di AI generativa.