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.

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 su system, user o model. Il ruolo system è facoltativo e può avvenire solo nel il primo elemento dell'elenco dei messaggi. I ruoli user o model 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 e messages combinato è di 32.768 token. Inoltre, ogni campo content per il campo model 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