единица 8 / 11

RAG оценка и мониторинг

Печалби:

  • Дефиниране на показатели, които измерват отделно качеството на задържане и генериране
  • Настройте златен набор от въпроси и стартирайте автоматично оценяване с LLM-as-judge
  • Поддържане на качеството чрез обратна връзка, мониторинг и регресионно тестване в производството

Изречението „Инсталирах асистента, изглежда, че работи добре“ не е инженерно изявление. RAG системите се развалят тихо: нов тип документ заблуждава извличането, бързата промяна намалява точността, индексът става остарял. Единственият начин да разберете това е да измерите. В този модул ние разглеждаме как да измерваме качеството на RAG (отделно извличане и генериране), автоматична оценка (LLM-as-judge) и поддържане на качеството в производството (мониторинг, регресия). „Не можете да подобрите това, което не измервате“ е мотото на това звено.

Измерете две отделни неща

RAG има два крака и трябва да се измерва отделно, защото проблемът може да е във всеки от тях:

  1. Качество на извличане: Пристигна ли правилната част?
  2. Качество на генериране: Правилният отговор получен ли е от входящото парче?

Ако отговорът е лош, първо трябва да разберете кой крак е лош. Ако правилната част никога не пристигне, дори най-добрата подкана не може да запази (проблем с извличането). Ако правилната част е пристигнала, но моделът я е разчел погрешно, подобряването на извличането е безполезно (проблем с генерирането).

Метрики за извличане

Извличането е проблем за сортиране/достъп; измерено чрез класически показатели за извличане на информация. За целта трябва да имате златния клъстер: знанието кое парче е "правилно" за всеки въпрос.

показател

Какви мерки

Проста дефиниция

Recall@k

Дали правилната фигура е в горната k?

Правилна скорост на улавяне на части

прецизност@k

Колко от върнатите k части са подходящи?

Почистване на донесеното

MRR (среден реципрочен ранг)

В кой ред е правилното парче?

Наградите са в най-високите класации

Процент на попадения

Пристигна ли поне една правилна бройка?

Най-основната мярка за успех

Практически коментар: Ако Recall@k е ниско, трябва да се преработи стратегията за разделяне или търсене (хибрид, k, прекласиране). Ако прецизността е ниска, но припомнянето е високо, добавянето на прекласиране е добър ход.

Показатели за генериране

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

  • Верност: всяко твърдение в отговора подкрепено ли е от контекст? Има ли подходящо? Това е пряка мярка за халюцинация.
  • Уместност на отговора: Отговорът всъщност отговаря ли на въпроса или не е по темата?
  • Пълнота: Използвана ли е цялата релевантна информация в контекста или липсва?

Те често се оценяват на степенувана основа (напр. 1-5), а не двоично като „вярно/невярно“.

Съвет: Проследявайте Верността като отделен показател. Ако верността намалява с намаляването на точността, проблемът е генерирането; Ако верността е висока, но отговорът е грешен, проблемът е грешната част (извличане). Заедно тези два показателя са компас, който показва местоположението на повредата.

Създаване на златен набор от въпроси

Всяко измерване изисква златен набор / набор от данни за оценка: реалистични въпроси + очаквани верни отговори + правилни изходни части. Започването с 30-50 добре подбрани въпроса е по-добро от 500 произволни въпроса. Включете следното в комплекта: често задавани реални въпроси, известни трудни въпроси, въпроси-капан без отговор (трябва да кажете „не знам“), въпроси с противоречиви източници.

# Пример за златен клъстер (концептуален)[ {"question": "Колко дни годишен отпуск?", "expected_answer": "14 дни за 1-5 години стаж", "correct_part_id": "two-part-3", "category": "leave"}, {"question": "Къде е офисът на компанията на Марс?", "expected_answer": "NO_INFORMATION", # trap: Не знам "correct_part_id": null, "category": "trap"}]

LLM-as-Judge: Автоматично оценяване

Отчитането на стотици отговори на ръка е уморително. Моделът LLM-as-judge е, когато един модел оценява и обосновава отговора на друг модел въз основа на определени критерии. Добрият съдийски съвет ясно дефинира критериите, дава примери и иска обосновка.

# Подкана за LLM-as-judge (концептуална) Вие сте безпристрастен оценител. Оценете ОТГОВОРА по-долу според дадения КОНТЕКСТ и ОЧАКВАН ОТГОВОР. Оценка (1-5) и обосновка:- достоверност: всяко твърдение в отговора подкрепено ли е в контекст?- точност: отговаря ли отговорът на очаквания отговор?- пълнота: пълна ли е съответната информация? По-специално: ако отговорът съдържа информация, която не е в контекста, дайте достоверност1 и посочете кое твърдение е измислено. КОНТЕКСТ: {контекст}ОЧАКВАНО: {очаквано}ОТГОВОР: {отговор}Резултат: {достоверност, точност, пълнота, обосновка}

Внимание: LLM-as-judge не е съвършен; Те може да имат свои собствени пристрастия (дълъг отговор, предпочитайки собствения си стил). Също така проверете съдията: направете някои отговори оценени както от съдията, така и от човека и измерете съгласието между тях. Ако Judge е в съответствие с човешките резултати, можете да му се доверите.

Слаба/Силна оценка

Слаб („беше добре за мен“):

Зададох няколко въпроса и отговорите изглеждаха добри. Имам го на живо. # Проблем: няма измервания, регресията е незабележима, подобрението е сляпо.

Мощен (златен клъстер + дискретни показатели + автоматична преценка + регресия):

Златен грозд от 40 въпроса. При всяка промяна, recall@5, верността и точността се измерват автоматично. Ако резултатът падне, промяната се връща назад. При производството отзивите на потребителите се събират и добавят към комплекта.

Мониторинг и регресия в производството

Оценката не се прави веднъж и завършва. Три постоянни практики:

  • Регресионно тестване: Автоматично стартиране на златен клъстер при всяка подкана/извличане/промяна на модела. Ако резултатът е намален, промяната се обръща. Това предотвратява „счупването му, докато се опитвате да го подобрите“.
  • Мониторинг на производството: Процентът „Не можах да намеря информация“ в реални въпроси, средно забавяне, цена, обратна връзка от потребителите (👍/👎) се наблюдават. Внезапното увеличаване на „Не знам“ често е първият признак за неизправност при индексиране или извличане.
  • Цикъл за обратна връзка: Истинските въпроси, зададени от потребителя 👎, се преглеждат и добавят към златната купчина; Така комплектът става по-богат с течение на времето и слепите зони на системата се затварят.

Три мини калъфа

Случай 1 — Тиха регресия. Екип модифицира подканата, за да я „подобри“; Общата точност се увеличи, но верността намаля с 30% във въпросите за прихващане (моделът започна да пасва повече). Нямаше да бъде забелязано, ако не бяха въпросите за капан в златния грозд; Регресионното тестване отмени промяната.

Случай 2 — Изправяне на грешен крак. При един асистент отговорите бяха лоши; Екипът работи върху подканата в продължение на седмици. Когато измерихме показателите за извличане, recall@5 беше само 48% — проблемът беше в извличането, а не в генерирането. Когато беше добавено хибридно + прекласиране, припомнянето се увеличи до 89% и точността също се увеличи.

Случай 3 — Сигнал за производство. Един ден процентът „Не можах да намеря информация“ за асистент по поддръжката скочи от 6% на 34%. Трекпадът предупреди; Причината беше, че задачата за индексиране, която работи през нощта, тихо се провали и нови статии не бяха качени. Без мониторинг неправилните твърдения „не знам“ щяха да продължат с дни.

Често срещани грешки

  • Да бъдеш доволен от „работи добре за мен“: Без измерване регресията остава незабелязана.
  • Без разделяне на извличането и генерирането: Ще коригирате грешния крак и ще загубите време.
  • Не задавайте въпроси-капан: Склонността да се измислят нещата не се появява в златния клъстер.
  • Непроверяващ съдия: Предубеденото жури дава фалшива увереност.
  • Производството не се наблюдава: Неуспех на индекса, експлозията на разходите продължава безшумно.

В обобщение

  • В RAG качеството на извличане и генериране се измерват отделно; Първо трябва да се определи кой крак е повреден.
  • recall@k, precision@k, MRR за извличане; За генериране се използват вярност, пригодност, пълнота.
  • Всяко измерване изисква златен клъстер; Поставете реални, трудни, капани и противоречиви въпроси в него.
  • LLM-as-judge големи комплекти автоматични резултати; но самият съдия трябва да бъде оправдан срещу човека.
  • Регресионното тестване, мониторингът на производството и обратната връзка поддържат качеството във времето.

Задача за приложение

(1) Създайте златен набор от най-малко 15 въпроса за вашия собствен асистент: включете поне 3 капана (без отговор), 3 трудни, 2 въпроса с противоречив източник. Напишете очаквания отговор и правилната част за всеки въпрос. (2) Сравнете ръчно две различни версии на подкана с този набор; Дайте на всеки отговор 1-5 точки за вярност и точност. (3) Адаптирайте подканата LLM-as-judge по-горе към вашите собствени критерии. (4) Определете 3 показателя, които ще проследявате в производството, и за всеки попитайте „при какъв праг да алармирам?“ напишете стойността.

контролен списък

  • [ ] Мога да измервам качеството на задържане и генериране с отделни показатели.
  • [ ] Знам какво означават показатели като recall@k, вярност.
  • [ ] Мога да изградя златен клъстер, който включва реални, трудни, капани и противоречиви въпроси.
  • [ ] Мога да настроя автоматично оценяване и да проверя съдията с LLM-as-judge.
  • [ ] Мога да управлявам регресионно тестване, производствен мониторинг и обратна връзка.