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
- arXiv — Neural Machine Translation of Rare Words with Subword Units — arXiv (öppen åtkomst; licens per artikel)
- Hugging Face — dokumentation (Apache-2.0) — Apache-2.0
Leder till
Del av målen (22)
- Bygg en transformer från grunden
- Språkmodeller i praktiken
- Multimodala system
- Finjustera och driva egna modeller
- Bygg ett RAG-system som går att lita på
- Kör modeller billigare: kvantisering
- Evals i praktiken
- Bygg en agent som går att lita på
- Bygg ett minnessystem för en agent
- AI-säkerhet i praktiken
- Finjustera en modell med LoRA
- Ansvarsfull AI i praktiken
- AI i produktion
- Bygg ett NLP-system end-to-end
- Generativa modeller i djupet
- AI-tjänst i drift
- Bygg en AI-tjänst som håller i drift
- Djup reinforcement learning
- Frontier Lab — självständigt forskningsprojekt
- Reproducera ett paper
- Statistik för experiment
- Tolka en språkmodell