Лого на 91. НЕГ „Проф. Константин Гълъбов“

Избираем модул · Урок 13

Качество на извличането

Мерки за търсене: recall@k, precision@k и MRR. Как се прави набор от заявки с верни отговори и защо се мери отделно от отговора на модела.

Две системи в една

RAG има две части, които се провалят по различни причини: извличането (намери ли верния текст) и генерирането (използва ли го правилно). Ако мерите само крайния отговор, не знаете коя от двете да поправяте.

Правилото

Първо се мери извличането. Ако верният текст не е бил намерен, никакъв промпт няма да спаси отговора.

Наборът от заявки

Набор за оценка на търсенето

Списък от реални заявки, за всяка от които е записано кой запис е верният отговор.

  1. Съберете 30–50 реални въпроса — от потребители, от съученици, от собствения си опит.
  2. За всеки намерете ръчно верния документ или парче.
  3. Включете и трудни случаи: синоними, съкращения, правописни грешки, въпроси без отговор.
  4. Запишете набора във файл и не го променяйте, докато настройвате системата.

Не съставяйте въпросите от документите

Ако прочетете парче и напишете въпрос по него, въпросът ще съдържа същите думи и търсенето ще изглежда отлично. Реалните потребители питат с други думи. Затова въпросите се събират отвън.

Мерките

МяркаКакво казваКога е важна
recall@kверният документ сред първите k ли енай-важната за RAG — моделът вижда само първите k
precision@kкаква част от върнатите k са уместникогато излишният контекст обърква модела
MRRна кое място средно се появява верният отговоркогато редът има значение за човек
брой без отговорколко заявки не намират нищопоказва дупки в колекцията

Как се смятат

recall@5 = за колко от заявките верният документ е сред първите 5, делено на броя заявки. MRR = средното от 1 / мястото на верния отговор (0, ако го няма).

Какво k да изберем

Големината на k се определя от промпта: ако подавате 5 парчета на модела, мерите recall@5. Няма смисъл да се хвалите с recall@50, ако моделът вижда пет.

Какво да поправяме според числата

НаблюдениеВероятна причинаКакво да опитаме
нисък recall при всички заявкилошо нарязване или неподходящ модел за векторипо-малки парчета със заглавие; друг модел
нисък recall само при кратки заявки с кодовелипсва търсене по ключови думихибридно търсене
верният е намерен, но на 12-о мястокласирането е слабопренареждане на кандидатите
нищо не се намира за цели темидокументът липсва в колекциятадопълване на данните, не настройка
recall е добър, отговорите — лошипроблемът е в промпта или в моделаработа по генерирането, урок 20

Мярка за самите отговори

След като извличането е наред, се мери и отговорът. Три въпроса на отговор:

  • Основава ли се изцяло на подадения текст (без добавени твърдения)?
  • Отговаря ли на въпроса, който е зададен?
  • Посочен ли е верният източник?

Проверката се прави от човек върху малка извадка и с модел-съдия върху останалите — както в урок 31 от 11. клас.