Hoppa till innehållet
AI-grafen
D· AI-utvecklaresprakmodeller· ca 45 min· utvecklande· verifierad 2026-09-20

Tokenisering

Kunna förklara hur text delas i tokens (BPE), varför ordförrådets storlek spelar roll, och räkna tokens i en text.

Förkunskaper

Intuition

En språkmodell ser inte bokstäver eller ord — den ser tokens: bitar av text ur ett fast ordförråd (30 000–200 000 poster). «katten» kan vara en token, «kattungarna» tre: «katt», «ung», «arna».

BPE (byte-pair encoding) bygger ordförrådet: börja med enskilda tecken, slå ihop det vanligaste paret till en ny token, upprepa tusentals gånger. Vanliga ord blir en token, ovanliga byggs av delar. Ingenting är «okänt».

Avvägning: större ordförråd → kortare sekvenser (billigare) men fler parametrar i embeddingen och sällsynta tokens som knappt tränas. Svenska tokeniseras ofta i fler bitar än engelska — det kostar kontext och pengar.

Kod

# Minimal BPE-träning (illustrativ)
from collections import Counter

def bpe_train(ord_freq, steg):
    vocab = {tuple(w) + ("</w>",): f for w, f in ord_freq.items()}
    merges = []
    for _ in range(steg):
        par = Counter()
        for w, f in vocab.items():
            for a, b in zip(w, w[1:]):
                par[(a, b)] += f
        if not par: break
        (a, b), _ = par.most_common(1)[0]
        merges.append((a, b))
        vocab = {tuple(" ".join(w).replace(f"{a} {b}", a + b).split()): f for w, f in vocab.items()}
    return merges

print(bpe_train({"låg": 5, "lägre": 2, "lågt": 3}, 3))
# [('l', 'å'), ('lå', 'g'), ('låg', '</w>')]

Med en riktig tokenizer: from transformers import AutoTokenizer; tok = AutoTokenizer.from_pretrained("gpt2"); len(tok("Hej världen")["input_ids"]).

Behärskning innebär

  • Förklarar hur BPE bygger ett ordförråd av delord
  • Räknar tokens i en text med en tokenizer
  • Förklarar varför ordförrådets storlek är en avvägning

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

Källor

Alla källor och licenser