Modely a platformy AI

Hluboké ponoru do Retrieval-Augmented Generation v LLM

mm
Přidejte Unite.AI mezi své preferované zdroje na Google

Představte si, že jste analytik a máte přístup k velkému jazykovému modelu. Jste nadšeni z možností, které to přináší do vaší pracovní postupu. Ale pak se zeptáte na nejnovější akciové ceny nebo aktuální inflační sazbu a dostane vás odpověď:

“Omlouvám se, ale nemohu poskytnout údaje v reálném čase nebo údaje po datumu ukončení výcviku. Moje poslední trénovací data sahají pouze do ledna 2022.”

Velké jazykové modely, navzdory jejich lingvistické síle, postrádají schopnost chápat “nyní“. A ve světě, kde “nyní” je všechno, je to značná nevýhoda.

Výzkum ukázal, že velké předtrénované jazykové modely (LLM) jsou také úložištěm faktických znalostí.

Byly trénovány na tak velkém množství dat, že absorbovaly mnoho faktů a čísel. Když jsou jemně upraveny, mohou dosáhnout pozoruhodných výsledků v různých úkolech NLP.

Ale zde je háček: jejich schopnost přístupu a manipulace s uloženými znalostmi není vždy dokonalá. Zvláště když je úkolem znalostně náročný, tyto modely mohou zaostávat za specializovanějšími architekturami. Je to jako mít knihovnu se všemi knihami na světě, ale bez katalogu, aby jste našli, co potřebujete.

OpenAI’s ChatGPT Gets a Browsing Upgrade

OpenAI nedávno oznámil, že ChatGPT má nyní možnost procházet internet za účelem získání aktuálních a autoritativních informací, což je významný krok směrem k Retrieval-Augmented Generation (RAG). S ChatGPT, který může nyní dynamicky čerpat data z externích zdrojů, aby poskytoval obohacené odpovědi, zrcadlí přístup RAG.

https://twitter.com/OpenAI/status/1707077710047216095

Tato funkce je v současné době k dispozici pro uživatele Plus a Enterprise a OpenAI plánuje brzy ji zpřístupnit všem uživatelům. Uživatelé mohou tuto funkci aktivovat výběrem “Procházet s Bingem” v opciónách GPT-4.

Chatgpt New Browsing Feature

Chatgpt New ‘Bing’ Browsing Feature

 Prompt engineering je efektivní, ale nedostatečná

Prompty slouží jako brána k znalostem LLM. Řídí model a poskytují směr pro odpověď. Nicméně, vytváření účinného promptu není úplným řešením, jak získat to, co chcete od LLM. Přesto, pojďme projít některé dobré postupy, které je třeba zvážit při psaní promptu:

  1. Čistota: Dobře definovaný prompt eliminuje nejednoznačnost. Měl by být přímočarý a zajistit, aby model pochopil úmysl uživatele. Tato čistota se často překládá do koherentnějších a relevantnějších odpovědí.
  2. Kontext: Zvláště pro rozsáhlé vstupy může umístění instrukce ovlivnit výstup. Například přesunutí instrukce na konec dlouhého promptu může často vést k lepším výsledkům.
  3. Přesnost instrukce: Síla otázky, často vyjádřená prostřednictvím rámce “kdo, co, kde, kdy, proč, jak”, může modelu pomoci k více zaměřené odpovědi. Kromě toho, specifikace požadovaného formátu výstupu nebo velikosti může dále upřesnit výstup modelu.
  4. Zpracování nejistoty: Je důležité modelu říci, jak reagovat, když je nejistý. Například, instruovat model, aby odpověděl “Nevím”, když je nejistý, může zabránit generování nepřesných nebo “halucinovaných” odpovědí.
  5. Postupné myšlení: Pro komplexní instrukce, modelu může pomoci, aby systematicky nebo rozdělil úkol na podúkoly, aby vedl k více komplexním a přesným výstupům.

V souvislosti s důležitostí promptů pro vedení ChatGPT, komplexní článek lze nalézt v článku na Unite.ai.

Výzvy v Generative AI Modelů

Prompt engineering zahrnuje jemné úpravy direktiv, které jsou poskytovány modelu, aby se zlepšila jeho výkonnost. Je to velmi nákladově efektivní způsob, jak zvýšit přesnost Generative AI aplikací, vyžadující pouze malé úpravy kódu. Zatímco prompt engineering může výrazně zlepšit výstupy, je důležité pochopit vrozené omezení velké jazykové modely (LLM). Dvě primární výzvy jsou halucinace a omezení znalostí.

  • Halucinace: Toto se týká případů, kdy model sebevědomě vrací nesprávnou nebo vymyšlenou odpověď. Ačkoli pokročilé LLM mají vestavěné mechanismy pro rozpoznání a zabránění takovým výstupům.
Hallucinations in LLMs

Hallucinations in LLM

  • Omezení znalostí: Každý LLM model má datum ukončení trénování, po kterém není vědom si událostí nebo vývoje. Toto omezení znamená, že znalosti modelu jsou zmrazeny v okamžiku jeho posledního trénovacího data. Například model trénovaný do roku 2022 by nevěděl o událostech roku 2023.
Knowledge cut-off in LLMS

Knowledge cut-off in LLM

Retrieval-augmented generace (RAG) nabízí řešení těchto výzev. Umožňuje modelům přístup k externím informacím, čímž se snižuje problém halucinací poskytováním přístupu k proprietárním nebo doménově specifickým údajům. Pro omezení znalostí RAG může získat přístup k aktuálním informacím za hranicí trénovacího data modelu, zajišťujícím, že výstup je aktuální.

To také umožňuje LLM čerpat data z různých externích zdrojů v reálném čase. To může být znalostní báze, databáze nebo dokonce rozsáhlý internet.

Úvod do Retrieval-Augmented Generation

Retrieval-augmented generace (RAG) je rámec, spíše než konkrétní technologie, umožňující velkým jazykovým modelům čerpat data, na kterých nebyly trénovány. Existuje několik způsobů, jak implementovat RAG, a nejlepší volba závisí na konkrétním úkolu a povaze dat.

RAG rámec funguje strukturovaným způsobem:

Prompt Input

Proces začíná vstupem uživatele nebo promptem. To může být otázka nebo prohlášení, které vyžaduje konkrétní informace.

Retrieval z externích zdrojů

Místo přímé generace odpovědi na základě trénování, model s pomocí komponenty retrieveru prohledává externí datové zdroje. Tyto zdroje mohou zahrnovat znalostní báze, databáze, dokumentové úložiště nebo internetově přístupná data.

Pochopení Retrievalu

Ve své podstatě je retrieval zrcadlem vyhledávací operace. Je to o extrahování nejrelevantnějších informací v odpovědi na vstup uživatele. Tento proces lze rozdělit do dvou fází:

  1. Indexování: Bezpochyby nejobtížnější část celé RAG cesty je indexování znalostní báze. Proces indexování lze obecně rozdělit do dvou fází: Načtení a rozdělení. V nástrojích, jako je LangChain, tyto procesy jsou označovány jako “načítání” a “rozdělování“. Načítání získá obsah z různých zdrojů, ať už webových stránek nebo PDF. Jakmile je obsah načten, rozdělování pak rozdělí tento obsah na menší, optimalizované kusy pro vkládání a vyhledávání.
  2. Vyhledávání: Toto je akt extrahování nejrelevantnějších znalostních fragmentů na základě vyhledávacího termínu.

Zatímco existuje mnoho způsobů, jak přistupovat k retrievalu, od jednoduchého textového vyhledávání až po použití vyhledávacích engineů, jako je Google (GOOGL ), moderní systémy RAG spoléhají na semantické vyhledávání. V srdci semantického vyhledávání leží koncept vkládání.

Vkládání je centrální pro to, jak velké jazykové modely (LLM) chápou jazyk. Když lidé snaží vysvětlit, jak odvozují význam ze slov, vysvětlení často vracejí k vrozenému pochopení. Hluboko v našich kognitivních strukturách rozpoznáváme, že “dítě” a “kluk” jsou synonyma, nebo že “červená” a “zelená” obě označují barvy.

Augmentace Promptu

Získané informace jsou pak kombinovány s původním promptem, vytvářejícím rozšířený nebo augmentovaný prompt. Tento augmentovaný prompt poskytuje modelu další kontext, který je obzvláště cenný, pokud jsou data doménově specifická nebo nejsou součástí původního trénovacího korpusu modelu.

Generování Dokončení

S augmentovaným promptem v ruce, model pak generuje dokončení nebo odpověď. Tato odpověď není založena pouze na trénování modelu, ale je také informována reálnými daty získanými.

Retrieval-Augmented Generation

Retrieval-Augmented Generation

Architektura Prvního RAG LLM

Výzkumná práce Meta z roku 2020 “Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks” poskytuje detailní pohled na tuto techniku. Model RAG rozšiřuje tradiční generaci o externí mechanismus vyhledávání nebo prohledávání. To umožňuje modelu čerpat relevantní informace z rozsáhlých korpusů dat, zlepšujíc jeho schopnost generovat kontextově přesné odpovědi.

Zde je, jak to funguje:

  1. Parametrická Paměť: Toto je váš tradiční jazykový model, jako je model seq2seq. Byl trénován na velkém množství dat a ví mnoho věcí.
  2. Ne-Parametrická Paměť: Myslete na to jako na vyhledávací engine. Je to hustý vektorový index, řekněme, Wikipedie, který lze získat pomocí neuronového retrieveru.

Když jsou tyto dvě kombinovány, vytvářejí přesný model. Model RAG nejprve získá relevantní informace z jeho ne-parametrické paměti a pak používá své parametrické znalosti, aby vydal koherentní odpověď.

RAG ORIGNAL MODEL BY META

Original RAG Model By Meta

1. Dvoukrokový Proces:

Model RAG LLM funguje ve dvoukrokovém procesu:

  • Vyhledávání: Model nejprve hledá relevantní dokumenty nebo pasáže z velkého datasetu. To se provádí pomocí hustého mechanismu vyhledávání, který využívá vkládání pro reprezentaci obou dotazu a dokumentů. Vkládání se pak použije pro výpočet podobnostních skór, a top-rankované dokumenty jsou získány.
  • Generování: S top-k relevantními dokumenty v ruce, jsou pak kanalizovány do sekvenční generace spolu s původním dotazem. Tento generátor pak vytváří konečnou odpověď, čerpající kontext z obou dotazu a získaných dokumentů.

2. Husté Vyhledávání:

Tradiční systémy vyhledávání často spoléhají na řídké reprezentace, jako je TF-IDF. Nicméně, model RAG LLM využívá husté reprezentace, kde jsou både dotaz a dokumenty vloženy do kontinuálních vektorových prostorů. To umožňuje pro jemnější srovnání podobnosti, zachycující semantické vztahy za hranicí pouhého vyhledávání klíčových slov.

3. Sequenční Generace:

Získané dokumenty fungují jako rozšířený kontext pro generátor. Tento generátor, často založený na architekturách, jako jsou Transformery, pak generuje konečnou odpověď, zajišťujícím, že je koherentní a kontextově relevantní.

Dokumentové Vyhledávání

Dokumentové Indexování a Vyhledávání

Pro efektivní vyhledání informací, zejména z velkých dokumentů, data jsou často uložena v vektorové databázi. Každý kus dat nebo dokument je indexován na základě vektorového vkládání, které zachycuje semantickou esenci obsahu. Efektivní indexování zajišťuje rychlé získání relevantních informací na základě vstupního promptu.

Vektorové Databáze

Vector Database

Source: Redis

Vektorové databáze, někdy označované jako vektorové úložiště, jsou specializované databáze, které jsou schopné ukládat a získávat vektorová data. Ve světě AI a počítačové vědy jsou vektory vlastně seznamy čísel reprezentujících body v multi-dimenzionálním prostoru. Na rozdíl od tradičních databází, které jsou více přizpůsobeny tabulkovým datům, vektorové databáze vynikají v управлении dat, která přirozeně zapadají do formátu vektoru, jako jsou vkládání z AI modelů.

Některé pozoruhodné vektorové databáze zahrnují Annoy, Faiss od Meta, Milvus a Pinecone. Tyto databáze jsou zásadní pro aplikace AI, pomáhající v úkolech, jako jsou systémy doporučení, image search a další. Platformy, jako je AWS, také nabízejí služby přizpůsobené pro potřeby vektorových databází, jako je Amazon (AMZN ) OpenSearch Service a Amazon RDS pro PostgreSQL. Tyto služby jsou optimalizovány pro specifické použití, zajišťujícím efektivní indexování a dotazování.

Chunking pro Relevance

Vzhledem k tomu, že mnoho dokumentů může být rozsáhlých, používá se technika nazývaná “chunking”. Tato technika zahrnuje rozdělení velkých dokumentů na menší, semanticky koherentní kusy. Tyto kusy jsou pak indexovány a získány podle potřeby, zajišťujícím, že nejrelevantnější části dokumentu jsou použity pro augmentaci promptu.

Kontextové Okno

Každý LLM funguje v rámci kontextového okna, které je vlastně maximální množství informací, které může zpracovat najednou. Pokud externí zdroje dat poskytují informace, které překračují toto okno, je třeba je rozdělit na menší kusy, které se vejdou do kontextového okna modelu.

Výhody Používání Retrieval-Augmented Generation

  1. Zlepšená Přesnost: Díky využití externích zdrojů dat může model RAG LLM generovat odpovědi, které nejsou založeny pouze na jeho trénovacích datech, ale jsou také informovány nejrelevantnějšími a aktuálními informacemi dostupnými v korpusu.
  2. Překonání Mezí Znalostí: RAG účinně řeší vrozená omezení znalostí LLM, ať už je to kvůli datumu ukončení trénování modelu nebo absence doménově specifických dat v jeho trénovacím korpusu.
  3. Univerzálnost: RAG lze integrovat s různými externími zdroji dat, od proprietárních databází uvnitř organizace až po veřejně přístupná internetová data. To činí RAG přizpůsobivým pro širokou škálu aplikací a odvětví.
  4. Snižování Halucinací: Jednou z výzev LLM je potenciál pro “halucinace” nebo generování fakticky nesprávných nebo vymyšlených informací. Poskytováním reálných datových kontextů může RAG výrazně snížit šance na takové výstupy.
  5. Škálovatelnost: Jednou z hlavních výhod modelu RAG LLM je jeho schopnost škálovat. Rozdělením procesů vyhledávání a generování může model efektivně zpracovat rozsáhlá data, což ho činí vhodným pro reálné aplikace, kde je data hojné.

Výzvy a Úvahy

  • Computační Náklad: Dvoukrokový proces může být computačně náročný, zejména při zpracování velkých datasetů.
  • Závislost na Datech: Kvalita získaných dokumentů přímo ovlivňuje kvalitu generování. Proto je důležité mít komplexní a pečlivě kurátorovaný korpus pro vyhledávání.

Závěr

Integrující vyhledávání a generaci, Retrieval-Augmented Generation nabízí robustní řešení znalostně náročných úkolů, zajišťujícím výstupy, které jsou informované a kontextově relevantní.

Skutečný potenciál RAG spočívá v jeho reálných aplikacích. Pro odvětví, jako je zdravotnictví, kde včasná a přesná informace může být zásadní, RAG nabízí schopnost extrahovat a generovat poznatky z rozsáhlé lékařské literatury bezproblémově. V oblasti financí, kde se trhy vyvíjejí minutu od minuty, RAG může poskytnout datové pohony, informované rozhodnutí. Kromě toho, ve vědě a výzkumu, mohou vědci využít RAG k prohledávání rozsáhlých úložišť informací, činícím literární recenze a datovou analýzu efektivnějšími.

Já pět let se ponořím do fascinujícího světa strojového učení a hlubokého učení. Mé vášně a odborné znalosti mě vedly k tomu, abych se podílel na více než 50 různých projektech softwarového inženýrství, se zvláštním zaměřením na AI/ML. Mé pokračující zvědavosti mě také přivedly k přirozenému jazykovému zpracování, oblasti, kterou jsem ochoten prozkoumat dále.