NVIDIA-Forscher haben gemeinsam mit der Princeton University und der University of Maryland PivotOPDvorgestellt, eine On-Policy-Destillationsmethode für Multi-Turn-LLM-Agenten. PivotOPD-On-Policy-Destillation trainiert einen Agenten, seinen schädlichsten frühen Fehler zu vermeiden und sich zu erholen, wenn er dennoch passiert. Gegen 13 Baselines erzielt sie das beste Ergebnis im Durchschnitt auf ALFWorld, WebShop und Search-based QA für Qwen3-1.7B- und Qwen3-8B-Studenten. Das Fazit: Erholung ist erlernbar, und standardmäßige OPD lehrt sie selten.
TL;DR
- Größe: Eine Trainingsmethode, kein Modell. Getestet mit Qwen3-1.7B- und Qwen3-8B-Studenten sowie einem Nemotron-3.5-SFT-Studenten auf SWE-Bench Verified.
- Läuft auf: Trainiert auf NVIDIA-H100-Knoten. Fügt 0 Inferenzkosten hinzu, sodass der trainierte Agent überall dort läuft, wo sein Basismodell läuft.
- Leistung: Erster Platz bei allen 8 Durchschnitten pro Benchmark gegen 13 Baselines, über 3 Seeds hinweg.
- Bestes: Erholt sich von 72,7% der wiedergegebenen entscheidenden Fehler, gegenüber 20,3% bei standardmäßiger OPD.
- Schlechtestes: 55,9% auf ALFWorld-„Look“-Aufgaben mit dem 1.7B-Studenten, gegenüber 83,9% bei SOD.
- Fazit: Bestes: vermittelt Erholung, die rein ergebnisbasiertes RL nicht erreichen kann. Schlechtestes: hängt von wiederholbaren Umgebungen und einem Lehrer ab, dessen entscheidende Wendepunkte in 77,8% der fehlgeschlagenen Rollouts mit dem Orakel übereinstimmen.
Was ist ein entscheidender Fehler bei einem Multi-Turn-Agenten?
Ein entscheidender Fehler ist eine Aktion, die den kürzesten verbleibenden Pfad zur Erledigung einer Aufgabe verlängert oder ihn unlösbar macht. ALFWorlds symbolisches Orakel misst dies bei jedem Zug.
Über Qwen3-8B, Qwen3-30B-A3B und Qwen3-235B-A22B hinweg enthielten 59% der fehlgeschlagenen Rollouts (155 von 262) einen solchen. Der erste entscheidende Zug trat früh auf, im Median bei Zug 8 bis 12 von 30. Die Agenten verschwendeten anschließend 18 bis 21 weitere Züge, ohne sich zu erholen.
In Wiederholungen von Qwen3-8B-Fehlern erhöhte die Korrektur des entscheidenden Zugs den Erfolg von 8% auf 59%. Wurde der Fehler beibehalten und die richtige Aktion für die nächsten 2 Züge erzwungen, wurden dennoch 58% erreicht.
Warum entgeht standardmäßige On-Policy-Destillation dem?
Standardmäßige OPD senkte die Failure-Rate auf ungesehenen Daten von 79% auf 56%. Fehler nach einem entscheidenden Zug sanken nur von 51% auf 49%. Die richtige Aktion blieb bei jedem entscheidenden Zug unter einer Wahrscheinlichkeit von 1%, sodass 8 Rollouts sie selten sampeln.
Ergebnisbasiertes RL teilt diesen blinden Fleck: Wenn jeder Rollout fehlschlägt, ist der gruppenrelative Advantage 0.
Wie funktioniert PivotOPD?
PivotOPD fügt dem gruppenbasierten RL 3 Komponenten hinzu, kombiniert in einem einzigen PPO-Update.
- Pivot-Erkennung: Ein größeres Lehrermodell liest jeden Rollout und sein Ergebnis im Rückblick. Es wählt Kandidatenzüge aus und benennt bei jedem eine Gold-Aktion. Ein Zug gilt als entscheidend, wenn die Aktion des Studenten von der Gold-Aktion abweicht. Bei ALFWorld liegen die erkannten Wendepunkte in 77,8% der fehlgeschlagenen Rollouts im Durchschnitt innerhalb von 1 Zug des Orakel-Wendepunkts.
- Präventive Destillation (reverse KL): Eine eingefrorene Kopie des Studenten, mit Hinweisen auf die Gold-Aktion, bewertet die eigene Antwort des Studenten neu. Dies drängt den Studenten vom begangenen Fehler weg.
- Recovery-Destillation (Forward-KL): Nach jedem Pivot nennt die Lehrkraft eine Wiederherstellungsmaßnahme für bis zu K ...dreht sich. Der hinweisgestützte Selbst-Lehrer schreibt Recovery-Antworten, und der hinweislose Schüler trainiert auf diesen. Forward KL ist mass-covering, hebt also Aktionen hervor, die der Schüler fast nie sampelt.
Der Lehrer nennt nur Aktionen. Die Token-Level-Ziele stammen aus der eigenen angedeuteten Verteilung des Schülers.
Wie schneidet PivotOPD bei Agent-Benchmarks ab?
Mit dem 1.7B-Studenten erreicht PivotOPD durchschnittlich 73,7 % auf ALFWorld, 5,5 Punkte über SDAR. Auf Search-based QA erreicht es durchschnittlich 44,5 %, 5,9 Punkte über RLSD. Auf WebShop übertrifft es RLSD um 1,2 im Score, aber um 14,1 bei der Erfolgsquote (76,6 %).
Mit dem 8B-Schüler erreicht er 93.0 % auf ALFWorld, 47.4 % bei Search-based QA und 81.9 % Erfolg bei WebShop. Die Abstände sind kleiner, mindestens 1,8 Punkte.
Mit Qwen3-8B als eigenem Lehrer gewinnt PivotOPD weiterhin alle 3 Benchmarks mit mindestens 1,5 Punkten, im Durchschnitt 3,9.
Am SWE-Bench Verified, ein Nemotron-3.5-SFT-Schüler, der von Nemotron-3-Super unterrichtet wurde, stieg von 62.8% auf 66.0%. Standard-OPD erreichte 63.0%, und der Lehrer erzielt 73.0%.
Die Wiederherstellung ist das herausragende Ergebnis. Über 72 wiedergegebene entscheidende Fehler hinweg erholte sich PivotOPD zu 72,7 %, gegenüber 8,3 % beim Basismodell, 20,3 % beim Standard-OPD und 45,8 % beim rein präventiven Ansatz. Im Durchschnitt benötigte es 9,7 Züge zur Wiederherstellung, gegenüber einem Optimum von 6,2.
Prev</button><button class="btn" id="mtp-next">Next </button></div> </div> <div class="panel" data-p="2"> <div class="tog" id="mtp-tog"><button class="on" data-m="s">Qwen3-1.7B</button><button data-m="l">Qwen3-8B</button></div> <div id="mtp-bench"></div> <p class="muted">Durchschnittswerte über 3 Seeds aus Tabelle 1 des Papiers. Verglichen mit den stärksten Baselines. PivotOPD belegt den ersten Platz bei allen 8 Benchmark-Durchschnittswerten gegen 13 Baselines.</p> <div class="bench"><h6>SWE-Bench Verified Lösungsrate (Nemotron-3.5-SFT Student)</h6><div id="mtp-swe"></div></div> </div> <div class="panel" data-p="3"> <p>72 oracle-markierte entscheidende Fehler, jeweils 8 Mal pro Policy wiederholt. Wie oft schließt jede Policy die Aufgabe trotzdem ab?</p> <div id="mtp-rec"></div> <p class="muted">Durchschnittliche Züge bis zur Erholung: PivotOPD 9.7, standard OPD 12.3, Base 13.4, optimal 6.2.</p> <button class="btn" id="mtp-case">Replay-Fallstudie</button> <div class="case"> <div class="col"><h6>Base-Modell</h6><div id="mtp-ca"></div></div> <div class="col"><h6 style="color:#76B900">PivotOPD-Modell</h6><div id="mtp-cb"></div></div> </div> </div> <div class="ft"><span>Quelle: <a href="https://arxiv.org/abs/2609.40285" target="_blank" rel="noopener">arXiv 2609.40285</a></span><b>© Marktechpost</b></div> </div> <script> (function(){ var R=document.getElementById('mtp-pivotopd'); function $(s){return R.querySelector(s);} function $$(s){return R.querySelectorAll(s);} function resize(){try{parent.postMessage({mtpPivotOPDHeight:R.offsetHeight+40},'*');}catch(e){}} var shown={}; $$('.tab').forEach(function(b){b.onclick=function(){ $$('.tab'). forEach(function(x){x.classList.remove('on')});b.classList.add('on'); var p=b.getAttribute('data-p'); $$('.panel').forEach(function(x){x.classList.toggle('on',x.getAttribute('data-p')===p)}); if(p==='2')bench(mode); if(p==='3')rec(); setTimeout(resize,50);}); /* panel 1 */ var T=$('#mtp-turns'),cells=[]; for(var i=1;i<=30;i++){var d=document.createElement('div');d.className='t';d.textContent=i;T.appendChild(d);cells.push(d);} var timer; function play(recover){clearInterval(timer);cells.forEach(function(c){c.className='t'});var k=0; timer=setInterval(function(){var c=cells[k];var n=k+1; if(n<10)c.className='t ok';else if(n===10)c.className='t pv'; else if(recover){c.className=n<=12?'t rc':(n<=16?'t ok':'t');} else c.className='t wa'; k++; if(recover&&n===16){clearInterval(timer);$('#mtp-cap').textContent='Geführte Erholung nach dem Fehler, dann Abschluss der Aufgabe. Wiederholungen zeigen 58% Erfolg mit 2 geführten Zügen.';} if(k>=30){clearInterval(timer);$('#mtp-cap').textContent='Keine Erholung: die verbleibenden 20 Züge werden verschwendet. Echte Agenten verschwendeten im Durchschnitt 18 bis 21 Züge.';} },90);} $('#mtp-play1').onclick=function(){play(false)};$('#mtp-play2').onclick=function(){play(true)}; function count(){ $$('.stat b[data-c]').forEach(function(b){var t=+b.getAttribute('data-c'),v=0;var iv=setInterval(function(){v+=2;if(v>=t){v=t;clearInterval(iv);}b.textContent=v+'%';},20);});} /* panel 2 */ var S=[ {h:'1. Pivot-Erkennung',b:'Ein größeres Lehrer-Modell liest jeden Rollout und sein Ergebnis im Rückblick, wählt Kandidaten-Züge aus und benennt eine Gold-Aktion. Ein Zug ist pivotierend, wenn sich die Aktion des Studenten unterscheidet. Erkannte Pivots liegen in 77,8% der fehlgeschlagenen ALFWorld-Rollouts im Durchschnitt innerhalb von 1 Zug zum Orakel.',f:['<span class="chip">Rollout + Ergebnis</span>','<span class="arr">→</span>','<span class="chip">Teacher model</span>','<span class="arr">→</span>','<span class="chip r">Pivotierender Zug t</span>','<span class="chip g">Gold action</span>']}, {h:'2. Preventive distillation (reverse KL)',b:'Der eingefrorene Student, angedeutet durch die Gold action, wird zu einem privilegierten Selbst-Lehrer. Er bewertet die Antwort erneut, die der Student tatsächlich geschrieben hat, wodurch die Wahrscheinlichkeit vom Fehler wegverschoben wird. Das Gewicht w_prev wird klein gehalten (0.001).',f:['<span class="chip">Student response at t</span>','<span class="arr">→</span>','<span class="chip">Self-teacher + hint(gold)</span>','<span class="arr">→</span>','<span class="chip g">Reverse KL update</span>']}, {h:'3. Recovery distillation (forward KL)',b:'Nach dem Pivot benennt der Teacher für jeden der nächsten K Züge eine Recovery-Aktion. Der mit Hinweisen versehene Self-teacher schreibt die Recovery-Antwort, und der Student ohne Hinweise trainiert darauf. Forward KL ist mass-covering, hebt also Aktionen hervor, die der Student fast nie sampelt. Bestes K: 2 auf ALFWorld, 1 auf WebShop und Search QA.',f:['<span class="chip r">Post-mistake state</span>','<span class="arr">→</span>','<span class="chip">Teacher: recovery action</span>','<span class="arr">→</span>','<span class="chip">Self-teacher writes response</span>','<span class="arr">→</span>','<span class="chip g">Forward KL update</span>']} ]; var si=0; function step(i){si=(i+3)%3;$$('.step').forEach(function(x){x.classList.toggle('on',+x.getAttribute('data-s')===si)}); var s=S[si];$('#mtp-detail').innerHTML='<h5>'+s.h+'</h5><p style="margin:0">'+s.b+'</p><div class="flow">'+s.f.join('')+'</div>';setTimeout(resize,30);} $$('.step').forEach(function(x){x.onclick=function(){step(+x.getAttribute('data-s'))}}); $('#mtp-prev').onclick=function(){step(si-1)};$('#mtp-next').onclick=function(){step(si+1)};step(0); /* panel 3 */ var B={s:[ ['ALFWorld avg success (%)',[['PivotOPD',73.7],['SDAR',68.2],['OPID',61.3],['RLSD',60.7],['GRPO',42. 7]]], ['Suchbasierte QA durchschnittliche Genauigkeit (%)',[['PivotOPD',44.5],['RLSD',38.6],['SOD',38.2],['GRPO',37.7]]], ['WebShop Erfolgsrate (%)',[['PivotOPD',76.6],['OPID',68.0],['RLSD',62.5],['GRPO',57.0]]]], l:[ ['ALFWorld durchschnittlicher Erfolg (%)',[['PivotOPD',93.0],['RLSD',90.8],['Skill-SD',88.6],['GRPO',35.3]]], ['Suchbasierte QA durchschnittliche Genauigkeit (%)',[['PivotOPD',47.4],['OPID',45.6],['OPSD',43.3],['GRPO',37.5]]], ['WebShop Erfolgsrate (%)',[['PivotOPD',81.9],['SDAR',79.7],['RLSD',78.9],['GRPO',75.0]]]]}; function bars(el,rows,max){el.innerHTML=rows.map(function(r){return '<div class="row'+(r[0]==='PivotOPD'?' me':'')+'"><span class="lb">'+r[0]+'</span><span class="tr"><span class="bar" data-w="'+(r[1]/max*100)+'"></span></span><span class="v">'+r[1].toFixed(1)+'</span></div>'}).join(''); requestAnimationFrame(function(){setTimeout(function(){el.querySelectorAll('.bar').forEach(function(b){b.style.width=b.getAttribute('data-w')+'%'})},40)});} var mode='s'; function bench(m){mode=m;var W=$('#mtp-bench');W.innerHTML='';B[m].forEach(function(g){var d=document.createElement('div');d.className='bench';d.innerHTML='<h6>'+g[0]+'</h6><div></div>';W.appendChild(d);bars(d.lastChild,g[1],100);}); bars($('#mtp-swe'),[['Lehrer',73.0],['PivotOPD',66.0],['Std OPD',63.0],['Student',62.8]],100);setTimeout(resize,60);} $$('#mtp-tog button').forEach(function(b){b.onclick=function(){$$('#mtp-tog button').forEach(function(x){x.classList.remove('on')});b.classList.add('on');bench(b.getAttribute('data-m'));}}); /* panel 4 */ function rec(){bars($('#mtp-rec'),[['PivotOPD',72.7],['Nur Vorgänger',45.8],['Std OPD',20.3],['Basis',8.3]],100);setTimeout(resize,60);} var CA=[['Züge 1-2: kein Ei im Kühlschrank',''],['Zug 3: nimmt Tomate aus dem Kühlschrank','bad'],['Zug 4: geht zur Mikrowelle',''],['Zug 5: bewegt Tomate zur Mikrowelle','bad'],['Züge 6-30: findet das Ei nie','bad'],['✕ Fehlschlag','bad']]; var CB=[['Züge 1-2: kein Ei im Kühlschrank',''],['Zug 3: nimmt Tomate aus dem Kühlschrank','bad'],['Zug 4: Erholung beginnt, geht zum Tisch','good'],['Zug 5: stellt die Tomate beiseite','good'],['Zug 6: nimmt Ei vom Tisch','good'],['Züge 7-11: kühlt Ei, bringt es zur Mikrowelle','good'],['✓ Erfolg','good']]; function fill(el,arr){el.innerHTML=arr.map(function(a){return '<div class="ln '+a[1]+'">'+a[0]+'</div>'}).join('');} function caseplay(){fill($('#mtp-ca'),CA);fill($('#mtp-cb'),CB);var a=$$('#mtp-ca .ln'),b=$$('#mtp-cb .ln');var k=0;var iv=setInterval(function(){if(a[k])a[k].classList.add('show');if(b[k])b[k].classList.add('show');k++;if(k>7)clearInterval(iv);},380);setTimeout(resize,60);} $('#mtp-case').onclick=caseplay; fill($('#mtp-ca'),CA);fill($('#mtp-cb'),CB);$$('#mtp-pivotopd .ln').forEach(function(x){x.classList.add('show')}); count(); window.addEventListener('load',resize);window.addEventListener('resize',resize);setTimeout(resize,300); })(); </script> </body></html> ">Wie schneidet PivotOPD im Vergleich mit anderen Agent-Destillationsmethoden ab?
| Metriken | PivotOPD | OPSD (standard OPD) | OPID | SDAR | RLSD |
|---|---|---|---|---|---|
| Kernidee | Verhindern und Erholen an lehrerkannten Wendepunkten | Privilegierter Selbst-Lehrer bei jeder Antwort | Hierarchische Fähigkeiten aus On-Policy-Hindsight | OPSD als sigmoidgesteuerter Hilfsverlust | Selbst-Destillation legt die Updateschrittgröße fest, RLVR legt die Richtung fest |
| Trainiert mit vom Lehrer geschriebenen Recovery-Antworten | Ja (Forward-KL) | Nein | Nein | Nein | Nein |
| ALFWorld-Durchschnitt, Qwen3-1.7B | 73.7 | 12.4 | 61.3 | 68.2 | 60.7 |
| Search-QA-Durchschnitt, Qwen3-1.7B | 44.5 | 36.8 | 37.5 | 37.1 | 38.6 |
| WebShop-Erfolgsquote, Qwen3-1.7B | 76.6 | 10.1 | 68.0 | 57.0 | 62.5 |
| ALFWorld-Durchschnitt, Qwen3-8B | 93.0 | 46.7 | 83.7 | 83.8 | 90.8 |
| Code | Kommt bald | GitHub | GitHub | Nicht offengelegt | Nicht offengelegt |
Quelle der Punktzahl: PivotOPD Tabelle 1.
Was kostet das Training, und kann man es ausführen?
PivotOPD ändert nur das Training, daher entstehen bei der Inferenz keine zusätzlichen Kosten. Auf ALFWorld mit dem 1.7B-Studenten beträgt der Mehraufwand gegenüber GRPO auf 4 H100 GPUs 12,4% bei K = 1. Er springt auf 94,2% bei K = 2, weil spätere Recovery-Runden eine Environment-Replay erfordern. Das gewählte Budget beträgt K = 2 auf ALFWorld und K = 1 auf WebShop und Search-based QA.
Kernpunkte
- Mehr als die Hälfte der fehlgeschlagenen Agent-Rollouts hängt von 1 frühzeitigem, behebbarem Fehler ab.
- Standard-OPD berührt diese Fehler kaum: von 51% auf 49%.
- PivotOPD erholt sich von 72,7% der wiedergespielten Fehler, gegenüber 20,3% bei OPD.
- Bestes Ergebnis im Durchschnitt gegen 13 Baselines auf ALFWorld, WebShop und Search QA.
- 0 Inferenz-Overhead, aber der Code wurde noch nicht veröffentlicht.
Schauen Sie sich das Paper und die Projektseitean. Alle Credits gehen an die Forscher dieses Projekts. Folgen Sie uns gerne auch auf Twitter und vergessen Sie nicht, unserem 150k+ML SubReddit beizutreten und unseren Newsletterzu abonnieren. Moment! Sind Sie auf Telegram? jetzt können Sie uns auch auf Telegram beitreten.
Der Beitrag NVIDIA PivotOPD lehrt Multi-Turn-KI-Agenten, sich von entscheidenden Fehlern zu erholen erschien zuerst auf MarkTechPost.