Introduzione all'ottimizzazione del modello

Le strategie di progettazione dei prompt, come quelle contenenti pochi prompt, potrebbero non produrre sempre i risultati necessari. Utilizza l'ottimizzazione del modello per migliorare le prestazioni di un modello in attività specifiche o per fare in modo che il modello rispetti requisiti di output specifici quando le istruzioni non sono sufficienti e hai a disposizione una serie di esempi che dimostrano gli output che vuoi.

Questa pagina fornisce indicazioni sull'ottimizzazione del modello di testo alla base del servizio di testo dell'API Gemini.

Come funziona l'ottimizzazione del modello

L'obiettivo dell'ottimizzazione del modello è migliorarne ulteriormente le prestazioni per un'attività specifica. L'ottimizzazione fornisce al modello un set di dati di addestramento contenente molti esempi dell'attività. Per attività di nicchia, puoi ottenere miglioramenti significativi nelle prestazioni del modello ottimizzandolo su un numero modesto di esempi.

I dati di addestramento dovrebbero essere strutturati come esempi, con input di prompt e output di risposta previsti. Puoi anche ottimizzare i modelli utilizzando dati di esempio direttamente in Google AI Studio. L'obiettivo è insegnare al modello a imitare il comportamento o l'attività che vuoi, fornendo molti esempi per illustrare questo comportamento o attività.

Quando esegui un job di ottimizzazione, il modello apprende parametri aggiuntivi che lo aiutano a codificare le informazioni necessarie per eseguire l'attività desiderata o per apprendere il comportamento desiderato. Questi parametri possono essere utilizzati al momento dell'inferenza. L'output del job di ottimizzazione è un nuovo modello, che è a tutti gli effetti una combinazione dei parametri appena appresi e del modello originale.

Modelli supportati

I seguenti modelli di base supportano l'ottimizzazione. È supportato soltanto il completamento del testo a turno singolo.

  • Gemini 1.0 Pro
  • text-bison-001

Flusso di lavoro per l'ottimizzazione del modello

Il flusso di lavoro di ottimizzazione del modello è il seguente:

  1. Prepara il set di dati.
  2. Importa il set di dati se utilizzi Google AI Studio.
  3. Avvia un job di ottimizzazione.

Una volta completata l'ottimizzazione, viene visualizzato il nome del modello ottimizzato. Puoi anche selezionarlo in Google AI Studio come modello da utilizzare durante la creazione di un nuovo prompt.

Prepara il set di dati

Prima di poter iniziare l'ottimizzazione, hai bisogno di un set di dati con cui ottimizzare il modello. Per ottenere prestazioni ottimali, gli esempi nel set di dati devono essere di alta qualità, diversificati e rappresentare gli input e gli output reali.

Formato

Gli esempi inclusi nel set di dati devono corrispondere al traffico di produzione previsto. Se il set di dati contiene formattazione, parole chiave, istruzioni o informazioni specifiche, i dati di produzione devono essere formattati nello stesso modo e contenere le stesse istruzioni.

Ad esempio, se gli esempi nel tuo set di dati includono "question:" e "context:", il traffico di produzione deve essere formattato in modo da includere un "question:" e un "context:" nello stesso ordine in cui appare negli esempi del set di dati. Se escludi il contesto, il modello non può riconoscere il pattern, anche se la domanda esatta era in un esempio nel set di dati.

L'aggiunta di un prompt o un preambolo a ogni esempio nel tuo set di dati può anche contribuire a migliorare le prestazioni del modello ottimizzato. Nota, se un prompt o un preambolo è incluso nel set di dati, deve essere incluso anche nel prompt del modello ottimizzato al momento dell'inferenza.

Dimensione dei dati di addestramento

Puoi ottimizzare un modello con solo 20 esempi e i dati aggiuntivi generalmente migliorano la qualità delle risposte. Dovresti scegliere come target tra 100 e 500 esempi, a seconda dell'applicazione. La seguente tabella mostra le dimensioni consigliate del set di dati per l'ottimizzazione di un modello di testo per varie attività comuni:

Attività Numero di esempi nel set di dati
Classificazione Oltre 100
Riassunto 100-500+
Ricerca nei documenti Oltre 100

Carica set di dati di ottimizzazione

I dati vengono trasmessi in linea utilizzando l'API o tramite i file caricati in Google AI Studio.

Utilizza il pulsante Importa per importare i dati da un file o scegli un prompt strutturato con esempi da importare come set di dati di ottimizzazione.

Libreria client

Per utilizzare la libreria client, fornisci il file di dati nella chiamata createTunedModel. La dimensione massima del file è 4 MB. Per iniziare, consulta la guida rapida dell'ottimizzazione con Python.

Curl

Per chiamare l'API REST utilizzando Curl, fornisci esempi di addestramento in formato JSON all'argomento training_data. Per iniziare, consulta la guida rapida dell'ottimizzazione con Curl.

Impostazioni di ottimizzazione avanzate

Quando crei un job di ottimizzazione, puoi specificare le seguenti impostazioni avanzate:

  • Epoche: un passaggio completo di addestramento sull'intero set di addestramento in modo che ogni esempio sia stato elaborato una volta.
  • Dimensione del batch: l'insieme di esempi utilizzati in un'iterazione di addestramento. Le dimensioni del batch determinano il numero di esempi in un batch.
  • Frequenza di apprendimento: un numero in virgola mobile che indica all'algoritmo l'efficacia con cui regolare i parametri del modello in ogni iterazione. Ad esempio, un tasso di apprendimento di 0,3 regolerebbe le ponderazioni e i bias il triplo rispetto a un tasso di apprendimento di 0,1. I tassi di apprendimento alti e bassi presentano compromessi unici e devono essere adeguati in base al tuo caso d'uso.
  • Moltiplicatore del tasso di apprendimento: il moltiplicatore di frequenza modifica il tasso di apprendimento originale del modello. Il valore 1 utilizza il tasso di apprendimento originale del modello. Valori superiori a 1 aumentano il tasso di apprendimento e valori tra 1 e 0 lo riducono.

La seguente tabella mostra le configurazioni consigliate per l'ottimizzazione di un modello di base:

Iperparametro Valore predefinito Aggiustamenti consigliati
Epoca 5 Se la perdita inizia a stabilizzarsi prima di 5 epoche, utilizza un valore inferiore.
Se la perdita è convergente e non sembra stabilizzarsi, utilizza un valore più alto.
Dimensione del batch 4
Tasso di apprendimento 0,001 Utilizza un valore minore per set di dati più piccoli.

La curva di perdita mostra la deviazione della previsione del modello dalle previsioni ideali negli esempi di addestramento dopo ogni epoca. Idealmente, dovresti interrompere l'addestramento nel punto più basso della curva. Ad esempio, il grafico seguente mostra il plateau della curva di perdita all'incirca nell'epoca 4-6, il che significa che puoi impostare il parametro Epoch su 4 senza però ottenere le stesse prestazioni.

Curva di perdita

Controlla lo stato del job di ottimizzazione

Puoi controllare lo stato del job di ottimizzazione nell'interfaccia utente di Google AI Studio nella scheda La mia libreria o utilizzando la proprietà metadata del modello ottimizzato nell'API Gemini.

Risolvere gli errori

Questa sezione include suggerimenti su come risolvere gli errori che potresti riscontrare durante la creazione del modello ottimizzato.

Autenticazione

L'ottimizzazione con l'API e la libreria client richiede l'autenticazione utente. Una chiave API da sola non è sufficiente. Se viene visualizzato un errore 'PermissionDenied: 403 Request had insufficient authentication scopes', devi configurare l'autenticazione utente.

Per configurare le credenziali OAuth per Python, consulta il tutorial sulla configurazione di OAuth.

Modelli annullati

Puoi annullare un job di ottimizzazione del modello in qualsiasi momento prima del suo completamento. Tuttavia, le prestazioni di inferenza di un modello annullato sono imprevedibili, in particolare se il job di ottimizzazione viene annullato nelle prime fasi dell'addestramento. Se hai annullato l'addestramento perché vuoi interrompere l'addestramento in un'epoca precedente, devi creare un nuovo job di ottimizzazione e impostare l'epoca su un valore più basso.

Passaggi successivi