Eenheid 8 / 11

RAG-evaluatie en monitoring

Winst:

  • Het definiëren van statistieken die de retentie- en generatiekwaliteit afzonderlijk meten
  • Stel een gouden vragenset op en voer automatische evaluatie uit met LLM-als-rechter
  • Behoud van kwaliteit door middel van feedback, monitoring en regressietesten in de productie

De zin "Ik heb de assistent geïnstalleerd, deze lijkt goed te werken" is geen technische verklaring. RAG-systemen gaan geruisloos kapot: een nieuw documenttype houdt het ophalen voor de gek, een snelle wijziging vermindert de nauwkeurigheid, de index wordt verouderd. De enige manier om dit te realiseren is door te meten. In deze unit bespreken we hoe u de RAG-kwaliteit kunt meten (afzonderlijk ophalen en genereren), automatische evaluatie (LLM-als-rechter) en hoe u de kwaliteit in de productie kunt handhaven (monitoring, regressie). “Je kunt niet verbeteren wat je niet meet” is het motto van deze unit.

Meet twee afzonderlijke dingen

RAG heeft twee benen en moet afzonderlijk worden gemeten omdat het probleem zich in een van beide kan bevinden:

  1. Ophaalkwaliteit: Is het juiste onderdeel aangekomen?
  2. Generatiekwaliteit: Is het juiste antwoord uit het binnenkomende stuk voortgekomen?

Als het antwoord slecht is, moet je eerst weten welk been slecht is. Als het juiste onderdeel nooit arriveert, kan zelfs de beste prompt niet worden opgeslagen (ophaalprobleem). Als het juiste onderdeel is aangekomen, maar het model het verkeerd heeft gelezen, is het verbeteren van het ophalen zinloos (generatieprobleem).

Ophaalstatistieken

Ophalen is een sorteer-/toegangsprobleem; gemeten aan de hand van klassieke meetgegevens voor het ophalen van informatie. Hiervoor heb je de gouden cluster nodig: de kennis van welk stuk bij elke vraag "juist" is.

metrisch

Welke maatregelen

Eenvoudige definitie

Terugroepen@k

Staat het juiste stuk in de bovenste k?

Correcte deelopnamesnelheid

precisie@k

Hoeveel van de geretourneerde k-stukken zijn relevant?

Schoonmaken van wat meegebracht wordt

MRR (gemiddelde wederzijdse rang)

In welke volgorde staat het juiste stuk?

Beloningen die in de hoogste rangen staan

Hitpercentage

Is er minstens één correct stuk aangekomen?

De meest fundamentele maatstaf voor succes

Praktische opmerking: Als Recall@k laag is, moet de chunking- of zoekstrategie (hybride, k, re-ranking) worden herwerkt. Als de precisie laag is, maar de herinnering hoog, is het toevoegen van een nieuwe rangschikking een goede zet.

Generatiestatistieken

Wanneer het juiste onderdeel arriveert, meten we de kwaliteit van de respons die door het model wordt geproduceerd. Drie basisafmetingen:

  • Trouw: wordt elke bewering in het antwoord ondersteund door de context? Is er iets passends? Het is een directe maatstaf voor hallucinatie.
  • Antwoordrelevantie: Beantwoordt het antwoord daadwerkelijk de vraag of is het buiten het onderwerp?
  • Volledigheid: Is alle relevante informatie in de context gebruikt of ontbreekt deze?

Deze worden vaak gescoord op basis van een cijfer (bijvoorbeeld 1-5), in plaats van binair zoals ‘waar/onwaar’.

Tip: Houd trouw bij als een afzonderlijke maatstaf. Als de betrouwbaarheid afneemt naarmate de nauwkeurigheid afneemt, is het probleem generatie; Als de betrouwbaarheid hoog is, maar het antwoord fout is, is het probleem het verkeerde stuk (ophalen). Samen vormen deze twee statistieken een kompas dat de locatie van de fout weergeeft.

Een gouden vragenset opstellen

Elke meting vereist een gouden set / evaluatiedataset: realistische vragen + verwachte correcte antwoorden + correcte bronstukken. Beginnen met 30-50 goedgekozen vragen is beter dan 500 willekeurige vragen. Neem het volgende op in de set: veelgestelde echte vragen, bekende moeilijke vragen, valkuilen zonder antwoorden (men zou moeten zeggen: "Ik weet het niet"), vragen met tegenstrijdige bronnen.

# Golden cluster voorbeeld (conceptueel)[ {"question": "Hoeveel dagen jaarlijks verlof?", "expected_answer": "14 dagen voor 1-5 jaar anciënniteit", "correct_part_id": "two-part-3", "category": "leave"}, {"question": "Waar is het Mars-kantoor van het bedrijf?", "expected_answer": "NO_INFORMATION", # trap: Ik weet het niet "correct_part_id": null, "category": "trap"}]

LLM-als-rechter: automatische beoordeling

Handmatig honderden antwoorden scoren is vermoeiend. Bij het LLM-als-judge-model scoort het ene model en rechtvaardigt het antwoord van een ander model op basis van bepaalde criteria. Een goede rechter definieert duidelijk de criteria, geeft voorbeelden en vraagt ​​om rechtvaardiging.

# LLM-als-rechter-prompt (conceptueel) U bent een onpartijdige beoordelaar. Evalueer het onderstaande ANTWOORD aan de hand van de gegeven CONTEXT en het VERWACHTE ANTWOORD. Scoor (1-5) en rechtvaardig: - betrouwbaarheid: wordt elke claim in het antwoord ondersteund in de context? - nauwkeurigheid: komt het antwoord overeen met het verwachte antwoord? - volledigheid: is de relevante informatie volledig? In het bijzonder: als het antwoord informatie bevat die niet in de context staat, geef dan betrouwbaarheid1 en geef aan welke bewering verzonnen is.CONTEXT: {context}VERWACHT: {verwacht}ANTWOORD: {antwoord}Uitvoer: {trouw, nauwkeurigheid, volledigheid, rechtvaardiging}

Let op: LLM-als-rechter is niet perfect; Ze hebben misschien hun eigen vooroordelen (lang antwoord, geven de voorkeur aan hun eigen stijl). Controleer ook de rechter: laat enkele antwoorden scoren door zowel de rechter als de mens en meet de overeenstemming tussen beide. Als Judge consistent is met menselijke scores, kun je hem vertrouwen.

Zwakke/sterke beoordeling

Zwak ("het was goed voor mij"):

Ik stelde een paar vragen en de antwoorden leken goed. Ik heb het live.# Probleem: geen metingen, regressie niet waarneembaar, verbetering blind.

Krachtig (gouden cluster + discrete statistieken + automatisch oordeel + regressie):

Gouden cluster van 40 vragen. Bij elke wijziging, recall@5, worden de betrouwbaarheid en nauwkeurigheid automatisch gemeten. Als de score daalt, wordt de wijziging teruggedraaid. Tijdens de productie wordt gebruikersfeedback verzameld en aan de set toegevoegd.

Monitoring en regressie in de productie

Evaluatie is niet één keer gedaan en klaar. Drie constante praktijken:

  • Regressietesten: Voer het gouden cluster automatisch uit bij elke prompt/ophaalactie/modelwijziging. Als de score wordt verlaagd, wordt de wijziging teruggedraaid. Dit voorkomt dat je het ‘breekt terwijl je probeert het beter te maken’.
  • Productiemonitoring: het percentage "Ik kon geen informatie vinden" bij echte vragen, gemiddelde vertraging, kosten en gebruikersfeedback (👍/👎) worden gemonitord. Een plotselinge toename van 'Ik weet het niet' is vaak het eerste teken van een storing in de index of het ophalen.
  • Feedbackloop: de echte vragen van de gebruiker 👎 worden beoordeeld en toegevoegd aan de gouden stapel; Zo wordt de set in de loop van de tijd rijker en worden de blinde vlekken van het systeem gesloten.

Drie mini-hoesjes

Geval 1 — Stille regressie. Een team heeft de prompt aangepast om deze te "verbeteren"; De algemene nauwkeurigheid nam toe, maar de betrouwbaarheid bij valkuilen daalde met 30% (het model begon beter te passen). Het zou niet opgemerkt zijn zonder de valkuilen in de gouden cluster; Regressietesten hebben de verandering ongedaan gemaakt.

Geval 2 – Het verkeerde been strekken. Bij één assistent waren de antwoorden slecht; Het team heeft wekenlang aan de opdracht gewerkt. Toen we de ophaalstatistieken maten, was de herinnering@5 slechts 48%. Het probleem zat hem in het ophalen, niet in het genereren. Toen hybride + herrangschikking werd toegevoegd, nam de herinnering toe tot 89% en nam ook de nauwkeurigheid toe.

Geval 3 — Productiewaarschuwing. Op een dag steeg het percentage ‘Ik kon geen informatie vinden’ voor een ondersteuningsassistent van 6% naar 34%. Het trackpad waarschuwde; De reden was dat de indexeringstaak, die 's nachts wordt uitgevoerd, stilletjes mislukte en er geen nieuwe artikelen werden geüpload. Zonder toezicht zouden onjuiste ‘ik weet het niet’-uitspraken dagenlang hebben geduurd.

Veel voorkomende fouten

  • Tevreden zijn met “het werkte goed voor mij”: Zonder meting blijft regressie onopgemerkt.
  • Geen scheiding aanbrengen tussen ophalen en genereren: u corrigeert het verkeerde been en verspilt tijd.
  • Geen valstrikvragen stellen: De neiging om dingen te verzinnen komt niet voor in de gouden cluster.
  • Rechter niet verifiëren: Een bevooroordeelde jury geeft vals vertrouwen.
  • Geen toezicht op de productie: indexfalen, kostenexplosie gaat stilzwijgend door.

Samengevat

  • Bij RAG worden de kwaliteit van ophalen en genereren afzonderlijk gemeten; Eerst moet worden vastgesteld welk been beschadigd is.
  • terugroepen@k, precisie@k, MRR voor ophalen; Trouw, geschiktheid en volledigheid worden gebruikt voor generatie.
  • Elke meting vereist een gouden cluster; Zet er echte, moeilijke, valkuil- en tegenstrijdige vragen in.
  • LLM-als-rechter grote sets automatische scores; maar de rechter zelf moet gerechtvaardigd worden tegen de mens.
  • Regressietesten, productiemonitoring en een feedbackloop zorgen ervoor dat de kwaliteit in de loop van de tijd behouden blijft.

Applicatie taak

(1) Maak een gouden set van minimaal 15 vragen voor je eigen assistent: neem minimaal 3 valstrikken (geen antwoorden), 3 moeilijke, 2 tegenstrijdige bronvragen op. Schrijf bij elke vraag het verwachte antwoord en het juiste deel op. (2) Vergelijk handmatig twee verschillende promptversies met deze set; Geef elk antwoord 1-5 punten voor betrouwbaarheid en nauwkeurigheid. (3) Pas de bovenstaande LLM-als-judge-prompt aan uw eigen criteria aan. (4) Identificeer 3 meetgegevens die u tijdens de productie gaat volgen en stel bij elke vraag de vraag “bij welke drempel moet ik alarmeren?” schrijf de waarde.

controlelijst

  • [ ] Ik kan de kwaliteit van retentie en generatie meten met afzonderlijke statistieken.
  • [ ] Ik weet wat statistieken als recall@k en trouw betekenen.
  • [ ] Ik kan een gouden cluster bouwen met echte, moeilijke, valkuilen en tegenstrijdige vragen.
  • [ ] Ik kan automatische evaluatie instellen en de keurmeester verifiëren met LLM-als-rechter.
  • [ ] Ik kan regressietesten, productiemonitoring en feedbackloop uitvoeren.