MarkTechPost

NVIDIA PivotOPD enseña a agentes de IA multi-turno a recuperarse de errores capitales

Los investigadores de NVIDIA presentaron PivotOPD, un método de destilación on-policy que entrena a agentes LLM multi-turno para evitar errores capitales tempranos y recuperarse de ellos, logrando el mejor promedio…

Los investigadores de NVIDIA, junto con la Universidad de Princeton y la Universidad de Maryland, han presentado PivotOPD, un método de destilación on-policy para agentes LLM multi-turno. La destilación on-policy de PivotOPD entrena a un agente para evitar su error temprano más dañino y para recuperarse cuando ocurre de todos modos. Contra 13 líneas base, logra el mejor promedio en ALFWorld, WebShop y QA basado en búsqueda para los estudiantes Qwen3-1.7B y Qwen3-8B. La conclusión: la recuperación es aprendible, y la OPD estándar rara vez la enseña.

TL;DR

  • Tamaño: Un método de entrenamiento, no un modelo. Probado con estudiantes Qwen3-1.7B y Qwen3-8B, además de un estudiante Nemotron-3.5-SFT en SWE-Bench Verified.
  • Se ejecuta en: Entrenado en nodos NVIDIA H100. Añade 0 costo de inferencia, por lo que el agente entrenado se ejecuta dondequiera que se ejecute su modelo base.
  • Rendimiento: Primero en los 8 promedios por benchmark contra 13 líneas base, a través de 3 semillas.
  • Mejor: Se recupera del 72.7% de los errores capitales reproducidos, frente al 20.3% de la OPD estándar.
  • Peor: 55.9% en las tareas “Look” de ALFWorld con el estudiante de 1.7B, frente al 83.9% de SOD.
  • En resumen: Lo mejor: enseña la recuperación que la RL basada solo en resultados no puede alcanzar. Lo peor: depende de entornos reproducibles y de un profesor cuyos pivots coinciden con el oráculo en el 77.8% de los rollouts fallidos.

¿Qué es un error capital en un agente multi-turno?

Un error capital es una acción que alarga el camino más corto restante para completar una tarea, o que la vuelve irresoluble. El oráculo simbólico de ALFWorld mide esto en cada turno.

Entre Qwen3-8B, Qwen3-30B-A3B y Qwen3-235B-A22B, el 59% de los rollouts fallidos (155 de 262) contenía uno. El primer turno capital llegaba temprano, con una mediana del turno 8 al 12 de 30. Los agentes luego desperdiciaban de 18 a 21 turnos más sin recuperarse.

En reproducciones de fallos de Qwen3-8B, corregir el turno capital elevó el éxito del 8% al 59%. Dejar el error en su lugar y forzar la acción correcta durante los siguientes 2 turnos aún alcanzaba el 58%.

¿Por qué la destilación on-policy estándar lo pasa por alto?

La OPD estándar redujo la tasa de fallos en datos de prueba del 79% al 56%. Los fallos después de un turno capital solo bajaron del 51% al 49%. La acción correcta permaneció por debajo del 1% de probabilidad en cada turno capital, por lo que 8 rollouts rara vez la muestrean.

La RL basada en resultados comparte este punto ciego: si todos los rollouts fallan, la ventaja relativa al grupo es 0.

¿Cómo funciona PivotOPD?

PivotOPD añade 3 componentes a la RL basada en grupos, combinados en una única actualización PPO.

  1. Detección de pivots: Un modelo profesor más grande lee cada rollout y su resultado en retrospectiva. Selecciona turnos candidatos y nombra una acción gold en cada uno. Un turno cuenta como pivotal cuando la acción del estudiante difiere de la acción gold. En ALFWorld, los pivots detectados caen a menos de 1 turno del pivot del oráculo en el 77.8% de los rollouts fallidos en promedio.
  2. Destilación preventiva (KL inversa): Una copia congelada del estudiante, guiada con la acción gold, vuelve a puntuar la respuesta del propio estudiante. Esto aleja al estudiante del error ya cometido.
  3. Destilación de recuperación (forward KL): Después de cada pivote, el profesor nombra una acción de recuperación durante hasta K turnos. El auto-profesor con pistas escribe las respuestas de recuperación, y el estudiante sin pistas entrena con ellas. Forward KL cubre la masa de probabilidad, por lo que eleva acciones que el estudiante casi nunca muestrea.

El profesor solo nombra acciones. Los objetivos a nivel de tokens provienen de la propia distribución del estudiante con pistas.

¿Cómo se desempeña PivotOPD en los benchmarks de agentes?

Con el estudiante de 1.7B, PivotOPD promedia 73.7% en ALFWorld, 5.5 puntos por encima de SDAR. Promedia 44.5% en Search-based QA, 5.9 puntos por encima de RLSD. En WebShop supera a RLSD por 1.2 en puntuación pero por 14.1 en tasa de éxito (76.6%).

Con el estudiante de 8B, alcanza 93.0% en ALFWorld, 47.4% en Search-based QA y 81.9% de éxito en WebShop. Los márgenes son menores, de al menos 1.8 puntos.

Con Qwen3-8B como su propio profesor, PivotOPD sigue ganando en los 3 benchmarks por al menos 1.5 puntos, 3.9 en promedio.

En SWE-Bench Verified, un estudiante Nemotron-3.5-SFT entrenado por Nemotron-3-Super pasó de 62.8% a 66.0%. El OPD estándar alcanzó 63.0%, y el profesor puntúa 73.0%.

La recuperación es lo más destacado. A lo largo de 72 errores pivotantes repetidos, PivotOPD se recuperó el 72.7% de las veces, frente al 8.3% del modelo base, el 20.3% del OPD estándar y el 45.8% de solo preventivo. Promedió 9.7 turnos para recuperarse, frente a un óptimo de 6.2.

Anterior</button><button class="btn" id="mtp-next">Siguiente </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">Promedios sobre 3 semillas de la Tabla 1 del artículo. Comparado con los baselines más fuertes. PivotOPD ocupa el primer lugar en los 8 promedios por benchmark frente a 13 baselines.</p> <div class="bench"><h6>Tasa de resolución de SWE-Bench Verified (estudiante Nemotron-3.5-SFT)</h6><div id="mtp-swe"></div></div> </div> <div class="panel" data-p="3"> <p>72 errores puntuales etiquetados por oráculo, reproducidos 8 veces por política. ¿Con qué frecuencia cada política termina la tarea de todos modos?</p> <div id="mtp-rec"></div> <p class="muted">Turnos promedio para recuperarse: PivotOPD 9.7, OPD estándar 12.3, base 13.4, óptimo 6.2.</p> <button class="btn" id="mtp-case">Estudio de caso de repetición</button> <div class="case"> <div class="col"><h6>Modelo base</h6><div id="mtp-ca"></div></div> <div class="col"><h6 style="color:#76B900">Modelo PivotOPD</h6><div id="mtp-cb"></div></div> </div> </div> <div class="ft"><span>Fuente: <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='Recuperación guiada tras el error, y luego la tarea se completa. Las repeticiones muestran un 58% de éxito con 2 turnos guiados.';} if(k>=30){clearInterval(timer);$('#mtp-cap').textContent='Sin recuperación: los 20 turnos restantes se desperdician. Los agentes reales desperdiciaron entre 18 y 21 turnos en promedio.';} },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. Detección de pivotes',b:'Un teacher más grande lee cada rollout y su resultado a posteriori, elige turnos candidatos y nombra una acción gold. Un turno es pivotal cuando la acción del estudiante difiere. Los pivotes detectados caen a 1 turno o menos del oráculo en el 77.8% de los rollouts fallidos de ALFWorld en promedio.',f:['<span class="chip">Rollout + resultado</span>','<span class="arr">→</span>','<span class="chip">Modelo teacher</span>','<span class="arr">→</span>','<span class="chip r">Turno pivotal t</span>','<span class="chip g">Acción gold</span>']}, {h:'2. Destilación preventiva (KL inversa)',b:'El estudiante congelado, con la acción gold como pista, se convierte en un self-teacher privilegiado. Reevalúa la respuesta que el estudiante realmente escribió, lo que desplaza la probabilidad lejos del error. El peso w_prev se mantiene pequeño (0.001).',f:['<span class="chip">Respuesta del estudiante en t</span>','<span class="arr">→</span>','<span class="chip">Self-teacher + pista(gold)</span>','<span class="arr">→</span>','<span class="chip g">Actualización KL inversa</span>']}, {h:'3. Destilación de recuperación (KL directa)',b:'Después del pivote, el teacher nombra una acción de recuperación para cada uno de los siguientes K turnos. El self-teacher con pista escribe la respuesta de recuperación y el estudiante sin pista entrena con ella. La KL directa cubre la masa de probabilidad, por lo que impulsa acciones que el estudiante casi nunca muestrea. Mejor K: 2 en ALFWorld, 1 en WebShop y Search QA.',f:['<span class="chip r">Estado posterior al error</span>','<span class="arr">→</span>','<span class="chip">Teacher: acción de recuperación</span>','<span class="arr">→</span>','<span class="chip">El self-teacher escribe la respuesta</span>','<span class="arr">→</span>','<span class="chip g">Actualización KL directa</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 éxito promedio (%)',[['PivotOPD',73.7],['SDAR',68.2],['OPID',61.3],['RLSD',60.7],['GRPO',42. 7]]], ['Precisión media de QA basado en búsqueda (%)',[['PivotOPD',44.5],['RLSD',38.6],['SOD',38.2],['GRPO',37.7]]], ['Tasa de éxito en WebShop (%)',[['PivotOPD',76.6],['OPID',68.0],['RLSD',62.5],['GRPO',57.0]]]], l:[ ['Éxito medio en ALFWorld (%)',[['PivotOPD',93.0],['RLSD',90.8],['Skill-SD',88.6],['GRPO',35.3]]], ['Precisión media de QA basado en búsqueda (%)',[['PivotOPD',47.4],['OPID',45.6],['OPSD',43.3],['GRPO',37.5]]], ['Tasa de éxito en WebShop (%)',[['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'),[['Teacher',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],['Prev. only',45.8],['Std OPD',20.3],['Base',8.3]],100);setTimeout(resize,60);} var CA=[['Turnos 1-2: no hay huevo en la nevera',''],['Turno 3: toma el tomate de la nevera','bad'],['Turno 4: va al microondas',''],['Turno 5: mueve el tomate al microondas','bad'],['Turnos 6-30: nunca encuentra el huevo','bad'],['✕ Fallo','bad']]; var CB=[['Turnos 1-2: no hay huevo en nevera',''],['Turno 3: toma el tomate de la nevera','bad'],['Turno 4: va al microondas',''],['Turno 5: mueve el tomate al microondas','bad'],['Turnos 6-30: nunca encuentra el huevo','bad'],['✕ Fallo','bad']]; var CB=[['Turnos 1-2: no hay huevo en la nevera',''],['Turno 3: toma el tomate de la nevera','bad'],['Turno 4: comienza la recuperación, va a la mesa','good'],['Turno 5: aparta el tomate','good'],['Turno 6: toma el huevo de la mesa','good'],['Turnos 7-11: enfría el huevo, lo lleva al microondas','good'],['✓ Éxito','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> ">

¿Cómo se compara PivotOPD con otros métodos de destilación de agentes?

MétricasPivotOPDOPSD (OPD estándar)OPIDSDARRLSD
Idea centralPrevenir y recuperarse en los giros cruciales detectados por el profesorAuto-profesor privilegiado en cada respuestaHabilidades jerárquicas a partir de retrospectiva on-policyOPSD como pérdida auxiliar con compuerta sigmoideLa autodestilación fija el tamaño de la actualización, RLVR fija la dirección
Entrena con respuestas de recuperación escritas por el profesorSí (KL hacia adelante)NoNoNoNo
ALFWorld promedio, Qwen3-1.7B73.712.461.368.260.7
Search QA promedio, Qwen3-1.7B44.536.837.537.138.6
WebShop éxito, Qwen3-1.7B76.610.168.057.062.5
ALFWorld promedio, Qwen3-8B93.046.783.783.890.8
CódigoPróximamenteGitHubGitHubNo divulgadoNo divulgado

Fuente de la puntuación: Tabla 1 de PivotOPD.

¿Cuánto cuesta entrenarlo y se puede ejecutar?

PivotOPD cambia solo el entrenamiento, por lo que la inferencia no cuesta nada extra. En ALFWorld con el estudiante de 1.7B, en 4 GPU H100, la sobrecarga sobre GRPO es de 12.4% en K = 1. Salta a 94.2% en K = 2, porque las necesidades de recuperación posteriores requieren repetición del entorno. El presupuesto seleccionado es K = 2 en ALFWorld y K = 1 en WebShop y Search-based QA.

Conclusiones clave

  • Más de la mitad de los despliegues fallidos de agentes dependen de 1 error temprano y recuperable.
  • El OPD estándar apenas afecta a estos fallos: de 51% a 49%.
  • PivotOPD se recupera del 72.7% de los errores repetidos, frente al 20.3% de OPD.
  • El mejor promedio contra 13 líneas base en ALFWorld, WebShop y Search QA.
  • 0 sobrecarga de inferencia, pero el código aún no se ha publicado.


Echa un vistazo al paper y a la página del proyecto. Todo el mérito es del investigador de este proyecto. Además, no dudes en seguirnos en Twitter y no olvides unirte a nuestro 150k+ML SubReddit y suscribirte a nuestro boletín. ¡Espera! ¿estás en telegram? ahora también puedes unirte a nosotros en telegram.

[Patrocinado] La web es la única API que falta a la mayoría de los agentes. Las bases de datos, los calendarios y los repositorios tienen APIs. La web abierta, en su mayoría, no. El servidor MCP de TinyFish ofrece a cualquier cliente MCP cuatro herramientas: TinySearch, TinyFetch (páginas completas como markdown, con JavaScript incluido), TinyBrowser para inicios de sesión y formularios, y TinyAgent para trabajos de varios pasos. Search y Fetch son gratuitas.

La publicación NVIDIA PivotOPD Enseña a los Agentes de IA Multi-Turno a Recuperarse de Errores Cruciales apareció primero en MarkTechPost.

Fuente original

MarkTechPost

Notas sobre el contenido

La publicación original y los derechos pertenecen a la fuente.

Traducción automática · Consulte el original