Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek vysvětluje, jak velké jazykové modely (LLM) můžou k poskytování lepších odpovědí využít další data. LLM ve výchozím nastavení zná jen to, co se během trénování naučilo. Můžete přidat soukromá data v reálném čase, aby byla užitečnější.
Existují dva hlavní způsoby přidání těchto dodatečných dat:
- Generování rozšířeného načítání (RAG):: Používá sémantické vyhledávání a kontextové primace k vyhledání a přidání užitečných informací před odpověďmi modelu. Další informace najdete v klíčových konceptech a důležitých aspektech pro vytváření řešení generující umělé inteligence.
- Vyladění: Přetrénuje LLM na menší, konkrétní datovou sadu, aby se zlepšila v určitých úkolech nebo tématech.
Další části rozdělí obě metody.
Principy RAG
RAG umožňuje klíčový scénář "chatu přes moje data". V tomto scénáři má organizace potenciálně velký korpus textového obsahu, jako jsou dokumenty, dokumentace a další proprietární data. Tento korpus používá jako základ pro odpovědi na výzvy uživatelů.
RAG umožňuje vytvářet chatovací roboty nebo agenty, kteří odpovídají na otázky pomocí vlastních dokumentů. Jak to funguje:
- Ukládejte dokumenty (nebo jejich části označované jako bloky dat) do databáze.
- Vytvoření vkládání pro každý blok; a list of numbers that describe it
- Když někdo položí otázku, systém najde podobné bloky dat.
- Odeslání relevantních bloků dat spolu s otázkou do LLM za účelem vytvoření odpovědi
Vytvoření indexu vektorizovaných dokumentů
Začněte vytvořením vektorového úložiště dat. Toto úložiště obsahuje vložené položky pro každý dokument nebo blok dat. Následující diagram znázorňuje hlavní kroky k vytvoření vektorizovaného indexu dokumentů.
Diagram znázorňuje datový kanál. Tento kanál přináší data, zpracovává je a spravuje pro systém. Připraví také data pro ukládání v vektorové databázi a zajistí, aby byla ve správném formátu pro LLM.
Vkládání řídí celý proces. Vložení je sada čísel, která představují význam slov, vět nebo dokumentů, aby je model strojového učení mohl používat.
Jedním ze způsobů, jak vytvořit vkládání, je odeslat obsah do rozhraní API azure OpenAI Embeddings. Rozhraní API vrátí vektor – seznam čísel. Každé číslo popisuje něco o obsahu, například jeho téma, význam, gramatiku nebo styl.
- Téma
- Sémantický význam
- Syntaxe a gramatika
- Použití slov a frází
- Kontextové relace
- Styl nebo tón
Všechna tato čísla společně ukazují, kde se obsah nachází v multidimenzionálním prostoru. Představte si 3D graf, ale se stovkami nebo tisíci dimenzí. Počítače můžou pracovat s tímto druhem prostoru, i když ho nemůžeme nakreslit.
Kurz: Prozkoumání embeddedů Azure OpenAI v modelech Microsoft Foundry a vyhledávání dokumentů poskytuje průvodce používáním rozhraní API pro embeddedy Azure OpenAI k vytváření embeddingů pro vaše dokumenty.
Uložení vektoru a obsahu
Dalším krokem je uložení vektoru a obsahu (nebo ukazatele na umístění obsahu) a dalších metadat do vektorové databáze. Vektorová databáze je stejně jako jakýkoli jiný typ databáze, ale se dvěma klíčovými rozdíly:
- Vektorové databáze používají vektor jako index k hledání dat.
- Vektorové databáze často používají algoritmy nejbližšího souseda, které mohou jako metriku vzdálenosti použít kosinusovou podobnost k vyhledání vektorů, které nejvíce odpovídají kritériím hledání.
S korpusem dokumentů uložených v vektorové databázi mohou vývojáři vytvořit komponentu retrieveru k načtení dokumentů, které odpovídají dotazu uživatele. Systém tato data používá k poskytnutí LLM, co potřebuje k zodpovězení dotazu uživatele.
Zodpovídání dotazů pomocí vašich dokumentů
Systém RAG nejprve používá sémantické vyhledávání k vyhledání článků, které by mohly být užitečné pro LLM při vytváření odpovědi. Dalším krokem je odeslání odpovídajících článků s původní výzvou uživatele k vytvoření odpovědi do LLM.
Následující diagram znázorňuje jednoduchou implementaci RAG (někdy označovanou jako naïve RAG):
V diagramu uživatel odešle dotaz. Nejprve systém změní výzvu uživatele na vložení. Pak prohledá vektorové databáze a vyhledá dokumenty nebo bloky dat, které jsou nejvíce podobné výzvě.
Kosinus podobnost měří, jak blízko jsou dva vektory pohledem na úhel mezi nimi. Hodnota blízko 1 znamená, že vektory jsou velmi podobné; hodnota blízko -1 znamená, že jsou velmi odlišné. Tento přístup pomáhá systému najít dokumenty s podobným obsahem.
Algoritmy nejbližšího souseda najdou vektory , které jsou nejblíže danému bodu. Algoritmus K-nejbližších sousedů (KNN) hledá nejlepší k nejbližší shody. Systémy, jako jsou moduly pro doporučování, často používají KNN a kosinus podobnost, aby našli nejlepší shody pro potřeby uživatele.
Po hledání odešlete do LLM nejlepší odpovídající obsah a výzvu uživatele, aby mohl vygenerovat relevantnější odpověď.
Výzvy a aspekty
Systém RAG má své vlastní výzvy:
- Ochrana osobních údajů: Zodpovědná zpracování uživatelských dat, zejména při načítání nebo zpracování informací z externích zdrojů.
- Výpočetní požadavky: Očekáváme, že kroky načítání a generování budou používat významné výpočetní prostředky.
- Přesnost a relevance: Zaměřte se na poskytování přesných, relevantních odpovědí a sledujte předsudky v datech nebo modelech.
Vývojáři musí tyto výzvy řešit při vytváření systémů RAG, které jsou efektivní, etické a cenné.
Další informace o vytváření systémů RAG připravených pro produkční prostředí najdete v tématu Vytváření pokročilých systémů rozšířené generace načítání.
Chcete zkusit vytvořit řešení generující umělé inteligence? Začněte s chatem pomocí vlastní ukázky dat pro Python. Kurzy jsou k dispozici také pro .NET, Java a JavaScript.
Vyladění modelu
Vyladění přetrénuje LLM na menší datovou sadu specifickou pro doménu po počátečním trénování velké obecné datové sady.
Během předtrénování se LLM učí jazykovou strukturu, kontext a obecné vzory z rozsáhlých dat. Jemně dolaďuje model novými, zaměřenými daty, aby mohl lépe pracovat s konkrétními úkoly nebo tématy. Jak se učí, model aktualizuje své váhy, aby zvládl podrobnosti o nových datech.
Klíčové výhody vyladění
- Specializace: Vyladění pomáhá modelu lépe provádět konkrétní úlohy, jako je analýza právních nebo lékařských dokumentů nebo zpracování zákaznických služeb.
- Efektivita: Vyladění využívá méně dat a méně prostředků než trénování modelu od začátku.
- Přizpůsobitelnost: Vyladění umožňuje modelu učit se nové úkoly nebo domény, které nejsou součástí původního trénování.
- Vylepšený výkon: Vyladění pomáhá modelu porozumět jazyku, stylu nebo terminologii nové domény.
- Přizpůsobení: Vyladění může zajistit, aby odpovědi modelu odpovídaly potřebám nebo preferencím uživatele nebo organizace.
Omezení a výzvy
Vyladění má také několik problémů:
- Požadavek na data: Pro konkrétní úlohu nebo doménu potřebujete velkou vysoce kvalitní datovou sadu.
- Riziko přeurčení: U malé datové sady může model dobře provádět trénovací data, ale špatně na nových datech.
- Náklady a zdroje: Vyladění stále potřebuje výpočetní výkon, zejména u velkých modelů nebo datových sad.
- Údržba a aktualizace: Při změnách domény je potřeba aktualizovat jemně vyladěné modely.
- Posun modelu: Vyladění pro konkrétní úlohu může být méně efektivní v obecných úlohách jazyka.
Přizpůsobení modelu prostřednictvím jemného ladění vysvětluje, jak model vyladit.
Jemné ladění vs. RAG
Vyladění a RAG pomáhají LLM lépe fungovat, ale každý vyhovuje různým potřebám. Vyberte správný přístup na základě vašich cílů, dat a výpočtů, které máte, a jestli chcete, aby se model specializoval nebo zůstal obecný.
Kdy zvolit jemné ladění
- Výkon specifický pro úlohy: Vyberte si jemné ladění, pokud potřebujete nejlepší výsledky pro konkrétní úlohu a máte dostatek dat domény, abyste se vyhnuli přeurčení.
- Kontrola nad daty: Vyladění použijte, pokud máte jedinečná nebo proprietární data, která se velmi liší od toho, na čem byl základní model předem natrénován.
- Stabilní obsah: Pokud váš úkol nepotřebuje konstantní aktualizace s nejnovějšími informacemi, vyberte si jemné ladění.
Kdy zvolit RAG
- Dynamický nebo měnící se obsah: Rag používejte, pokud potřebujete nejaktuálnější informace, jako jsou zprávy nebo nedávné události.
- Široké téma pokrytí: Vyberte RAG, pokud chcete silné výsledky napříč mnoha tématy, ne jen o jednu oblast.
- Omezené prostředky: Pokud nemáte velké množství dat nebo výpočetních prostředků pro trénování, přejděte s ragem a základní model už funguje dobře.
Konečné myšlenky pro návrh aplikace
Rozhodněte se mezi vyladěním a RAG na základě toho, co vaše aplikace potřebuje. Vyladění je nejvhodnější pro specializované úkoly, zatímco RAG poskytuje flexibilitu a up-to-date obsah pro dynamické scénáře.