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

un

gäst
1 / ?

Ord till Nummer

En Översättare vid en Gräns

En språkmodell ser aldrig text. Den ser heltal. En tokenizer sitter vid en gränspassage: mänskliga ord strömmar in, heltal-ID:n strömmar ut. Generering vänder på flödet: heltal-ID:n kommer tillbaka, en tokenizer renderar text.


Tre jobb:


1. Segmentera. Dela upp en sträng i bitar (tokens).

2. Mappa. Tilldela varje bit ett unikt heltal-ID från ett fast ordförråd.

3. Återställ. Rekonstruera text från ID:n vid genereringstid.


Varför bitar, inte hela ord

Ett ordförråd med hela ord exploderar. Bara engelska har hundratusentals former. Värre, en modell tränad på hela ord kan inte hantera ett stavfel, ett nytt namn eller en fras på främmande språk: varje osett ord mappas till en enda <UNK>-plats.


Subword-tokenisering löser det. Ett ordförråd av vanliga bitar kan sättas ihop till vilket ord som helst, inklusive sådana som aldrig setts under träning. Två strategier dominerar: BPE (byte pair encoding) & distributionell segmentering. ANDREA väljer en andra strategi.


Harris vs BPE

Varför Subword

En helords-tokenizer misslyckas med det sällsynta ordet `proporian` (ett ord som ANDREA-12M producerade vid steg 43,100). Nämn två distinkta problem som en subword-tokenizer (BPE eller Harris) undviker men som en helords-tokenizer inte kan.

Var bryts ett ord

Zellig Harris, 1955

En lingvist vid namn Zellig Harris märkte något. Inne i ett ord varierar antalet distinkta bokstäver som följer en given bokstavsekvens kraftigt. Efter un kan du hitta dussintals bokstäver: a, b, c, d, e ... Efter unbel följer bara en liten uppsättning: i (sedan ievable).


En topp i variationen av efterföljare markerar en trolig morfemgräns. Efter un (ett prefix) hoppar variationen eftersom många rötter kan följa. Inne i en rot som believ förblir variationen låg eftersom bokstäverna förutsäger varandra. Vid en övergång mellan morfem hoppar variationen igen.


Från variationstoppar till segment

Kör den detektorn över ett träningskorpus. Varje ord donerar statistisk evidens. En tokenizer samlar högfreventa segment som återkommer vid morfemformade gränser: un, re, pre, believ, know, ing, able, ly, tion, ed.


Inga etiketter. Ingen lingvist märker morfem för hand. En statistik över bokstavsmedförekomster gör jobbet.


Harris vs BPE


EgenskapHarrisBPE
GränskriteriumSuccessor variety spikeParfrekvens
Lingvistisk formMorfemjusterad (prefix, rot, suffix)Frekventa bytepar
Exempel: unbelievablyun + believ + abl + yunb + eli + eva + bly
GeneraliseringStark (rot + affix kombineras)Svagare (par behöver inte justeras)

Båda producerar subordbitar. Harris bitar tenderar att justeras med vad en lingvist skulle kalla ett morfem: den minsta meningsfulla enheten. BPE bitar optimerar komprimering: det mest frekventa byteparet slås samman, oavsett betydelse.

Segmentera ett ord

Tillämpa Harris-stil resonemang på ordet `replayed`. Föreslå tre morfemsegment & motivera varje med en fras (vilken roll spelar det: prefix, rot eller suffix).

Tre Vocab-skivor

Anatomi hos en ANDREA-vokabulär

Harris-tokenisering producerar en vokabulär med tre skivor:


Platta 1: 256 basbytes. Varje möjlig UTF-8-byte (0x00 genom 0xFF) får sitt eget token-ID. Ett säkerhetsnät: vilken tecken en korpus än innehåller kan en tokenizer representera som en sekvens av bytes. Ingen <UNK> utlöses någonsin.


Platta 2: N morfemsegment. Vanliga bitar upptäckta genom distributionsanalys. ANDREA-12M tränad N = 4096; ANDREA-120M tränad N = 8192. Varje segment komprimerar en återkommande multi-byte-sträng till en enda token.


Platta 3: 1 BOS-token. Ett speciellt märke placerat i början av varje träningssekvens. Låter en modell lära sig 'denna position har inget förflutet'. ANDREA-12M & ANDREA-120M reserverar båda exakt ett ID för BOS.


Ordlistestorlekar


ModellBas bytesMorfemsegment (N)BOSOrdlista storlek
ANDREA-12M256409614353
ANDREA-120M256819218449

256 + N + 1 = ordlista storlek. Enkelt. Återupprepbart. Öppet.


Varför en Byte Slab är viktig

En byte-fallback garanterar täckning. Om en modell stöter på 日本語 & en tokenizer har inga japanska morfem, bär individuella UTF-8-bytes en sekvens vidare. En modell tränas på bytes; kvalitet på sällsynta skrifter beror på kapacitet & exponering, men ingen inmatning kraschar någonsin en tokenizer.

Beräkna ett ordförråd

ANDREA-480M (en tredje modell i en familj, framtida aktivitet 24 täcker den) planerar att träna en Harris-tokenizer med N = 16,384 segment på ett större korpus. Beräkna dess ordförrådsstorlek. Visa en formel. Förklara sedan i en mening varför en byte-slab stannar vid 256 även när N växer.

Början av sekvens

Varför en sekvens behöver en markör

En decoder-only transformer förutsäger nästa token från tidigare kontext. Position 0 har ingen tidigare kontext. Utan en markör hamnar position 0 i ett logiskt hål: en modell har ingenting att uppmärksamma.


BOS löser hålet. En enda speciell token (ID = 256 + N) placeras i början av varje sekvens under träning. En modell lär sig:


- 'När du ser BOS, förutsäg en trolig första token i naturlig text.'

- 'När du ser BOS följt av ett ord, är det ordet början på en sekvens, inte en fortsättning.'


Ett Token, Många Användningar


BOS dyker upp vid:


- Träningstid: föregås varje textstycke som matas in i en modell.

- Inferenstid: föregås en prompt så att modellen ser en bekant 'ny start'-signal.

- Gränsmarkering: i vissa pipelines, en separator mellan sammanfogade dokument.


ANDREA reserverar exakt en ID för BOS. Inget EOS, inget PAD, inga specialtokens utöver vad en vokabulär behöver. Enkelhet förblir ett permadatorvärde: varje token förtjänar sin plats.


Aktivitet 3 fortsätter

Aktivitet 3 (grow_a_language_model_tokenizer_diet) täcker vad som händer när N är för stor eller en tokenizer-korpus avviker från en träningskorpus. ANDREA-12M slösade 63,6 % av sin vokabulär; ANDREA-120M fixade det. Läs vidare.

BOS-endast avvägningar

Reflektera över ett designval som ANDREA gör: endast en specialtoken (BOS), inget EOS, inget PAD. Nämn en avvägning detta skapar. Avvägningen kan vara en fördel (enklare motor, färre slösade platser) eller en begränsning (vissa träningsknep behöver extra tokens). En mening räcker.