Sakhanda Wire
NVDA $210.96 -0.59% MSFT $524.51 +0.66% GOOGL $320.21 -1.24% META $642.62 -0.96% AMZN $248.00 -0.95%
← К новостям

Tsinghua AI открыла исходный код AKV — сервера управления кэшем для LLM-агентов на базе SGLang

Исследователи Университета Цинхуа и Китайского университета Гонконга открыли исходный код AKV — системы обслуживания для управления KV-кэшем в LLM-агентах. Вместо суммирования старой истории агенты удаляют выбранные записи KV-кэша и продолжают использовать остальные. В 3 моделях и 4 тестах для агентов средняя стоимость снижается на 27,7%. Средний балл за выполнение задач повышается на 1,7 пункта. Код распространяется по лицензии Apache-2.0 и основан на SGLang.

Кратко

  • Что это: система обслуживания и библиотека политик, без весов моделей. Протестирована на GPT-OSS-120B (5,1 млрд активных параметров), MiniMax-M2.7 (230 млрд всего, 10 млрд активных) и MiroThinker-1.7-Mini (30 млрд всего, 3 млрд активных).
  • Работает на: графических процессорах NVIDIA через SGLang. В статье использовались 8 GPU A800-80GB в режиме BF16. Быстрый запуск обслуживает GPT-OSS-120B на 2 GPU (тензорный параллелизм 2).
  • Производительность: средняя стоимость на 27,7% ниже, а средний балл на 1,7 пункта выше по сравнению с суммированием по порогу.
  • Лучший результат: GPT-OSS-120B на SWE-bench Verified: стоимость задачи снижается с 20,0 до 9,7 цента, а балл повышается с 40,0 до 43,2.
  • Худший результат: MiniMax-M2.7 на BrowseComp-Plus набирает 58,9 балла — на 3,4 пункта ниже, чем 62,3 у Text Engineering.

Что такое инженерия кэша и чем она отличается от инженерии контекста?

AKV — система обслуживания от Университета Цинхуа, которая позволяет LLM-агентам удалять и перемещать записи собственного KV-кэша.

Инженерия контекста сокращает или суммирует текстовую историю. Редактирование этого префикса делает недействительными все последующие состояния KV. Сохранённый суффикс затем необходимо заново предварительно заполнить. Поэтому фреймворки агентов выполняют позднее и агрессивное суммирование, что может приводить к потере деталей из средних раундов.

Инженерия кэша оставляет текстовую траекторию без изменений. Она лишь меняет, какие записи KV остаются видимыми для механизма внимания. Сохранённые записи используются повторно без пересчёта. Они по-прежнему могут содержать информацию из удалённых сообщений. Согласно анализу стоимости в исследовательской статье, чтение KV-кэша составляло 82,4% общей стоимости API.

Как работает AKV?

AKV определяет 3 операции с кэшем. Append — стандартное обновление для новых токенов. Drop удаляет выбранные записи из будущего внимания, не меняя позиций. Repos переписывает ключи сохранённых записей на позиции от 0 до r-1 с использованием вращения RoPE. Значения остаются неизменными, поэтому скрытые состояния не пересчитываются. В абляционных экспериментах добавление Repos повысило долю успешных ответов GPT-OSS-120B на BrowseComp-Plus с 55% до 62%.

Сложность заключается в обслуживании. Идентичные токены могут приводить к разным состояниям кэша в зависимости от истории операций. Простое сопоставление префиксов могло бы повторно использовать неправильные состояния. AKV расширяет радиальное дерево SGLang узлами удаления и перемещения. Удалённый KV освобождается только тогда, когда он больше не нужен ни одному активному запросу. Сегментно-пакетное внимание восстанавливает вытесненные состояния за один проход предварительного заполнения.

Как выглядит API AKV?

Интерфейс не хранит состояние и совместим с OpenAI. Клиенты отправляют полную историю сообщений и два необязательных поля. drop_message сопоставляет индекс сообщения-триггера с сообщениями, которые нужно удалить. reposition содержит индексы, после которых позиции уплотняются.

CachePolicy формирует эти поля на основе триггера, селектора и правила перемещения. Встроенные политики основаны на раундах, токенах или модели. CacheTool позволяет модели самостоятельно вызывать drop_context.

Как AKV показывает себя в тестах для агентов?

Основная политика — последовательное удаление ответов инструментов с сохранением последних 12 ответов. Базовый вариант Standard выполняет суммирование на 96 тыс. токенов (192 тыс. для MiroThinker). Text Engineering выполняет суммирование на 48 тыс. токенов. Использовались тесты BrowseComp-Plus, GAIA-Text, SWE-bench Verified и xbench-DeepSearch-2510.

МодельБаллы / стоимость StandardБаллы / стоимость Text Eng.Баллы / стоимость AKV
MiniMax-M2.752.4 / 5.052.8 / 5.753.7 / 4.4
GPT-OSS-120B51.0 / 11.248.3 / 10.253.1 / 7.3
MiroThinker-1.7-Mini44.1 / 20.437.1 / 18.145.8 / 14.8

Средняя доля успешных ответов (%) и стоимость (в центах США за задачу) по 4 тестам. Источник: таблица 1 статьи.

AKV также снижает стоимость на 21,9% по сравнению с Text Engineering. Разрыв в точности увеличивается на длинных запусках. На BrowseComp-Plus при 96 тыс. токенов и более GPT-OSS-120B набирает с AKV 37%. Standard набирает 24%, а Text Engineering — 32%, согласно странице проекта.

Стоимость представляет собой эквивалентные API-оценки на основе опубликованных тарифов. Перемещённые токены тарифицируются по ставке попадания в кэш — это намеренно консервативный подход.

Удалить старый результат инструмента A</button><button class="btn" id="mtp-akv-reset">Сбросить</button></div> <div class="cmp" style="margin-top:12px"> <div class="box"><h4>Инженерия контекста (суммирование текста)</h4> <div class="lane" id="mtp-akv-ce"></div> <div class="meter"><i id="mtp-akv-cem" style="width:0%"></i></div> <div class="mtxt" id="mtp-akv-cet">Работа по повторному предварительному заполнению: 0 блоков</div> </div> <div class="box"><h4>Инженерия кэша (удаление AKV)</h4> <div class="lane" id="mtp-akv-ae"></div> <div class="meter"><i id="mtp-akv-aem" style="width:0%"></i></div> <div class="mtxt" id="mtp-akv-aet">Работа по повторному предварительному заполнению: 0 блоков</div> </div> </div> <p class="note" id="mtp-akv-n1">Оба агента хранят пользовательский запрос, ходы ассистента и результаты инструментов. Нажмите кнопку, чтобы удалить старый результат инструмента <b>A</b>.</p> <div class="lg"><span><i style="background:#5a3a6a"></i>Пользователь</span><span><i style="background:#7d2f93"></i>Ассистент</span><span><i style="background:#a64bbd"></i>Результат инструмента</span><span><i style="background:#ffb347"></i>Пересчитано</span><span><i style="background:#76B900"></i>Новый ход</span></div> </div> <!-- P2 --> <div class="panel" id="mtp-akv-p2"> <div class="row"> <button class="btn" data-op="append">1. Добавить D</button> <button class="btn" data-op="drop">2. Удалить B</button> <button class="btn" data-op="repos">3. Переместить</button> <button class="btn" data-op="reset2">Сбросить</button> </div> <div class="lbl">Активный KV-кэш (число = индекс позиционного кодирования)</div> <div class="lane" id="mtp-akv-ops"></div> <p class="note" id="mtp-akv-n2">Начальное состояние: токены A, B, C находятся на позициях 0, 1, 2. Выполните 3 операции по очереди.</p> <pre id="mtp-akv-req">{"messages": [...], "drop_message": {}, "reposition": []}</pre> </div> <!-- P3 --> <div class="panel" id="mtp-akv-p3"> <div class="lbl" style="margin-top:0">Модель</div> <div class="row" id="mtp-akv-models"></div> <div class="lbl">Тест</div> <div class="row" id="mtp-akv-bench"></div> <div class="grid2" style="margin-top:14px"> <div><div class="lbl" style="margin-top:0">Доля успешных ответов (%) · больше — лучше</div><div class="bars" id="mtp-akv-sc"></div></div> <div><div class="lbl" style="margin-top:0">Стоимость (центов США за задачу) · меньше — лучше</div><div class="bars" id="mtp-akv-co"></div></div> </div> <p class="note" id="mtp-akv-n3"></p> </div> <!-- P4 --> <div class="panel" id="mtp-akv-p4"> <div class="lbl" style="margin-top:0">Параллелизм: <b id="mtp-akv-cv" style="color:#f3eaf6">14</b> · GPT-OSS-120B · 80 задач SWE-bench Verified с длинным контекстом · 8 GPU A800</div> <input type="range" id="mtp-akv-c" min="0" max="4" step="1" value="3"> <div class="grid2" style="margin-top:12px"> <div><div class="lbl" style="margin-top:0">Задержка запроса P95 (с) · меньше — лучше</div><div class="bars" id="mtp-akv-lat"></div></div> <div><div class="lbl" style="margin-top:0">Пропускная способность вывода (токенов/с) · больше — лучше</div><div class="bars" id="mtp-akv-out"></div></div> </div> <div class="stats" style="margin-top:14px"> <div class="stat"><div class="big">1.18x</div><span>Пропускная способность вывода, пик к пику</span></div> <div class="stat"><div class="big">1.53x</div><span>Пропускная способность ввода, пик к пику</span></div> <div class="stat"><div class="big">1.51x</div><span>Ускорение задержки P95, пик к пику</span></div> <div class="stat"><div class="big">2.849ms</div><span>Полное внимание на каждом шаге декодирования (было 7.082)</span></div> </div> <p class="note" id="mtp-akv-n4"></p> </div> <!-- P5 --> <div class="panel" id="mtp-akv-p5"> <ul class="lim" id="mtp-akv-lim"> <li>Поддерживается мало семейств моделей<em>Drop и Repos доступны для текстовых архитектур Qwen, GPT-OSS и MiniMax-M2. Модели с линейным вниманием относятся к будущей работе.</em></li> <li>Только самостоятельное развёртывание<em>Сервер AKV запускается самостоятельно. Он расширяет SGLang поддержкой операций с кэшем.</em></li> <li>Результаты авторов, одна аппаратная конфигурация<em>Все результаты получены авторами на 8 GPU A800-80GB в режиме BF16.</em></li> <li>Разные интервалы измерений<em>Запуски AKV с высокой степенью параллелизма измерялись до завершения первых 30 задач. Для Standard использовался часовой интервал.</em></li> <li>Улучшение наблюдается не во всех тестах<em>MiniMax-M2.7 на BrowseComp-Plus набирает с AKV 58,9 балла — меньше, чем 62,3 у Text Engineering.</em></li> <li>Удаление кэша рассуждений ухудшает результат<em>На SWE-bench Verified удаление кэша рассуждений снизило результат до 36,5, а удаление обоих типов — до 34,5 против 41,0 при удалении инструментов.</em></li> </ul> <p class="note">Нажмите на строку, чтобы развернуть её.</p> </div> <div class="ft"> <span>Источники: <a href="https://arxiv.org/abs/2610.28577" target="_blank" rel="noopener">статья</a> · <a href="https://github.com/thu-nics/AKV" target="_blank" rel="noopener">GitHub</a> · <a href="https://fuvty.github.io/thinking_yard_project_page/projects/akv/" target="_blank" rel="noopener">страница проекта</a> · цифры предоставлены авторами</span> <span class="mtp">© Marktechpost</span> </div> <script> (function(){ var R=document.getElementById('mtp-akv'); function $(id){return document.getElementById('mtp-akv-'+id)} function post(){try{var h=R.offsetHeight+40;parent.postMessage({mtpAkvHeight:h},'*')}catch(e){}} R.querySelectorAll('.tab').forEach(function(b){b.addEventListener('click',function(){ R.querySelectorAll('.tab').forEach(function(x){x.classList.remove('on')}); R.querySelectorAll('.panel').forEach(function(x){x.classList.remove('on')}); b.classList.add('on');$(b.getAttribute('data-t').replace('p','p')).classList.add('on'); if(b.getAttribute('data-t')==='p3')drawBench(); if(b.getAttribute('data-t')==='p4')drawServe(); setTimeout(post,60);setTimeout(post,500); })}); function blk(t,cls,sub){var d=document.createElement('div');d.className='blk '+cls;d.innerHTML=t+(sub!==undefined?'<small>'+sub+'</small>':'');return d} /* P1 */ var seq=[['U','k-u'],['A','k-t'],['B','k-a'],['C','k-t'],['D','k-a']]; function initP1(){var ce=$('ce'),ae=$('ae');ce.innerHTML='';ae.innerHTML=''; seq.forEach(function(s){ce.appendChild(blk(s[0],s[1]));ae.appendChild(blk(s[0],s[1]))}); $('cem').style.width='0%';$('aem').style.width='0%';$('cet').textContent='Работа по повторному предварительному заполнению: 0 блоков';$('aet').textContent='Работа по повторному предварительному заполнению: 0 блоков'; $('n1').innerHTML='Оба агента хранят пользовательский запрос, ходы ассистента и результаты инструментов. Нажмите кнопку, чтобы удалить старый результат инструмента <b>A</b>.';} initP1(); var playing=false; $('play').addEventListener('click',function(){if(playing)return;playing=true;initP1(); var ce=$('ce').children,ae=$('ae').children; setTimeout(function(){ce[1].classList.add('drop');ae[1].classList.add('drop'); $('n1').innerHTML='Шаг 1: A удалён. Слева текст суммируется, поэтому префикс меняется.';},300); setTimeout(function(){for(var i=2;i<5;i++)ce[i].classList.add('re');$('cem').style.width='75%';$('cet').textContent='Работа по повторному предварительному заполнению: 3 блока (B, C, D пересчитаны)'; $('n1').innerHTML='Шаг 2: <b>инженерия контекста</b> должна заново предварительно заполнить всё после изменения. <b>AKV</b> лишь скрывает A от механизма внимания.';},1300); setTimeout(function(){for(var i=2;i<5;i++)ce[i].classList.remove('re'); var n1=blk('E','k-n new');var n2=blk('E','k-n new');$('ce').appendChild(n1);$('ae').appendChild(n2); $('aet').textContent='Работа по повторному предварительному заполнению: 0 блоков (B, C, D использованы повторно)'; $('n1').innerHTML='Шаг 3: оба агента добавляют новый ход E. AKV повторно использовал B, C и D без изменений, и они по-прежнему содержат информацию, полученную из A.';playing=false;post();},3000); }); $('reset').addEventListener('click',function(){playing=false;initP1()}); /* P2 */ var st;function initP2(){st={toks:[['A',0],['B',1],['C',2]],dropped:{},next:3,stage:0,drop:{},rep:[]};renderP2(); $('n2').innerHTML='Начальное состояние: токены A, B, C находятся на позициях 0, 1, 2. Выполните 3 операции по очереди.';$('req').textContent='{"messages": [m0:A, m1:B, m2:C], "drop_message": {}, "reposition": []}';} function renderP2(mark){var L=$('ops');L.innerHTML='';st.toks.forEach(function(t){var c=t[0]==='D'?'k-n':(t[0]==='B'?'k-a':'k-t'); var b=blk(t[0],c,'поз. '+t[1]);if(st.dropped[t[0]])b.classList.add('drop');if(mark&&mark.indexOf(t[0])>-1)b.classList.add(mark==='D'?'new':'mv');L.appendChild(b)});post();} initP2(); R.querySelectorAll('[data-op]').forEach(function(b){b.addEventListener('click',function(){var op=b.getAttribute('data-op'); R.querySelectorAll('[data-op]').forEach(function(x){x.classList.remove('on')});b.classList.add('on'); if(op==='reset2'){initP2();b.classList.remove('on');return} if(op==='append'){if(st.toks.some(function(t){return t[0]==='D'})){$('n2').innerHTML='D уже добавлен. Попробуйте <b>Удалить B</b>.';return} st.toks.push(['D',st.next]);st.next++;renderP2('D'); $('n2').innerHTML='<b>Добавление</b>: D вычисляется относительно активного кэша и получает следующий индекс позиции.'; $('req').textContent='{"messages": [m0:A, m1:B, m2:C, m3:D], "drop_message": {}, "reposition": []}';} if(op==='drop'){if(!st.toks.some(function(t){return t[0]==='D'})){$('n2').innerHTML='Сначала добавьте D, затем удалите B.';b.classList.remove('on');return}st.dropped.B=true;renderP2(); $('n2').innerHTML='<b>Удаление</b>: B исключается из будущего внимания. Позиции не меняются, а текстовая история сохраняет B.'; $('req').textContent='{"messages": [m0..m3], "drop_message": {"3": [1]}, "reposition": []}';} if(op==='repos'){if(!st.dropped.B){$('n2').innerHTML='Сначала удалите B, чтобы появился промежуток для уплотнения.';return} var p=0;st.toks.forEach(function(t){if(!st.dropped[t[0]]){t[1]=p;p++}});st.next=p; st.toks=st.toks.filter(function(t){return !st.dropped[t[0]]});st.dropped={};renderP2(['A','C','D']); $('n2').innerHTML='<b>Перемещение</b>: ключи сохранённых записей повторно вращаются (RoPE) на позиции от 0 до '+(p-1)+'. Значения не меняются, поэтому ничего не пересчитывается.'; $('req').textContent='{"messages": [m0..m3], "drop_message": {"3": [1]}, "reposition": [3]}';} })}); /* P3 */ var M={'MiniMax-M2.7':{s:[[58.9,35.0,75.2,40.5,52.4],[62.3,36.9,72.0,40.0,52.8],[58.9,40.8,74.4,40.5,53.7]],c:[[5.2,2.4,7.0,5.5,5.0],[5.3,2.7,9.4,5.2,5.7],[4.8,2.6,5.5,4.7,4.4]]}, 'GPT-OSS-120B':{s:[[57.5,68.0,40.0,38.5,51.0],[52.7,65.1,36.8,38.5,48.3],[61.9,69.9,43.2,37.5,53.1]],c:[[13.1,5.4,20.0,6.2,11.2],[12.6,6.8,15.8,5.4,10.2],[11.4,4.1,9.7,3.8,7.3]]}, 'MiroThinker-1.7-Mini':{s:[[60.0,68.0,7.8,40.5,44.1],[45.7,66.0,4.2,32.5,37.1],[63.5,68.9,7.4,43.5,45.8]],c:[[25.2,9.2,33.6,13.5,20.4],[17.6,11.0,28.4,15.3,18.1],[15.3,9.5,26.3,8.1,14.8]]}}; var B=['BrowseComp-Plus','GAIA-Text','SWE-bench Verified','xbench-DS','Среднее'];var mSel='GPT-OSS-120B',bSel=4; var NM=['Standard','Text Eng.','AKV'],CL=['c-s','c-t','c-a']; Object.keys(M).forEach(function(k){var b=document.createElement('button');b.className='btn'+(k===mSel?' on':'');b.textContent=k;b.onclick=function(){mSel=k;$('models').querySelectorAll('.btn').forEach(function(x){x.classList.toggle('on',x===b)});drawBench()};$('models').appendChild(b)}); B.forEach(function(k,i){var b=document.createElement('button');b.className='btn'+(i===bSel?' on':'');b.textContent=k;b.onclick=function(){bSel=i;$('bench').querySelectorAll('.btn').forEach(function(x){x.classList.toggle('on',x===b)});drawBench()};$('bench').appendChild(b)}); function bars(el,vals,max,fmt){el.innerHTML='';vals.forEach(function(v,i){var r=document.createElement('div');r.className='bar'; r.innerHTML='<div class="nm">'+NM[i]+'</div><div class="tr"><div class="fl '+CL[i]+'"></div></div><div class="v">'+fmt(v)+'</div>';el.appendChild(r); (function(f,w){setTimeout(function(){f.style.width=w+'%'},40)})(r.querySelector('.fl'),Math.max(2,v/max*100));});} function drawBench(){var d=M[mSel];var s=d.s.map(function(r){return r[bSel]}),c=d.c.map(function(r){return r[bSel]}); bars($('sc'),s,100,function(v){return v.toFixed(1)});bars($('co'),c,Math.max.apply(null,c)*1.1,function(v){return v.toFixed(1)+'¢'}); var ds=(s[2]-s[0]).toFixed(1),dc=((c[2]/c[0]-1)*100).toFixed(1); $('n3').innerHTML='<b>'+mSel+' · '+B[bSel]+'</b>: AKV по сравнению со Standard даёт '+(ds>=0?'+':'')+ds+' пункта и '+(dc>0?'+':'')+dc+'% стоимости. Источник: таблица 1, данные предоставлены авторами.';post();} /* P4 */ var C=[8,10,12,14,16],LAT=[[43.57,45.03,43.16,108.86,229.90],[43.57,50.27,52.82,60.67,69.96],[25.93,27.11,27.18,28.49,30.63]],OUT=[[217,254,313,146,138],[228,246,264,267,267],[245,295,339,369,369]]; function drawServe(){var i=+$('c').value;$('cv').textContent=C[i]; bars($('lat'),LAT.map(function(r){return r[i]}),235,function(v){return v.toFixed(2)+'с'}); bars($('out'),OUT.map(function(r){return r[i]}),380,function(v){return v}); var x=(LAT[0][i]/LAT[2][i]).toFixed(2); $('n4').innerHTML='При параллелизме '+C[i]+' задержка P95 у AKV на <b>'+x+'x</b> меньше, чем у Standard. '+(i>=3?'При значении выше 12 давление на KV заставляет Standard повторно выполнять предварительное заполнение, поэтому задержка резко возрастает.':'Сравнение пиковых значений сопоставляет AKV при 14 с Standard при 12.');post();} $('c').addEventListener('input',drawServe); /* P5 */ R.querySelectorAll('#mtp-akv-lim li').forEach(function(li){li.addEventListener('click',function(){li.classList.toggle('open');post()})}); window.addEventListener('load',post);window.addEventListener('resize',post);setTimeout(post,300); })(); </script> </div> </body></html>">

Насколько быстро AKV работает в тестах обслуживания?

В тестах обслуживания GPT-OSS-120B выполняла 80 задач SWE-bench Verified с длинным контекстом. При пиковых настройках каждого метода AKV обеспечивает пропускную способность вывода в 1,18 раза выше и пропускную способность ввода в 1,53 раза выше. Задержка запроса P95 сокращается в 1,51 раза.

При параллелизме 16 задержка P95 Standard достигает 229,90 секунды против 30,63 секунды у AKV. Давление на KV заставляет Standard неоднократно выполнять предварительное заполнение. На каждом шаге декодирования время полного внимания сокращается с 7,082 до 2,849 мс.

На 100 задачах SWE-bench Verified при ограниченном бюджете GPU AKV достигла примерно 47% успешных ответов. Standard достиг 40,7%, а Text Engineering — 32,3%.

Могут ли агенты самостоятельно настраивать политику кэша?

MiniMax-M2.7 уточнила политики на 20 задачах BrowseComp-Plus, а затем выполнила 100 отложенных задач. Политика на шестой итерации снизила стоимость на 17,8% по сравнению со Standard при базовой точности. В аннотации сообщается об экономии 7,1% сверх экспертно разработанной политики.

Предоставление управления кэшем в виде инструмента также повысило точность. Результат GPT-OSS-120B на выборке из 100 задач вырос с 52,1 до 61,0. При этом стоимость MiniMax-M2.7 увеличилась с 5,4 до 5,9 цента.

AKV и другие подходы к KV-кэшу

ПоказателиAKVСуммирование по порогуRadixAttention в SGLangStreamingLLMSnapKV
Работает сKV-кэшем, управление агентомТекстовой историейKV-кэшем, повторным использованием префиксаKV-кэшем, фиксированным окномKV-кэшем промпта
Что удаляетсяВыбирается политикой или вызовом инструмента моделиИстория старше порога токеновНичего, общие префиксы используются повторноСредние токены; сохраняются токены-«стоки» и недавние токеныПозиции промпта с низким вниманием
Повторное предварительное заполнение после сокращенияНетДа, сохранённый суффиксНеприменимоОбновление кэша не требуетсяНеприменимо
Целевая нагрузкаМногоходовые агенты с вызовом инструментовФреймворки агентовОбслуживание общего назначения и агентовПотоковый диалогДлинные промпты
Заявленный основной результат−27,7% стоимости, +1,7 пунктаБазовый вариант в статье об AKVДо 6,4 раза выше пропускная способностьДо 22,2 раза выше по сравнению с повторным вычислением скользящего окнаВ 3,6 раза более быстрая генерация при 16 тыс.
МоделиQwen, GPT-OSS, MiniMax-M2ЛюбыеШирокий спектрLlama-2, MPT, Falcon, PythiaLlama, Mistral, Mixtral
Требуется дообучениеНетНетНетНетНет
ЛицензияApache-2.0Зависит от фреймворкаApache-2.0MITApache-2.0

Основные показатели взяты из собственных статей каждого проекта и получены в разных конфигурациях. Их нельзя напрямую сравнивать.

Главные выводы

  • AKV позволяет агентам удалять и перемещать KV-кэш вместо переписывания истории.
  • Средняя стоимость снижается на 27,7%, а средний балл повышается на 1,7 пункта в 3 моделях.
  • Repos повышает результат GPT-OSS-120B на BrowseComp-Plus с 55% до 62%.
  • При параллелизме 16 задержка P95 сокращается с 229,90 до 30,63 секунды.
  • Сейчас поддерживаются только текстовые модели Qwen, GPT-OSS и MiniMax-M2.

Ознакомьтесь с статьёй, репозиторием GitHub и страницей проекта. Также подписывайтесь на нас в Twitter и не забудьте присоединиться к нашему сабреддиту о машинном обучении с более чем 150 тыс. участников и подписаться на нашу рассылку. Подождите! Вы есть в Telegram? Теперь к нам можно присоединиться и в Telegram.

Хотите стать нашим партнёром для продвижения репозитория GitHub, страницы Hugging Face, релиза продукта, вебинара и т. д.? Свяжитесь с нами

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

Впервые опубликовано изданием MarkTechPost

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

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

← К новостям

Ещё новости

Все последние новости