embedding
Co je embedding a jak pomáhá AI chápat význam
Embedding je číselná vektorová reprezentace textu, obrázku nebo jiných dat, která umožňuje počítači porovnávat jejich význam a podobnost. Místo aby systém pracoval přímo se slovem, větou, fotografií nebo zvukem, převede daný objekt na dlouhou řadu čísel. Tato čísla pak určují jeho polohu v mnohorozměrném prostoru. Objekty s podobným významem v něm zpravidla leží blízko sebe, i když nepoužívají stejné výrazy. Právě proto může AI rozpoznat, že dotazy „jak snížit náklady firmy“ a „kde v podnikání ušetřit“ spolu významově souvisejí.
Český překlad „vložení“ se používá málo a může být matoucí. V praxi se běžně říká embedding, případně vektorová reprezentace. Nejde o čitelný souhrn dat. Člověk z jednotlivých hodnot většinou nepozná, co přesně znamenají. Důležitý je až jejich vzájemný vztah.
Jak embedding funguje:
- Vstupní data: Na začátku je text, obrázek, zvuk, produkt, uživatel nebo jiný objekt. U delších dokumentů se text obvykle rozdělí na menší části, aby šlo později najít přesnou relevantní pasáž.
- Embedding model: Specializovaný model převede vstup na vektor pevné délky, tedy uspořádaný seznam desetinných čísel. Model se při trénování naučil zachycovat vlastnosti a vztahy, které jsou pro daný typ dat podstatné.
- Vektorový prostor: Každá hodnota představuje jednu z mnoha abstraktních dimenzí. Neplatí, že by jedna souřadnice jednoduše znamenala například „finance“ a druhá „marketing“. Význam je rozložený napříč celým vektorem.
- Měření podobnosti: Systém porovnává vzdálenost nebo směr vektorů. Často k tomu používá kosinovou podobnost, skalární součin nebo eukleidovskou vzdálenost. Čím bližší jsou výsledky, tím podobnější bývá význam původních objektů.
- Uložení a vyhledání: Embeddingy lze uložit do vektorové databáze společně s původním obsahem a metadaty. Při dotazu vznikne embedding otázky a databáze vyhledá nejbližší záznamy.
Jednoduchý příklad textového embeddingu
Představte si e-shop se stovkami produktů. Běžné vyhledávání podle klíčových slov najde jen položky, které obsahují přesně zadaný výraz. Když zákazník napíše „něco lehkého na podzimní déšť“, vhodná bunda nemusí mít tuto formulaci nikde v názvu ani popisu. Embedding převede dotaz i popisy produktů na vektory. Vyhledávač pak může najít nepromokavou lehkou bundu podle významové podobnosti, ne pouze podle shody slov.
Stejný princip funguje u firemních dokumentů. Otázka „Jak dlouho může zákazník vrátit zboží?“ může najít odstavec nadepsaný „Odstoupení od smlouvy do 14 dnů“, přestože se přesná slova z otázky v odstavci nevyskytují. Embedding nezaručuje správnou odpověď, ale výrazně zlepšuje šanci, že systém vytáhne obsah, který se dotazu skutečně týká.
Embedding v praxi:
Sémantické vyhledávání je nejčastější ukázka. Uživatel nehledá přesnou frázi, ale obsah se stejným nebo blízkým významem. To se hodí pro webové vyhledávání, help centra, katalogy produktů, interní znalostní báze i archivy smluv.
Dalším příkladem jsou AI asistenti nad vlastními daty. Dokumenty se rozdělí na části, převedou na embeddingy a uloží. Při otázce uživatele se vyhledají nejrelevantnější pasáže a vloží se do zadání jazykového modelu. Tento postup je základem systému RAG. Model díky němu nemusí mít všechny firemní informace naučené při trénování. Dostane jen několik vybraných podkladů, které se vejdou do jeho kontextového okna.
Embeddingy se používají také v doporučovacích systémech. Vektorem lze popsat produkty, filmy nebo články, ale také zájmy uživatele. Systém pak doporučuje položky, které jsou ve vektorovém prostoru blízko jeho preferencím. Podobně lze seskupovat zákaznické zprávy podle tématu, hledat duplicitní obsah, třídit recenze nebo odhalovat neobvyklé transakce.
Nemusí přitom jít jen o text. Obrazový embedding může zachycovat vizuální vlastnosti fotografie a pomoci najít podobné produkty nebo obličeje. Zvukový embedding může sloužit k rozpoznání mluvčího, hudebního stylu či neobvyklého zvuku stroje. Multimodální modely dokážou umístit text a obrázky do společného prostoru, takže lze fotografii vyhledat běžnou větou.
Embedding může využívat i AI agent, který potřebuje najít správný návod, předchozí případ nebo část dokumentace dříve, než provede další krok. V takovém systému embedding neslouží jako odpověď. Je to navigace k informacím, z nichž se odpověď nebo rozhodnutí teprve vytvoří.
Proč je embedding důležitý:
Většina firemních dat není připravená jako čistá tabulka. Informace jsou rozptýlené v e-mailech, dokumentech, popisech produktů, nahrávkách a obrázcích. Embedding z nich vytváří společnou matematickou podobu, se kterou lze rychle vyhledávat, porovnávat a seskupovat obsah. Praktický přínos není v samotných vektorech, ale v tom, že aplikace začne pracovat s významem místo pouhých znaků.
Současně je dobré znát limity. Kvalita výsledku závisí na zvoleném modelu, jazyku, typu dat a způsobu dělení dokumentů. Vektory vytvořené různými embedding modely obvykle nelze přímo porovnávat. Při změně modelu proto může být nutné celou databázi přepočítat. Podobnost také není totéž co pravdivost. Dvě věty mohou být tematicky blízké, i když si odporují, například „objednávku lze vrátit“ a „objednávku nelze vrátit“.
Embeddingy mohou navíc zachytit zkreslení obsažená v trénovacích datech. U citlivých rozhodnutí proto nestačí jen vzít nejbližší výsledek. Je potřeba přidat filtry, metadata, kontrolu oprávnění, testování a podle rizika také lidskou kontrolu. Firemní znalostní báze by například měla nejdřív omezit hledání na dokumenty, ke kterým má daný uživatel přístup, a teprve potom porovnávat jejich embeddingy.
Časté otázky:
Je embedding totéž co token?
Ne. Token je menší jednotka textu, kterou model zpracovává. Embedding je číselný vektor reprezentující token, větu, odstavec, dokument nebo jiný objekt. Tokenizace tedy určuje, na jaké části se text rozdělí, zatímco embedding zachycuje jejich vlastnosti a vztahy v číselné podobě.
Je embedding databáze?
Ne. Embedding je samotná vektorová reprezentace. Vektorová databáze je systém, který embeddingy ukládá, indexuje a umožňuje mezi nimi rychle hledat. Pro menší projekt lze vektory uložit i do běžné databáze s vhodným rozšířením.
Lze embedding převést zpět na původní text?
Ne spolehlivě. Embedding není šifrovaná kopie původního textu ani jeho bezeztrátová komprese. Zachovává vlastnosti užitečné pro porovnávání, ale část informace ztrácí. Proto se vedle vektoru obvykle ukládá také původní text nebo odkaz na něj.
Jaký je rozdíl mezi embeddingem a generativním modelem?
Embedding model převádí vstup na vektor, aby šel porovnat s dalšími daty. Generativní model vytváří nový text, obrázek nebo jiný výstup. V jedné aplikaci často spolupracují: embedding najde relevantní podklady a generativní model z nich sestaví srozumitelnou odpověď.