NVIDIA PivotOPD учи многоходови AI агенти да се възстановяват от ключови грешки
Изследователи от NVIDIA, съвместно с Принстънския университет и Университета на Мериленд, представиха PivotOPD — метод за дистилация на политика в движение за многоходови LLM агенти. Дистилацията по политика в движение PivotOPD обучава агент да избягва най-вредната си ранна грешка и да се възстановява, когато тя все пак се случи. Спрямо 13 базови метода той постига най-добрия среден резултат в ALFWorld, WebShop и QA със Search за моделите-ученици Qwen3-1.7B и Qwen3-8B. Изводът: възстановяването може да се научи, а стандартният OPD рядко го преподава.
Накратко
- Размер: Метод за обучение, а не модел. Тестван с моделите-ученици Qwen3-1.7B и Qwen3-8B, както и с ученик Nemotron-3.5-SFT върху SWE-Bench Verified.
- Работи на: Обучен върху NVIDIA H100 възли. Не добавя разходи при инференс, така че обученият агент работи навсякъде, където работи базовият му модел.
- Производителност: Първи е по всички 8 средни резултата за отделните бенчмаркове спрямо 13 базови метода, при 3 начални стойности.
- Най-добър резултат: Възстановява се от 72,7% от възпроизведените ключови грешки спрямо 20,3% при стандартния OPD.
- Най-слаб резултат: 55,9% при задачите „Look“ в ALFWorld с ученика 1.7B спрямо 83,9% за SOD.
- Извод: Най-доброто: преподава възстановяване, което RL само на база на резултата не може да постигне. Най-лошото: зависи от среди, които могат да бъдат възпроизвеждани, и от учител, чиито ключови моменти съвпадат с тези на оракула в 77,8% от неуспешните траектории.
Какво представлява ключова грешка при многоходов агент?
Ключова грешка е действие, което удължава най-краткия оставащ път до изпълнението на задача или прави задачата нерешима. Символният оракул на ALFWorld измерва това при всеки ход.
При Qwen3-8B, Qwen3-30B-A3B и Qwen3-235B-A22B 59% от неуспешните траектории (155 от 262) съдържат такава грешка. Първият ключов момент настъпва рано — между 8-ия и 12-ия ход от общо 30, по медиана. След това агентите губят още 18 до 21 хода, без да се възстановят.
При възпроизвеждане на неуспешни траектории на Qwen3-8B коригирането на ключовия ход повишава успеваемостта от 8% на 59%. Оставянето на грешката и принудителното изпълнение на правилното действие през следващите 2 хода все пак достига 58%.
Защо стандартната дистилация по политика в движение не успява?
Стандартният OPD намалява процента на неуспех при отделен тест от 79% на 56%. Неуспехите след ключов момент намаляват само от 51% на 49%. Вероятността за правилното действие остава под 1% при всеки ключов момент, така че 8 траектории рядко го избират.
RL на база на резултата има същата сляпа точка: ако всяка траектория се провали, относителното за групата предимство е 0.
Как работи PivotOPD?
PivotOPD добавя 3 компонента към групово RL, комбинирани в една PPO актуализация.
- Откриване на ключови моменти: По-голям учителски модел прочита всяка траектория и нейния резултат със задна дата. Той избира кандидат-ходове и посочва правилно действие за всеки от тях. Един ход се счита за ключов, когато действието на ученика се различава от правилното действие. В ALFWorld откритите ключови моменти попадат в рамките на 1 ход от ключовия момент на оракула средно в 77,8% от неуспешните траектории.
- Превантивна дистилация (обратна KL): Замразено копие на ученика, подсказано с правилното действие, преоценява собствения отговор на ученика. Това отдалечава ученика от допуснатата грешка.
- Дистилация на възстановяването (права KL): След всеки ключов момент учителят посочва действие за възстановяване за до K хода. Подсказаният самоучител създава отговори за възстановяване, а неподсказаният ученик се обучава върху тях. Правата KL покрива масата, така че повишава вероятността на действия, които ученикът почти никога не избира.
Учителят посочва само действия. Целите на ниво токени идват от собственото разпределение на ученика с подсказка.
Как се представя PivotOPD в бенчмарковете за агенти?
С ученика 1.7B PivotOPD постига средно 73,7% в ALFWorld — с 5,5 пункта над SDAR. Средният му резултат в QA със Search е 44,5% — с 5,9 пункта над RLSD. В WebShop той превъзхожда RLSD с 1,2 пункта по резултат, но с 14,1 пункта по успеваемост (76,6%).
С ученика 8B той достига 93,0% в ALFWorld, 47,4% в QA със Search и 81,9% успеваемост в WebShop. Разликите са по-малки, но поне 1,8 пункта.
Когато използва Qwen3-8B като собствен учител, PivotOPD все пак печели и в трите бенчмарка с поне 1,5 пункта и средно с 3,9 пункта.
В SWE-Bench Verified ученик Nemotron-3.5-SFT, обучен от Nemotron-3-Super, се повишава от 62,8% на 66,0%. Стандартният OPD достига 63,0%, а учителят — 73,0%.
Възстановяването е отличителният резултат. При 72 възпроизведени ключови грешки PivotOPD се възстановява в 72,7% от случаите спрямо 8,3% за базовия модел, 20,3% за стандартния OPD и 45,8% само за превантивния метод. Средно са му нужни 9,7 хода за възстановяване спрямо оптималните 6,2.
</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">Средни стойности от 3 начални стойности от Таблица 1 на статията. Сравнени с най-силните базови методи. PivotOPD е на първо място по всички 8 средни резултата за отделните бенчмаркове спрямо 13 базови метода.</p>
<div class="bench"><h6>Процент решени задачи в SWE-Bench Verified (ученик Nemotron-3.5-SFT)</h6><div id="mtp-swe"></div></div>
</div>
<div class="panel" data-p="3">
<p>72 ключови грешки, обозначени от оракула, възпроизведени 8 пъти за всяка политика. Колко често всяка политика все пак изпълнява задачата?</p>
<div id="mtp-rec"></div>
<p class="muted">Среден брой ходове за възстановяване: PivotOPD 9,7, стандартен OPD 12,3, базов модел 13,4, оптимален 6,2.</p>
<button class="btn" id="mtp-case">Възпроизвеждане на казуса</button>
<div class="case">
<div class="col"><h6>Базов модел</h6><div id="mtp-ca"></div></div>
<div class="col"><h6 style="color:#76B900">Модел PivotOPD</h6><div id="mtp-cb"></div></div>
</div>
</div>
<div class="ft"><span>Източник: <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);};});
/* панел 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='Насочено възстановяване след грешката, след което задачата е изпълнена. Възпроизвежданията показват 58% успеваемост с 2 насочени хода.';}
if(k>=30){clearInterval(timer);$('#mtp-cap').textContent='Без възстановяване: оставащите 20 хода са загубени. Реалните агенти губят средно 18 до 21 хода.';}
},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);});}
/* панел 2 */
var S=[
{h:'1. Откриване на ключови моменти',b:'По-голям учител прочита всяка траектория и нейния резултат със задна дата, избира кандидат-ходове и посочва правилно действие. Един ход е ключов, когато действието на ученика се различава. Откритите ключови моменти попадат в рамките на 1 ход от тези на оракула в средно 77,8% от неуспешните траектории в ALFWorld.',f:['<span class="chip">Траектория + резултат</span>','<span class="arr">→</span>','<span class="chip">Учителски модел</span>','<span class="arr">→</span>','<span class="chip r">Ключов ход t</span>','<span class="chip g">Правилно действие</span>']},
{h:'2. Превантивна дистилация (обратна KL)',b:'Замразеният ученик, подсказан с правилното действие, се превръща в привилегирован самоучител. Той преоценява отговора, който ученикът действително е написал, и отдалечава вероятността от грешката. Теглото w_prev се поддържа малко (0.001).',f:['<span class="chip">Отговор на ученика при t</span>','<span class="arr">→</span>','<span class="chip">Самоучител + подсказка (правилно действие)</span>','<span class="arr">→</span>','<span class="chip g">Актуализация с обратна KL</span>']},
{h:'3. Дистилация на възстановяването (права KL)',b:'След ключовия момент учителят посочва действие за възстановяване за всеки от следващите K хода. Подсказаният самоучител създава отговора за възстановяване, а неподсказаният ученик се обучава върху него. Правата KL покрива масата, така че повишава вероятността на действия, които ученикът почти никога не избира. Най-доброто K: 2 в ALFWorld, 1 в WebShop и Search QA.',f:['<span class="chip r">Състояние след грешката</span>','<span class="arr">→</span>','<span class="chip">Учител: действие за възстановяване</span>','<span class="arr">→</span>','<span class="chip">Самоучителят създава отговора</span>','<span class="arr">→</span>','<span class="chip g">Актуализация с права KL</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);
/* панел 3 */
var B={s:[
['Средна успеваемост в ALFWorld (%)',[['PivotOPD',73.7],['SDAR',68.2],['OPID',61.3],['RLSD',60.7],['GRPO',42.7]]],
['Средна точност в QA със Search (%)',[['PivotOPD',44.5],['RLSD',38.6],['SOD',38.2],['GRPO',37.7]]],
['Успеваемост в WebShop (%)',[['PivotOPD',76.6],['OPID',68.0],['RLSD',62.5],['GRPO',57.0]]]],
l:[
['Средна успеваемост в ALFWorld (%)',[['PivotOPD',93.0],['RLSD',90.8],['Skill-SD',88.6],['GRPO',35.3]]],
['Средна точност в QA със Search (%)',[['PivotOPD',47.4],['OPID',45.6],['OPSD',43.3],['GRPO',37.5]]],
['Успеваемост в 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'),[['Учител',73.0],['PivotOPD',66.0],['Стд. OPD',63.0],['Ученик',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'));}});
/* панел 4 */
function rec(){bars($('#mtp-rec'),[['PivotOPD',72.7],['Само превантивен',45.8],['Стд. OPD',20.3],['Базов',8.3]],100);setTimeout(resize,60);}
var CA=[['Ходове 1–2: няма яйце в хладилника',''],['Ход 3: взема домат от хладилника','bad'],['Ход 4: отива до микровълновата',''],['Ход 5: премества домата в микровълновата','bad'],['Ходове 6–30: никога не намира яйцето','bad'],['✕ Неуспех','bad']];
var CB=[['Ходове 1–2: няма яйце в хладилника',''],['Ход 3: взема домат от хладилника','bad'],['Ход 4: започва възстановяване, отива до масата','good'],['Ход 5: оставя домата настрана','good'],['Ход 6: взема яйцето от масата','good'],['Ходове 7–11: охлажда яйцето, премества го в микровълновата','good'],['✓ Успех','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>
">
Как се сравнява PivotOPD с други методи за дистилация на агенти?
| Показатели | PivotOPD | OPSD (стандартен OPD) | OPID | SDAR | RLSD |
|---|---|---|---|---|---|
| Основна идея | Предотвратяване и възстановяване при открити от учителя ключови моменти | Привилегирован самоучител за всеки отговор | Йерархични умения от ретроспекция в движение | OPSD като сигмоидално управлявана спомагателна загуба | Самодистилацията определя размера на актуализацията, а RLVR — посоката |
| Обучава се върху написани от учителя отговори за възстановяване | Да (права KL) | Не | Не | Не | Не |
| Среден резултат в ALFWorld, Qwen3-1.7B | 73.7 | 12.4 | 61.3 | 68.2 | 60.7 |
| Среден резултат в Search QA, Qwen3-1.7B | 44.5 | 36.8 | 37.5 | 37.1 | 38.6 |
| Успеваемост в WebShop, Qwen3-1.7B | 76.6 | 10.1 | 68.0 | 57.0 | 62.5 |
| Среден резултат в ALFWorld, Qwen3-8B | 93.0 | 46.7 | 83.7 | 83.8 | 90.8 |
| Код | Очаквайте скоро | GitHub | GitHub | Не е разкрит | Не е разкрит |
Източник на резултатите: Таблица 1 на PivotOPD.
Какви са разходите за обучение и може ли да го стартирате?
PivotOPD променя само обучението, така че не добавя разходи при инференс. В ALFWorld с ученика 1.7B и 4 H100 GPU допълнителните разходи спрямо GRPO са 12,4% при K = 1. Те скачат до 94,2% при K = 2, защото по-късните ходове за възстановяване изискват възпроизвеждане на средата. Избраният бюджет е K = 2 в ALFWorld и K = 1 в WebShop и QA със Search.
Основни изводи
- Повече от половината неуспешни траектории на агентите зависят от 1 ранна грешка, от която е възможно възстановяване.
- Стандартният OPD почти не засяга тези неуспехи: от 51% до 49%.
- PivotOPD се възстановява от 72,7% от възпроизведените грешки спрямо 20,3% за OPD.
- Най-добрият среден резултат спрямо 13 базови метода в ALFWorld, WebShop и Search QA.
- Нулеви допълнителни разходи при инференс, но кодът все още не е публикуван.
Разгледайте статията и страницата на проекта. Всички заслуги са на изследователите на този проект. Също така, можете да ни последвате в Twitter и не забравяйте да се присъедините към нашия 150k+ ML SubReddit и да се абонирате за нашия бюлетин. Чакайте! В Telegram ли сте? Вече можете да се присъедините към нас и в Telegram.
Преведено автоматично от английски. Оригиналната статия е на връзката по-долу.