Úvod do vyhodnocení a monitorování aplikací RAG
Vyhodnocení a monitorování jsou důležité komponenty, abyste pochopili, jestli vaše aplikace RAG provádí požadavky na *kvalitu, náklady a latenci stanovené vaším případem použití. Technicky vzato se vyhodnocení provádí během vývoje a monitorování, jakmile se aplikace nasadí do produkčního prostředí, ale základní komponenty jsou podobné.
RAG nad nestrukturovanými daty je složitý systém s mnoha komponentami, které ovlivňují kvalitu aplikace. Úprava libovolného jednoho prvku může mít kaskádové efekty na ostatní. Změny formátování dat můžou například ovlivnit načtené bloky dat a schopnost LLM generovat relevantní odpovědi. Proto je důležité vyhodnotit jednotlivé komponenty aplikace jako celek, aby bylo možné iterativní upřesnění na základě těchto posouzení.
Vyhodnocení a monitorování: Klasické strojové učení vs. generování umělé inteligence
Vyhodnocení a monitorování aplikací generativní umělé inteligence, včetně RAG, se liší od klasického strojového učení několika způsoby:
Téma | Klasické strojové učení | Generativní AI |
---|---|---|
Metriky | Metriky vyhodnocují vstupy a výstupy komponenty, například posun funkcí, přesnost, úplnost, latence atd. Vzhledem k tomu, že existuje pouze jedna komponenta, celkové metriky == metriky komponent. | Metriky komponent vyhodnocují vstupy a výstupy jednotlivých komponent, například přesnost @ K, nDCG, latence, toxicita atd. Složené metriky vyhodnocují interakci s více komponentami: Věrnost měří dodržování znalostí generátoru od retrieveru, který vyžaduje řetězový vstup, výstup řetězu a výstup interního retrieveru. Celkové metriky vyhodnocují celkový vstup a výstup systému, například správnost odpovědí a latenci. |
Hodnocení | Odpověď je deterministicky "správná" nebo "špatná". Deterministické metriky fungují. | Odpověď je "správná" nebo "špatná", ale: • Existuje mnoho správných odpovědí (ne deterministické). • Některé správné odpovědi jsou správnější. Potřebujete: • Lidská zpětná vazba, aby si byla jistá. • Metriky posouzení LLM pro vyhodnocení škálování. |
Komponenty vyhodnocení a monitorování
Efektivní vyhodnocení a monitorování kvality aplikací RAG, nákladů a latence vyžaduje několik komponent:
- Sada vyhodnocení: K důkladnému vyhodnocení aplikace RAG potřebujete kurátorovaný soubor vyhodnocovacích dotazů (a ideálně výstupů), které jsou reprezentativní pro zamýšlené použití aplikace. Tyto příklady hodnocení by měly být náročné, různorodé a aktualizované tak, aby odrážely měnící se využití a požadavky.
- Definice metrik: Nemůžete spravovat, co neměříte. Pokud chcete zlepšit kvalitu RAG, je nezbytné definovat, co znamená kvalita pro váš případ použití. V závislosti na aplikaci můžou důležité metriky zahrnovat přesnost odpovědí, latenci, náklady nebo hodnocení od klíčových zúčastněných stran. Budete potřebovat metriky, které měří jednotlivé komponenty, jak spolu komponenty vzájemně spolupracují, a celkový systém.
- LLM porotci: Vzhledem k otevřené povaze odpovědí LLM není možné číst každou jednotlivou odpověď pokaždé, když vyhodnotíte, jestli je výstup správný. Pomocí dalšího, jiného LLM ke kontrole výstupů může pomoct škálovat vyhodnocení a vypočítat další metriky, jako je základ odpovědi na tisíce tokenů kontextu, které by byly pro lidské ratery pro efektivní zadek ve velkém měřítku neproveditelné.
- Nástroj pro vyhodnocení: Během vývoje vám nástroj pro vyhodnocení pomůže rychle spustit aplikaci pro každý záznam v sadě vyhodnocení a pak spustit každý výstup prostřednictvím porotců LLM a výpočtů metrik. To je obzvláště náročné, protože tento krok "blokuje" vaši vnitřní vývojovou smyčku, takže rychlost je nanejvýš důležitá. Dobré vyhodnocení využívá paralelizaci této práce co nejvíce, často se tím zvládá další infrastruktura, jako je větší kapacita LLM.
- Uživatelské rozhraní zaměřené na zúčastněné strany: Jako vývojář nemusíte být odborníkem na doménu v obsahu aplikace, kterou vyvíjíte. Pokud chcete shromáždit zpětnou vazbu od lidských odborníků, kteří můžou posoudit kvalitu vaší aplikace, potřebujete rozhraní, které jim umožní pracovat s aplikací a poskytnout podrobnou zpětnou vazbu.
- Protokolování trasování v produkčním prostředí: Jednou v produkčním prostředí je potřeba vyhodnotit výrazně vyšší množství požadavků a odpovědí a způsob generování jednotlivých odpovědí. Potřebujete například vědět, jestli je hlavní příčinou odpovědi nízké kvality krok načtení nebo halucinace. Protokolování v produkčním prostředí musí sledovat vstupy, výstupy a přechodné kroky, jako je načítání dokumentů, aby bylo možné průběžně monitorovat a včas detekovat a diagnostikovat problémy, které vznikají v produkčním prostředí.
Tyto dokumenty se podrobněji věnují vyhodnocení kvality RAG.