Sakhanda Wire
NVDA $230.80 +0.14% MSFT $531.33 +1.67% GOOGL $353.04 +1.36% META $719.01 -0.26% AMZN $259.15 +2.00%
← До новин

NVIDIA PivotOPD навчає багатоходових ШІ-агентів виправляти критичні помилки

Дослідники NVIDIA спільно з Принстонським університетом і Мерілендським університетом представили PivotOPD — метод дистиляції на основі поточної політики для багатоетапних агентів на базі LLM. Дистиляція PivotOPD на основі поточної політики навчає агента уникати своєї найшкідливішої ранньої помилки та відновлюватися, якщо вона все ж сталася. Серед 13 базових методів він демонструє найкращий середній результат на ALFWorld, WebShop і Search-based QA для студентських моделей 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.

  1. Виявлення ключових моментів: Більша модель-учитель ретроспективно аналізує кожен запуск і його результат. Вона вибирає потенційні кроки та визначає правильну дію на кожному з них. Крок вважається ключовим, коли дія студента відрізняється від правильної дії. В ALFWorld виявлені ключові моменти в середньому перебувають у межах 1 кроку від ключового моменту оракула у 77,8% невдалих запусків.
  2. Превентивна дистиляція (зворотна KL-дивергенція): Заморожена копія студента, отримавши підказку з правильною дією, повторно оцінює власну відповідь студента. Це відштовхує студента від зробленої помилки.
  3. Дистиляція відновлення (пряма KL-дивергенція): Після кожної ключової помилки учитель визначає дію для відновлення протягом до K кроків. Учитель, який працює з підказкою, генерує відповіді для відновлення, а студент без підказки навчається на них. Пряма KL-дивергенція охоплює всю масу розподілу, тому підвищує ймовірність дій, які студент майже ніколи не вибирає.

Учитель визначає лише дії. Цілі на рівні токенів надходять із власного розподілу студента, сформованого з підказкою.

Як PivotOPD працює на бенчмарках агентів?

Зі студентською моделлю 1.7B PivotOPD демонструє в середньому 73,7% на ALFWorld — на 5,5 пункту вище за SDAR. На Search-based QA він показує в середньому 44,5% — на 5,9 пункту вище за RLSD. На WebShop він перевершує RLSD на 1,2 бала за оцінкою, але на 14,1 пункту за часткою успішних виконань (76,6%).

Зі студентською моделлю 8B він досягає 93,0% на ALFWorld, 47,4% на Search-based QA і 81,9% успішних виконань у WebShop. Перевага менша, але становить щонайменше 1,8 пункту.

Якщо Qwen3-8B використовується як власний учитель, PivotOPD усе одно перемагає на всіх 3 бенчмарках щонайменше на 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><button class="btn" id="mtp-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">Середні значення за 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]]], ['Середня точність Search-based QA (%)',[['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]]], ['Середня точність Search-based QA (%)',[['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 порівнюється з іншими методами дистиляції агентів?

МетрикиPivotOPDOPSD (стандартний OPD)OPIDSDARRLSD
Основна ідеяЗапобігання помилкам і відновлення після них на ключових кроках, виявлених учителемПривілейований власний учитель для кожної відповідіІєрархічні навички на основі ретроспективного аналізу поточної політикиOPSD як допоміжна втрата із сигмоїдним регулюваннямСамодистиляція визначає розмір оновлення, RLVR — напрямок
Навчається на відповідях для відновлення, написаних учителемТак (пряма KL-дивергенція)НіНіНіНі
Середнє ALFWorld, Qwen3-1.7B73.712.461.368.260.7
Середнє Search QA, Qwen3-1.7B44.536.837.537.138.6
Успішність WebShop, Qwen3-1.7B76.610.168.057.062.5
Середнє ALFWorld, Qwen3-8B93.046.783.783.890.8
КодНезабаромGitHubGitHubНе оприлюдненоНе оприлюднено

Джерело оцінок: таблиця 1 PivotOPD.

Скільки коштує навчання і чи можна це запустити?

PivotOPD змінює лише процес навчання, тому додаткові витрати під час інференсу відсутні. В ALFWorld зі студентською моделлю 1.7B на 4 графічних процесорах H100 накладні витрати порівняно з GRPO становлять 12,4% при K = 1. Вони зростають до 94,2% при K = 2, оскільки пізніші кроки відновлення потребують повторного відтворення середовища. Обраний бюджет становить K = 2 для ALFWorld і K = 1 для WebShop та Search-based QA.

Ключові висновки

  • Понад половина невдалих запусків агентів залежить від 1 ранньої помилки, яку можна виправити.
  • Стандартний OPD майже не впливає на ці невдачі: з 51% до 49%.
  • PivotOPD відновлюється після 72,7% відтворених помилок проти 20,3% у OPD.
  • Найкращий середній результат у порівнянні з 13 базовими методами на ALFWorld, WebShop і Search QA.
  • Додаткові витрати під час інференсу відсутні, але код ще не оприлюднено.

Ознайомтеся зі статтею та сторінкою проєкту. Уся подяка — дослідникам цього проєкту. Також підписуйтеся на нас у Twitter і не забудьте приєднатися до нашого сабреддіту 150k+ ML та підписатися на нашу розсилку. Стривайте! Ви є в Telegram? Тепер ви також можете приєднатися до нас у Telegram.

[Реклама] Веб — це єдиний API, якого бракує більшості агентів. Бази даних, календарі та репозиторії мають API. Відкритий веб здебільшого його не має. MCP-сервер TinyFish надає будь-якому MCP-клієнту чотири інструменти: TinySearch, TinyFetch (повні сторінки у форматі markdown, включно з JavaScript), TinyBrowser для входу в облікові записи та заповнення форм і TinyAgent для багатокрокових завдань. Search і Fetch безкоштовні.

Перекладено автоматично з англійської. Оригінал статті — за посиланням нижче.

Вперше опубліковано виданням MarkTechPost

Читати оригінал на MarkTechPost ↗

Текст і зображення належать MarkTechPost і наводяться тут із зазначенням авторства та посиланням на оригінальну публікацію.

← До новин

Ще новини

Усі останні новини