Gå til indhold
atlas

Embedding-model

Også kendt som: embedder

En model, der læser et stykke tekst og giver en embedding tilbage i stedet for at skrive et svar.

Kladde - dette opslag er endnu ikke gennemgået.

Formelt

Et neuralt netværk, som regel en transformer, der er trænet, så tekster med nær betydning kommer ud som embeddings, der scorer højt på cosinuslighed; det laver både gemte dokumenter og indkommende spørgsmål om til embeddings.

Forklaret enkelt

Som en vinsmager, der sætter et kryds for hver vin på det samme smagsskema - let til tung, sød til tør - uden nogensinde at fortælle, hvad der står på etiketten.

I praksis

En udvikler i et dansk softwarehus kører en pensionskasses 3.000 hjælpesider gennem en embedding-model én gang, gemmer resultaterne og kører hvert medlems spørgsmål gennem samme model, når der søges.

Hvorfor det betyder noget

Skifter man til en ny, skal alle gemte embeddings laves om, da tallene fra to forskellige modeller ikke kan sammenlignes - og en model, der er svag i dansk, giver svag dansk søgning.

Teknisk uddybning

De fleste embedding-modeller til søgning er bi-encodere: Den samme transformer (eller to tårne) koder forespørgsel og dokument uafhængigt af hinanden, og de skjulte tilstande pr. token samles til én vektor med fast længde ved mean pooling, via [CLS]-tokenet eller, for decoder-baserede modeller, via det sidste token. Uafhængigheden er pointen, for dokumentvektorerne kan beregnes én gang ved indeksering, og kun forespørgslen skal kodes ved søgning. Outputdimensionerne ligger typisk fra 384 til over 4.000. Modeller trænet med Matryoshka representation learning (Kusupati m.fl., 2022) kan afkortes til et præfiks af deres dimensioner og bytte nøjagtighed for lagerplads, forudsat at de afkortede vektorer normaliseres igen.

Træningen er kontrastiv. Givet en forespørgsel og en relevant passage skubber et InfoNCE-tab deres lighed op over negativernes: L = −log(exp(s(q, p⁺)/τ) / Σ exp(s(q, pᵢ)/τ)), hvor s som regel er cosinuslighed og τ en temperatur. Andre passager i samme batch fungerer som billige "in-batch negatives", så store batches hjælper, og udvundne hårde negativer (passager, der ligner relevante, men ikke er det) betyder mest for kvaliteten. Sentence-BERT (Reimers og Gurevych, 2019) viste, at finjustering af BERT i en siamesisk opsætning gjorde den til en brugbar lighedsmodel; senere familier som E5, BGE og GTE tilføjer et svagt superviseret fortræningstrin på hundreder af millioner udvundne tekstpar før finjustering på mærkede data. Mange modeller er asymmetriske og forventer præfikser eller instruktioner, fx "query: " og "passage: " for E5; glemmer man dem ved forespørgslen, er det en almindelig og stille årsag til dårlig recall. Siden 2023 har embedding-modeller bygget på rene decoder-LLM'er ligget i toppen af offentlige leaderboards, så den gamle tommelfingerregel om, at embeddere er encodere, holder ikke længere.

MTEB (Muennighoff m.fl., 2023) evaluerer modeller på tværs af opgavetyper som søgning, klassifikation, klyngedannelse, genrangering og semantisk tekstlighed på mange sprog, men leaderboard-gennemsnittene er tungt præget af engelsk og kan pustes op af træning på data tæt på benchmarkene. For dansk dækker Scandinavian Embedding Benchmark (Enevoldsen m.fl., NeurIPS 2024) danske, svenske og norske opgaver og fandt markante forskelle mellem modeller, som MTEB-gennemsnittene ikke viste. Den pålidelige test er stadig genfindingsrecall på et mærket udsnit af ens egne forespørgsler og dokumenter.

I drift ligger vektorer fra forskellige modeller, eller forskellige versioner af samme model, i uforenelige rum, så modelidentifikator og version bør gemmes med hver vektor, og en migrering betyder nye embeddings for hele korpusset, ofte ved at skrive til et nyt indeks parallelt, før man skifter over. Embeddings er ikke anonymisering: Vec2Text (Morris m.fl., 2023) genskabte 92 % af input på 32 tokens præcist ud fra deres embeddings, så vektorer afledt af personoplysninger bør behandles som personoplysninger. Beslægtede designs er lærte sparse modeller som SPLADE, der giver vektorer vægtet over ordforrådet til inverterede indeks, og multivektormodeller som ColBERT, der beholder én vektor pr. token.

Hvad du bør lære først

Alt det, dette bygger på - grundlaget først.

  1. Neuralt netværk
  2. →Token
  3. →Embedding
  4. →Transformer
  5. →Embedding-model

Relationer

Forveksl ikke med
Stor sprogmodel (LLM)

Kilder og videre læsning

Opslagsværker

Hvor dataene kommer fra

Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.

Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON

Test dig selv

Indlæser…

Atlas er i beta.