Esempi per ottimizzare i modelli di testo Gemini

Questa pagina fornisce i passaggi consigliati per aiutarti a perfezionare un modello di testo con Gemini. Questa guida tratta di classificazione, analisi del sentiment ed estrazione.

Limitazioni

  • I modelli Gemini non supportano i punteggi di attendibilità.
  • Gemini non può fornire punteggi numerici per l'analisi del sentiment. Ciò limita la possibilità di stimare il sentiment in base a una soglia numerica.

Per migliorare l'affidabilità degli output del modello di AI, valuta la possibilità di incorporare come l'autocoerenza per il punteggio di confidenza. Questa tecnica genera più output dal modello per lo stesso input e poi utilizza un sistema di voto maggioritario per determinare l'output più probabile. Il punteggio di affidabilità può essere rappresentato come un rapporto che riflette la proporzione di volte in cui è stato generato l'output di maggioranza.

Per le attività di analisi del sentiment, ti consigliamo di utilizzare un modello LLM come valutatore per fornire punteggi di affidabilità verbale. Chiedi al modello di analizzare il sentiment e poi restituisce un un punteggio verbale (ad esempio "molto probabile") anziché un punteggio numerico. I punteggi verbali sono generalmente più interpretabili e meno soggetti a bias nel contesto degli LLM.

Ottimizzazione del modello di testo con Gemini

Esistono due opzioni che puoi utilizzare per ottimizzare i modelli di testo per la classificazione, l'estrazione e l'analisi del sentiment con Gemini: il prompt con un modello preaddestrato e la messa a punto personalizzata.

  • Prompt con modelli Gemini pre-addestrati: i prompt sono l'arte di creare istruzioni efficaci per guidare i modelli di IA come Gemini nella generazione degli output che ti interessano. Si tratta di progettare prompt che comunichino chiaramente l'attività, il formato che vuoi e qualsiasi contesto pertinente. Puoi usare le funzionalità di Gemini con una configurazione minima. È ideale per:

    • Dati etichettati limitati: se hai una quantità ridotta di dati etichettati o non puoi permetterti una procedura di ottimizzazione lunga.
    • Prototipazione rapida: quando devi testare rapidamente un concetto o ottenere una base di riferimento. il rendimento senza pesanti investimenti in ottimizzazioni.
  • Ottimizzazione personalizzata dei modelli Gemini: per risultati più personalizzati, Gemini consente di ottimizzare i modelli in base a set di dati specifici. Per creare un modello di IA che eccelle nel tuo dominio specifico, valuta la possibilità di eseguire il perfezionamento. Ciò comporta il ricoinvolgimento del modello di base sul tuo set di dati etichettato, adattando i relativi pesi alla tua attività e ai tuoi dati. Puoi adattare Gemini ai tuoi casi d'uso. La messa a punto è più efficace quando:

    • Disponi di dati etichettati: un set di dati di dimensioni adeguate su cui eseguire l'addestramento (ad esempio 100 esempi o più), che consente al modello di apprendere in modo approfondito le specifiche della tua attività.
    • Attività complesse o uniche: per scenari in cui le strategie di prompt avanzate non sono sufficienti ed è essenziale un modello personalizzato in base ai tuoi dati.

Se possibile, prova entrambi gli approcci per vedere quale genera risultati migliori per la tua caso d'uso. Ti consigliamo di iniziare con i prompt per trovare quello ottimale. Poi, passa alla messa a punto (se necessario) per migliorare ulteriormente il rendimento o correggere gli errori ricorrenti.

Sebbene l'aggiunta di altri esempi possa essere utile, è importante valutare dove il modello commette errori prima di aggiungere altri dati. Indipendentemente dall'approccio, dati di alta qualità e ben etichettati sono fondamentali per un buon rendimento e sono migliori quantità. Inoltre, i dati che utilizzi per l'ottimizzazione fine devono riflettere il tipo di dati che il modello incontrerà in produzione. Per lo sviluppo, il deployment consulta la documentazione principale di Vertex AI.

Prompt con Gemini

Puoi usare le capacità di comprensione del linguaggio dei modelli Gemini fornendo loro alcuni esempi della tua attività (classificazione, estrazione, analisi del sentiment) nel prompt stesso. Il modello apprende da questi esempi e applica queste conoscenze al tuo nuovo input.

Le tecniche di prompting comuni che possono essere utilizzate per ottimizzare i risultati includono:

  • Prompt zero-shot: istruzione diretta al modello di eseguire un'attività senza fornire esempi specifici.
  • Prompt few-shot: fornire alcuni esempi insieme alle istruzioni per per guidare la comprensione del modello.
  • Prompt di pensiero: suddivisione delle attività complesse in passaggi più piccoli e per guidare il modello in ogni passaggio in sequenza.

Sebbene la progettazione dei prompt sia flessibile, alcune strategie possono guidare l'output di un modello. Test e valutazioni approfonditi sono essenziali per ottimizzare il rendimento.

I modelli linguistici di grandi dimensioni (LLM), addestrati su enormi quantità di dati di testo, apprendono schemi e relazioni linguistiche. Dati un prompt, questi modelli prevedono la continuazione più probabile, simile al completamento automatico avanzato. Pertanto, quando crei i prompt, tieni conto dei fattori che influiscono sulla previsione di un modello.

Il processo di prompt engineering è illustrato nel seguente diagramma: Il processo di ingegneria del prompt

Prepara i dati di input

Esistono diverse tecniche di impostazione di prompt che puoi utilizzare. I seguenti esempi mostrano come utilizzare la tecnica di prompt few-shot:

Classificazione

Richiedi

               Classify the following as red wine or white wine:
               
                  Name: Chardonnay
                  Type: White wine
                  Name: Cabernet
                  Type: Red wine
                  Name: Moscato
                  Type: White wine
               
               Name: Riesling
               Type:
            

Risposta

         White wine
         

Estrazione

Richiedi

            Extract the technical specifications from the text below in a JSON format.
INPUT: Google Nest Wifi, network speed up to 1200Mpbs, 2.4GHz and 5GHz frequencies, WP3 protocol OUTPUT: { "product":"Google Nest Wifi", "speed":"1200Mpbs", "frequencies": ["2.4GHz", "5GHz"], "protocol":"WP3" } Google Pixel 7, 5G network, 8GB RAM, Tensor G2 processor, 128GB of storage, Lemongrass

Risposta

         {
         "product": "Google Pixel 7",
         "network": "5G",
         "ram": "8GB",
         "processor": "Tensor G2",
         "storage": "128GB",
         "color": "Lemongrass"
         }
         

Analisi del sentiment

Richiedi

            Classify the sentiment of the message. Please only print the category name without anything else.
            
               Message: I had to compare two versions of Hamlet for my Shakespeare class and unfortunately I picked this version. Everything from the acting (the actors deliver most of their lines directly to the camera) to the camera shots (all medium or close up shots...no scenery shots and very little back ground in the shots) were absolutely terrible. I watched this over my spring break and it is very safe to say that I feel that I was gypped out of 114 minutes of my vacation. Not recommended by any stretch of the imagination.
               Category: negative
               Message: This Charles outing is decent but this is a pretty low-key performance. Marlon Brando stands out. There's a subplot with Mira Sorvino and Donald Sutherland that forgets to develop and it hurts the film a little. I'm still trying to figure out why Charlie want to change his name.
               Category: negative
Message: My family has watched Arthur Bach stumble and stammer since the movie first came out. We have most lines memorized. I watched it two weeks ago and still get tickled at the simple humor and view-at-life that Dudley Moore portrays. Liza Minelli did a wonderful job as the side kick - though I'm not her biggest fan. This movie makes me just enjoy watching movies. My favorite scene is when Arthur is visiting his fiancée's house. His conversation with the butler and Susan's father is side-spitting. The line from the butler, "Would you care to wait in the Library" followed by Arthur's reply, "Yes I would, the bathroom is out of the question", is my NEWMAIL notification on my computer.

Risposta

         Positive
         

Ottenere una risposta di previsione

Ecco un esempio di risposta di codice Python di esempio per l'esempio di classificazione. Per ulteriori informazioni, consulta la Panoramica dell'IA generativa su Vertex AI.

from vertexai import generative_models
from vertexai.generative_models import GenerativeModel

model = GenerativeModel(model_name="gemini-1.5-flash-001")
response = model.generate_content(["Classify the following as red wine or white wine:

<examples>
Name: Chardonnay
Type: White wine
Name: Cabernet
Type: Red wine
Name: Moscato
Type: White wine
</examples>

Name: Riesling
Type: "])

Ottimizzazione con Gemini 1.0 Pro

La messa a punto fine ti consente di adattare Gemini 1.0 Pro alle tue esigenze specifiche. Segui questi passaggi per perfezionare Gemini 1.0 Pro con i tuoi dati:

Prepara i dati di addestramento

Converti i tuoi dati di addestramento nel formato di ottimizzazione di Gemini, che utilizza un file JSONL la struttura dei file. Ogni riga del file deve rappresentare un singolo esempio di addestramento. Ogni esempio di addestramento deve seguire questa struttura:

{"messages": [{"role": "system", "content": "<system_context>"},, {"role": "user", "content": "<user_input>"}, {"role": "model", "content": "<desired_output>"}]}

Ecco un esempio di voce con due punti dati:

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

Per istruzioni complete e altri esempi, consulta il documento guida alla preparazione dei set di dati.

esegui la pipeline di ottimizzazione

Per avviare il job di ottimizzazione di Gemini, segui questa guida passo passo utilizzando l'interfaccia utente, Python o l'API REST. Durante la configurazione, seleziona Gemini, configura gli iperparametri di ottimizzazione e specifica impostazioni generali. Ti consigliamo di sperimentare valori diversi per le epoche, moltiplicatore del tasso di apprendimento e dimensioni degli adattatori. Per i set di dati con 500-1000 esempi, ti consigliamo di iniziare con le seguenti configurazioni per avere una buona comprensione dell'apprendimento del modello e trovare le impostazioni dei parametri ottimali per la tua attività:

  • epochs=2, learning_rate_multiplier=1, Adapter_size=1;
  • epochs=4, learning_rate_multiplier=1, dimensioni_adattatore=1 (predefinito);
  • epochs=6, learning_rate_multiplier=1, dimensioni_adattatore=4;
  • epochs=12, learning_rate_multiplier=4, dimensioni_adattatore=4; e
  • epochs=12, learning_rate_multiplier=4, dimensioni_adattatore=1.

Valutando il rendimento di una o due configurazioni diverse, puoi identificare i parametri e le modifiche più efficaci per migliorare il rendimento. Se non raggiungi il livello di rendimento target, puoi continuare sperimentando queste promettenti configurazioni.

Strumenti e tecniche di valutazione

La valutazione del modello coerente e confrontabile è essenziale per comprendere il rendimento e prendere decisioni informate. Ecco alcune tecniche e strumenti per durante la valutazione del modello:

  1. Mantenere una metodologia di valutazione coerente: Utilizzare le stesse metriche e gli stessi metodi di valutazione sia per i modelli ottimizzati che per quelli con prompt. Ciò facilita un confronto diretto e imparziale. Se possibile, utilizza lo stesso set di dati di valutazione usato durante lo sviluppo del modello e deployment. Ciò garantisce un confronto equo tra i tipi di modelli e consente di identificare discrepanze in termini di qualità.
  2. Tecniche e strumenti di valutazione Servizio di valutazione dell'IA generativa di Vertex AI: offre valutazioni sincrone a bassa latenza su piccoli batch di dati. Adatto a valutazioni on demand, rapide iterazione e sperimentazione. Si integra con altri servizi Vertex AI con l'SDK Python.
  3. Suggerimento per classificazione, estrazione e analisi del sentiment: Includi la metrica exact_match quando utilizzi il servizio di valutazione.

Deployment

Per eseguire il deployment del modello ottimizzato, consulta Eseguire il deployment di un modello ottimizzato.

Passaggi successivi