Ultralytics YOLO27:
Licenza YOLO
Torna al glossario di Ultralytics

Direct Preference Optimization

L'ottimizzazione diretta delle preferenze (DPO) allinea un modello linguistico a coppie di risposte preferite e rifiutate usando un'unica funzione di perdita, senza un modello di ricompensa né RL.

L'ottimizzazione diretta delle preferenze (DPO) è un metodo per allineare un modello linguistico di grandi dimensioni (LLM) alle preferenze umane, addestrandolo direttamente su coppie di risposte, una preferita e una rifiutata, tramite una singola funzione di perdita di tipo classificatorio. Raggiunge l'obiettivo dell'apprendimento per rinforzo dal feedback umano (RLHF) senza un modello di ricompensa separato e senza un ciclo di apprendimento per rinforzo che campiona dal modello durante l'addestramento. Rafael Rafailov, Archit Sharma, Eric Mitchell, Stefano Ermon, Christopher Manning e Chelsea Finn, della Stanford University, l'hanno introdotta nel 2023 nell'articolo Direct Preference Optimization: Your Language Model is Secretly a Reward Model, presentato a NeurIPS 2023. L'idea chiave è che il modello linguistico in addestramento definisce la propria ricompensa implicita, perciò il modello di ricompensa e la politica vengono adattati in un unico passaggio.

Come funziona DPO#

Ogni esempio di addestramento è un prompt con una risposta scelta e una rifiutata, etichettate da persone o da un altro modello. L'addestramento parte da un modello già sottoposto a una messa a punto supervisionata, di solito tramite un addestramento sulle istruzioni, e ne conserva una copia congelata come riferimento. Per ogni risposta, DPO confronta la log-probabilità assegnata dal modello in addestramento con quella assegnata dal modello di riferimento. La ricompensa implicita di una risposta è pari a β volte il logaritmo del rapporto tra le due probabilità, mentre la funzione di perdita è il valore negativo del logaritmo della sigmoide calcolata sulla differenza tra la ricompensa della risposta scelta e quella della risposta rifiutata. Minimizzarla aumenta la probabilità della risposta scelta rispetto a quella rifiutata, con aggiornamenti più ampi per le coppie che il modello continua a ordinare in modo errato.

Il coefficiente β svolge il ruolo della penalità KL in RLHF. Rafailov et al. hanno dimostrato che la massimizzazione della ricompensa vincolata da KL usata in RLHF ha una politica ottimale in forma chiusa: le probabilità di riferimento ripesate in base all'esponenziale della ricompensa divisa per β. Hanno poi riorganizzato la formula per esprimere la ricompensa attraverso la politica stessa. Più β è piccolo, più l'addestramento può allontanare il modello dal riferimento.

Questo esempio con PyTorch esegue dieci passaggi DPO su GPT-2 dai Transformers di Hugging Face, usando due coppie di preferenze per l'assistenza clienti; poi verifica una terza coppia mai usata nell'addestramento del modello:

import copy

import torch
import torch.nn.functional as F
from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("gpt2")
policy = AutoModelForCausalLM.from_pretrained("gpt2")
reference = copy.deepcopy(policy).requires_grad_(False)  # frozen copy of the starting model
optimizer = torch.optim.Adam(policy.parameters(), lr=1e-5)

# Preference pairs: (prompt, chosen reply, rejected reply)
train = [
    ("My order arrived broken.", " Sorry about that, we will send a replacement today.", " That is not our problem."),
    ("I was charged twice.", " Sorry for the trouble, we have refunded the extra charge.", " Check your bank again."),
]
held_out = ("My package is a week late.", " Sorry for the delay, we will track it down for you.", " Be more patient.")


def log_prob(model, prompt, reply):
    """Sum of the log-probabilities the model gives the reply tokens after the prompt."""
    ids = tokenizer(f"Customer: {prompt}\nAgent:{reply}", return_tensors="pt").input_ids
    token_logps = model(ids).logits[0, :-1].log_softmax(-1).gather(1, ids[0, 1:, None])
    return token_logps[-len(tokenizer(reply).input_ids) :].sum()


def margin(prompt, chosen, rejected):
    """Policy-to-reference log-ratio of the chosen reply minus that of the rejected reply."""
    chosen_ratio = log_prob(policy, prompt, chosen) - log_prob(reference, prompt, chosen)
    return chosen_ratio - (log_prob(policy, prompt, rejected) - log_prob(reference, prompt, rejected))


for step in range(10):
    loss = sum(-F.logsigmoid(0.1 * margin(*pair)) for pair in train) / len(train)  # DPO loss, beta = 0.1
    if step in {0, 9}:
        print(f"Step {step}: training loss {loss.item():.3f}")
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

with torch.no_grad():
    print(f"Held-out margin: {margin(*held_out).item():+.1f}")

Al passaggio 0, stampa una perdita di addestramento pari a 0.693, cioè ln 2, perché la politica coincide ancora con il riferimento ed entrambe le risposte hanno ricompensa implicita pari a zero. Al passaggio 9, la perdita è 0.047 e il margine sul campione escluso dall'addestramento è +7.8: davanti a un reclamo mai visto, il modello ha aumentato la log-probabilità della risposta di scuse rispetto al riferimento di 7,8 in più rispetto a quella della risposta sbrigativa.

DPO e RLHF#

Il metodo classico di RLHF addestra un modello di ricompensa sulle coppie di preferenze e poi lo usa per ottimizzare il modello linguistico con Proximal Policy Optimization (PPO), che richiede nuovi campioni dal modello a ogni passaggio e mantiene in memoria una politica, un modello di valore, un modello di ricompensa e un modello di riferimento. DPO richiede solo la politica e il riferimento e si addestra su un dataset fisso, come il normale apprendimento supervisionato, quindi è più semplice da calibrare e molto meno costoso da eseguire. Negli esperimenti originali, DPO ha superato PPO nel controllo del tono delle recensioni di film generate, a parità di budget KL. Nella sintesi del dataset TL;DR di Reddit, GPT-4 ha giudicato le sintesi DPO migliori dei riferimenti scritti da persone nel 61% dei casi con temperatura di campionamento pari a 0, contro il 57% ottenuto da PPO alla sua temperatura migliore. Sui dati di dialogo helpful and harmless di Anthropic, DPO è stato l'unico metodo computazionalmente efficiente tra quelli testati a migliorare le risposte preferite nel dataset.

Il compromesso è che DPO apprende solo dalle coppie che gli vengono fornite. I metodi di apprendimento per rinforzo online, come Group Relative Policy Optimization (GRPO), valutano nuovi campioni del modello corrente durante l'addestramento; per questo dominano l'apprendimento per rinforzo con ricompense verificabili (RLVR) per la matematica e il codice, ambiti in cui un verificatore può valutare ogni nuova risposta. Le etichette delle preferenze possono provenire anche da un modello di IA guidato da principi scritti, come nell'IA costituzionale, e DPO si addestra su tali etichette allo stesso modo.

Dove viene usato DPO#

DPO è diventato un passaggio standard del post-addestramento per i chatbot a pesi aperti. Il modello Zephyr-7B-β di Hugging Face lo ha applicato ai dati UltraFeedback classificati dall'AI, mentre i modelli Llama 3 di Meta sono stati allineati attraverso diversi cicli di messa a punto supervisionata, seguiti da DPO. La libreria TRL offre un trainer DPO pronto all'uso. L'interfaccia LLM di Ultralytics invoca i modelli tramite qualsiasi endpoint compatibile con OpenAI, compresi i server locali, così un modello a pesi aperti allineato con DPO può generare la componente testuale di una pipeline di visione artificiale basata su Ultralytics YOLO26.

Il metodo si applica anche alle immagini. Diffusion-DPO riformula la perdita per i modelli di diffusione e ha affinato il modello base Stable Diffusion XL su 851.000 preferenze a coppie raccolte tramite crowdsourcing dal dataset Pick-a-Pic, migliorando l'allineamento ai prompt e la resa visiva nella generazione da testo a immagine. Per i modelli visione-linguaggio (VLM), RLHF-V ha raccolto correzioni umane a livello di segmento per descrizioni di immagini allucinate e ha eseguito l'addestramento con una variante densa di DPO, riducendo del 34,8% il tasso di allucinazioni del modello di base con appena 1.400 campioni annotati.

Varianti di DPO#

  • IPO (ottimizzazione dell'identità delle preferenze): sostituisce il log-sigmoid con una perdita quadratica verso un margine fisso, evitando che le ricompense implicite crescano senza limiti e che si verifichi un overfitting quando vince sempre la stessa risposta.
  • KTO (ottimizzazione di Kahneman-Tversky): apprende da singole risposte etichettate come desiderabili o indesiderabili, senza bisogno di confronti a coppie.
  • ORPO (ottimizzazione delle preferenze tramite rapporto di probabilità): elimina il modello di riferimento e aggiunge una penalità basata sul rapporto di probabilità alla perdita del fine-tuning supervisionato, unificando il fine-tuning delle istruzioni e l'allineamento alle preferenze in un'unica fase.
  • SimPO (ottimizzazione semplice delle preferenze): usa come ricompensa la log-probabilità media di una risposta normalizzata per la lunghezza, elimina il modello di riferimento e richiede un margine obiettivo tra le ricompense delle risposte scelte e rifiutate.

Explore solutions

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini da droni e riprese aeree in informazioni utili in tempo reale per l'agricoltura, l'acquacoltura, il monitoraggio ambientale, la conservazione e l'analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la vision AI nel monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e settori geospaziali con soluzioni di computer vision.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più
La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini da droni e riprese aeree in informazioni utili in tempo reale per l'agricoltura, l'acquacoltura, il monitoraggio ambientale, la conservazione e l'analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la vision AI nel monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e settori geospaziali con soluzioni di computer vision.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più
La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini da droni e riprese aeree in informazioni utili in tempo reale per l'agricoltura, l'acquacoltura, il monitoraggio ambientale, la conservazione e l'analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la vision AI nel monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e settori geospaziali con soluzioni di computer vision.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning