Byte Pair Encoding
Byte Pair Encoding (BPE) er en subord-tokeniseringsalgoritme, der opdeler ord i hyppige underenheder (subwords) ved iterativt at flette de hyppigste tegnpar.
Kort fortalt
BPE er en måde at opdele tekst i mindre stykker (subwords) ved at gentagne gange slå de mest almindelige bogstavpar sammen — så sjældne ord stadig kan repræsenteres uden at skulle have et helt ord i ordforrådet.
- Kategori
- teknik
- Niveau
- øvet
- Udtale
- /baɪt pɛər ɪnˈkoʊdɪŋ/
Betydninger
1- 1
En subword-tokeniseringsalgoritme, der starter med at opdele tekst i individuelle tegn (eller bytes) og derefter iterativt flettter de hyppigste tegnpar for at danne nye tokens, indtil et ønsket ordforrådsstørrelse er nået.
- GPT-2 anvender Byte Pair Encoding til at tokenisere inputtekst, så ualmindelige ord opdeles i kendte subwords.
- BPE-tokeniseringen lærer et ordforråd på 50.000 subwords ved at analysere et stort tekstkorpus.
Hvornår bruges det
BPE bruges primært som tokeniseringsalgoritme i sprogmodeller som GPT, BERT og RoBERTa. Den trænes på et stort tekstkorpus for at bygge et ordforråd af subwords, hvilket gør det muligt at håndtere ord uden for ordforrådet (OOV) og reducere ordforrådsstørrelsen. I praksis anvendes BPE via biblioteker som Hugging Face Tokenizers eller SentencePiece.
Kodeeksempel
from tokenizers import ByteLevelBPETokenizer
tokenizer = ByteLevelBPETokenizer()
tokenizer.train(["text.txt"], vocab_size=5000, min_frequency=2)Træning af en BPE-tokenizer med Hugging Face Tokenizers-biblioteket.
Oprindelse
Oprindeligt udviklet som en datakomprimeringsteknik (1994). Gennem 2016-papiret af Sennrich et al. blev den introduceret til maskinoversættelse og senere til sprogmodellering.
Kilder
2- Neural Machine Translation of Rare Words with Subword Units (Sennrich et al., 2016)
- Hugging Face Tokenizers - BPE