Шысьць паказнікаў ацэнкі RAG, якія маюць значэнне ў практычным выкарыстоўванні
Шысь метрыкаў ацэнкі RAG для працы ў практыцы: Recall@K, nDCG, MRR, адданасць, час адпаведзення і вартасць, а таксама тое, як працэс пошуку можа стаць лепшым на паперы, тады як якасць адпаведзення пагіршуецца.
Крыніцы: 6 RAG Evaluation Metrics I Learned to Respect After Debugging a Production RAG System
У пачатковых нарадчыках з RAG шлях выглядае простым: раздзеліць дакументы, уключыць іх, зберагчы вектары, выбраць маленькую кантэнцію top_k, вызваць мадэль. Такы падход можа здавацца эфектывным у дэме. Але ў рэальных умовах все інакш.
З’яўляюцца складныя запытанні. Автэнтычныя дакументы супераслігаюць адзін з другім. Дзеякі запытанні трэба падтрымліваць доказамі з кальколька месцаў адразу. Карыстувачы ствараюць фразаванні, якіх няма ў первісным наборэ тэстаў. Сістэма, якая добра прабавалася на стандартных тэстах, пачынае даваць адпаведзі, якія здаюцца надта нестабільнымі.
Пры налагоджэнні механізма пошуку для асістэнта у корпаратыўнам стылі гэтыя проблемы сталі явнымі. Недастатак доказаў змусіў команду падняць глыбіну пошуку. Рэзультаты пашуку без з’ўязку з інтэрнэтам падняліся, а рэгрэт такса таксама. Паперовыя показнікі паказвалі «лепшы» стан, але якосьасць генераваных адпаведзей падгорэла.
Дадзеныя дапаможнікавалі не аднойчы. Інодзе гэта было болюча. Спраўныя фрагменты прыходзілі з супернакладамі, слабкімі суседзямі і часамы канфліктамі.
Гэты дазнаўніцкі досвядзець пераканал падход да ацэнкі. Запыт перастаў быць «чы гэта быў правільны файл?» і стаў «чы кожны этап працэсу можа паказаць, што выканана яго задача?»
Адлагоджэнне робочых сістэм RAG быстра раздзеляе канкрэтныя аспекты, якія ў дэманстрацыйных прыкладах зліваюцца ў адну оцэнку: насколькі добра вы выкарыстоўваеце інфармацыю, насколькі добра ранжуеце яе, якія якосці адпаведзення, чы тверджэнні ўзгадваюць рэальнасць, сколькі часу чакаюць корыстнікі і сколькі коштае кожны запыт. Наступныя запыты, якія задаюць усе — як нам выбраць размер фрагменту і параметры top-k? — больш не патрабуюць стандартных цыфраў.
Спрыяйце прыбліжэнню проблемы як аптымізацыі па змоўгу: створыце базовую правду, змяркуйце неабходныя показнікі, назвыце компромісы, пераканайцеся ў правільнасці незнакомых запытоў, а потым парабяжцеся, што рэшэння застаецца эфектываў у практычным выкарыстоўванні.
Шас мераў ёсць выключна корыстныя: Recall@K, nDCG, MRR, Faithfulness, Latency і Cost. Кожная з яных адкрывае разны тып неяўнасці. Разам яны адказваюць на пытанне, як пратэтып ператвараецца ў сістэму, яю можна апераваць.
Пачніце з адзысквання інфармацыі
Калі якасць адказоў падупае, верніцеся да пачатку працэсу прыемлень інфармацыі, перш чым прабаваць перапісваць запіты, зменшыць модулі чы прыўязваць дадатковыя элементы. Задайце простае пытанне: чы воўсе знаходзіцца неабходная інфармацыя? Модуль не можа выкарыстоўваць матэрыял, які ніколі не прайшоў у вікно кантэксту.
1. Recall@K — ступень пакрыцча неабходных доказоў
Recall@K выявляе, які частака сапраўдна значамых элементаў з’являецца сярод першых K рэзультатаў.
Узьмімо бота ITSM, які сталкнуўся з запытам: «Служба платэжоў не працюе пасля перэключэння базы дадзенаў — якія крокі восстанавлення мне трэба выконаць?» Падазроўваецца, што патрабуецца пяць фактов. Серэд першых пяці рэзультатаў бота ёсць толькі чатыры з іх. Recall@5 станавіць 0.80.
Эта адзіная цыфра ужо керуе процэсам дыбаггінгу. Генератор можа не быць вінаватым; 20 процэнтаваў неабходных доказоў так і не прыбылі. Практычная правіла: паспрабуйце паўнейша перадзеясніць тое, што бачыць мадэль, прычаму ўжо звычайна крытыкаваць спосаб яе напісання.
Гэта таксама пояснюе, чаму фіксаваная значэнне top_k = 5 не ёсць абавязковай. Калі зменіць K з 5 на 10, то рэкалі ўзростае з 0.80 да 0.94, што указвае на тое, што індэкс мае неабходны матэрыял, але фільтрацыя занадта слабая. Падвоўкі K таксама можа прызваць перэплыв запросу шумам — саме таму далей ідуць паказнікі ранжыравання.
2. nDCG — чыя лепшыя рэзультаты знаходзяцца ў верхней частыне?
Толькі паверхневая аналіз не ўсё. Важны таксама парадак.
Две сістэмы можу выкарыстоўваць аднаковы набор інструкцый. Адна ставіць іх першымі, потым іншыя корыстныя процедуры, а пасля — менш значымы элементы. Іншая ж ховае ція інструкцыйі на восьмай пазычці, між слабкая зв’язанымі старонкамі. Рэкалі схожы; але рэзультаты зусім разныя.
nDCG (нормаваныя зніжаныя кумуляванныя практычныя значэння) ацэнкаваі relevантнасць і надае большых балоў за тое, каб сільныя элементы былі размешаны ў пачатку. Класычная праця Järvelin і Kekäläinen па зніжаным практычным значэннях створаная саме з гэтай прычыны.
Reranking рэалізуе гэта для RAG. Адзначаюцца дваццаць кандыдаатаў, для модэлю застаецца пяць, і самэ раштучак двадцаты выбірае, чы ўсё-такі гэтыя пяць будуць корыстнымі. Высокая рэкалія з слабым ранжыраваннем можа заставіць правільны абзац у спіску, але пазначыць яго не ў фінальным запітаў.
Рэкалія пераканваецца ў адкрыцыі інфармацыі. nDCG пераканваецца ў розумным раштучаку.
3. MRR — калі будзе першы корыстны рэзультат?
Серэдняе взаімнае ранжыраванне сфокусавана на першым рэлевантным выніку:
[
RR = \frac{1}{\text{rank of first relevant result}}
]
Ранг 1 → RR 1.0. Ранг 5 → RR 0.2. Серэднічаючы па набору запытанняў, MRR ёсць чысты сігнал, калі першы хорашы рэзультат домінюе ў выніках.
Інтэрактыўныя асістэнты часта зупыняюцца пасля першага значныя фрагмента тэксту. Агент, які хавае правыя інструкціі на дзевятай пазіцыі, можа выглядаць эфектываў у тэсце Recall@20, але ў інтэрфейсе продавацца неэфектываў.
Калі «больш кантэксту» пагубнае
Пасля павышэння колькісных показнікаў агента якасць адпаведзенняў застаўся нізкім. Мадэль патрапляла ў сітуацыю з надмерным і суперасунковым тэкстам. Показнікі ранжыравання адказаў паводзяць да гэтай проблемы: большая значэння K без лепшага парадку дапамагае шуму прасачыцца ў запіт, што спрычыняе неабходнасць перапрацоўкі адказа.
4. Адданасць — твэрджэння, звязаныя з адзначаным тэкстам
Адданасць абязначае, чыя твэрджэння ў адказе падтрымваюцца адзначаным кантэкстам. Плавны, але неаснованны тэкст, які выдумвае новы крок, праграматныя граніцы чы саўмешчае два правіла ў адно, не падтрымвае адданасць, нават калі звучыць впэўнена.
Трэба розлічваць адданасць і правільнасць.
Падзеймі, што корпус усё ўсё мае застарэлую правілу пароля — выгорае кожныя 60 дзён. Мадэль яе знаходзіць і павтарае. Адпаведзь можа быць абсалютна верныя знайдзенай сторанцы, але ўсё равна некорэктной па вазначаным істочніку правды.
- Вернасць: чым падтрымвана вернасць? Чым было знайдзена інфармацыя?
- Корэктнасць: чы супарадзіваеся з вазначанай політыкай?
Этае раздзеленне мае значэнне кожны час, калі базы знаёмых адрэсуюцца пад жывую сістэму.
5. Затрымка — чакаць якую можу карыстальнікі
Якосьць паўтарнага выкарыстання без з’яноў канчаткаецца, калі продукт не можа сабе пэўніць у чаканні.
Пораўняймо два варыянты. А даходзіць да 91% точнасці адпаведзей з затрымкай 120 мс. B даходзіць да 93% з затрымкай 650 мс. B выграе толькі па тачнасці. Адметкі продукту вяршаюць, чы B на самай працоўнае лепшы. Інтэрактывныя асістэнты з строгім лімітам часу на адпаведзь могу адхіліць такую затрымку, а выкарыстанне інфармацыі — толькі частка абоўсумнага часу.
Жывыя запіты можаць включаць перапісву, выявленне даных, пераранжаванне, стварэнне кантэксту і генераванне. Неабяжна зьмераць асэтапны прыем падзеяў і весь шлях ад початку да канца. Лепш выкарыстоўваць распады даных, чым сярэднія значэння. Сярэднее значэньне 400 мс з P95 у розмярэ 1,8 секунды зовсім не адпавядае сістэме, у якой значэньні P50/P95/P99 застаюцца нізкімі.
З самага пачатку трэба уключыць показнік затрымкі ў план ацэнкі — а не як метрыку керування пасля таго, як архітэктура будзе зафіксавана.
6. Косц — што відбываецца пад мільйонамі запытанняў
Эканоміка стае значным фактам як толькі пратэты практычна ператвараецца ў продукт.
Падвышэньне колькасці элементаў у топ-к вплывае не толькі на кантроль над рэзультатамі, але і на велічыну працы пры пераранжаванні, розмяр фінальнага кантэксту, колькасць токэнаў увайсу, затрымку і навантажэнь на інфраструктуру.
Калі кожны фрагмент складаеся з 600 токэнаў, тады:
Final K = 5
уводзіцца апошней прыбліжна 3 000 выявленых токэнаў. Перайсці да:
Final K = 15
і вы якраз набліжаецеся да 9 000 — гэта у трох разоў больш за массу, якая была знайдзена. Міліяны запытак ператвараюць гэта на вароўкі для выбору продукту. Параметр Top-k адразу ж вплывае на якасць, час адпаведзі і вартасць.
Што на самай працо значыць «налаштаваць размер частак і параметр Top-k»
У запытанні на адзінку не прасягаюць пра два „чароўныя“ чыслы. Прасігаюць пра эксперыментальную структуру.
Складзіце прыбліжна 200 рэпрэзентатывных запытак, якія стосуюцца адлагоджэння проблем, процедураў, інцыдэтаў/RCA, правілаў, неяснасцей, багатоэтапных працэсаў і крайніх случаяў. Некампетэнтыям у галузі нехай ацэнююць актуальнасць.
Перагляньце размеры частак, напрыклад:
Chunk sizes:
256
512
1024
2048
і перасягі сетак / кандыдатаў-K, напрыклад:
Overlap:
64
128
256Candidate K:
5
10
20
Сетка 4 × 3 × 3 дае або 36 конфігурацый. Оценіце кожную за аднакоўнальнасцю больш чым адной цыфры:
Recall@K
nDCG@K
MRR
Answer correctness
Faithfulness
Latency
Cost
Потым выберце парадакт, які важнаўствае для якасці / часу адпаведзі / вартасці — не за звычай максімальны рэкал чы F1.
Рэзультаты эксперымента, протыраннія з логікай
Дзеяўся прыпуск, што тры конфігурацыі даюць такія рэзультаты:
- A: Recall@10 0.94, nDCG@10 0.81, точнасць 0.89, адпаведнасць 0.95, P95 510 мс, $0.025
- B: Recall@10 0.91, nDCG@10 0.88, точнасць 0.94, адпаведнасць 0.96, P95 560 мс, $0.027
- C: Recall@10 0.97, nDCG@10 0.79, точнасць 0.86, адпаведнасць 0.76, P95 820 мс, $0.034
Толькі па параметру Recall C выглядае найкрашча. Аднак яна дае найслабейшыя рэзультаты — адночасна выкарыстоўванне дадатковых методаў адшукання, вочыма, пагаршвае якасць генеравання. У B меньшы показнік Recall, але ёй прывілейваюць nDCG, точнасць і адпаведнасць за рахунак лёгкага падвышэння часу адпаведзення і вартоў. Самэй гэтая конфігурацыя варта дакладнейшага аналізу, і самэй таму правіло «перамагае найвышэйшы бал за адшукання» ёсць некорэктным узэўсюдным правілам. Неабходна оптымацыя па рэальных цілях продукту.
Няудача → наступны аналіз
- Слабы показнік Recall@K → часткова апрацоўка дадзенняў, вставкі, індэксы, фільтры метадаў, фарматаванне запыткаў, стратэгія адшукання
Гэты спіс ператак ператварае адлагоджэнне на стандартную процедуру.
Зберагаеце цыкл у працоўным рэжыме
Одноразовы тэст не ёсць канцэльнай стадыяй. Вам патрэбна непаўзліва ацэнка. Рэальны трафік не падобаецца створаным набрам: зменшваюцца формулі запытак, документы зменяюцца, правілы адкорэгулююцца, з’яўляюцься новыя службы, прыходзяць экстрэмальныя сітуацыі. Расшыроўваеце набор для ацэнкі на базе працоўных неудач.
Развіты карточкі ацэнкі
Няхай якая-небудзь адна метрыка не можа расказаць всю історыю. Корыстная карточка адзначае пакрыць, ранг, правільнасць, аддыктнасць, перцэнтылі затрымкі і эканоміку аб’екта ўсё разам.
Задайце вопыты пры налагоджэнні
Калі хтось захоць вялічыну фрагмента і параметр top-k, спачатку задайце вопыты: што мы оптымізуем, як выглядае набор з атрыбутамі, і сколькі коштае неправільнае выкарыстоўванне даных? З гэтымі адказамі налаштаванні стаюць рэзультатамі эксперыментаў.
Адны з можлівых рэзультатаў можа быць:
512 tokens
128 overlap
Candidate K = 20
Final K = 5
Іншы:
1024 tokens
64 overlap
Candidate K = 10
Final K = 4
Семантычнае раздзелэнне на фрагменты можа перамогчы і тое, і другое. Рэранкер можа зробіць фінальны параметр K важлівейшым за кандыдатскі параметр K.
Не трэба даваць веры уяўным ценносцям без прамеравання. Сістэма RAG не ўважаецца „хорашай“ таму, што яна знаходзіць больш мацерала, робіць гэта быстрэй чыста таму, што звучыць пераканальна. Яна ўважаецца хорашай, калі знаходзіць правільныя доказы, належным чынам іх ранжуе, задае модэлю правільную колькасць кантэксту, стварае адпаведныя і падтрыманыя фактамі адпаведзі, і застаецца ў межах практычных параметраў прысоедзення часу і вартасці продукту.
Гэта разлік — межа між простым падключэнням элементаў і стварэнням робочай сістэмы — і ёсць сутнасцю праблемы.
Хавайце гадаць пра настройкі
Няма міфічнай дужыны фрагментаў, няма універсальнага показніка top-k, і няма жаднага адзінога паметрагу, які мог бы стварыць умовы для готавасці до выводу. Нават высокі показнік Recall@K можа зашкодзіць якасці адпаведзей. Сільная здатнасць да пошуку мацерала можа дазволіць робіць тыя тверджэння, якія не падтрымваюцца доказамі. Высока тачнасць таксама можа не прыняцься, калі пры збільшэнні масштаба ростуць прысоедзення часу чы вартасці.
Падберайце баланс межаў покрыцча, ранжыравання, стварэння адпаведзей на падставе доказаў, прысоедзення часу і вартасці для тых завадак, якія вы насправды обслугавалі.
Прыяжнае падчыненне: абсалютная правда → крэты для выкарыстоўвання дадзеных → пераконтроль ранжыравання → якосц адпаведзення з початку да канца → пераконтроль часу адпаведзення/вытрат → дадзеныя, якія не былі паказаны → назіранне за працэю ў рэальным часе → адказы за невялікія працэўнікі, якія зноў пракладаюцца ў набор.
Тады chunk_size=512 або top_k=5 ўжо ёсць доказам, а не фольклорам.
Размішчэнне шасцях паметрактароў на адной стороне
Практычны карточкі ацэнкі для ўсётыжневага адзору RAG можа выглядаць так:
- Recall@K і MRR для падтверджэння: «Чы сапраўды мы знаходзім доказы, і як шыбка?»
- nDCG для падтверджэння: «Чы мы ставім лепшыя доказы першымі?»
- Адданасць і правільнасц адпаведзення для падтверджэння: «Чы генераванне адпаведзення застаўся правдзівым?»
- P50/P95 час адпаведзення для падтверджэння: «Чы корыстувальнікі можаць чакаць?»
- Вытраты на адна успешная адпаведзь для падтверджэння: «Чы фінансы можаць чакаць?»
Разглядзіце іх разам. Падыш у показніку Recall@K паўзрастанням надзеянасці не ёсьць успехам. Скорачэнне затрымкі, якае прыводзіць да падышу nDCG, таксама не ёсьць успехам. Мета шасцях метрычных показнікаў — адкрыць гэтыя компромісы, замест таго каб спрытаць іх у адзін показнік F1.
Абсалютная правда — гэта рэдкі рэсурс
Метрычныя показнікі ўсё толькі настолькі хорашы, насколькі хорашыя ярлыкі, якіе стояць пад імі. Якшо эксперты ў данай галіні ніколі не ацэнювалі, якія фрагменты ёсць рэлевантнымі, то Recall@K стае проста формальнасцю. Якшо ніхто не пазначаў ступеня рэлевантнасці, то nDCG ператвараецца на шумны бінарны показнік. Якшо ацэнка надзеянасці ёсць неоднаковай, то рэзультаты метрык таксама змінююцца.
Неабходна выдзеліць час на пазначэння ярлыкаў так сама, як і час на експерыменты з усаджэнням даных. Двеста рэтка ацэнаваных запытак зазвычай даюць больш маёмасці, чым два тысячы безярлыковых. Апдэйтуйце гэты набор на адной з карточак пра проблемы: кожны «неправільна вырачаныя вітраты», «застарэлыя правіла пароля» і «празначаныя етапы, якія не былі выкарыстоўваны» ёсць кандыдатамі на аналіз.
З эксперыменту да к контролю змян
Калі якае-небудзь настройкаванне паспела ў тэстовым рэжыме, яго трэба апрацаваць так жа, як і будзь-яю іншую зміну ў працоўным сервісе. Запісваюцца параметры, якія былі выкараны, паспелы настройкавання, рэзультаты тэстаў для іншых настройкаў, а таксама параметры затрымкі/выдаткаў, якія былі прыйняты. Потым трэба сочыць за тымі ж паметрамі ў рэальным трафіку прынаследжваючы певны час. Калі рэзультаты запытаў у працоўным сервісе будуць іншымі, неудачныя кейсы трэба падаць знову ў той жа набор даных і перзапусціць процедуру тэставання. Саме гэты цыкл — а не стандартны розмер частак у блог-пастах — і ўражае разлік межы налаштаванага сістэмы і проста ўдачнай дэманстрацыі.
Чаму пратотыпы моўцуюць неправду
У дэмавыях нотбуках зазвычай выліковваецца набор запітоў, фіксуецца корпус даных, а затрымка выканання падае за счэт адной-едзінай вызову. У рэальных умовах все адбываецца наадворс: запіты змінююцца, дакументы перэрастаюць, а корыстувальнікі пакідаюць медленныя адпаведзі. Самэй таго конфігурацыя, якая здавалася чудовай на статычным тэстах, пасля запуску можа здавацца ненадзеяной. Шэсць вышапераказаных паметрак ёсць спосабом зробіць гэтыя скрытыя аспекты відкрытымі яшчэ до выпуску продукту, а таксама падтрымліць іх відкрытымі пасля выпуску.
Калі хтось запытаеся пра стандартны розмер частакі і стандартную колькасць элементаў top-k, перакладзіце гэты запіт у план експерыменту. Указаце цель, набор дадзеных з меткамі, ліміт затрымкі і верхнюю межу віток. Пасля чаго нехай сітка вырашыць цыфры. Усё іншэ — гадання, адзначана як інжынерная праця.
Зберагачыце табліцу паметрак у візуальным фармаце пад час ўсэх тыжневых аналізаў, каб компромісы заставаліся відкрытымі для всіх членаў команды.