Jedinica 8 / 11

RAG evaluacija i praćenje

Dobici:

  • Definiranje metrike koja odvojeno mjeri kvalitetu zadržavanja i generacije
  • Postavite zlatni skup pitanja i pokrenite automatsku evaluaciju s LLM-as-judgeom
  • Održavanje kvalitete kroz povratne informacije, praćenje i regresijsko testiranje u proizvodnji

Rečenica "Instalirao sam pomoćnika, čini se da dobro radi" nije inženjerska izjava. RAG sustavi se kvare tiho: nova vrsta dokumenta zavarava pronalaženje, brza promjena smanjuje točnost, indeks postaje ustajao. Jedini način da se to shvati je mjerenje. U ovoj jedinici pokrivamo kako mjeriti kvalitetu RAG-a (odvojeno dohvaćanje i generiranje), automatsku evaluaciju (LLM-as-judge) i održavati kvalitetu u proizvodnji (monitoring, regresija). "Ne možete poboljšati ono što ne mjerite" je moto ove jedinice.

Mjerite dvije odvojene stvari

RAG ima dvije noge i mora se mjeriti odvojeno jer problem može biti u bilo kojoj od njih:

  1. Kvaliteta preuzimanja: Je li stigao ispravan dio?
  2. Kvaliteta generiranja: Je li točan odgovor proizveden iz pristiglog dijela?

Ako je odgovor loš, prvo morate znati koja je noga loša. Ako pravi dio nikada ne stigne, čak ni najbolji prompt ne može spasiti (problem dohvaćanja). Ako je ispravan dio stigao, ali ga je model pogrešno pročitao, poboljšanje dohvaćanja je uzaludno (problem generiranja).

Dohvaćanje metrike

Dohvaćanje je problem sortiranja/pristupa; mjereno klasičnom metrikom traženja informacija. Za ovo morate imati zlatni grozd: znanje o tome koji je komad "točan" za svako pitanje.

metrički

Koje mjere

Jednostavna definicija

Opoziv@k

Je li točna figura u gornjem k?

Ispravna stopa snimanja dijelova

preciznost@k

Koliko od k vraćenih komada je relevantno?

Čišćenje donesenog

MRR (srednji recipročni rang)

U kojem je redoslijedu točan dio?

Nagrađuje biti u najvišim redovima

Stopa pogodaka

Je li stigao barem jedan ispravan komad?

Najosnovnije mjerilo uspjeha

Praktični komentar: Ako je Recall@k nizak, strategiju dijeljenja ili pretraživanja (hibrid, k, ponovno rangiranje) treba preraditi. Ako je preciznost niska, ali pamćenje visoko, dodavanje ponovnog rangiranja dobar je potez.

Generacijske metrike

Kada stigne ispravan dio, mjerimo kvalitetu odgovora koji proizvodi model. Tri osnovne dimenzije:

  • Vjernost: Je li svaka tvrdnja u odgovoru potkrijepljena kontekstom? Postoji li kakvo uklapanje? To je izravna mjera halucinacija.
  • Relevantnost odgovora: Da li odgovor zapravo odgovara na pitanje ili je izvan teme?
  • Potpunost: Jesu li korištene sve relevantne informacije u kontekstu ili nedostaju?

Oni se često ocjenjuju na bazi stupnjeva (npr. 1-5), a ne binarno kao "točno/netočno".

Savjet: pratite vjernost kao zasebnu metriku. Ako se vjernost smanjuje kako točnost opada, problem je generacija; Ako je vjernost visoka, ali je odgovor pogrešan, problem je u pogrešnom komadu (dohvaćanje). Zajedno, ove dvije metrike su kompas koji pokazuje mjesto kvara.

Uspostavljanje zlatnog skupa pitanja

Svako mjerenje zahtijeva zlatni skup / skup podataka za evaluaciju: realna pitanja + očekivani točni odgovori + točni izvorni dijelovi. Bolje je započeti s 30-50 dobro odabranih pitanja nego s 500 nasumičnih pitanja. Uključite sljedeće u skup: često postavljana stvarna pitanja, poznata teška pitanja, zamka pitanja bez odgovora (treba reći "ne znam"), pitanja s kontradiktornim izvorima.

# Primjer zlatnog klastera (konceptualni)[ {"question": "Koliko dana godišnjeg odmora?", "expected_answer": "14 dana za 1-5 godina radnog staža", "correct_part_id": "two-part-3", "category": "leave"}, {"question": "Gdje je ured tvrtke na Marsu?", "expected_answer": "NO_INFORMATION", # trap: ne znam "correct_part_id": null, "category": "trap"}]

LLM-as-Judge: Automatsko ocjenjivanje

Bodovanje stotina odgovora ručno je zamorno. Model LLM-as-judge je kada jedan model ocjenjuje i opravdava odgovor drugog modela na temelju određenih kriterija. Dobar sudac jasno definira kriterije, daje primjere i traži obrazloženje.

# Uputa LLM-as-judge (konceptualno) Vi ste nepristrani ocjenjivač. Ocijenite donji ODGOVOR prema zadanom KONTEKSU i OČEKIVANOM ODGOVORU. Ocijenite (1-5) i obrazložite: - vjernost: je li svaka tvrdnja u odgovoru potkrijepljena kontekstom? - točnost: odgovara li odgovor očekivanom odgovoru? - potpunost: jesu li relevantne informacije potpune? Posebno: ako odgovor sadrži informacije koje nisu u kontekstu, navedite vjernost1 i naznačite koja je tvrdnja izmišljena. KONTEKST: {kontekst} OČEKIVANO: {očekivano} ODGOVOR: {odgovor}Izlaz: {vjernost, točnost, potpunost, opravdanost}

Oprez: LLM-as-judge nije savršen; Oni mogu imati vlastite predrasude (dug odgovor, preferiraju vlastiti stil). Također provjerite suca: neka neke odgovore ocijene i sudac i čovjek i izmjerite njihovo slaganje. Ako je Sudac u skladu s ljudskim rezultatima, možete mu vjerovati.

Ocjena Slabo/Jako

Slabo ("bilo mi je dobro"):

Postavio sam nekoliko pitanja i činilo se da su odgovori dobri. Imam ga uživo. # Problem: nema mjerenja, regresija neprimjetna, poboljšanje slijepo.

Snažan (zlatni klaster + diskretna metrika + automatska prosudba + regresija):

Zlatni grozd od 40 pitanja. Sa svakom promjenom, recall@5, vjernost i točnost mjere se automatski. Ako rezultat padne, promjena se poništava. U proizvodnji se povratne informacije korisnika prikupljaju i dodaju u set.

Monitoring i regresija u proizvodnji

Evaluacija se ne radi jednom i nije gotova. Tri stalne prakse:

  • Regresijsko testiranje: Automatski pokreni zlatnu klaster na svaki upit/dohvaćanje/promjenu modela. Ako se rezultat smanji, promjena se poništava. To sprječava "slomiti ga dok ga pokušavate poboljšati".
  • Praćenje proizvodnje: prati se stopa "Nisam mogao pronaći informacije" u stvarnim pitanjima, prosječno kašnjenje, trošak, povratne informacije korisnika (👍/👎). Naglo povećanje "ne znam" često je prvi znak neispravnosti indeksa ili dohvaćanja.
  • Petlja povratnih informacija: stvarna pitanja korisnika 👎 pregledavaju se i dodaju zlatnoj hrpi; Tako se skup s vremenom obogaćuje, a mrtve točke sustava zatvaraju.

Tri mini kućišta

Slučaj 1 — Tiha regresija. Tim je modificirao prompt kako bi ga "poboljšao"; Opća se točnost povećala, ali se vjernost smanjila za 30% u pitanjima zamke (model je počeo više odgovarati). Ne bi se primijetilo da nije bilo pitanja zamke u zlatnom grozdu; Regresijsko testiranje vratilo je promjenu.

Slučaj 2 — Ispravljanje krive noge. Kod jednog asistenta odgovori su bili loši; Tim je tjednima radio na upitu. Kada smo izmjerili metriku dohvaćanja, recall@5 je bio samo 48% — problem je bio u dohvaćanju, a ne generiranju. Kada je dodano hibridno + ponovno rangiranje, prisjećanje se povećalo na 89%, a povećala se i točnost.

Slučaj 3 — Upozorenje o proizvodnji. Jednog dana, stopa "Nisam mogao pronaći informacije" za asistenta podrške skočila je sa 6% na 34%. Trackpad je upozorio; Razlog je taj što posao indeksiranja, koji se izvodi noću, tiho nije uspio i novi članci nisu učitani. Bez nadzora, netočne izjave "ne znam" nastavile bi se danima.

Uobičajene greške

  • Biti zadovoljan s "radilo mi je dobro": bez mjerenja, regresija ostaje nezapažena.
  • Ne razdvajanje dohvaćanja i generiranja: ispravit ćete pogrešnu nogu i izgubiti vrijeme.
  • Ne postavljati pitanja zamke: Sklonost izmišljanju ne pojavljuje se u zlatnom grozdu.
  • Neprovjeravajući sudac: Pristrana porota daje lažno povjerenje.
  • Ne prati se proizvodnja: Pad indeksa, eksplozija troškova se tiho nastavlja.

Ukratko

  • U RAG-u, kvaliteta dohvaćanja i generiranja mjere se odvojeno; Prvo se mora utvrditi koja je noga oštećena.
  • opoziv@k, preciznost@k, MRR za dohvaćanje; Za generiranje se koristi vjernost, prikladnost, potpunost.
  • Za svako mjerenje potreban je zlatni grozd; Stavite stvarna, teška, zamka i kontradiktorna pitanja u njega.
  • LLM-as-judge veliki setovi automatski rezultati; ali se sam sudac mora opravdati protiv čovjeka.
  • Regresijsko testiranje, praćenje proizvodnje i povratna petlja održavaju kvalitetu tijekom vremena.

Zadatak aplikacije

(1) Napravite zlatni set od najmanje 15 pitanja za vlastitog asistenta: uključite najmanje 3 zamke (bez odgovora), 3 teška, 2 pitanja s kontradiktornim izvorom. Uz svako pitanje napišite očekivani odgovor i točan dio. (2) Ručno usporedite dvije različite verzije upita s ovim skupom; Svakom odgovoru dodijelite 1-5 bodova za vjernost i točnost. (3) Prilagodite gornji upit LLM-as-judge svojim kriterijima. (4) Odredite 3 metrike koje ćete pratiti u proizvodnji i za svaku pitajte "na kojem pragu trebam alarmirati?" napiši vrijednost.

popis za provjeru

  • [ ] Mogu mjeriti kvalitetu zadržavanja i generiranja pomoću zasebnih mjernih podataka.
  • [ ] Znam što znače metrike poput recall@k, vjernost.
  • [ ] Mogu izgraditi zlatni grozd koji uključuje stvarna, teška, zamka i kontradiktorna pitanja.
  • [ ] Mogu postaviti automatsku evaluaciju i potvrditi suca s LLM-as-judge.
  • [ ] Mogu upravljati regresijskim testiranjem, praćenjem proizvodnje i povratnom spregom.