Konečně jsem pochopil, proč jsou re-rankery tak mocné, jakmile jsem pochopil klíčový rozdíl mezi bi- a křížovými kodéry. Dále jsem našel způsob, jak spojit jejich síly pomocí jednotné architektury. Dovolte mi to vysvětlit: RAG je z 80 % načítání a z 20 % generování. Pokud tedy RAG nefunguje, s největší pravděpodobností se jedná o problém s načítáním. To je přesně důvod, proč je tak důležité správně nastavit architekturu načítání – a začíná to pochopením těchto dvou (ve skutečnosti tří) přístupů ke kódování. (při čtení se podívejte na obrázek níže) 1️⃣ Bi-kodéry Bi-kodéry (páteř vektorového vyhledávání) zpracovávají dotazy a dokumenty odděleně. - Vkládání dokumentů je předem vypočítáno - Dotaz se vloží v době vyhledávání Díky tomu jsou bi-kodéry ideální pro počáteční načtení: - extrémně rychlé - Pracuje ve velkém měřítku - chybí důležité kontextové informace 2️⃣ Křížové kodéry Křížové kodéry mají zcela odlišný přístup k opětovnému řazení. Dotaz a každý dokument zpracovávají jako jeden celek. - Kombinovat dotaz s dokumentem ([CLS] Dotaz [SEP] Dokument [SEP]) - Projděte si společně model pro plnou vzájemnou pozornost Díky tomu jsou křížové kodéry ideální pro druhý stupeň: - zachycuje sémantické vztahy pro lepší přesnost - ale mnohem pomalejší a náročnější na zdroje pro velké sbírky Co kdybychom mohli spojit to nejlepší z obou světů! 3️⃣ ColBERT ColBERT spojuje výkon křížových kodérů a škálovatelnost bi-kodérů. - Samostatné kódování dotazů a dokumentů - Vytváření matice interakcí se skóre podobnosti mezi všemi páry tokenů dotaz-dokument - Získání maximálního skóre pro každý token dotazu napříč tokeny dokumentů - Součet maximálního skóre pro konečné odpovídající skóre _____ To je konec! Pokud vám to připadalo užitečné, sdílejte to znovu se svou sítí. Najdi mě → @akshay_pachaar ✔️ Další poznatky a návody na LLM, AI agenty a strojové učení!
46,67K