Hoppa till innehållet
AI-grafen
D· AI-utvecklaresprakmodeller· ca 40 min· grundläggande — ändras sällan· verifierad 2026-09-20

Embeddings — ord som vektorer

Kunna förklara vad en embedding är, varför liknande ord hamnar nära varandra, beräkna likhet mellan embeddings med cosinus, och veta att embeddingar lärs upp som vikter.

Förkunskaper

Intuition

En dator kan inte räkna med ordet "katt". En embedding ger varje ord (eller token) en vektor med, säg, 300 tal. Tricket: vektorerna lärs upp så att ord som används i liknande sammanhang får vektorer som pekar åt liknande håll.

Då blir likhet något man kan räkna: cos(katt, hund) ≈ 0,8, cos(katt, traktor) ≈ 0,1. Och relationer blir riktningar: kung − man + kvinna ≈ drottning.

Formellt

Embedding-lagret är en matris E av storlek V×d (V ord i ordförrådet, d dimensioner). Ord nummer i har vektorn E[i] — lagret är en uppslagstabell, matematiskt samma som att multiplicera en one-hot-vektor med E.

E är vikter som tränas med backprop precis som allt annat. I en språkmodell formas de av uppgiften "gissa nästa ord"; i ett embedding-API (t.ex. qwen3-embed) av uppgiften "liknande texter ska få liknande vektorer".

Likhet: cos(u, v) = u·v / (‖u‖‖v‖). Sökning med embeddings = beräkna cos mot alla dokument och ta de största. Det är grunden för retrieval och RAG.

Kod

import torch, torch.nn as nn
emb = nn.Embedding(num_embeddings=10_000, embedding_dim=64)
ids = torch.tensor([42, 7, 42])
v = emb(ids)              # (3, 64) — rad 42 två gånger
cos = nn.functional.cosine_similarity(v[0], v[1], dim=0)

Behärskning innebär

  • Beräknar cosinuslikhet mellan två embeddingar
  • Förklarar hur en embedding-matris fungerar som uppslagstabell

Logga in för att göra övningarna och bygga upp din behärskning.

Källor

Alla källor och licenser