Un job di perfezionamento del reinforcement learning per i modelli Gemini è configurato con tre blocchi di base principali: un set di dati di ottimizzazione, iperparametri che controllano il processo di addestramento e una o più funzioni di ricompensa che assegnano un punteggio a ogni risposta del modello. Il servizio espone anche metriche e stato del job per il monitoraggio.
Per un esempio end-to-end di creazione di un job di ottimizzazione, recupero del modello ottimizzato ed esecuzione dell'inferenza, consulta la Cloud de Confiance guida rapida della console o la guida rapida dell'API.
Prepara il set di dati di ottimizzazione
Un job di ottimizzazione del reinforcement learning è basato su un set di dati di addestramento e
su un set di dati di convalida facoltativo. Ogni set di dati è un file JSONL archiviato in Cloud
Storage. Ogni riga è un singolo esempio di ottimizzazione che contiene un
systemInstruction, contents (il prompt a cui il modello risponde durante
l'ottimizzazione) e una mappa references che contiene tutti i metadati necessari alla funzione di ricompensa
per valutare la risposta del modello (ad esempio, una risposta di riferimento,
una rubrica o un input di unit test).
Il perfezionamento dell'apprendimento per rinforzo supporta prompt multimodali (testo, immagine, audio e video), soggetti a limiti per file e per prompt.
Per lo schema completo del set di dati, i limiti del set di dati specifici per modalità e un esempio di come compilare references per il calcolo della ricompensa, consulta la pagina Set di dati di ottimizzazione.
Configura gli iperparametri
Gli iperparametri controllano la modalità di aggiornamento del modello durante l'ottimizzazione dell'apprendimento per rinforzo, inclusi il livello di pensiero utilizzato durante la generazione, la dimensione del batch, i campioni per prompt, il moltiplicatore del tasso di apprendimento, il conteggio delle epoche, gli intervalli di valutazione e checkpoint, la lunghezza massima dell'output e la dimensione dell'adattatore LoRA. I valori predefiniti sono adatti alla maggior parte dei workload, ma puoi eseguire l'override di uno qualsiasi di questi valori quando crei un job di ottimizzazione.
Per valori predefiniti, intervalli consentiti, regole dipendenti dalle dimensioni del set di dati e combinazioni consigliate, consulta la pagina Iperparametri.
Definisci le funzioni di ricompensa
Una funzione di ricompensa assegna un punteggio numerico a ogni risposta del modello durante l'ottimizzazione. Il
segnale di ricompensa è ciò che il reinforcement learning ottimizza, quindi la sua
qualità determina direttamente la qualità dell'ottimizzazione. Tutti i premi vengono ritagliati
nell'intervallo [-1, 1].
L'ottimizzazione del reinforcement learning supporta i seguenti tipi di ricompensa:
- Premio per la corrispondenza di stringhe: confronta la risposta del modello (o una sottostringa analizzata) con un valore basato su dati empirici reali fornito in
references. - Premio basato sulla valutazione automatica di Gemini: utilizza un LLM come giudice per valutare ogni risposta, facoltativamente con l'analisi della risposta.
- Premio Cloud Run: chiama un servizio Cloud Run gestito dall'utente che restituisce un premio scalare per una logica di punteggio completamente personalizzabile.
- Premio composito: combina uno qualsiasi dei tipi di premio sopra indicati con pesi per marcatore.
Prima di avviare un job di ottimizzazione, ti consigliamo vivamente di convalidare la configurazione della ricompensa nella console Cloud de Confiance o con il metodo API ValidateReinforcementTuningReward.
Per schemi di configurazione dettagliati, esempi di codice, configurazione IAM e best practice per la progettazione di premi, consulta la pagina Funzioni di premio.
Monitorare lo stato e le metriche dei job
Una volta avviato un job di ottimizzazione, puoi monitorarne lo stato del ciclo di vita (ad esempio
JOB_STATE_PENDING, JOB_STATE_RUNNING, JOB_STATE_SUCCEEDED,
JOB_STATE_FAILED, JOB_STATE_CANCELLING, JOB_STATE_CANCELLED) e ispezionare
l'avanzamento dell'ottimizzazione in due modi:
- A livello di programmazione: invia una richiesta
GetTuningJobper recuperare lo stato del job,tunedModel, i dettagli dell'errore e i metadati. Consulta la guida rapida all'API per un esempio di comandocurl. - Visivamente: apri la pagina di monitoraggio del job nella console Cloud de Confiance in Modelli > Ottimizzazione, che mostra l'esperimento di ottimizzazione sottostante con grafici per le metriche di addestramento e valutazione emesse a ogni passaggio (ricompensa, lunghezza della generazione, latenza della ricompensa, suddivisioni per ricompensa per le ricompense composite e così via).
Il perfezionamento dell'apprendimento per rinforzo produce anche checkpoint intermedi alla
frequenza impostata da checkpointInterval, che puoi eseguire il deployment e valutare
in modo indipendente prima del completamento del job.
Per l'elenco completo delle metriche emesse, delle metriche per tipo di premio, di come interpretarle e di come accedere ai checkpoint, consulta la pagina Metriche e monitoraggio.