3D-lab wordt geladen…
De les wordt geladen…
← Hoe AI werktWereld 1 · les 2 van 4Alle lessen ↓

Waarom modellen geen letters of woorden lezen
Geef je dit les? Open de projectormodus
Een model kan ruwe letters of hele woorden niet rechtstreeks verwerken. Tekst wordt eerst in tokens geknipt: stukjes uit een vaste lijst die de woordenschat heet en vóór het trainen wordt samengesteld. Elke invoer heeft een geheel getal als ID. Wat het model ontvangt, is een lijst met gehele getallen.
Een token kan een veelgebruikt heel woord zijn, een deel van een langer woord, een leesteken of een groep cijfers. De spatie vóór een woord zit meestal vast aan het woord, dus “cat” en “ cat” (met een spatie) zijn normaal gesproken verschillende tokens met verschillende ID's. Hoofdletters zijn ook belangrijk: “Cat” is weer een ander token.
Hier zijn ter illustratie enkele opsplitsingen, met een | tussen tokens. Ze zijn verzonnen om het idee te laten zien; echte tokenizers splitsen anders.
cat is één token, omdat het heel vaak voorkomt.un|believ|ably bestaat uit drie tokens: het hele woord staat niet in de woordenschat, maar de stukjes wel.Hoe wordt een woordenschat opgebouwd? Een populaire methode is byte-pair encoding (BPE). Het idee komt uit datacompressie; Sennrich en collega's (2016) pasten het aan voor neurale vertaling. De werkwijze:
Probeer het uit op een kleine verzameling tekst: low ×3, slow ×2, newer ×4, wider ×2.
er.lo.low.Na drie samenvoegingen zijn de woorden low, s|low, n|e|w|er en w|i|d|er. Veelvoorkomende stukjes werden losse tokens, terwijl zeldzamere woorden uit stukjes blijven bestaan.
Een vuistregel voor gewone Engelse tekst: één token bestaat uit ongeveer vier tekens, of grofweg uit drie kwart van een woord. 100 tokens zijn dus ongeveer 75 woorden. Het is slechts een ruwe richtlijn. Dit verschilt per tokenizer, onderwerp en taal.
Tekst in talen die weinig voorkwamen in de trainingsdata van de tokenizer, plus code, ongebruikelijke namen en lange getallen, heeft vaak meer tokens voor dezelfde inhoud nodig. Meer tokens betekent meer rekenwerk en dat er meer van het contextvenster wordt gebruikt. Het contextvenster is het maximum aantal tokens dat het model tegelijk kan verwerken. Het wordt geteld in tokens, niet in woorden.
Een zeldzaam, lang woord wordt aan een model gegeven. Wat gebeurt er meestal?
Zijn “Cat” en “ cat” (met een spatie aan het begin) meestal hetzelfde token?
In welke eenheid wordt het contextvenster gemeten?
In het speelgoedcorpus (low ×3, slow ×2, newer ×4, wider ×2): welk paar wordt als eerste samengevoegd?