Prepara i dati di ottimizzazione supervisionati per i modelli Gemini

Questo documento descrive come definire un set di dati di ottimizzazione supervisionato per un un modello di machine learning. Puoi ottimizzare i tipi di dati testo, immagine, audio e documento.

Informazioni sui set di dati di ottimizzazione fine supervisionata

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. Per ottenere risultati ottimali, ti consigliamo di iniziare con 100 esempi. Puoi fare lo scale up fino a migliaia di esempi se necessaria. La qualità del set di dati è molto più importante della quantità.

Limitazioni:

  • Numero massimo di token di input e di uscita per esempi: 32.000
  • Dimensione massima del file del set di dati di addestramento: fino a 1 GB per JSONL.

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'attività di ottimizzazione.

Limitazioni:

  • Numero massimo di token di input e di uscita per esempi: 32.000
  • Numero massimo di esempi nel set di dati di convalida: 256
  • Dimensione massima del file del set di dati di addestramento: fino a 1 GB per JSONL.

Formato del set di dati

Il set di dati di ottimizzazione del modello deve essere in formato JSON Lines (JSONL), in cui 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.

Esempio di set di dati per gemini-1.5-pro e gemini-1.5-flash

{
  "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

contents

Obbligatorio: Content

I contenuti della conversazione corrente con il modello.

Per le query con un solo tratto, si tratta di una singola istanza. Per le query con più turni, si tratta di un campo ripetuto che contiene la cronologia della conversazione e l'ultima richiesta.

systemInstruction

Facoltativo: Content

Disponibile per gemini-1.5-flash e gemini-1.5-pro.

Istruzioni per il modello per indirizzarlo verso un rendimento migliore. Ad esempio, "Rispondi nel modo più conciso possibile" o "Non utilizzare termini tecnici nella risposta".

Le stringhe text vengono conteggiate ai fini del limite di token.

Il campo role di systemInstruction viene ignorato e non influisce sul rendimento del modello.

Sommario

Il tipo di dati strutturati di base che include i contenuti in più parti di un messaggio.

Questa classe è composta da due proprietà principali: role e parts. La proprietà role indica la persona che ha prodotto i contenuti, mentre la proprietà parts contiene più elementi, ognuno dei quali rappresenta un segmento di dati all'interno di un messaggio.

Parametri

role

Facoltativo: string

L'identità dell'entità crea il messaggio. Sono supportati i seguenti valori:

  • user: indica che il messaggio è stato inviato da una persona reale, in genere un messaggio generato dall'utente.
  • model: indica che il messaggio è generato dal modello.

Il valore model viene utilizzato per inserire messaggi dal modello nella conversazione durante le conversazioni in più passaggi.

Per le conversazioni che non prevedono più passaggi, questo campo può essere lasciato vuoto o non essere impostato.

parts

part

Un elenco di parti ordinate che compongono un singolo messaggio. Parti diverse possono avere tipi MIME IANA diversi.

Per i limiti degli input, come il numero massimo di token o il numero 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

text

(Facoltativo) string

Un prompt di testo o uno snippet di codice.

fileData

Facoltativo: fileData

Dati archiviati in un file.

Esempio di set di dati per Gemini 1.0 Pro

Ogni esempio di conversazione in un set di dati di ottimizzazione è composto da un campo messaggi obbligatorio.

Il campo messages è costituito da un array di coppie di ruoli e contenuti. Il campo role fa riferimento all'autore del messaggio ed è impostato su system, user o model. Il ruolo system è facoltativo e può riguardare solo il primo elemento dell'elenco dei messaggi. I ruoli user o model sono obbligatori e possono ripetersi in modo alternato.

Il campo content è il content del messaggio.

Per ogni esempio, la lunghezza massima del token per context e messages combinati è di 32.768 token. Inoltre, ogni campo di contenuti per il campo del modello 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 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 "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 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 il progetto Google Cloud in cui prevedi di ottimizzare il modello.

Quando il bucket è pronto, carica il file del tuo set di dati al 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 personalizzati. È importante seguire le best practice per la progettazione dei prompt nel set di dati di addestramento per fornire una descrizione dettagliata dell'attività da eseguire e dell'aspetto che deve avere l'output.

Passaggi successivi