Tokenização
Este topico aparece nas seguintes trilhas:
Pre-requisitos recomendados:
Tokenização
Teoria: BPE (Byte Pair Encoding), vocabulário, tokens vs caracteres
Prática: Implementar tokenizer BPE do zero
Antes de transformar texto em vetores, precisamos decidir: qual a unidade básica? Caractere? Palavra? A resposta é mais sutil do que parece.
Papers Fundamentais#
Sennrich, Haddow & Birch (2016) - BPE for NMT - Adaptação do algoritmo de compressão para tradução
Kudo & Richardson (2018) - SentencePiece - Tokenização language-independent, sem pré-tokenização
Kudo (2018) - Unigram Model - Alternativa ao BPE: começa grande e trima por loss
Vídeos e Tutoriais#
Karpathy - Let's build the GPT Tokenizer - Vídeo dedicado só à tokenização
HuggingFace LLM Course - BPE Chapter - Implementação pedagógica completa
Sebastian Raschka - BPE From Scratch - Jupyter notebook standalone imitando tiktoken
Código de Referência#
Karpathy - minbpe - Implementação educacional de referência: BasicTokenizer, RegexTokenizer (GPT-2), GPT4Tokenizer
- github.com/karpathy/minbpe
- Inclui
exercise.mdpara prática hands-on
HuggingFace Tokenizers Summary - Comparação BPE vs WordPiece vs Unigram
rsennrich/subword-nmt - Implementação original dos autores do paper
Comparação de Métodos#
| Método | Usado por | Estratégia |
|---|---|---|
| BPE | GPT-2, GPT-4, LLaMA | Merge pares mais frequentes |
| WordPiece | BERT | Merge pares que maximizam likelihood |
| Unigram | XLNet, T5 | Começa grande, trima por loss |
| SentencePiece | T5, LLaMA | Wrapper language-independent |
Entregável#
Tokenizer BPE treinado em Tiny Shakespeare com vocabulário de 256 tokens.
Round-trip test: decode(encode(texto)) == texto para qualquer string do corpus.
Métrica: Calcule a taxa de compressão (chars / tokens) — deve ser > 2x.
Você deve conseguir explicar: Por que tokens BPE são melhores que caracteres individuais e melhores que palavras inteiras.
Checklist#
Conexões#
Fundamento: Este tópico usa conceitos de backpropagation
Próximo passo: Aprenda como tokens viram vetores em embeddings-texto