Buckets:
| <meta charset="utf-8" /><meta name="hf:doc:metadata" content="{"title":"Înțelegerea Lucrării DeepSeek R1","local":"înțelegerea-lucrării-deepseek-r1","sections":[{"title":"Momentul Revoluționar ‘Aha’","local":"momentul-revoluționar-aha","sections":[],"depth":2},{"title":"Procesul de Antrenare","local":"procesul-de-antrenare","sections":[{"title":"Faza de Pornire la Rece (Fundația Calității)","local":"faza-de-pornire-la-rece-fundația-calității","sections":[],"depth":3},{"title":"Faza RL de Raționament (Construirea Capacităților)","local":"faza-rl-de-raționament-construirea-capacităților","sections":[],"depth":3},{"title":"Faza de Eșantionare prin Respingere (Controlul Calității)","local":"faza-de-eșantionare-prin-respingere-controlul-calității","sections":[],"depth":3},{"title":"Faza RL Diversă (Alinierea Largă)","local":"faza-rl-diversă-alinierea-largă","sections":[],"depth":3}],"depth":2},{"title":"Algoritmul: Optimizarea Relativă a Politicii de Grup (GRPO)","local":"algoritmul-optimizarea-relativă-a-politicii-de-grup-grpo","sections":[{"title":"Formarea Grupurilor: Crearea de Multiple Soluții","local":"formarea-grupurilor-crearea-de-multiple-soluții","sections":[],"depth":3},{"title":"Învățarea Preferințelor: Înțelegerea Ce Face o Soluție Bună","local":"învățarea-preferințelor-înțelegerea-ce-face-o-soluție-bună","sections":[],"depth":3},{"title":"Optimizarea: Învățarea din Experiență","local":"optimizarea-învățarea-din-experiență","sections":[],"depth":3},{"title":"Algoritmul GRPO în Pseudocod","local":"algoritmul-grpo-în-pseudocod","sections":[],"depth":3}],"depth":2},{"title":"Rezultate și Impact","local":"rezultate-și-impact","sections":[],"depth":2},{"title":"Limitări și Provocări ale GRPO","local":"limitări-și-provocări-ale-grpo","sections":[],"depth":2},{"title":"Concluzie","local":"concluzie","sections":[],"depth":2},{"title":"Quiz","local":"quiz","sections":[{"title":"1. Care este principala inovație a lucrării DeepSeek R1?","local":"1-care-este-principala-inovație-a-lucrării-deepseek-r1","sections":[],"depth":3},{"title":"2. Care sunt cele patru faze ale procesului de antrenare DeepSeek R1?","local":"2-care-sunt-cele-patru-faze-ale-procesului-de-antrenare-deepseek-r1","sections":[],"depth":3},{"title":"3. Ce este fenomenul ‘Momentul Aha’ în antrenarea R1-Zero?","local":"3-ce-este-fenomenul-momentul-aha-în-antrenarea-r1-zero","sections":[],"depth":3},{"title":"4. Cum funcționează formarea grupurilor în GRPO?","local":"4-cum-funcționează-formarea-grupurilor-în-grpo","sections":[],"depth":3},{"title":"5. Care este diferența cheie între DeepSeek-R1-Zero și DeepSeek-R1?","local":"5-care-este-diferența-cheie-între-deepseek-r1-zero-și-deepseek-r1","sections":[],"depth":3}],"depth":2}],"depth":1}"> | |
| <link href="/docs/course/pr_1069/rum/_app/immutable/assets/0.e3b0c442.css" rel="modulepreload"> | |
| <link rel="modulepreload" href="/docs/course/pr_1069/rum/_app/immutable/entry/start.1de7c3d2.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1069/rum/_app/immutable/chunks/scheduler.37c15a92.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1069/rum/_app/immutable/chunks/singletons.e13b7dfd.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1069/rum/_app/immutable/chunks/index.18351ede.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1069/rum/_app/immutable/chunks/paths.e130b7b0.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1069/rum/_app/immutable/entry/app.1f82014c.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1069/rum/_app/immutable/chunks/index.2bf4358c.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1069/rum/_app/immutable/nodes/0.3c83e1ab.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1069/rum/_app/immutable/chunks/each.e59479a4.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1069/rum/_app/immutable/nodes/29.e264e2b6.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1069/rum/_app/immutable/chunks/Tip.363c041f.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1069/rum/_app/immutable/chunks/CodeBlock.4e987730.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1069/rum/_app/immutable/chunks/Question.e61af2ef.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1069/rum/_app/immutable/chunks/stores.cb4752a8.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1069/rum/_app/immutable/chunks/getInferenceSnippets.24b50994.js"><!-- HEAD_svelte-u9bgzb_START --><meta name="hf:doc:metadata" content="{"title":"Înțelegerea Lucrării DeepSeek R1","local":"înțelegerea-lucrării-deepseek-r1","sections":[{"title":"Momentul Revoluționar ‘Aha’","local":"momentul-revoluționar-aha","sections":[],"depth":2},{"title":"Procesul de Antrenare","local":"procesul-de-antrenare","sections":[{"title":"Faza de Pornire la Rece (Fundația Calității)","local":"faza-de-pornire-la-rece-fundația-calității","sections":[],"depth":3},{"title":"Faza RL de Raționament (Construirea Capacităților)","local":"faza-rl-de-raționament-construirea-capacităților","sections":[],"depth":3},{"title":"Faza de Eșantionare prin Respingere (Controlul Calității)","local":"faza-de-eșantionare-prin-respingere-controlul-calității","sections":[],"depth":3},{"title":"Faza RL Diversă (Alinierea Largă)","local":"faza-rl-diversă-alinierea-largă","sections":[],"depth":3}],"depth":2},{"title":"Algoritmul: Optimizarea Relativă a Politicii de Grup (GRPO)","local":"algoritmul-optimizarea-relativă-a-politicii-de-grup-grpo","sections":[{"title":"Formarea Grupurilor: Crearea de Multiple Soluții","local":"formarea-grupurilor-crearea-de-multiple-soluții","sections":[],"depth":3},{"title":"Învățarea Preferințelor: Înțelegerea Ce Face o Soluție Bună","local":"învățarea-preferințelor-înțelegerea-ce-face-o-soluție-bună","sections":[],"depth":3},{"title":"Optimizarea: Învățarea din Experiență","local":"optimizarea-învățarea-din-experiență","sections":[],"depth":3},{"title":"Algoritmul GRPO în Pseudocod","local":"algoritmul-grpo-în-pseudocod","sections":[],"depth":3}],"depth":2},{"title":"Rezultate și Impact","local":"rezultate-și-impact","sections":[],"depth":2},{"title":"Limitări și Provocări ale GRPO","local":"limitări-și-provocări-ale-grpo","sections":[],"depth":2},{"title":"Concluzie","local":"concluzie","sections":[],"depth":2},{"title":"Quiz","local":"quiz","sections":[{"title":"1. Care este principala inovație a lucrării DeepSeek R1?","local":"1-care-este-principala-inovație-a-lucrării-deepseek-r1","sections":[],"depth":3},{"title":"2. Care sunt cele patru faze ale procesului de antrenare DeepSeek R1?","local":"2-care-sunt-cele-patru-faze-ale-procesului-de-antrenare-deepseek-r1","sections":[],"depth":3},{"title":"3. Ce este fenomenul ‘Momentul Aha’ în antrenarea R1-Zero?","local":"3-ce-este-fenomenul-momentul-aha-în-antrenarea-r1-zero","sections":[],"depth":3},{"title":"4. Cum funcționează formarea grupurilor în GRPO?","local":"4-cum-funcționează-formarea-grupurilor-în-grpo","sections":[],"depth":3},{"title":"5. Care este diferența cheie între DeepSeek-R1-Zero și DeepSeek-R1?","local":"5-care-este-diferența-cheie-între-deepseek-r1-zero-și-deepseek-r1","sections":[],"depth":3}],"depth":2}],"depth":1}"><!-- HEAD_svelte-u9bgzb_END --> <p></p> <h1 class="relative group"><a id="înțelegerea-lucrării-deepseek-r1" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#înțelegerea-lucrării-deepseek-r1"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Înțelegerea Lucrării DeepSeek R1</span></h1> <p data-svelte-h="svelte-1up2llh">Acest capitol este un curs intensiv de lectură a unei lucrări. Vom parcurge lucrarea în termeni simpli, și apoi vom descompune conceptele cheie și concluziile.</p> <p data-svelte-h="svelte-154tkb9">DeepSeek R1 reprezintă un progres semnificativ în antrenarea modelelor de limbaj, în special în dezvoltarea capacităților de raționament prin învățarea prin întărire. Lucrarea introduce un nou algoritm de învățare prin întărire numit Optimizarea Relativă a Politicii de Grup (GRPO).</p> <p data-svelte-h="svelte-twqc21"><img src="https://huggingface.co/reasoning-course/images/resolve/main/grpo/4.png" alt="DeepSeek R1 Overview"></p> <p data-svelte-h="svelte-j2a4x9">În următorul capitol, vom construi pe această cunoaștere și vom implementa GRPO în practică.</p> <p data-svelte-h="svelte-ds33jb">Obiectivul inițial al lucrării a fost să exploreze dacă învățarea prin întărire pură ar putea dezvolta capacități de raționament fără ajustarea fină supervizată.</p> <div class="course-tip bg-gradient-to-br dark:bg-gradient-to-r before:border-green-500 dark:before:border-green-800 from-green-50 dark:from-gray-900 to-white dark:to-gray-950 border border-green-50 text-green-700 dark:text-gray-400"><p data-svelte-h="svelte-5kywjs">Până la acel moment, toate LLM-urile populare necesitau o anumită ajustare fină supervizată, pe care am explorat-o în <a href="/course/chapter11/1">capitolul 11</a>.</p></div> <h2 class="relative group"><a id="momentul-revoluționar-aha" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#momentul-revoluționar-aha"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Momentul Revoluționar ‘Aha’</span></h2> <p data-svelte-h="svelte-1xpbuvl"><img src="https://huggingface.co/reasoning-course/images/resolve/main/grpo/9.png" alt="The 'Aha Moment'"></p> <p data-svelte-h="svelte-puzsmu">Una dintre cele mai remarcabile descoperiri în antrenarea R1-Zero a fost apariția unui fenomen cunoscut ca “Momentul Aha.” Acest fenomen este oarecum similar cu modul în care oamenii experimentează realizări bruște în timpul rezolvării problemelor. Iată cum funcționează:</p> <ol data-svelte-h="svelte-iqagb9"><li>Încercare Inițială: Modelul face o încercare inițială de a rezolva o problemă</li> <li>Recunoaștere: Recunoaște erori potențiale sau inconsistențe</li> <li>Auto-Corecție: Își ajustează abordarea bazat pe această recunoaștere</li> <li>Explicație: Poate explica de ce noua abordare este mai bună</li></ol> <p data-svelte-h="svelte-ebegi5">Această descoperire rezonează cu cursanții și se simte ca un moment “Eureka”. Demonstrează învățarea mai degrabă decât memorarea simplă, așa că să ne luăm un moment să ne imaginăm cum se simte să ai un moment “Aha”.</p> <p data-svelte-h="svelte-1ks3d4m">De exemplu, imaginează-ți că încerci să rezolvi un puzzle:</p> <ul data-svelte-h="svelte-n2gfmx"><li>Prima încercare: “Această piesă ar trebui să meargă aici bazat pe culoare”</li> <li>Recunoaștere: “Dar stai, forma nu se potrivește destul de bine”</li> <li>Corecție: “Ah, de fapt merge acolo”</li> <li>Explicație: “Pentru că atât culoarea cât și modelul de formă se potrivesc în această poziție”</li></ul> <p data-svelte-h="svelte-7ezkjj">Această abilitate a apărut natural din antrenamentul RL, fără a fi programată explicit, demonstrând învățarea mai degrabă decât memorarea simplă a unui proces din datele de antrenare.</p> <p data-svelte-h="svelte-76gbdl">Cel mai ușor mod de a înțelege momentul ‘Aha’ este să-l vezi în acțiune. Să aruncăm o privire la un exemplu. În chat-ul de mai jos, întrebăm modelul să rezolve o problemă și UI-ul arată procesul de gândire al modelului pe măsură ce rezolvă problema.</p> <iframe src="https://reasoning-course-deepseek-ai-deepseek-r1-distill-0f5fad4.hf.space/" frameborder="0" width="850" height="450"></iframe> <p data-svelte-h="svelte-14slx9l">Dacă vrei să încerci Deepseek’s R1, poți de asemenea să consulți <a href="https://huggingface.co/chat/models/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B" rel="nofollow">Hugging Chat</a>.</p> <h2 class="relative group"><a id="procesul-de-antrenare" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#procesul-de-antrenare"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Procesul de Antrenare</span></h2> <p data-svelte-h="svelte-17jak63">Antrenarea R1 a fost un proces cu mai multe faze. Să descompunem fazele și inovațiile cheie în fiecare fază.</p> <p data-svelte-h="svelte-1gy8swh">Procesul final rezultă în două modele:</p> <ul data-svelte-h="svelte-1gykvuk"><li>DeepSeek-R1-Zero: Un model antrenat pur folosind învățarea prin întărire.</li> <li>DeepSeek-R1: Un model care construiește pe fundația DeepSeek-R1-Zero și adaugă ajustare fină supervizată.</li></ul> <table data-svelte-h="svelte-1ph8m7t"><thead><tr><th>Caracteristică</th> <th>DeepSeek-R1-Zero</th> <th>DeepSeek-R1</th></tr></thead> <tbody><tr><td>Abordarea de Antrenare</td> <td>RL Pur</td> <td>Multi-fază (SFT + RL)</td></tr> <tr><td>Ajustare Fină</td> <td>Niciuna</td> <td>Ajustare fină supervizată</td></tr> <tr><td>Capacitate de Raționament</td> <td>Emergentă</td> <td>Îmbunătățită</td></tr> <tr><td>Performanța AIME</td> <td>71.0%</td> <td>79.8%</td></tr> <tr><td>Caracteristici Cheie</td> <td>Raționament puternic dar probleme de lizibilitate</td> <td>Consistență și lizibilitate mai bună a limbajului</td></tr></tbody></table> <p data-svelte-h="svelte-11ih738">În timp ce DeepSeek-R1-Zero demonstrează potențialul învățării prin întărire pure pentru dezvoltarea capacităților de raționament, DeepSeek-R1 construiește pe această fundație cu o abordare mai echilibrată care prioritizează atât performanța de raționament cât și utilizabilitatea.</p> <p data-svelte-h="svelte-1rib1j9">Procesul de antrenare implică patru faze:</p> <ol data-svelte-h="svelte-185298r"><li>Faza de Pornire la Rece</li> <li>Faza RL de Raționament</li> <li>Faza de Eșantionare prin Respingere</li> <li>Faza RL Diversă</li></ol> <p data-svelte-h="svelte-w8k4qz">Să descompunem fiecare fază:</p> <h3 class="relative group"><a id="faza-de-pornire-la-rece-fundația-calității" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#faza-de-pornire-la-rece-fundația-calității"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Faza de Pornire la Rece (Fundația Calității)</span></h3> <p data-svelte-h="svelte-6lbybj"><img src="https://huggingface.co/reasoning-course/images/resolve/main/grpo/5.png" alt="Cold Start Phase"></p> <p data-svelte-h="svelte-fnu90r">Această fază este concepută pentru a stabili o fundație solidă pentru lizibilitatea și calitatea răspunsurilor modelului. Folosește un set de date mic de eșantioane de înaltă calitate de la R1-Zero pentru a ajusta fin modelul V3-Base. Începând cu modelul DeepSeek-V3-Base, echipa a folosit mii de eșantioane validate, de înaltă calitate de la R1-Zero pentru ajustarea fină supervizată. Această abordare inovatoare folosește un set de date mic dar de înaltă calitate pentru a stabili o lizibilitate de bază puternică și calitatea răspunsurilor.</p> <h3 class="relative group"><a id="faza-rl-de-raționament-construirea-capacităților" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#faza-rl-de-raționament-construirea-capacităților"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Faza RL de Raționament (Construirea Capacităților)</span></h3> <p data-svelte-h="svelte-1n73fn0"><img src="https://huggingface.co/reasoning-course/images/resolve/main/grpo/6.png" alt="Reasoning RL Phase"></p> <p data-svelte-h="svelte-1sp11g6">Faza RL de Raționament se concentrează pe dezvoltarea capacităților de raționament de bază în domenii incluzând matematica, codarea, știința și logica. Această fază folosește învățarea prin întărire bazată pe reguli, cu recompense direct legate de corectitudinea soluției.</p> <p data-svelte-h="svelte-9ipik5">Crucial, toate sarcinile din această fază sunt ‘verificabile’ deci putem verifica dacă răspunsul modelului este corect sau nu. De exemplu, în cazul matematicii, putem verifica dacă răspunsul modelului este corect folosind un rezolvitor matematic.</p> <p data-svelte-h="svelte-1cnn46s">Ceea ce face această fază deosebit de inovatoare este abordarea sa de optimizare directă care elimină nevoia unui model de recompensă separat, simplificând procesul de antrenare.</p> <h3 class="relative group"><a id="faza-de-eșantionare-prin-respingere-controlul-calității" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#faza-de-eșantionare-prin-respingere-controlul-calității"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Faza de Eșantionare prin Respingere (Controlul Calității)</span></h3> <p data-svelte-h="svelte-17yoxfz"><img src="https://huggingface.co/reasoning-course/images/resolve/main/grpo/7.png" alt="Rejection Sampling Phase"></p> <p data-svelte-h="svelte-1ry8bjc">În timpul Fazei de Eșantionare prin Respingere, modelul generează eșantioane care sunt apoi filtrate printr-un proces de control al calității. DeepSeek-V3 servește ca judecător al calității, evaluând rezultatele într-un domeniu larg care se extinde dincolo de sarcinile pure de raționament. Datele filtrate sunt apoi folosite pentru ajustarea fină supervizată. Inovația acestei faze constă în abilitatea sa de a combina multiple semnale de calitate pentru a asigura rezultate de înalt standard.</p> <h3 class="relative group"><a id="faza-rl-diversă-alinierea-largă" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#faza-rl-diversă-alinierea-largă"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Faza RL Diversă (Alinierea Largă)</span></h3> <p data-svelte-h="svelte-wb3g6q"><img src="https://huggingface.co/reasoning-course/images/resolve/main/grpo/8.png" alt="Diverse RL Phase"></p> <p data-svelte-h="svelte-9kxbq6">Faza finală RL Diversă abordează multiple tipuri de sarcini folosind o abordare hibridă sofisticată. Pentru sarcinile deterministe, folosește recompense bazate pe reguli, în timp ce sarcinile subiective sunt evaluate prin feedback LLM. Această fază își propune să atingă alinierea preferințelor umane prin abordarea sa inovatoare de recompense hibride, combinând precizia sistemelor bazate pe reguli cu flexibilitatea evaluării modelelor de limbaj.</p> <h2 class="relative group"><a id="algoritmul-optimizarea-relativă-a-politicii-de-grup-grpo" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#algoritmul-optimizarea-relativă-a-politicii-de-grup-grpo"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Algoritmul: Optimizarea Relativă a Politicii de Grup (GRPO)</span></h2> <p data-svelte-h="svelte-l5insa">Acum că avem o înțelegere bună a procesului de antrenare, să privim algoritmul care a fost folosit pentru a antrena modelul.</p> <p data-svelte-h="svelte-8etxds">Autorii descriu GRPO ca o descoperire în ajustarea fină a modelelor:</p> <p data-svelte-h="svelte-1w1t5mr"><img src="https://huggingface.co/reasoning-course/images/resolve/main/grpo/10.png" alt="GRPO Process"></p> <p data-svelte-h="svelte-23u1x3">Noutatea GRPO constă în capacitatea sa de a “optimiza direct pentru rectificarea preferințelor.” Aceasta semnifică o rută mai directă și eficientă către alinierea modelului cu rezultatele dorite, contrastând cu algoritmii tradiționali de Învățare prin Întărire precum PPO. Să descompunem cum funcționează GRPO prin cele trei componente principale ale sale.</p> <h3 class="relative group"><a id="formarea-grupurilor-crearea-de-multiple-soluții" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#formarea-grupurilor-crearea-de-multiple-soluții"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Formarea Grupurilor: Crearea de Multiple Soluții</span></h3> <p data-svelte-h="svelte-lr6nqp">Primul pas în GRPO este remarcabil de intuitiv - este similar cu modul în care un student ar putea rezolva o problemă dificilă încercând multiple abordări. Când primește o comandă, modelul nu generează doar un răspuns; în schimb, creează multiple încercări de a rezolva aceeași problemă (de obicei 4, 8 sau 16 încercări diferite).</p> <p data-svelte-h="svelte-vrx8p2">Imaginează-ți că înveți un model să rezolve probleme de matematică. Pentru o întrebare despre numărarea puilor de pe o fermă, modelul ar putea genera mai multe soluții diferite:</p> <ul data-svelte-h="svelte-gpstr0"><li>O soluție ar putea descompune problema pas cu pas: prima numărarea puilor totali, apoi scăderea cocoșilor, și în final contabilizarea găinilor care nu produc ouă</li> <li>Altă soluție ar putea folosi o abordare diferită dar la fel de validă</li> <li>Unele încercări ar putea conține greșeli sau soluții mai puțin eficiente</li></ul> <p data-svelte-h="svelte-ukrjd9">Toate aceste încercări sunt păstrate împreună ca grup, aproape ca să ai mai mulți studenti cu soluții de comparat și din care să înveți.</p> <p data-svelte-h="svelte-149l4cn"><img src="https://huggingface.co/reasoning-course/images/resolve/main/grpo/11.jpg" alt="Group Formation"></p> <h3 class="relative group"><a id="învățarea-preferințelor-înțelegerea-ce-face-o-soluție-bună" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#învățarea-preferințelor-înțelegerea-ce-face-o-soluție-bună"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Învățarea Preferințelor: Înțelegerea Ce Face o Soluție Bună</span></h3> <p data-svelte-h="svelte-1lcice">Aici este unde GRPO cu adevărat strălucește în simplitatea sa. Spre deosebire de alte metode pentru RLHF care întotdeauna necesită un model de recompensă separat pentru a prezice cât de bună ar putea fi o soluție, GRPO poate folosi orice funcție sau model pentru a evalua calitatea unei soluții. De exemplu, am putea folosi o funcție de lungime pentru a recompensa răspunsuri mai scurte sau un rezolvitor matematic pentru a recompensa soluții matematice precise.</p> <p data-svelte-h="svelte-eemhk3">Procesul de evaluare privește la diverse aspecte ale fiecărei soluții:</p> <ul data-svelte-h="svelte-1e77glc"><li>Este răspunsul final corect?</li> <li>A urmat soluția formatarea corespunzătoare (cum ar fi folosirea tag-urilor XML corecte)?</li> <li>Se potrivește raționamentul cu răspunsul oferit?</li></ul> <p data-svelte-h="svelte-fklas2">Ceea ce face această abordare deosebit de inteligentă este modul în care gestionează evaluarea. În loc să dea doar scoruri absolute, GRPO normalizează recompensele în cadrul fiecărui grup. Folosește o formulă simplă dar eficientă pentru estimarea avantajului relativ al grupului:</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg class="" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg> <div class="absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0"><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent; "></div> Copied</div></button></div> <pre class=""><!-- HTML_TAG_START --><span class="hljs-variable">Avantaj</span> = (<span class="hljs-variable">recompens</span>ă - <span class="hljs-function"><span class="hljs-title">mean</span>(<span class="hljs-variable">recompense_grup</span>)) / <span class="hljs-title">std</span>(<span class="hljs-variable">recompense_grup</span>)</span><!-- HTML_TAG_END --></pre></div> <p data-svelte-h="svelte-163dfc7"><img src="https://huggingface.co/reasoning-course/images/resolve/main/grpo/12.jpg" alt="Preference Learning"></p> <p data-svelte-h="svelte-1mg357a">Această normalizare este ca să notezi pe o curbă, dar pentru AI. Ajută modelul să înțeleagă care soluții din cadrul grupului au fost mai bune sau mai rele comparativ cu colegii lor, mai degrabă decât să se uite doar la scoruri absolute.</p> <h3 class="relative group"><a id="optimizarea-învățarea-din-experiență" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#optimizarea-învățarea-din-experiență"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Optimizarea: Învățarea din Experiență</span></h3> <p data-svelte-h="svelte-1ov9rjb">Pasul final este unde GRPO îi învață modelul să se îmbunătățească bazat pe ceea ce a învățat din evaluarea grupului de soluții. Acest proces este atât puternic cât și stabil, folosind două principii principale:</p> <ol data-svelte-h="svelte-1qhnvhy"><li>Încurajează modelul să producă mai multe soluții ca cele de succes în timp ce se îndepărtează de abordările mai puțin eficiente</li> <li>Include un mecanism de siguranță (numit penalitate de divergență KL) care previne modelul să se schimbe prea drastic dintr-o dată</li></ol> <p data-svelte-h="svelte-r9tkfu">Această abordare se dovedește mai stabilă decât metodele tradiționale pentru că:</p> <ul data-svelte-h="svelte-1gvej5e"><li>Se uită la multiple soluții împreună mai degrabă decât să compare doar două pe rând</li> <li>Normalizarea bazată pe grup ajută la prevenirea problemelor cu scalarea recompenselor</li> <li>Penalitatea KL acționează ca o plasă de siguranță, asigurându-se că modelul nu uită ce știa deja în timp ce învață lucruri noi</li></ul> <div class="course-tip bg-gradient-to-br dark:bg-gradient-to-r before:border-green-500 dark:before:border-green-800 from-green-50 dark:from-gray-900 to-white dark:to-gray-950 border border-green-50 text-green-700 dark:text-gray-400"><p data-svelte-h="svelte-1bh9i6x">Inovațiile cheie ale GRPO sunt:</p> <ul data-svelte-h="svelte-etnefu"><li>Învățarea direct din orice funcție sau model, eliminând dependența de un model de recompensă separat.</li> <li>Învățarea bazată pe grup, care este mai stabilă și eficientă decât metodele tradiționale cum ar fi comparațiile perechi.</li></ul></div> <p data-svelte-h="svelte-1ascbk0">Această descompunere este complexă, dar concluzia cheie este că GRPO este o modalitate mai eficientă și stabilă de a antrena un model să raționeze.</p> <h3 class="relative group"><a id="algoritmul-grpo-în-pseudocod" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#algoritmul-grpo-în-pseudocod"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Algoritmul GRPO în Pseudocod</span></h3> <p data-svelte-h="svelte-wjlv5h">Acum că înțelegem componentele cheie ale GRPO, să privim algoritmul în pseudocod. Aceasta este o versiune simplificată a algoritmului, dar surprinde ideile cheie.</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg class="" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg> <div class="absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0"><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent; "></div> Copied</div></button></div> <pre class=""><!-- HTML_TAG_START -->Input: | |
| - initial_policy: Modelul de început care va fi antrenat | |
| - reward_function: Funcția care evaluează rezultatele | |
| - training_prompts: <span class="hljs-keyword">Set</span> de <span class="hljs-comment">exemple de antrenare</span> | |
| - group_size: Numărul <span class="hljs-comment">de rezultate per comand</span>ă <span class="hljs-comment">(de obicei 4-16)</span> | |
| Algoritm <span class="hljs-comment">GRPO:</span> | |
| 1. Pentru <span class="hljs-comment">fiecare itera</span>ț<span class="hljs-comment">ie de antrenare:</span> | |
| a. Setează reference_policy <span class="hljs-comment">= initial_policy (captura politica actual</span>ă<span class="hljs-comment">)</span> | |
| b. Pentru <span class="hljs-comment">fiecare comand</span>ă î<span class="hljs-comment">n lot:</span> | |
| i. Generează group_size <span class="hljs-comment">rezultate diferite folosind initial_policy</span> | |
| ii. Calculează recompensele <span class="hljs-comment">pentru fiecare rezultat folosind reward_function</span> | |
| iii. Normalizează recompensele î<span class="hljs-comment">n cadrul grupului:</span> | |
| normalized_advantage <span class="hljs-comment">= (recompens</span>ă <span class="hljs-comment">- mean(recompense))</span> / std(recompense) | |
| iv. Actualizează politica maximizând rația tăiată: | |
| <span class="hljs-built_in">min</span>(prob_ratio * normalized_advantage, | |
| clip(prob_ratio, <span class="hljs-number">1</span>-epsilon, <span class="hljs-number">1</span>+epsilon) * normalized_advantage) | |
| - kl_weight * KL(initial_policy || reference_policy) | |
| unde prob_ratio este current_prob / <span class="hljs-comment">reference_prob</span> | |
| Output: Model <span class="hljs-comment">de politic</span>ă <span class="hljs-comment">optimizat</span><!-- HTML_TAG_END --></pre></div> <p data-svelte-h="svelte-6658ff">Acest algoritm arată cum GRPO combină estimarea avantajului bazat pe grup cu optimizarea politicii menținând în același timp stabilitatea prin tăiere și constrângeri de divergență KL.</p> <h2 class="relative group"><a id="rezultate-și-impact" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#rezultate-și-impact"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Rezultate și Impact</span></h2> <p data-svelte-h="svelte-mcevdd">Acum că am explorat algoritmul, să privim rezultatele. DeepSeek R1 atinge performanțe de ultimă generație în multiple domenii:</p> <table data-svelte-h="svelte-jkcxnw"><thead><tr><th>Domeniu</th> <th>Rezultate Cheie</th></tr></thead> <tbody><tr><td>Matematică</td> <td>• 79.8% pe AIME 2024<br>• 97.3% pe MATH-500</td></tr> <tr><td>Codare</td> <td>• Rating Codeforces: 2029<br>• LiveCodeBench: 65.9%</td></tr> <tr><td>Cunoștințe Generale</td> <td>• MMLU: 90.8%<br>• GPQA Diamond: 71.5%</td></tr> <tr><td>Sarcini de Limbaj</td> <td>• AlpacaEval 2.0: 87.6% rată de câștig<br>• FRAMES: 82.5%</td></tr></tbody></table> <p data-svelte-h="svelte-1ljr6nd">Impactul practic al modelului se extinde dincolo de benchmark-uri prin prețurile sale cost-eficiente ale API-ului ($0.14 per milion de token-uri de intrare) și distilarea cu succes a modelului în diverse dimensiuni (1.5B la 70B parametri). În mod notabil, chiar și modelul de 7B atinge 55.5% pe AIME 2024, în timp ce versiunea distilată de 70B se apropie de performanța o1-mini pe MATH-500 (94.5%), demonstrând conservarea eficientă a capacităților la diferite scale.</p> <h2 class="relative group"><a id="limitări-și-provocări-ale-grpo" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#limitări-și-provocări-ale-grpo"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Limitări și Provocări ale GRPO</span></h2> <p data-svelte-h="svelte-1yn2hod">În timp ce GRPO reprezintă un progres semnificativ în învățarea prin întărire pentru modelele de limbaj, este important să înțelegem limitările și provocările sale:</p> <ul data-svelte-h="svelte-1gahle6"><li><strong>Costul Generării</strong>: Generarea de multiple completări (4-16) pentru fiecare prompt crește cerințele computaționale comparativ cu metodele care generează doar una sau două completări.</li> <li><strong>Constrângerile Dimensiunii Lotului</strong>: Nevoia de a procesa grupuri de completări împreună poate limita dimensiunile eficiente ale loturilor, adăugând complexitate procesului de antrenare și potențial încetinind antrenarea.</li> <li><strong>Designul Funcției de Recompensă</strong>: Calitatea antrenamentului depinde foarte mult de funcții de recompensă bine concepute. Recompensele prost concepute pot duce la comportamente neintenționate sau optimizarea pentru obiectivele greșite.</li> <li><strong>Compromisurile Dimensiunii Grupului</strong>: Alegerea dimensiunii optime a grupului implică echilibrarea diversității soluțiilor împotriva costului computațional. Prea puține eșantioane s-ar putea să nu ofere suficientă diversitate, în timp ce prea multe cresc timpul de antrenare și cerințele de resurse.</li> <li><strong>Reglarea Divergenței KL</strong>: Găsirea echilibrului potrivit pentru penalitatea divergenței KL necesită reglare atentă - prea mare și modelul nu va învăța eficient, prea mică și poate devia prea departe de capacitățile sale inițiale.</li></ul> <h2 class="relative group"><a id="concluzie" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#concluzie"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Concluzie</span></h2> <p data-svelte-h="svelte-jrw5p0">Lucrarea DeepSeek R1 reprezintă o piatră de hotar semnificativă în dezvoltarea modelelor de limbaj. Algoritmul Group Relative Policy Optimization (GRPO) a demonstrat că învățarea prin întărire pură poate într-adevăr dezvolta capacități puternice de raționament, provocând presupunerile anterioare despre necesitatea ajustării fine supervizate.</p> <p data-svelte-h="svelte-1o0w31p">Poate cel mai important, DeepSeek R1 a arătat că este posibil să echilibrezi performanța înaltă cu considerații practice precum cost-eficiența și accesibilitatea. Distilarea cu succes a capacităților modelului în diferite dimensiuni, de la 1.5B la 70B parametri, demonstrează o cale înainte pentru a face capacitățile AI avansate mai larg disponibile.</p> <hr> <p data-svelte-h="svelte-qo796">În următoarea secțiune, vom explora implementări practice ale acestor concepte, concentrându-ne pe cum să folosești GRPO și RFTrans în propriile tale proiecte de dezvoltare a modelelor de limbaj.</p> <h2 class="relative group"><a id="quiz" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#quiz"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Quiz</span></h2> <h3 class="relative group"><a id="1-care-este-principala-inovație-a-lucrării-deepseek-r1" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#1-care-este-principala-inovație-a-lucrării-deepseek-r1"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>1. Care este principala inovație a lucrării DeepSeek R1?</span></h3> <div><form><label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="0"> <!-- HTML_TAG_START -->Algoritmul GRPO care permite învățarea din preferințe cu și fără un model de recompensă<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="1"> <!-- HTML_TAG_START -->Folosirea mai multor GPU-uri pentru antrenare decât orice model anterior<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="2"> <!-- HTML_TAG_START -->Crearea unui model de limbaj mai mare decât cele existente<!-- HTML_TAG_END --></label> <div class="flex flex-row items-center mt-3"><button class="btn px-4 mr-4" type="submit" disabled>Submit</button> </div></form></div> <h3 class="relative group"><a id="2-care-sunt-cele-patru-faze-ale-procesului-de-antrenare-deepseek-r1" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#2-care-sunt-cele-patru-faze-ale-procesului-de-antrenare-deepseek-r1"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>2. Care sunt cele patru faze ale procesului de antrenare DeepSeek R1?</span></h3> <div><form><label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="0"> <!-- HTML_TAG_START -->Pornire la Rece, RL de Raționament, Eșantionare prin Respingere și RL Diversă<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="1"> <!-- HTML_TAG_START -->Pre-antrenare, Ajustare Fină, Testare și Implementare<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="2"> <!-- HTML_TAG_START -->Colectarea Datelor, Antrenarea Modelului, Evaluarea și Optimizarea<!-- HTML_TAG_END --></label> <div class="flex flex-row items-center mt-3"><button class="btn px-4 mr-4" type="submit" disabled>Submit</button> </div></form></div> <h3 class="relative group"><a id="3-ce-este-fenomenul-momentul-aha-în-antrenarea-r1-zero" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#3-ce-este-fenomenul-momentul-aha-în-antrenarea-r1-zero"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>3. Ce este fenomenul ‘Momentul Aha’ în antrenarea R1-Zero?</span></h3> <div><form><label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="0"> <!-- HTML_TAG_START -->Un proces în care modelul recunoaște erorile, se auto-corectează și explică corecturile sale<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="1"> <!-- HTML_TAG_START -->Punctul în care modelul atinge performanța la nivel uman<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="2"> <!-- HTML_TAG_START -->Când modelul își completează procesul de antrenare<!-- HTML_TAG_END --></label> <div class="flex flex-row items-center mt-3"><button class="btn px-4 mr-4" type="submit" disabled>Submit</button> </div></form></div> <h3 class="relative group"><a id="4-cum-funcționează-formarea-grupurilor-în-grpo" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#4-cum-funcționează-formarea-grupurilor-în-grpo"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>4. Cum funcționează formarea grupurilor în GRPO?</span></h3> <div><form><label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="0"> <!-- HTML_TAG_START -->Generează multiple soluții (4-16) pentru aceeași problemă și le evaluează împreună<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="1"> <!-- HTML_TAG_START -->Combină multiple modele într-un ansamblu<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="2"> <!-- HTML_TAG_START -->Împarte datele de antrenare în grupuri diferite<!-- HTML_TAG_END --></label> <div class="flex flex-row items-center mt-3"><button class="btn px-4 mr-4" type="submit" disabled>Submit</button> </div></form></div> <h3 class="relative group"><a id="5-care-este-diferența-cheie-între-deepseek-r1-zero-și-deepseek-r1" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#5-care-este-diferența-cheie-între-deepseek-r1-zero-și-deepseek-r1"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>5. Care este diferența cheie între DeepSeek-R1-Zero și DeepSeek-R1?</span></h3> <div><form><label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="0"> <!-- HTML_TAG_START -->R1-Zero folosește RL pur în timp ce R1 combină RL cu ajustarea fină supervizată<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="1"> <!-- HTML_TAG_START -->R1-Zero este mai mic decât R1<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="2"> <!-- HTML_TAG_START -->R1-Zero a fost antrenat pe mai puține date<!-- HTML_TAG_END --></label> <div class="flex flex-row items-center mt-3"><button class="btn px-4 mr-4" type="submit" disabled>Submit</button> </div></form></div> <a class="!text-gray-400 !no-underline text-sm flex items-center not-prose mt-4" href="https://github.com/huggingface/course/blob/main/chapters/rum/chapter12/3.mdx" target="_blank"><span data-svelte-h="svelte-1kd6by1"><</span> <span data-svelte-h="svelte-x0xyl0">></span> <span data-svelte-h="svelte-1dajgef"><span class="underline ml-1.5">Update</span> on GitHub</span></a> <p></p> | |
| <script> | |
| { | |
| __sveltekit_1ftlxhy = { | |
| assets: "/docs/course/pr_1069/rum", | |
| base: "/docs/course/pr_1069/rum", | |
| env: {} | |
| }; | |
| const element = document.currentScript.parentElement; | |
| const data = [null,null]; | |
| Promise.all([ | |
| import("/docs/course/pr_1069/rum/_app/immutable/entry/start.1de7c3d2.js"), | |
| import("/docs/course/pr_1069/rum/_app/immutable/entry/app.1f82014c.js") | |
| ]).then(([kit, app]) => { | |
| kit.start(app, element, { | |
| node_ids: [0, 29], | |
| data, | |
| form: null, | |
| error: null | |
| }); | |
| }); | |
| } | |
| </script> | |
Xet Storage Details
- Size:
- 62.4 kB
- Xet hash:
- 206d6113b7817e87e8014b1d8c5a975beeda5b75a2ea5e04b4daa17698c77f98
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.