Vad är retrieval med sen interaktion, och hur skiljer det sig från sökning med en enda vektor?

Eva Wong är Teknisk skribent och den boende fixaren på ZimaSpace. En livslång nörd med en passion för hemma-labb och öppen källkod, hon specialiserar sig på att översätta komplexa tekniska koncept till tillgängliga, praktiska guider. Eva tror att självhosting ska vara roligt, inte skrämmande. Genom sina handledningar ger hon gemenskapen verktyg att avmystifiera hårdvaruinstallationer, från att bygga sin första NAS till att bemästra Docker-containrar.

Retrieval med sen interaktion bevarar flera representationer på tokennivå och utför finmaskig matchning vid frågetillfället i stället för att komprimera varje dokument till en vektor.

Ett familjearkiv kan innehålla långa textstycken där ett namn, ett artikelnummer eller en översatt fras är viktigt, men där den omgivande texten dominerar en sammanslagen embedding. Sökning med en enda vektor lagrar en kompakt sammanfattning per textstycke. En modell med sen interaktion lagrar många kontextuella tokenvektorer och jämför frågetokens med deras bästa matchningar bland dokumentets tokens, vilket förbättrar matchningen av lokal evidens på bekostnad av ett större index och mer poängberäkning.

Sen interaktion skjuter upp matchningen mellan texter till sökningen

Frågan och dokumentet kodas oberoende av varandra, så dokumentrepresentationer kan beräknas offline. Vid sökning hittar en operator som MaxSim den starkaste matchningen mellan en dokumenttoken och varje frågetoken och sammanför sedan dessa maximala värden till en relevanspoäng.

ColBERT introducerade kontextualiserad sen interaktion som bevarar kontextualiserade tokenrepresentationer samtidigt som interaktionen skjuts upp. Detta skiljer modellen från en cross-encoder, som behandlar varje fråge-dokumentpar gemensamt och är för kostsam för sökning i hela korpusen i första steget. Skillnaden förblir synlig under senare tester i hemmet.

Ordet sen beskriver var interaktionen mellan fråga och dokument sker, inte hur nyligen indexet byggdes. Det betyder inte heller att resultaten omrankas först efter en sökning med en enda vektor, även om system ofta använder ett kandidatsteg.

Sökning med en enda vektor jämnar ut detaljer på tokennivå

En bi-encoder slår vanligtvis samman ett textstycke till en vektor och jämför den med en frågevektor med hjälp av cosinuslikhet eller skalärprodukt. Detta är kompakt och fungerar bra med mogna index för approximativ närmaste granne, men varje term måste dela en enda representation.

En översikt över representationer per token förklarar att modeller med sen interaktion behåller vektorer per token, medan täta system med en enda vektor slår samman dem. Skillnaden påverkar både matchningsfunktionen och formen på det lagrade indexet. Mellanresultatet måste förbli granskningsbart innan automatiseringen fortsätter.

Sen interaktion kan bevara sällsynta entiteter och kompositionella matchningar, men fler vektorer innebär inte automatiskt bättre sökning. Träningsmål, tokeniserare, dokumentlängd, beskärning och kandidatgenerering avgör fortfarande kvaliteten. Den gränsen bör mätas separat under realistiska driftsförhållanden.

Indexet byter kompakt format mot finmaskig poängsättning

Att lagra tiotals eller hundratals vektorer per textstycke mångdubblar antalet byte i indexet, minnestrafiken och beräkningen vid sökning. Komprimering, tokenbeskärning, inverterade strukturer eller en retriever i första steget kan begränsa kostnaden samtidigt som användbara matchningar bevaras. Den praktiska konsekvensen blir tydlig när flera källor konkurrerar om begränsat kontextutrymme.

ColBERTv2 använder residuell komprimering och brusreducerad övervakning för att minska utrymmesbehovet vid retrieval med flera vektorer. Arbetet visar att praktisk sen interaktion är lika beroende av indexteknik som av MaxSim-formeln. Detta beroende bör förbli tydligt i det slutliga gränssnittet.

Felgränsen uppstår på en hemmaserver vars lagring, RAM eller latensbudget inte klarar av kandidater med flera vektorer. En vältränad retriever med en enda vektor plus en omrankare kan ge bättre kvalitet från början till slut när indexet för sen interaktion är kraftigt komprimerat eller underdimensionerat.

-15% OFF
Single board computer zimaboard2

Jämför evidenstäckning per gigabyte och millisekund

Indexera samma versionshanterade korpus med modeller för en enda vektor respektive sen interaktion och använd deras rekommenderade tokenisering. Håll frågeuppsättning, filtrering, top-k och evidensbedömningar konstanta för exakta, parafraserade, entitetstäta och flerspråkiga frågor. Resultatet måste därför kontrolleras mot den ursprungliga evidensen.

Koppla det andra stegets alternativ till omrankning i första steget. Registrera recall, nDCG, citatstöd, indexstorlek, byggtid, RAM, median- och p99-latens samt kostnaden för omrankning av kandidater. Skillnaden förblir synlig under senare tester i hemmet.

Använd sen interaktion endast när de finmaskiga förbättringarna motiverar dess index- och serveringskostnader. Om den största delen av förbättringen uppstår efter omrankning kan ett kompakt första steg vara den stabilare hemmaserverdesignen. Mellanresultatet måste förbli granskningsbart innan automatiseringen fortsätter.

Teknik- och AI-hubb

Mer att läsa

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.