Sei in un colloquio per Ricercatore Scientifico presso Google. Intervistatore: Abbiamo un LLM di base che è terribile in matematica. Come lo trasformeresti in una potenza per la matematica e il ragionamento? Tu: Etichetterò alcuni problemi e affinerò il modello. Colloquio finito. Ecco cosa ti sei perso:
Quando le uscite sono verificabili, le etichette diventano opzionali. Matematica, codice e logica possono essere controllati e convalidati automaticamente. Utilizziamo questo fatto per costruire un modello di ragionamento senza etichettatura manuale. Useremo: - @UnslothAI per un fine-tuning efficiente dei parametri. - @HuggingFace TRL per applicare GRPO. Andiamo! 🚀
Che cos'è GRPO? Il Group Relative Policy Optimization è un metodo di apprendimento per rinforzo che affina i LLM per compiti di matematica e ragionamento utilizzando funzioni di ricompensa deterministiche, eliminando la necessità di dati etichettati. Ecco una breve panoramica di GRPO prima di passare al codice:
1️⃣ Carica il modello Iniziamo caricando Qwen3-4B-Base e il suo tokenizer utilizzando Unsloth. Puoi utilizzare qualsiasi altro LLM a peso aperto qui. Controlla questo 👇
2️⃣ Definire la configurazione LoRA Utilizzeremo LoRA per evitare di affinare i pesi dell'intero modello. In questo codice, utilizziamo il PEFT di Unsloth specificando: - Il modello - LoRA low-rank (r) - Moduli per l'affinamento, ecc. Controlla questo 👇
3️⃣ Crea il dataset Carichiamo il dataset Open R1 Math (un dataset di problemi matematici) e lo formattiamo per il ragionamento. Ogni campione include: - Un prompt di sistema che impone un ragionamento strutturato - Una domanda dal dataset - La risposta nel formato richiesto Controlla questo codice 👇
4️⃣ Definire le funzioni di ricompensa In GRPO utilizziamo funzioni deterministiche per convalidare la risposta e assegnare una ricompensa. Nessuna etichettatura manuale richiesta! Le funzioni di ricompensa: - Corrispondere esattamente al formato - Corrispondere approssimativamente al formato - Controllare la risposta - Controllare i numeri Dai un'occhiata a questo 👇
5️⃣ Usa GRPO e inizia ad allenarti Ora che abbiamo il dataset e le funzioni di ricompensa pronte, è il momento di applicare GRPO. HuggingFace TRL fornisce tutto ciò che abbiamo descritto nel diagramma GRPO, pronto all'uso, sotto forma di GRPOConfig e GRPOTrainer. Dai un'occhiata a questo👇
6️⃣ Confronto Ancora una volta, possiamo vedere come GRPO abbia trasformato un modello di base in una potenza di ragionamento. Dai un'occhiata a questo👇
Prima di concludere, lasciami affrontare una domanda importante: Quando dovresti utilizzare il reinforcement fine-tuning (RFT) rispetto al supervised fine-tuning (SFT)? Ho creato questo diagramma per fornire una risposta:
157,41K