DeepSeek-R1-Zero a pornit de la DeepSeek-V3-Base și a fost antrenat direct prin învățare prin întărire (RL), fără ajustare fină supravegheată (SFT) înainte. Lucrarea (arXiv 2501.12948) îl prezintă ca prima cercetare deschisă care confirmă că raționamentul unui LLM poate fi stimulat doar prin RL. Recompensele sunt bazate pe reguli: una de corectitudine (răspunsul matematic într-un format fix, verificat automat, sau codul rulat pe teste) și una de format (raționamentul între <think> și </think>). Autorii nu au folosit un model neural de recompensă, din cauza riscului de reward hacking. În timpul antrenării, scorul pass@1 la AIME 2024 a crescut de la 15,6% la 71,0%.
Algoritmul este GRPO (Group Relative Policy Optimization), introdus în lucrarea DeepSeekMath (arXiv 2402.03300). Spre deosebire de PPO, nu are un model critic, care de obicei are aceeași mărime ca modelul antrenat. Pentru fiecare întrebare eșantionează un grup de răspunsuri; avantajul fiecăruia este recompensa lui minus media grupului, împărțită la abaterea standard a grupului. Divergența KL față de modelul de referință se adaugă direct în funcția obiectiv. Pe parcursul antrenării au apărut auto-verificarea, reflecția și raționamente tot mai lungi, inclusiv „momentul aha” descris în lucrare.
R1-Zero avea probleme de lizibilitate și amesteca limbile. DeepSeek-R1 folosește patru etape: SFT pe câteva mii de exemple lungi de raționament („cold start”), RL pentru raționament cu o recompensă suplimentară pentru consecvența limbii, SFT pe circa 800k exemple (aproximativ 600k de raționament obținute prin rejection sampling și 200k fără raționament) și o a doua etapă de RL pentru toate tipurile de cereri. În API, R1 a fost deepseek-reasoner din ianuarie 2025; din DeepSeek-V3.1 (august 2025), raționamentul face parte din modele hibride și se activează cu modul thinking. Fișa modelului DeepSeek-V4 menționează tot GRPO în etapa de RL a post-antrenării.
Concepte cheie și caracteristici
| Concept / Parametru | Descriere practică |
|---|---|
GRPO (Group Relative Policy Optimization) |
RL fără model critic: avantajul vine din compararea răspunsurilor din același grup (normalizare cu media și abaterea standard). |
Recompensa de corectitudine |
Verificare pe reguli: răspunsul final într-un format fix (de exemplu într-o casetă) sau cod compilat și rulat pe teste. |
Recompensa de format |
Cere ca raționamentul să stea între <think> și </think>. |
Recompensa de consecvență a limbii |
Proporția cuvintelor din limba țintă în raționament; reduce amestecul de limbi, cu o mică scădere de performanță raportată. |
Cold start |
Câteva mii de exemple lungi de raționament, pentru SFT înainte de primul RL al lui R1. |
Rejection sampling + SFT |
Circa 600k exemple de raționament corecte și 200k fără raționament; aceleași 800k au antrenat modelele distilate. |
<think> ... </think> |
Etichetele care delimitează raționamentul în ieșirea modelelor R1. |
Exemple practice și scenarii reale
Exemplul 1: Avantajul relativ la grup, în GRPO
Ilustrare simplificată a normalizării din GRPO, fără raportul de probabilități, clipping și termenul KL.
import statistics
# 4 răspunsuri la aceeași întrebare, notate de verificatorul pe reguli (1 = corect)
recompense = [1.0, 0.0, 0.0, 1.0]
medie = statistics.mean(recompense) # 0.5
abatere = statistics.pstdev(recompense) # 0.5
avantaje = [(r - medie) / abatere for r in recompense]
print(avantaje) # [1.0, -1.0, -1.0, 1.0]
Exemplul 2: Șablonul de antrenare al lui R1-Zero
Rezumat în română al șablonului din tabelul 1 al lucrării; în antrenare, {intrebarea} se înlocuiește cu problema concretă.
O conversație între Utilizator și Asistent. Utilizatorul pune o întrebare,
iar Asistentul o rezolvă: întâi gândește, apoi dă răspunsul.
Raționamentul stă între <think> </think>, răspunsul între <answer> </answer>.
Utilizator: {intrebarea}
Asistent:
Exemplul 3: Prompt pentru matematică, după recomandarea din fișa R1
ollama run deepseek-r1:8b "Please reason step by step, and put your final answer within \boxed{}. Cât face 17 × 23?"
Greșeli frecvente și capcane
- Dai exemple few-shot. Lucrarea R1 notează că promptarea few-shot scade constant performanța; descrie direct problema și formatul de ieșire (zero-shot).
- Pui instrucțiunile în promptul de sistem la modelele R1 rulate local. Fișa modelului recomandă fără prompt de sistem, totul în mesajul utilizatorului, și temperatura 0,5–0,7 (0,6), ca să eviți repetițiile fără sfârșit.
- Te miri că un model R1 raționează în engleză la o întrebare în română. Lucrarea spune că R1 este optimizat pentru chineză și engleză și poate folosi engleza la întrebări în alte limbi.
- Cauți R1 în API.
deepseek-reasonera fost retras; raționamentul se cere acum cu modul thinking al luideepseek-flashsaudeepseek-v4-pro.