Group Relative Policy Optimization (GRPO)
L’ottimizzazione delle policy relative al gruppo (GRPO) è un metodo di RL senza critico che valuta ogni risposta rispetto al proprio gruppo per migliorare il ragionamento degli LLM. L’articolo la confronta con PPO.
L'ottimizzazione delle policy relativa al gruppo (GRPO) è un algoritmo di apprendimento per rinforzo efficiente in termini di memoria, sviluppato per potenziare le capacità di ragionamento dei modelli linguistici di grandi dimensioni (LLM) e dei sistemi più ampi di intelligenza artificiale (AI). Presentato per la prima volta nel paper DeepSeekMath del 2024, GRPO migliora i metodi di ottimizzazione tradizionali eliminando la necessità di una rete di valore separata (modello critico). Normalizza invece le ricompense di un gruppo di risposte generate a partire dallo stesso prompt. Valutando le risposte in rapporto alle altre del gruppo, GRPO riduce drasticamente il carico computazionale e migliora le prestazioni nelle attività di ragionamento complesse con le moderne architetture di deep learning (DL).
In che modo GRPO si differenzia da PPO#
Sebbene GRPO abbia alcuni punti in comune con l'ottimizzazione prossimale delle policy (PPO), un algoritmo di ottimizzazione standard spesso usato nell'apprendimento per rinforzo dal feedback umano (RLHF, i due algoritmi differiscono notevolmente nell'architettura. PPO richiede un modello «critico» secondario, eseguito in parallelo alla rete principale della policy per stimare il valore di un determinato stato. Questo quasi raddoppia la memoria richiesta durante la fase di addestramento.
Al contrario, GRPO è un algoritmo privo di critico. Campionando più output per un singolo prompt e valutandoli con un sistema di ricompensa basato su regole o un verificatore, GRPO calcola il vantaggio normalizzando i punteggi all'interno del gruppo specifico. Questo confronto relativo funge da baseline, risparmia la notevole quantità di memoria che sarebbe stata occupata da una rete di valori e accelera il training del modello complessivo. Un aggiornamento GRPO segue questi passaggi:
Applicazioni reali di GRPO#
GRPO ha contribuito a diverse recenti innovazioni nell'IA generativa e nell'elaborazione del linguaggio naturale. Ecco due applicazioni degne di nota:
- Modelli di ragionamento matematico: Nel celebre rilascio di DeepSeek-R1 e in DeepSeekMath, GRPO è stato usato per incentivare i modelli a sviluppare ragionamenti articolati in lunghe catene di pensiero e capacità di autoverifica, raggiungendo prestazioni paragonabili a quelle di modelli proprietari come o1 di OpenAI. Premiando le risposte finali corrette e la formattazione, l'algoritmo ha permesso al modello di scoprire autonomamente strategie avanzate di risoluzione dei problemi senza un fine-tuning esteso su dati annotati da persone.
- Generazione di codice e logica agentica: Per i modelli che scrivono codice o gestiscono flussi di lavoro agentici autonomi, valutare la correttezza assoluta è difficile. GRPO consente ai modelli di apprendere eseguendo diverse varianti del codice e valutandole in modo relativo in base al successo della compilazione o ai test superati, accelerando la distribuzione di assistenti AI di programmazione altamente affidabili.
Implementare i concetti di GRPO in PyTorch#
Alla base, GRPO calcola il vantaggio relativo delle risposte normalizzandone le ricompense. Ecco una semplice implementazione in PyTorch che mostra questa normalizzazione usando le comuni operazioni sui tensori:
def compute_grpo_advantages(rewards):
# 'rewards' è un tensore con forma (batch_size, group_size)
group_mean = rewards.mean(dim=1, keepdim=True)
group_std = rewards.std(dim=1, keepdim=True)
# Normalizza i premi all'interno del gruppo per calcolare i vantaggi relativi
advantages = (rewards - group_mean) / (group_std + 1e-8)
return advantagesFar progredire l'AI con un'ottimizzazione intelligente#
Così come GRPO ridefinisce l'efficienza nella generazione di testo, le tecniche avanzate di machine learning (ML) trasformano continuamente la percezione visiva. Ottimizzare le architetture e le funzioni di perdita consente agli sviluppatori di realizzare modelli più leggeri e veloci in tutti i domini.
Per le attività di visione artificiale all'avanguardia, è altrettanto fondamentale esplorare le ottimizzazioni end-to-end. Ad esempio, Ultralytics YOLO26 supporta nativamente l'inferenza end-to-end senza NMS tramite la sua testa one-to-one (nms=False) e si addestra con ottimizzatori ibridi ispirati alla ricerca sugli LLM, semplificando la distribuzione sui dispositivi edge. Gli sviluppatori che desiderano sfruttare flussi di lavoro efficienti per la visione artificiale possono creare, addestrare e distribuire modelli con facilità utilizzando la Piattaforma Ultralytics. Questo strumento basato sul cloud semplifica la gestione complessa dei dataset e l'ottimizzazione degli iperparametri per applicazioni di visione robuste e in tempo reale.










