Sdílet prostřednictvím


Komplexní vyhodnocení rozsáhlého jazykového modelu

V této fázi vyhodnotíte řešení Retrieval-Augmented generace (RAG) prozkoumáním očekávaných výzev uživatelů, které obsahují získaná základní data, s ohledem na jazykový model. Než se dostanete k této fázi, měli byste dokončit předchozí fáze. Potřebujete shromažďovat testovací dokumenty a dotazy, ukládat testovací dokumenty, rozšiřovat bloky dat, vkládat bloky dat, vytvářet indexy vyhledávání a implementovat strategii vyhledávání. Pak byste měli vyhodnotit každou z těchto fází a zajistit, aby výsledky splňovaly vaše očekávání. V tomto okamžiku byste měli mít jistotu, že vaše řešení vrátí relevantní podkladová data pro uživatelský dotaz.

Tato základní data tvoří kontext pro pokyn, který odešlete jazykovému modelu k vyřešení dotazu uživatele. Strategie návrhu výzev nejsou zapojeny do tohoto článku. Tento článek se zabývá vyhodnocením zpracovaného volání jazykového modelu z pohledu podkladových dat. Tento článek se zabývá metrikami vyhodnocování běžných jazykových modelů a konkrétní podobností a metrikami vyhodnocení, které můžete použít při výpočtech vyhodnocení modelu nebo jako samostatné metriky.

Tento článek se nepokouší poskytnout vyčerpávající seznam metrik jazykového modelu nebo metrik podobnosti a vyhodnocení. Co je důležité, abyste si z tohoto článku odnesli, je to, že existují různé metriky, z nichž každá má odlišné případy použití. Jedině vy máte komplexní přehled o své pracovní zátěži. Vy a vaši datoví vědci musíte určit, co chcete měřit a jaké metriky jsou vhodné.

Tento článek je součástí série. Nejprve si přečtěte úvodní .

Metriky vyhodnocení jazykového modelu

Existuje několik metrik, které byste měli použít k vyhodnocení odpovědi jazykového modelu, včetně ukotvení, úplnosti, využití, relevance a správnosti. Vzhledem k tomu, že celkovým cílem modelu RAG je poskytnout relevantní data jako kontext pro jazykový model při generování odpovědi, ideálně by každá z výše uvedených metrik měla dosahovat vysokého skóre. V závislosti na vaší úloze ale možná budete muset určit prioritu mezi sebou.

Důležitý

Odpovědi jazykového modelu nejsou neurčící, což znamená, že stejná výzva k jazykovému modelu často vrací různé výsledky. Tento koncept je důležitý k pochopení, když jako součást procesu vyhodnocení používáte jazykový model. Při vyhodnocování použití jazykového modelu zvažte použití cílového rozsahu místo jednoho cíle.

Ukotvenost

Zakořeněnost, někdy označovaná jako věrnost, měří, zda je odpověď zcela založena na kontextu. Ověří, že odpověď nepoužívá jiné informace než informace, které existují v kontextu. Metrika nízké uzemněnosti naznačuje, že model zpracování přirozeného jazyka může poskytovat nepřesné nebo nesmyslné odpovědi.

Výpočet základovosti

K výpočtu základu odpovědí použijte následující metody:

Zhodnocení opodstatněnosti

Nízká hodnota ukotvení naznačuje, že jazykový model nevidí úseky jako relevantní. Měli byste vyhodnotit, jestli potřebujete do kolekce přidat data, upravit strategii vytváření bloků dat nebo velikost bloku nebo doladit vaši výzvu.

Úplnost

úplnost měří, jestli odpověď odpovídá na všechny části dotazu. Úplnost pomáhá pochopit, jestli jsou bloky dat v kontextu relevantní, přímo souvisí s dotazem a poskytují úplnou odpověď.

Výpočet úplnosti

K výpočtu úplnosti odpovědí použijte následující metody:

  • Skóre vyvolávání asistované umělou inteligencí.
  • Jazykový model vám může pomoct měřit kvalitu odpovědi jazykového modelu. K provedení tohoto měření potřebujete otázku, kontext a vygenerovanou odpověď. Následující kroky popisují proces vysoké úrovně:
    1. Pomocí jazykového modelu lze otázku přeformulovat, shrnout nebo zjednodušit. Tento krok identifikuje záměr.
    2. Požádejte model, aby zkontroloval, jestli je záměr nebo odpověď na záměr nalezen nebo jestli se dá odvodit z načtených dokumentů. Odpověď může být pro každý dokument "ano" nebo "ne". Odpovědi, které začínají na ano, značí, že načtené dokumenty jsou relevantní pro záměr nebo odpověď na záměr.
    3. Vypočítat poměr záměrů, které mají odpověď začínající na "ano".
    4. Umocněte skóre, aby byly chyby zvýrazněny.

Vyhodnocení úplnosti

Pokud je úplnost nízká, začněte pracovat na jejím zvýšení vyhodnocením modelu vkládání. Porovnejte slovník v obsahu se slovníkem v modelu vkládání. Určete, jestli potřebujete model pro vložení specifický pro doménu nebo jestli byste měli doladit existující model. Dalším krokem je vyhodnocení vaší strategie členění. Pokud používáte bloky dat s pevnou velikostí, zvažte zvětšení velikosti bloku dat. Můžete také vyhodnotit, jestli testovací data mají dostatek dat k úplnému vyřešení otázky.

Využití

využití měří rozsah, v jakém se odpověď skládá z informací z bloků dat v kontextu. Cílem je určit rozsah, ve kterém je každý blok dat součástí odpovědi. Nízké využití značí, že výsledky nemusí být pro dotaz relevantní. Měli byste vyhodnotit využití současně s úplností.

Výpočet využití

K výpočtu využití použijte jazykový model. Odpověď a kontext, které obsahují bloky dat, můžete předat jazykovému modelu. Můžete požádat jazykový model, aby určil počet bloků dat, které zahrnují odpověď.

Vyhodnocení využití

Následující tabulka obsahuje pokyny k vyhodnocení úplnosti a využití.

Vysoké využití Nízké využití
vysoká úplnost Není potřeba žádná akce. V tomto případě vrácená data řeší otázku, ale také vrací irelevantní bloky dat. Zvažte snížení hodnoty parametru top-k, aby se poskytly pravděpodobnější nebo deterministické výsledky.
nízká úplnost V tomto případě jazykový model používá bloky dat, které zadáte, ale tuto otázku plně neřeší. Zvažte provedení následujících kroků:
  • Zkontrolujte strategii vytváření bloků dat a zvyšte kontext v blocích.
  • Zvýšením hodnoty parametru top-k zvyšte počet bloků dat.
  • Vyhodnoťte, jestli máte bloky dat, které nebyly vráceny, které by mohly zvýšit úplnost. Pokud ano, prozkoumejte, proč se nevrátili.
  • Postupujte podle pokynů v části úplnosti.
V takovém případě vrácená data plně neodpoví na otázku a zadané bloky se nevyužívají úplně. Zvažte provedení následujících kroků:
  • Zkontrolujte strategii vytváření bloků dat a zvyšte kontext v blocích. Pokud používáte bloky dat s pevnou velikostí, zvažte zvětšení velikosti bloků dat.
  • Dolaďte své výzvy, aby se zlepšily odpovědi.

Význam

relevance měří rozsah, v jakém je odpověď jazykového modelu relevantní a souvisí s dotazem.

Vypočítejte relevanci

K výpočtu relevance odpovědí použijte následující metody:

Poznámka

K výpočtům můžete použít portál Azure AI Foundry nebo použít pokyny v tomto článku k výpočtu relevance sami.

Vyhodnocení relevance

Pokud je relevance nízká, proveďte následující úlohy:

  1. Ujistěte se, že jsou relevantní bloky dat poskytnuté jazykovému modelu.
    • Určete, jestli se nevracejí nějaké relevantní a použitelné bloky dat. Pokud zjistíte tyto bloky dat, vyhodnoťte model vkládání.
    • Pokud neexistují použitelné bloky dat, podívejte se, jestli existují relevantní data. Pokud ano, vyhodnoťte strategii dělení na části.
  2. Pokud se vrátí relevantní bloky dat, vyhodnoťte výzvu.

Skóre, které by vyhodnocovací metody, jako je úplnost a výstup, měly přinést, by měly být podobné výsledkům hodnocení relevance.

Korektnost

Korrektnost měří stupeň, do kterého je odpověď správná a faktická.

Výpočet správnosti

Existuje několik způsobů, jak vyhodnotit správnost, včetně:

  • jazykový model – k výpočtu správnosti použijte jazykový model. Odpověď můžete předat jazykovému modelu, ideálně jinému jazykovému modelu, než který se používá k vygenerování výsledku. Můžete požádat jazykový model, aby určil, jestli je odpověď faktická nebo ne.
  • externí důvěryhodný zdroj – Pomocí externího důvěryhodného zdroje ověřte správnost odpovědi. V závislosti na rozhraní API důvěryhodného zdroje můžete použít samotný důvěryhodný zdroj nebo s jazykovým modelem.

Vyhodnocení správnosti

Pokud je správnost nízká, proveďte následující úlohy:

  1. Ujistěte se, že bloky dat poskytované jazykovému modelu jsou fakticky správné a že neexistují žádné předsudky dat. Možná budete muset opravit všechny problémy ve zdrojových dokumentech nebo obsahu.
  2. Pokud jsou části fakticky správné, vyhodnoťte vlastní výzvu.
  3. Vyhodnoťte, jestli v modelu existují nepřesnosti, které je potřeba překonat dalšími faktickými podklady nebo vyladěním.

Metriky podobnosti a vyhodnocení

Existují stovky metrik podobnosti a vyhodnocení, které můžete použít v datových vědách. Některé algoritmy jsou specifické pro doménu, jako je překlad řeči na text nebo překlad jazyka na jazyk. Každý algoritmus má jedinečnou strategii pro výpočet metriky.

Datoví vědci určují, co chcete měřit a jakou metriku nebo kombinaci metrik můžete použít k měření. Například u jazykového překladu metrika bilingualního hodnocení (BLEU) kontroluje, kolik n-gramů se objevuje ve strojovém i lidském překladu, aby se změřila podobnost na základě toho, zda překlady používají stejná slova. Kosinusová podobnost používá vnoření mezi strojovými a lidskými překlady k měření sémantické podobnosti. Pokud vaším cílem je mít vysokou sémantickou podobnost a používat podobná slova k lidskému překladu, chcete vysoké skóre BLEU s vysokou kosinusovou podobností. Pokud vás zajímá pouze sémantická podobnost, zaměřte se na kosinus podobnost.

Následující seznam obsahuje ukázku běžných metrik podobnosti a vyhodnocení. Všimněte si, že uvedené metriky podobnosti jsou popsány jako metriky založené na tokenech, sekvenčních nebo editačních. Tyto popisy ilustrují, který přístup k výpočtu podobnosti používají metriky. Seznam obsahuje také tři algoritmy pro vyhodnocení kvality překladu textu z jednoho jazyka do druhého.

  • nejdelší společný podřetězc je algoritmus založený na sekvenci, který najde nejdelší společný podřetězce mezi dvěma řetězci. Nejdelší běžné procento podřetězců přebírá nejdelší společný podřetězc a vydělí ho počtem znaků menšího nebo většího vstupního řetězce.
  • nejdelšího společného dílčího pořadí (LCS) je algoritmus založený na sekvenci, který najde nejdelší dílčí sekvenci mezi dvěma řetězci. LCS nevyžaduje, aby dílčí posloupnosti byly v po sobě jdoucím pořadí.
  • Cosine similarity je algoritmus, který pracuje s tokeny a vypočítá kosinus úhlu mezi dvěma vektory.
  • Jaro-Winkler vzdálenost je algoritmus založený na úpravách, který počítá minimální počet kroků pro transformaci jednoho řetězce do druhého.
  • Hammingova vzdálenost je algoritmus založený na úpravách, který měří minimální počet náhrad, které jsou nutné k transformaci jednoho řetězce na druhý.
  • index Jaccard je algoritmus založený na tokenech, který vypočítá podobnost rozdělením průsečíku dvou řetězců sjednocením těchto řetězců.
  • Levenshteinova vzdálenost je algoritmus založený na úpravách, který vypočítá podobnost určením minimálního počtu úprav jednotlivých znaků, které jsou nutné k převedení jednoho řetězce na druhý.
  • BLEU vyhodnotí kvalitu textu, která je výsledkem strojového překladu z jednoho jazyka do druhého. Funkce BLEU vypočítá překrývání n-gramů mezi strojovým překladem a překladem v kvalitě lidského překladu k provedení tohoto hodnocení.
  • ROUGE je metrika, která porovnává strojový překlad jednoho jazyka s jiným překladem vytvořeným člověkem. Existuje několik variant ROUGE, které využívají překryv n-gramů, skip-bigramů nebo nejdelší společnou subsekvenci.
  • METEOR hodnotí kvalitu textu, který je výsledkem strojového překladu, podle přesných shod, shod po odvozování, synonym, parafrází a zarovnání.

Pro více informací o běžných metrikách podobnosti a hodnocení viz následující zdroje.

Použití více metrik vyhodnocení společně

Metriky vyhodnocení jazykového modelu byste měli použít společně, abyste lépe pochopili, jak dobře vaše řešení RAG funguje. Následuje několik příkladů použití více metrik vyhodnocení.

Uzemněnost a správnost

Metriky uzemnění a správnosti společně pomáhají určit, jestli systém přesně interpretuje a používá kontext. Pokud je uzemnění vysoké, ale správnost je nízká, znamená to, že jazykový model používá kontext, ale poskytuje nesprávnou odpověď. Nesprávná odpověď může být způsobená nesprávným použitím kontextu nebo problémů se zdrojovými daty. Pokud je například uzemnění 0,9, ale správnost je 0,4, znamená to, že systém odkazuje na správný zdrojový materiál, ale vykreslí nesprávné závěry. Představte si odpověď znějící "Einstein vyvinul kvantovou mechaniku" na základě kontextu, který samostatně zmiňuje Einsteina a kvantovou mechaniku. Tato odpověď je odůvodněná, ale fakticky nesprávná.

Tato kombinace metrik je jedna, kdy upřednostnění jedné nad druhou může být pro vaši konkrétní úlohu velmi důležité. Pokud například zdrojová data obsahují potenciálně záměrně nepravdivé informace a může být důležité, aby systém zachoval tyto nepravdivé informace ve svých odpovědích. V takovém případě chcete upřednostnit uzemněnou odpověď před správnou odpovědí. V jiných případech by vaše úloha mohla spíše konzultovat kontextová data, ale konečná správnost by měla zůstat prioritou.

Využití a úplnost

Metriky využití a úplnosti společně pomáhají vyhodnotit efektivitu systému načítání. Vysoké využití (0,9) s nízkou úplností (0,3) označuje, že systém načte přesné, ale neúplné informace. Když se například zeptáte na příčiny druhé světové války, systém může dokonale načíst informace o invazi Polska, ale vynechat další zásadní faktory. Tento scénář může znamenat, že existují bloky s relevantními informacemi, které se v kontextu nepoužívaly. Pokud chcete tento scénář vyřešit, zvažte vrácení dalších bloků dat, vyhodnocení strategie řazení bloků dat a vyhodnocení výzvy.

Uzemnění, využití a podobnost

Metriky uzemnění, využití a podobnosti společně pomáhají identifikovat, jak dobře systém udržuje pravdu při transformaci informací. Vysoká zakotvenost (0,9) a využití (0,9) s nízkou podobností (0,3) naznačuje, že systém používá přesná podkladová data, ale špatně parafrázuje. Pokud chcete tento scénář vyřešit, vyhodnoťte výzvu. Upravte výzvu a otestujte výsledky.

Dokumentace, vytváření sestav a agregace

Měli byste zdokumentovat hyperparametry, které zvolíte pro experiment, a výsledné metriky vyhodnocení, abyste pochopili, jak hyperparametry ovlivňují vaše výsledky. Hyperparametry a výsledky byste měli dokumentovat na podrobných úrovních, jako je vkládání nebo vyhodnocování hledání, a na makroúrovni, jako je testování celého systému od začátku do konce.

Během návrhu a vývoje můžete být schopni sledovat hyperparametry a výsledky ručně. Provádění více vyhodnocení v celém testovacím dokumentu a kolekci testovacích dotazů ale může zahrnovat stovky spuštění vyhodnocení a tisíce výsledků. Pro vaše vyhodnocení byste měli automatizovat trvalost parametrů a výsledků.

Po zachování hyperparametrů a výsledků byste měli zvážit vytvoření grafů a grafů, které vám pomůžou vizualizovat, jak hyperparametry ovlivňují metriky. Vizualizace vám pomůže určit, které volby vedou k poklesu výkonu nebo špičkám.

Je důležité si uvědomit, že návrh a vyhodnocení řešení RAG není jednorázová operace. Vaše kolekce dokumentů se v průběhu času mění. Otázky, na které se vaši zákazníci v průběhu času ptají, se mění a vaše porozumění typům otázek se při učení z produkčního prostředí vyvíjí. Tento proces byste měli opakovaně znovu navštěvovat. Údržba dokumentace k minulým vyhodnocením je důležitá pro budoucí úsilí o návrh a hodnocení.

Akcelerátor experimentu RAG

Tyto články vás provedou všemi fázemi a volbami návrhu, které jsou součástí návrhu a vyhodnocení řešení RAG. Články se zaměřují na to, co byste měli dělat, ne na to, jak to udělat. Technický tým, který spolupracuje s hlavními zákazníky Microsoftu, vyvinul nástroj s názvem RAG Experiment Accelerator. Akcelerátor experimentu RAG je nejmodernější architektura experimentování. Byla navržena tak, aby optimalizovala a vylepšila vývoj řešení RAG. Akcelerátor experimentů RAG umožňuje výzkumníkům a vývojářům efektivně zkoumat a vyladit důležité komponenty, které řídí výkon RAG. Výsledkem této inovace je přesnější a koherentní generování textu.

Akcelerátor experimentu RAG používá rozhraní příkazového řádku, takže můžete snadno experimentovat s různými modely vkládání, upřesňovat strategie bloků dat a vyhodnocovat různé přístupy hledání k odemknutí plného potenciálu systému RAG. Umožňuje zaměřit se na základní aspekty vývoje RAG pomocí jednoduché konfigurace pro ladění hyperparametrů.

Architektura také poskytuje komplexní podporu konfigurace jazykového modelu. Tato podpora vám pomůže dosáhnout dokonalé rovnováhy mezi složitostí modelu a kvalitou generování. Tento nástroj vám pomůže zjednodušit proces experimentování, ušetřit čas a výrazně zlepšit výkon modelů RAG.

RAG s architekturou aplikace Vision

Většina pokynů v tomto článku o práci s multimédii v řešení RAG pochází z jiného technického týmu, který spolupracuje s hlavními zákazníky Microsoftu. Tento tým napsal rámec nazvaný RAG s Vision Application Framework. Tato architektura poskytuje kanál RAG založený na Pythonu, který zpracovává textový i obrazový obsah z dokumentů MHTML.

Rámec načítá, rozděluje a obohacuje texty a obrázky ze souborů MHTML. Pak ingestuje bloky dat do služby Azure AI Search. Architektura implementuje ukládání do mezipaměti pro rozšiřování obrázků za účelem zpracování a efektivity nákladů. Rámec také zahrnuje vyhodnocení jako součást procesu.

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Další kroky