Indlæser 3D-laboratoriet…
Indlæser lektionen…
← Sådan fungerer AIVerden 1 · lektion 3 af 4Alle lektioner ↓

Embeddings: en liste af tal for hver token
Underviser du i dette? Åbn projektortilstand
Token-ID'er er kun etiketter. ID 4821 er ikke “tæt på i betydning” ID 4822. For at kunne beregne mønstre, der minder om betydning, har modellen brug for en repræsentation, hvor lighed er et tal, du kan beregne.
Denne repræsentation er en embedding: for hver token en liste af tal, der kaldes en vektor. Vektorerne står i en stor tabel. Deres værdier starter tilfældigt og justeres under træningen. Rigtige modeller bruger fra hundredvis til tusindvis af tal pr. token.
Hvad gør en vektor nyttig? Tokener, der forekommer i lignende sammenhænge, ender med lignende vektorer. Denne idé blev demonstreret i stor skala af Mikolov og kolleger (2013, “word2vec”), og den minder om en lingvists motto: Et ord er kendetegnet ved de ord, det optræder sammen med. “Cat” og “dog” optræder tæt på ord som “pet”, “fed” og “vet”, så deres vektorer ender tæt på hinanden. Det gør “cat” og “carburettor” ikke.
Måling af lighed: cosinuslighed. For to vektorer a og b:
cos = (a · b) / (|a| × |b|)
hvor a · b er summen af produkterne af tilsvarende elementer, og |a| er kvadratroden af summen af kvadraterne. Resultatet er altid mellem −1 og 1: 1 betyder, at vektorerne peger i samme retning, 0 betyder, at de står vinkelret på hinanden, og −1 betyder modsatte retninger.
Legetøjseksempel med to tal i hver (opdigtet): cat = (3, 4) og dog = (4, 3). Skalarproduktet er 3×4 + 4×3 = 24. Begge længder er 5. Så cos = 24 / 25 = 0,96. Tag nu car = (4, −3): Skalarproduktet med cat er 12 − 12 = 0, så cos = 0.
Du kan ikke tegne 300 dimensioner. For at vise et kort presses vektorerne ned til 3 (eller 2) dimensioner med en metode som PCA eller t-SNE; AI Lab viser i sin verden "Fra seks egenskaber til en punktsky", hvordan de fungerer, og hvor de forvrider afstande. Når man presser dimensionerne sammen, bliver noget altid forvrænget: To ord, der ser ud til at være naboer på kortet, kan være længere fra hinanden i det fulde rum.
Statiske embeddings har en grænse. Hvis hvert token har én fast vektor, har ordet “bank” den samme vektor i “flodbred” og “bankkonto”. Én vektor skal dække begge betydninger. Senere i dette lab (Verden 2) kan du se, hvordan attention lader tallene for et token afhænge af ordene omkring det.
To ordvektorer peger præcis i den samme retning. Hvad er deres cosinuslighed?
Hvorfor kan et 3D-kort over ordvektorer vise to ord tæt på hinanden, selvom de er langt fra hinanden i det fulde rum?
Hvorfor er én fast vektor for “bank” et problem?
For kat = (3, 4) og hund = (4, 3), hvad er cosinusligheden?