Hvad betyder Approximate nearest neighbor?
Approximate nearest neighbor, ofte forkortet ANN, er en familie af metoder til søgning i store vektorsamlinger. I stedet for at beregne afstanden til alle vektorer bruges et indeks til at begrænse, hvor søgningen leder.
Det kan gøre det praktisk at søge efter tekstembeddings, billeder eller andre repræsentationer i en større samling. Til gengæld er der ikke samme garanti for at finde præcis de nærmeste naboer som ved en udtømmende sammenligning efter det valgte afstandsmål.
Denne tilnærmelse er en teknisk egenskab ved søgningen. Selv en helt eksakt nabosøgning ville ikke bevise, at et dokument er relevant eller korrekt. Embeddingmodellens repræsentation og virksomhedens konkrete informationsbehov er et andet lag, som også skal vurderes.
Brug eksakt søgning som et teknisk kontrolgrundlag
På et håndterbart udsnit kan teamet beregne de eksakte nærmeste naboer og sammenligne dem med ANN-resultaterne. Det viser, hvor mange af de ønskede naboer den hurtigere metode finder under den valgte opsætning.
Kontrollen bør bruge samme vektorer og afstandsmål. Ellers kan forskelle skyldes mere end selve indekset. Mål også søgetid og hukommelse, så valget bliver en afvejning mellem egenskaber, som faktisk er relevante for driften.
Test den søgning, brugerne faktisk udfører
Et indeks kan fungere godt uden filtre og anderledes, når søgningen begrænses til en lille dokumentgruppe. Kunder, sprog, datoer og adgangsregler kan ændre den mængde, der må findes resultater i.
Indsættelser, opdateringer og sletninger er også en del af løsningen. Undersøg den valgte implementerings muligheder frem for at antage, at alle ANN-indekser vedligeholdes på samme måde. En søgedemonstration på et uændret datasæt fortæller ikke nok om et katalog, der opdateres løbende.
Et eksempel fra praksis
En organisation har mange interne dokumentuddrag og vil holde søgetiden på et passende niveau. Teamet vælger et repræsentativt udsnit og sammenligner et ANN-indeks med udtømmende vektorsøgning.
Testen gentages for spørgsmål med et snævert afdelingsfilter. Hvis relevante naboer forsvinder i det filtrerede scenarie, undersøges søgeparametre og filterplacering. Til sidst vurderer medarbejdere de fundne dokumenters faktiske relevans. På den måde adskilles indeksets tekniske tilnærmelse fra kvaliteten af den semantiske søgning.
Typiske faldgruber
- ANN-recall bliver forvekslet med korrektheden af chatbotens svar.
- Benchmark køres uden de filtre, som gælder i den rigtige arbejdsgang.
- Vedligeholdelse af indekset overses, indtil dokumenter skal slettes eller opdateres.
Det skal I afklare
- Sammenlign med eksakte naboer på et repræsentativt udsnit.
- Mål kvalitet, søgetid og hukommelse med faktiske filtre.
- Afprøv opdatering og sletning i den valgte indeksimplementering.
Spørgsmål og svar
Hvornår er eksakt søgning nok?
Ved mindre samlinger eller beskeden belastning kan den være enkel og tilstrækkelig. Mål den konkrete løsning før et mere komplekst indeks indføres.
Er HNSW det samme som ANN?
HNSW er én metode inden for ANN. Der findes andre tilgange, blandt andet forskellige former for opdeling og komprimering af vektorsamlingen.
Kilder og videre læsning
De tekniske begreber bygger på nedenstående kilder. Eksemplerne er illustrative og viser, hvordan I kan arbejde med emnet.
- Faiss: Faiss indexes ↗Eksakte og tilnærmede indeksmetoder samt deres egenskaber.
- Malkov og Yashunin: HNSW ↗En konkret grafbaseret metode til tilnærmet nabosøgning.

