Cos'è la temperatura nell'ingegneria dei prompt?

 | Intelligenza-Artificiale

introduzione

Il prompt engineering è fondamentale per gestire modelli linguistici di grandi dimensioni (LLM) come GPT-4. La “temperatura”, uno dei parametri più importanti del prompt engineering, ha un impatto notevole sul comportamento e l'output del modello. Questo articolo esamina l'idea di temperatura nel prompt engineering, la definisce, ne delinea il funzionamento e fornisce consigli pratici su come utilizzarla per modificare le risposte di un modello di intelligenza artificiale.

ingegneria rapida

Panoramica

  • Introduzione al Prompt Engineering:Comprendere l'importanza della “temperatura” nella gestione del comportamento e dell'output di modelli linguistici di grandi dimensioni come GPT-4.
  • Definizione della temperatura: La temperatura regola la casualità degli output di un modello linguistico, bilanciando creatività e determinismo.
  • Meccanica della temperatura: Modifica la distribuzione di probabilità delle previsioni, con valori più bassi che favoriscono parole ad alta probabilità e valori più alti che aumentano la diversità dell'output.
  • Applicazioni pratiche: Le basse temperature sono ideali per lavori di precisione, quelle medie per una creatività equilibrata e quelle alte per risultati fantasiosi.
  • Migliori pratiche: Sperimenta temperature diverse, considera il contesto, combina con altri parametri e regola dinamicamente all'interno delle richieste.
  • Casi studio: Tra gli esempi rientrano un chatbot per il servizio clienti con una temperatura bassa per la precisione e un assistente per la scrittura creativa con una temperatura alta per l'originalità.

Cos'è la temperatura in Prompt Engineering?

“Temperatura” è un parametro utilizzato nei modelli linguistici per regolare la casualità degli output del modello. Modificare la distribuzione di probabilità delle previsioni del modello modifica il livello di creatività o determinismo del testo generato.

Temperature più basse affilano e potenziano deterministicamente l'output del modello, preferendo frasi ad alta probabilità. D'altro canto, una temperatura più alta favorisce più inventiva e imprevedibilità, rendendo possibile una gamma più ampia di risposte imprevedibili.

Come funziona la temperatura?

La temperatura è un valore scalare applicato ai logit (i punteggi grezzi e non normalizzati emessi dal modello prima di convertirli in probabilità). Matematicamente, la probabilità P(wi) di una parola wi​ nel contesto delle parole precedenti è calcolata come:

Ingegneria rapida

zi​ è il logit della parola wi​., e T è il parametro temperatura.

Quando T=1, i logit non cambiano. Quando T<1, the model’s output distribution sharpens, making high-probability words even more likely. When T>1, la distribuzione si appiattisce, rendendo più probabile che il modello esegua il campionamento da parole con probabilità inferiore.

Implicazioni pratiche delle impostazioni della temperatura

Ecco le implicazioni pratiche delle impostazioni della temperatura:

  1. Bassa temperatura (da 0,1 a 0,5)
    • Comportamento in uscita: La maggiore concentrazione e prevedibilità del modello producono un testo coerente che aderisce in larga parte allo schema previsto.
    • Casi d'uso: Perfetto per attività come la scrittura tecnica, le sessioni di domande e risposte basate sui fatti e i riepiloghi che richiedono elevata precisione e affidabilità.
    • Esempio: Quando si chiede di riassumere un testo, un'impostazione a bassa temperatura garantisce che il riassunto sia succinto e aderisca strettamente alle idee principali del materiale di partenza.
  2. Temperatura media (da 0,6 a 0,8)
    • Comportamento in uscita: Raggiunge un equilibrio tra coerenza e originalità, dando origine a risposte diverse ma comunque pertinenti alla domanda.
    • Casi d'uso: Ideale per agenti conversazionali, sessioni di brainstorming e scrittura creativa, dove è richiesto un equilibrio tra prevedibilità e creatività.
    • Esempio: Una temperatura media consente al modello di aggiungere nuovi pezzi mantenendo un flusso logico per una sfida narrativa creativa.
  3. Temperatura elevata (0,9 e oltre)
    • Comportamento in uscita: Aumenta la creatività e la casualità, producendo un risultato meno prevedibile e più vario dal modello.
    • Casi d'uso: Adatto per attività creative che richiedono molta immaginazione, come la scrittura di poesie, narrativa o materiale creativo.
    • Esempio: Quando si crea poesia, una temperatura elevata può dare origine a combinazioni di parole e frasi originali e sorprendenti, che migliorano l'espressione artistica.

Leggi anche: Prompt Engineering: definizione, esempi, suggerimenti e altro

Buone pratiche per l'utilizzo della temperatura nell'ingegneria rapida

Ecco alcune pratiche cruciali per l'utilizzo della temperatura in Ingegneria rapida:

  • Prova diverse temperature: Inizia a una temperatura moderata e regola in base ai risultati desiderati. Trovare l'equilibrio ideale tra coerenza e creatività può essere ottenuto regolando la temperatura.
  • Il contesto è importante: Considerare il contesto del compito quando si sceglie la temperatura. Mentre un compito di scrittura creativa potrebbe funzionare meglio con una temperatura più alta, un documento tecnico potrebbe trarre vantaggio da un'impostazione più bassa.
  • Combina con altri parametri: L'output del modello può essere influenzato da diversi parametri, la temperatura è solo uno. I risultati possono essere ulteriormente perfezionati combinandoli con altre impostazioni, come top-p (campionamento del nucleo).
  • Regolazioni dinamiche: Puoi migliorare il risultato di attività complesse modificando dinamicamente la temperatura in diverse aree di un singolo prompt. Ad esempio, potresti impostare una temperatura bassa per le sezioni strutturate e una temperatura alta per le sezioni creative.

Casi di studio ed esempi

Cerchiamo di capirlo con dei casi di studio:

Caso di studio 1: Chatbot di assistenza ai clienti

  • Obiettivo: Rispondere con precisione e cortesia alle domande dei consumatori.
  • Metodo: Scegli una temperatura bassa (0,3) per garantire che il chatbot fornisca informazioni accurate e affidabili.
  • Risultato: Il chatbot aumenta la soddisfazione del cliente fornendo risposte precise, affidabili e fattuali.

Caso di studio 2: Assistente di scrittura creativa

  • Obiettivo: Inventa spunti di trama e archi narrativi originali.
  • Metodo: Imposta una temperatura alta (0,9) per stimolare il modello a generare contenuti creativi e originali.
  • Risultato: L'assistente sviluppa aspetti della trama originali e sorprendenti che ispirano gli scrittori.

Test GPT-2 con parametro temperatura

import torch
from transformers import GPT2LMHeadModel, GPT2Tokenizer

# Load pre-trained model and tokenizer
model_name = "gpt2"
model = GPT2LMHeadModel.from_pretrained(model_name)
tokenizer = GPT2Tokenizer.from_pretrained(model_name)

Il codice sopra riportato caricherà il modello GPT-2, che può essere utilizzato per la generazione di testo.

# Function to generate text with a given temperature
def generate_text(prompt, temperature):
   inputs = tokenizer.encode(prompt, return_tensors="pt")
   outputs = model.generate(inputs, max_length=100, do_sample = True,
         temperature=temperature, num_return_sequences=1)
   text = tokenizer.decode(outputs(0), skip_special_tokens=True)
   return text

La funzione soprastante utilizza prompt e temperatura come argomenti e genera testo come output.

# Prompt for generation
prompt = "Once upon a time, in a land far away, there was a"

# Different temperature settings
temperatures = (0.2, 0.5, 0.7, 1.0, 1.5)

# Generate and print text for each temperature
for temp in temperatures:
   print(f"\n--- Temperature: {temp} ---")
   print(generate_text(prompt, temp))

Procediamo con temperature diverse con lo stesso prompt per osservare le differenze.

Di seguito è riportato l'output che otteniamo

Ingegneria rapida

Uscita GPT-2 per confrontare la temperatura

Ecco il risultato completo per una migliore comprensione:

Nota: questi sono solo i risultati degli screenshot precedenti per confrontare la creatività a diverse temperature.

Temperatura: 0,2

La maschera di attenzione e l'ID del token pad non sono stati impostati. Di conseguenza, potresti osservare un comportamento inaspettato. Passa `attention_mask` del tuo input per ottenere risultati affidabili.

Impostazione di `pad_token_id` su `eos_token_id`:50256 per la generazione open-end.

C'era una volta, in una terra lontana, una grande guerra, e il re della terra fu ucciso. E il re della terra era un grande re, ed era un grande re. Il re della terra era un grande re, ed era un grande re. Il re di quella terra era un grande re, ed era un grande re. E il re della terra era un grande re, ed era un grande re. E il

Temperatura: 0,5

La maschera di attenzione e l'ID del token pad non sono stati impostati. Di conseguenza, potresti osservare un comportamento inaspettato. Passa `attention_mask` del tuo input per ottenere risultati affidabili.

Impostazione di `pad_token_id` su `eos_token_id`:50256 per la generazione open-end.

C'era una volta, in una terra lontana, un giovane di nome Rolf. Era un brav'uomo, un brav'uomo che viveva in un villaggio chiamato Kiel. Un giorno arrivò in un posto chiamato il villaggio di Kiel, dove trovò un uomo di nome Rolf. Gli raccontò del padre di Rolf, che viveva nel villaggio. Rolf gli disse che Rolf era un brav'uomo e che aveva una brava madre. Rolf raccontò alla sua

Temperatura: 0,7

La maschera di attenzione e l'ID del token pad non sono stati impostati. Di conseguenza, potresti osservare un comportamento inaspettato. Passa `attention_mask` del tuo input per ottenere risultati affidabili.

Impostazione di `pad_token_id` su `eos_token_id`:50256 per la generazione open-end.

C'era una volta, in una terra lontana, una grande battaglia. Il nemico era un grande esercito, e lui era andato a distruggerli. Era guidato dal comandante dell'esercito, che diede ordine che la gente della città di Jafet fosse sotto il suo comando. Il comandante dell'esercito rispose dicendo che la gente della città di Jafet sarebbe stata sotto il suo comando, e che la gente della città di Jafet sarebbe stata

Temperatura: 1.0

La maschera di attenzione e l'ID del token pad non sono stati impostati. Di conseguenza, potresti osservare un comportamento inaspettato. Passa `attention_mask` del tuo input per ottenere risultati affidabili.

Impostazione di `pad_token_id` su `eos_token_id`:50256 per la generazione open-end.

C'era una volta, in una terra lontana, un profeta degli ebrei. Disse: “Non dirò a nessuno quello che dirò. Eppure dicono che il Profeta d'Israele è il Grande. Diranno che sono un profeta. Eppure dicono che è il profeta”. E accadde che dissero: “Cosa dicono? Stanno parlando della sua nascita; ecco perché è nato il profeta”. Tutto questo è nel resoconto. È un cattivo resoconto.

Temperatura: 1.5

C'era una volta, in una terra lontana, un vento potente e feroce. Poi raggiunse le colline.

Quando soffiò, due grandi montagne si avvicinarono a loro: “due enormi montagne, le cui cime raggiungevano il livello del luogo più alto sottoterra: e questa era una terra lontana dalla terra con due enormi picchi montuosi e alcuni enormi laghi”. Quindi non c'era alcun fuoco su o dentro queste montagne. Il vento e i venti soffiavano avrebbero prodotto un

Leggi anche: Guida per principianti all'ingegneria di prompt degli esperti

Analisi di diverse temperature

Ecco l'analisi delle temperature basse, medie e alte:

  • Bassa temperatura (0,2): il testo è prevedibile e segue una struttura narrativa comune.
  • Temperatura media (0,5-0,7): il testo è ancora coerente, ma introduce maggiore varietà e creatività.
  • Temperatura elevata (1.0 e superiore): il testo diventa più fantasioso e meno prevedibile, introducendo elementi unici e inaspettati.

Conclusione

La temperatura è uno strumento potente nell'ingegneria rapida che consente agli utenti di manipolare l'originalità e la prevedibilità di un Modello di intelligenza artificiale output. Imparando e applicando le impostazioni di temperatura in modo efficiente, una persona può personalizzare le risposte del modello per soddisfare determinati requisiti, siano essi tecnici o artistici. Sperimentazione e attenta implementazione delle impostazioni di temperatura sono altamente raccomandate per migliorare modelli linguistici' prestazioni e utilità in vari contesti.

Domande frequenti

D1. Qual è la temperatura nell'ingegneria rapida?

Risposta. Un parametro che regola l'output imprevedibile di un modello linguistico è chiamato temperatura. La capacità del modello di modificare la distribuzione di probabilità delle sue previsioni influenza la creatività o il determinismo del testo generato.

D2. Quando dovrei usare un'impostazione a bassa temperatura?

Risposta: Imposta una temperatura bassa per lavori come Q&A basati sui fatti, scrittura tecnica e sintesi di risposte accurate e coerenti.

D3. Quando è appropriata un'impostazione ad alta temperatura?

Risposta: I compiti che richiedono un alto livello di immaginazione, come scrivere poesie o conversazioni fittizie, sono più adatti a un ambiente ad alta temperatura.

D4. Posso regolare la temperatura in modo dinamico con un singolo comando?

Risposta: Sì, puoi ottenere risultati migliori modificando dinamicamente la temperatura in diverse parti di una singola query. Un esempio è usare una temperatura alta per le parti creative e una temperatura bassa per il materiale organizzato.

Fonte: www.analyticsvidhya.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *