Tokenization
Quebrar texto em unidades discretas (tokens) que o modelo processa. Não são exatamente palavras.
O quê
Tokenization é o processo de transformar texto em sequência de IDs inteiros que o modelo de linguagem consome. É a interface obrigatória entre o mundo humano (sequências de caracteres) e o mundo do modelo (vetores indexados). Toda query a um LLM passa por tokenization na entrada e detokenization na saída — invisível ao usuário, mas fundamental para tudo que acontece.
Modelos modernos usam subword tokenization (BPE, WordPiece, SentencePiece) — variantes que dividem palavras em pedaços otimizados estatisticamente. GPT-2 inaugurou o uso de byte-level BPE (operar em bytes, não em caracteres Unicode), que virou padrão para a maioria dos LLMs.
Em Magik LLM Gathering, tokenization é tratada como Technique · Inference · Common, primitiva sem a qual o modelo não fala com o mundo.
Como funciona
Por que não character-level ou word-level?
- Word-level — vocabulário precisa cobrir cada palavra única. Português brasileiro tem milhões de formas conjugadas. Vocabulário explode, e palavras raras viram
<UNK>(perdidas). - Character-level — vocabulário pequeno (~256 caracteres ASCII), mas sequências viram muito longas. Custo computacional ×4-10. Modelos perdem habilidade de capturar morfologia eficientemente.
Subword tokenization (caminho do meio)
A intuição: aprenda pedaços frequentes do texto que repetem entre palavras. Sufixos comuns (-ation, -mente), prefixos, raízes, ligaduras frequentes. Palavras comuns viram um token; palavras raras viram vários sub-tokens.
BPE (Byte-Pair Encoding)
Algoritmo original (Sennrich et al., 2016 para NMT, originalmente de compressão 1994):
- Começa com vocabulário = todos os caracteres únicos.
- Conta o par de tokens adjacentes mais frequente no corpus de treino.
- Adiciona esse par ao vocabulário como token novo.
- Repete N vezes (N = ~50k para modelos modernos).
Resultado: vocabulário curado com tokens que cobrem o corpus eficientemente.
Byte-level BPE (GPT-2 inovação)
Tokeniza no nível de bytes UTF-8, não Unicode. Vantagem: garantia de cobrir qualquer texto sem <UNK>, mesmo emoji, caracteres raros, código binário. Desvantagem: línguas non-Latin precisam de mais tokens por palavra (chinês, árabe, hindi sofrem).
GPT-2 vocabulary: ~50,257 tokens. GPT-3.5: ~100,277 (cl100k_base). GPT-4o: ~200,019 (o200k_base) — significativamente mais eficiente para idiomas non-English.
SentencePiece (Google)
Variante que opera sem pré-tokenização (não precisa quebrar em espaços/pontuação primeiro). Tokeniza diretamente do texto bruto. Especialmente bom para idiomas sem espaços claros (chinês, japonês, tailandês). Usado por T5, mBART, Llama, Gemini.
WordPiece (Google, BERT)
Similar a BPE mas seleção do par é por likelihood maximization em vez de frequência pura. Detalhe técnico que produz vocabulários levemente diferentes. BERT, MobileBERT, DistilBERT usam WordPiece.
Por que importa
Define o custo de cada query. Sua bill com OpenAI/Anthropic/Google é em tokens, não em caracteres ou palavras. Um texto de 100 palavras em inglês ≈ 130 tokens. Em português ≈ 180 tokens. Em japonês com BPE não-otimizado ≈ 400 tokens. Línguas non-Latin são taxadas mais caras por essa assimetria.
Define quantas palavras cabem no contexto. Janela de “128k tokens” significa coisas diferentes em idiomas diferentes. ~96k palavras em inglês; ~70k em português; ~30k em chinês. Esse é problema real de igualdade em IA: usuários de idiomas non-Latin pagam mais e cabem menos.
Aspectos contra-intuitivos:
strawberryviras|tra|w|berryem alguns tokenizers BPE — modelo não consegue contar ‘r’s corretamente porque tokens não têm bordas em letras. Esse é por que GPT-4 erra “quantos r’s em strawberry” — vê a palavra como 4 tokens, não 10 letras.- Espaços contam diferente. ” hello” (com espaço) e “hello” (sem) são tokens diferentes. Modelos treinados em CommonCrawl têm forte preferência pela versão com espaço (mais comum em texto).
- Números são frequentemente quebrados — “12345” pode virar “123|45” — modelo aprende aritmética como composição estranha.
Tokenizer afeta capacidade. GPT-4 com cl100k_base tem melhor performance em código (vocabulário inclui tokens comuns de Python, JavaScript). Modelos com SentencePiece bem-treinado têm melhor performance multilíngue. Llama 3 expandiu vocabulary para 128k para melhor cobertura non-English.
Decode side é simétrico. Saída do modelo é sequência de token IDs que precisa ser detokenizada para texto. Em streaming, isso virou complicado: tokens UTF-8 multibyte (emoji, chinês) podem ser quebrados; cliente precisa buferizar até bytes completos chegarem.
É o gargalo invisível de latência. Cada token gerado em inference custa ~1 forward pass do modelo. Reduzir tokens necessários para uma resposta = mais rápido + mais barato. Por isso modelos novos investem em tokenizers mais eficientes (GPT-4o’s o200k_base é 11% mais compacto em multilíngue que cl100k).
Estado em 2026
- Tokenizers diferentes por modelo: GPT-4o (o200k_base, ~200k tokens), Claude 3.5 (proprietary, ~65k tokens efetivos), Gemini (SentencePiece, ~256k tokens), Llama 3 (~128k), DeepSeek-V3 (~129k).
- Eficiência multilíngue melhorou — modelos pós-2024 são significativamente mais econômicos em chinês, japonês, idiomas indianos.
- Tokenization-free models circulam em pesquisa (Byte Latent Transformer, 2024) mas não destronaram tokenização clássica em escala.
- Em code generation, tokenizers específicos de código (Code Llama, StarCoder2) usam vocabulários otimizados para sintaxe de linguagens de programação.
- Lobby por padronização — tikrolling de igualdade lingüística em pricing reaparece em debates de regulação (EU AI Act).
- Ferramentas de visualização (OpenAI Playground tokenizer tool, tiktoken library) viraram populares para devs entenderem custo das suas queries.
Tratamento de carta — proposta
Tokenization Technique · Inference · Neutral · custo
Inference.
Quando você joga este Construct em um Modelo, ele recebe a habilidade ativada:
1 ⚡: Olhe a próxima carta do seu deck. Você pode decidir que ela conta como sendo de qualquer tipo até o fim do turno, mas precisa pagar +1 ⚡ extra se for de tipo diferente do seu Modelo (penalidade de tokenização ruim).
“Cada palavra vira ID. Cada ID custa um pass do modelo.”
A mecânica encena: tokenização permite tratar qualquer entrada (carta de tipo arbitrário), mas tokenizadores ineficientes em certos idiomas custam mais — penalidade implícita por “estar fora da distribuição”.
Veja também
GPT-3 (2020) · Transformer · BERT (2018) · Input/Output Token Pricing · Context Window
Feito pela Magik LLM Gathering
Isto que você acabou de ler é o nosso trabalho.
A Magik LLM Gathering constrói produtos de IA de verdade — e escreve sobre eles em português, sem hype. Se quiser conversar sobre o seu, deixe seu contato.
Recebido. Vamos te escrever em breve.
- Sennrich, R., Haddow, B., Birch, A. (2016). Neural Machine Translation of Rare Words with Subword Units (BPE for NMT). ACL 2016. arXiv:1508.07909.
- Kudo, T., Richardson, J. (2018). SentencePiece: A simple and language independent subword tokenizer and detokenizer for Neural Text Processing. EMNLP 2018.
- Radford, A. et al. (2019). Language Models are Unsupervised Multitask Learners (GPT-2, byte-level BPE). OpenAI Tech Report.
- OpenAI (2024). Tiktoken library. github.com/openai/tiktoken.
- OpenAI (2024). o200k_base announced with GPT-4o. openai.com/index/hello-gpt-4o.
