English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

gast
1 / ?
terug naar lessen

Semantische Afstand als Euclidische Afstand

Een Hoog-Dimensionale Vectorruimte

Elke token in ANDREA-120M’s 8449-token-vocabulaire wordt afgebeeld op één punt in R^768. De token-embeddingmatrix heeft de vorm 8449 × 768: 8449 rijen, één per vocabulaire-token; 768 kolommen, één per embeddingdimensie.


Geometrie van ANDREA Panels


Drie eigenschappen maken dit een vectorruimte

1. Optelling. v_a + v_b ligt in R^768. De som van twee embeddings is een geldige vector.

2. Scalaire vermenigvuldiging. alpha * v ligt in R^768 voor elke reële alpha. Rek uit of krimp langs dezelfde richting.

3. Lineariteit. alpha v_a + beta v_b ligt in R^768. Lineaire combinaties blijven binnen de ruimte.


Deze eigenschappen geven ons geometrische hulpmiddelen: afstand, hoek, projectie, basis, orthogonaliteit.


Afstand als semantische gelijkenis

De cosinusgelijkenis van twee embeddings meet de hoek tussen hen: cos(theta) = (v_a . v_b) / (||v_a|| * ||v_b||). Bereik: -1 (tegengesteld) tot +1 (parallel).


Empirisch patroon na training: tokens met vergelijkbare contexten produceren embeddings met hoge cosinusgelijkenis. ANDREA-120M plaatst parakeet & monkey dicht bij elkaar (beide biologisch, beide soorten, beide bestaande of uitgestorven categorieën). Het plaatst Fourier & transform dicht bij elkaar (signaalverwerkingscontext). Het plaatst parakeet & Fourier ver uit elkaar (cross-domein orthogonaliteit).


Waarom R^768 Niet R^384

ANDREA-12M gebruikte d_model = 384. ANDREA-120M verdubbelde dit naar 768. De verdubbeling is van belang: een 384-dimensionale ruimte heeft minder 'hoeken' beschikbaar, en cross-domein disambiguatie lijdt hieronder. Verdubbeling van de capaciteit geeft het model ruimte om bank (rivier) versus bank (financieel) op te lossen in verschillende bassins van de embeddingruimte zonder dat de ene in de andere verdwijnt.


Embedding-updates als vectorvertaling

Elke gradientstap voegt delta_v toe aan v_token. Geometrisch: kleine translaties in R^768 verplaatsen elke token naar buurten die de loss verminderen. Na 200K stappen migreert elke token van zijn willekeurige initialisatie naar een geleerde positie.

Een afstand berekenen

Drie getrainde embeddings (vereenvoudigd naar R^3 voor rekenkundige doeleinden):


- v(parakeet) = (1.0, 0.5, 0.0)

- v(monkey) = (1.2, 0.3, 0.1)

- v(Fourier) = (0.0, 0.0, 1.5)

(a) Bereken de Euclidische afstand ||v(parakeet) - v(monkey)||. (b) Bereken ||v(parakeet) - v(Fourier)||. (c) Geef aan welke twee tokens samen clusteren en geef een geometrische reden met de werkelijke getallen.

Projectie op een Query-subruimte

Wat Attention Berekent

Voor een token op positie t berekent attention:


softmax(Q K^T / sqrt(d_k)) V


Waar Q de query is (de vraag van dit token), K de keys (de identificatie van elk vorig token) en V de values (de inhoud van elk vorig token). De output combineert V, gewogen op basis van hoe sterk de query aan elke key gerelateerd is.


Geometrische interpretatie

Denk aan K als een lijst van vectoren in R^d_k. Elke rij is de key van één vorig token. Q is één vector in R^d_k: de vraag van dit token.


Q K^T projecteert elke key op Q. Het dot-product q . k_i meet hoeveel k_i ligt langs de richting van q. Lange projectie = key sterk relevant voor query. Korte projectie = key nauwelijks relevant.


softmax normaliseert de projecties tot gewichten die optellen tot 1. De gewogen som van V is een enkele vector: een mengsel van eerdere inhoud, gewogen naar relevantie voor de huidige query.


Multi-Head Attention als Multi-Subruimte Projectie

ANDREA-120M gebruikt 12 attention heads. d_model = 768; d_k = 768 / 12 = 64. Elke head projecteert naar een andere 64-dim subruimte van R^768. Twaalf heads geven twaalf onafhankelijke weergaven van dezelfde sequentie: één head kan grammaticale rol volgen, een andere semantische gelijkenis, weer een andere lange-afstandsreferenties.


Geometrisch: elke head definieert een 64-dim georiënteerde subruimte (een 'venster') waardoorheen het het verleden bekijkt.


De causale mask
[BLOCK_TYPE SECTION/STEP]

Decoder-only modellen voegen een causale mask toe: elke Q K^T-waarde boven de diagonaal wordt op -oneindig gezet vóór de softmax. Geometrisch: de projectie op elk toekomstig token krijgt gewicht nul. Token t kan alleen tokens 0 tot en met t zien. [BLOCK_TYPE SECTION/STEP]


Waarom dit belangrijk is: training en inferentie worden symmetrisch. Dezelfde forward pass, dezelfde gemaskeerde projecties, geen speciale generatielogica. [BLOCK_TYPE SECTION/STEP]


sqrt(d_k) schaling
[BLOCK_TYPE SECTION/STEP]

Zonder schaling groeien dot-producten mee met d_k. Grote dot-producten duwen de softmax naar one-hot-regio’s (één gewicht bijna 1, de rest bijna 0). Delen door sqrt(d_k) houdt de projecties op eenheidsvariantie-schaal, waardoor de softmax scherpte behouden blijft over een breed bereik van d_k-waarden.


Geometrisch: sqrt(d_k) normaliseert de lengtes van de projecties zodat de softmax vergelijkbare grootte-ordes ziet, ongeacht de dimensie van de deelruimte.

Een projectie lezen

Drie keys & één query in R^4 (vereenvoudigd voor rekenwerk):


- q = (1, 0, 1, 0)

- k_1 = (1, 0, 0, 0) [vorige token 1]

- k_2 = (0, 0, 1, 0) [vorige token 2]

- k_3 = (0, 1, 0, 1) [past token 3]


d_k = 4, dus sqrt(d_k) = 2.

(a) Bereken q . k_i voor i = 1, 2, 3 (inproducten). (b) Deel elk door sqrt(d_k) = 2 om geschaalde scores te krijgen. (c) Zonder softmax expliciet te berekenen, geef aan welke key de GROOTSTE aandachtsgewicht krijgt & geef een geometrische reden.

Gradient Descent als Pad op een Terrein

Een Oppervlak in 120M+1 Dimensies

Elke gewichtconfiguratie van ANDREA-120M is één punt in R^120.000.000. Loss L(w) wijst elk punt toe aan een reëel getal: de trainingsloss bij deze configuratie. Samen vormen de loss-waarden een (120M+1)-dimensionaal oppervlak boven de parameter-ruimte.


Geometrisch onmogelijk om direct te visualiseren. Conceptueel: een terrein. Bergen (hoge loss), dalen (lage loss), zadelpunten, plateaus, ruggen, bassins.


Gradient als Lokale Helling

grad L(w) is een vector in R^120M die wijst in de richting van de steilste TOENAME van L. Negeren ervan: -grad L(w) wijst het steilst bergafwaarts.


Een AdamW-stap duwt w in de richting tegengesteld aan de gradient (met adaptieve schaling vanuit m & v). Geometrisch: een kleine stap langs het oppervlak, bergafwaarts, waarbij de stapgrootte wordt bepaald door lr.


v1's Slechte Bekken

v1 zette zijn eerste stap met LR = piek (0.0003) op vers geïnitialiseerde gewichten. Geometrisch beeld: w_0 bevindt zich in een sterk gekromd gebied (willekeurige initialisatie heeft hoge kromming in veel richtingen), en een stap met piek-LR belandt in het verkeerde bekken. Vervolgstappen kunnen hier niet uit ontsnappen. Het model blijft steken in het produceren van 'region region region' omdat dat bekken de laagste loss is die het model kan vinden vanaf waar het is beland.


v2's Warmup-pad

v2 neemt 2000 kleine stappen waarbij de LR oploopt van 0 naar piek. Geometrisch beeld: w_0 migreert eerst voorzichtig langs gladde richtingen (waar de kromming laag is). Tegen stap 2000 is w verplaatst naar een beter begaanbaar gebied; de piek-LR kan het dan naar een beter bekken sturen zonder te overschieten.


Warmup is een geometrie-bewust initialisatieprotocol: laat het model eerst een veilige lokale omgeving vinden voordat je het hard pusht.


Brede vs Smalle Bassins

Bij stap 112K bevindt ANDREA-120M zich in een bassin. Vraag: hoe breed is het?


Breed bassin = veel naburige gewicht-configuraties bereiken ook een laag trainingsverlies. Generalisatie is meestal goed (de breedte van het bassin voorspelt de testprestaties; zie PAC-Bayes-les, Hoofdstuk 3).


Smal bekken = slechts een dunne set gewichten bereikt een laag verlies. Generalisatie lijdt er meestal onder.


v3-polish bij stap 112.619 duwde het model langs het oppervlak (zonder reset) naar een breder bekken via curriculum-perturbatie: verander de verliesfunctie (andere bandit, andere trainingsmix), laat SGD een nabijgelegen vlak gebied onder het nieuwe beleid vinden.


De Zombie-klif

Het afwijkende verlies 0.13 bij stap 112.080 was een KLIF: een scherpe, smalle regio waarin één specifiek invoerpatroon (gememoriseerde repo-docs-substring) een verlies van bijna nul bereikt. Het model viel van het bredere bekken in een smalle geul. De hard-exclusion van repo-docs bij polish-pivot vulde die geul op, zodat SGD hem niet meer kon vinden.

Het terrein lezen

Drie gewicht-configuraties na een polish-pivot. (a) Configuratie A: trainingsverlies 2.0, & 95 % van de kleine verstoringen binnen afstand 0.1 produceren nog steeds verlies < 2.2. (b) Configuratie B: trainingsverlies 2.0, & 5 % van de kleine verstoringen binnen afstand 0.1 produceren nog steeds verlies < 2.2. (c) Configuratie C: trainingsverlies 0.13 op één specifieke invoer, maar gemiddeld verlies 8.0 over andere invoeren. Classificeer elk als BREED BEKKEN, SMAL BEKKEN of KLIF, & geef een geometrische reden in één zin.

Curriculum Mix als een wandeling op een discrete simplex

Wat een Simplex Is

Een n-dimensionale simplex (specifiek de standaard (n-1)-simplex) is de verzameling van n-tupels (w_1, w_2, ..., w_n) waarbij elke w_i >= 0 & som(w_i) = 1.


Voor n = 2: een lijnstuk van (1, 0) naar (0, 1). Voor n = 3: een driehoek met hoekpunten (1, 0, 0), (0, 1, 0), (0, 0, 1). Voor n = 16 (ANDREA's volledige bronnenlijst): een 15-dimensionale simplex in R^16.


Bandit-gewichten als simplex-coördinaten

ANDREA's bandit produceert bij elke fase een gewichtsvector w over databronnen. Elke component w_i is de kans om bron i te selecteren. Kanswaarden zijn niet-negatief en tellen op tot 1: elke gewichtsvector ligt op de simplex.


Hoekpunten = pure strategieën (alleen één bron selecteren). Interieur = gemengde strategieën (meerdere bronnen selecteren, elk met positieve kans). Randen = mengsels van slechts twee bronnen.


Bronvloeren als beperkt gebied

ANDREA legt minimumgewichten op: hermes3-general met een vloer van 0,7 (na-polijsten). Dit creëert een subregio van de simplex: alleen gewichtsvectoren met w_hermes3-general >= 0,7 zijn bereikbaar.


Geometrisch: de vloer snijdt de simplex met een hypervlak. De bereikbare regio is het deel van de simplex aan de juiste kant van elk vloerhypervlak.


Caps als de andere beperking

ANDREA legt ook maximumgewichten op: dictionary met een cap van 0,25 (na-polijsten). Elke cap is een ander hypervlak, en de bereikbare regio moet aan de juiste kant van elk cap-hypervlak liggen.


Een bron volledig uitsluiten (cap = 0,0) is de sterkste mogelijke cap: de coördinaat wordt vastgezet op nul, waardoor de effectieve simplex met één dimensie wordt verkleind.


Faseovergangen als Simplex-wandelingen
[BLOCK_TYPE SECTION/STEP]

Elke faseovergang (elke 7-42 stappen) produceert een nieuwe gewichtsvector. Elke nieuwe vector is een punt op de simplex. Over 200K stappen traceert de bandit een lang pad door het bereikbare gebied van de simplex. [BLOCK_TYPE SECTION/STEP]


Willekeurige fasen = teleporteer naar een uniform-willekeurig punt binnen het bereikbare gebied. [BLOCK_TYPE SECTION/STEP]

Bandit-gestuurde fasen = stap in de richting van de UCB-beste vertex die consistent is met de floors & caps. [BLOCK_TYPE SECTION/STEP]

Polish pivot = herteken het bereikbare gebied (nieuwe floors, nieuwe caps, sommige bronnen uitgesloten), & de wandeling gaat verder vanaf het nieuwe startpunt. [BLOCK_TYPE SECTION/STEP]


Waarom hoekpunten gevaarlijk zijn

Pure-bronfasen (één w_i = 1, rest = 0) bevinden zich op de hoekpunten van de simplex. Diversiteit is nul. Het model traint alleen op één distributie. De deels ineenstorting van v1 is deels terug te voeren op de bandit die dicht bij het repo-docs-hoekpunt kampeerde; de samples reproduceerden uitsluitend de distributie van die bron.


Vloeren voorkomen hoekpunt-kamperen: een vloer van 0.7 zegt ‘laat het gewicht van geen enkele bron onder 0.7 dalen’ (of wat de vloer ook is voor de prioriteitsbronnen).

Door het bereikbare gebied lopen

Drie bronnen: hermes3-general (H), gutenberg (G), dictionary (D). Beperkingen: H-vloer = 0.5, D-cap = 0.25. (Impliciet: alle gewichten >= 0, som = 1, geen andere beperkingen.)

(a) Zou de bandit (H=1.0, G=0, D=0) kunnen kiezen? Waarom wel of niet? (b) Zou hij (H=0.5, G=0.5, D=0) kunnen kiezen? (c) Zou hij (H=0.5, G=0.25, D=0.25) kunnen kiezen? (d) Beschrijf geometrisch hoe het bereikbare gebied eruitziet in deze 3-bronnen-simplex.

Dimensies beperken voor de eerste 20K stappen

Wat v2's Curriculum Warmup deed

v2 stelde curriculum_warmup_sources in op zeven bronnen: hermes3-general, hermes3-creative, hermes3-roleplay, chat, smoltalk, oasst, gutenberg. Voor de eerste 20K stappen droegen ALLEEN deze zeven bronnen bij. Na stap 20K activeerde de volledige 16-bronnen firehose.


Geometrische interpretatie

De volledige 16-bronnen simplex bevindt zich in R^16. Beperken tot 7 bronnen zet 9 van de 16 coördinaten op nul. De wandeling van de bandit vindt plaats in een 6-dimensionale sub-simplex (één minder dan het aantal bronnen, door de som-tot-1-beperking).


Geometrisch: een SUBMANIFOLD van de volledige simplex. Lagere dimensie, gladder, gemakkelijker te navigeren.


Waarom Dit Vroeg In De Training Helpt

Vroeg in de training heeft het model nog geen coherente taal geleerd. Diverse bronnen verwarren het: elke bron heeft zijn eigen stijl, eigen woordenschatverdeling, eigen patroon. Het willekeurig mixen van 16 bronnen bij random initialisatie creëert een te brede doeldistributie die het model niet kan fitten.


Beperken tot 7 conversatie-/prozabronnen geeft een uniformere doelverdeling. Het model leert eerst een stabiele representatie en breidt daarna uit.


Geometrisch pad door training

1. Stappen 0 tot 20K (warmup). De wandeling bevindt zich op de 6-D sub-simplex. Stabiele taalpatronen ontstaan in het model.

2. Stappen 20K tot 112K (full firehose). De wandeling breidt zich uit naar de 15-D volledige simplex. Domeinbreedte ontstaat.

3. Stap 112K en verder (polish). De wandeling wordt opnieuw beperkt: repo-docs & repo-docstrings uitgesloten, conversatievloeren verhoogd. Kleinere veelhoek in de volledige simplex; conversatiekwaliteit consolideert.


Waarom Polish curriculum_warmup_steps = 0 instelt

Polish begint bij stap 112K. Het model spreekt al coherente taal. Beperken tot een sub-simplex zou nu breedte kosten zonder iets te winnen (het warmup-voordeel geldt voor modellen met een verse initialisatie). warmup_steps = 0 instellen betekent: blijf op de volledige simplex, maar met nieuwe caps & floors.


Drie Meetkunden, Eén Trainingsrun

v2 warmup: laag-dimensionale sub-simplex.

v2 firehose: volledige 15-D simplex.

v3 polish: volledige simplex met kleinere veelhoek (meer beperkingen).


Dezelfde 200K-stappen-run, drie verschillende geometrische regimes. Elk werd afgestemd op een andere fase van modelrijpheid.

De Submanifold Lezen

(a) v2 warmup gebruikt 7 bronnen uit de volledige set van 16 bronnen. Wat is de dimensie van de warmup sub-simplex? Bereken & geef aan. (b) ANDREA-120M v3 polish sluit repo-docs & repo-docstrings hard uit (cap 0.0) maar staat de overige 14 bronnen toe. Wat is de dimensie van de polish sub-simplex? (c) Wat betekent het geometrisch om curriculum_warmup_steps = 0 in te stellen in de polish-configuratie?