01-04-01 — Tokens: como texto vira números

⏱ 10 min Fontes validadas em: 2026-04-29

TL;DR

LLMs não leem texto — leem sequências de inteiros. Um token é a menor unidade de texto que o modelo processa, geralmente fragmentos de palavra (subword). "Tokenização" vira 3 tokens no GPT-4. Você paga por token, não por palavra — entender isso impacta diretamente o custo das suas APIs.

Por que tokenização existe

Redes neurais só trabalham com números. O pipeline é simples: texto → tokens → IDs inteiros → embeddings → modelo. A tokenização é a primeira etapa: quebrar texto bruto em unidades gerenciáveis e convertê-las em IDs num vocabulário fixo.

O desafio é equilibrar dois extremos:

  • Vocabulário muito grande (word-level): cada palavra vira um token. Problema — palavras raras, nomes próprios, neologismos ficam fora. Vocabulário de centenas de milhares de entradas.
  • Vocabulário muito pequeno (character-level): cada letra vira um token. Problema — sequências ficam enormes, o modelo precisa aprender mais etapas para entender contexto.

A solução dominante: subword tokenization.

Os três algoritmos principais

BPE — Byte Pair Encoding

Algoritmo guloso que começa com caracteres individuais e iterativamente une os pares mais frequentes. Resultado: palavras comuns ficam inteiras, palavras raras quebram em pedaços.

Usado por: GPT-2, GPT-3, GPT-4, LLaMA.

WordPiece

Similar ao BPE mas usa critério de likelihood (maximiza probabilidade do corpus) em vez de frequência pura. Fragmentos são prefixados com ## quando continuam uma palavra: tokenização → token ##iza ##ção.

Usado por: BERT, DistilBERT, todos os modelos da família BERT da Microsoft.

SentencePiece

Trata o texto como sequência bruta de bytes (sem pre-tokenização por espaços). Funciona bem com idiomas sem espaço explícito (japonês, chinês) e é agnóstico de linguagem. Implementação de referência do Google.

Usado por: T5, mT5, Gemma, muitos modelos multilíngues.

💡 Insight

BPE é o mais comum em LLMs generativos. WordPiece domina modelos de entendimento (BERT-like). SentencePiece quando há requisito multilíngue forte.

Token ≠ palavra: exemplos práticos

A ferramenta tiktoken da OpenAI permite inspecionar a tokenização do GPT-4 (cl100k_base, vocabulário de 100k tokens):

import tiktoken

enc = tiktoken.get_encoding("cl100k_base")

exemplos = [
    "Tokenização",
    "Hello, world!",
    "ChatGPT é incrível",
    "Microsoft Azure OpenAI Service",
    "1234567890",
]

for texto in exemplos:
    tokens = enc.encode(texto)
    print(f"{texto!r:40s} → {len(tokens)} tokens: {tokens}")

Saída aproximada:

'Tokenização'                            → 4 tokens: [5257, 697, 2296, 75]
'Hello, world!'                          → 4 tokens: [9906, 11, 1917, 0]
'ChatGPT é incrível'                     → 6 tokens: [16047, 38, 2898, 374, 17193, 9776]
'Microsoft Azure OpenAI Service'         → 5 tokens: [13724, 18780, 5377, 15836, 5475]
'1234567890'                             → 4 tokens: [4513, 3894, 3080, 1954]
⚠️ Atenção

Texto em português gera mais tokens por palavra que inglês — em média 30-40% a mais. Palavras com acentos e cedilhas quebram em mais fragmentos. Isso impacta diretamente o custo das suas chamadas de API.

Regra prática de estimativa

IdiomaRelação tokens/palavrasTokens por página A4
Inglês~0,75 tokens/char → ~1,3 tokens/palavra~400–500
Português~0,9 tokens/char → ~1,7 tokens/palavra~550–700
Código (Python)~0,3 tokens/char~300–400

Custo em tokens — pricing real (OpenAI, abr/2026)

ModeloInput ($/1M tokens)Output ($/1M tokens)
GPT-4o$2,50$10,00
GPT-4o mini$0,15$0,60
GPT-4.1$2,00$8,00
GPT-4.1 mini$0,40$1,60
🔷 Microsoft / Azure

No Azure OpenAI Service, o pricing é idêntico ao OpenAI direto para os mesmos modelos, mas você tem controle de rede (VNet), compliance e SLA corporativo. Para projetos da Impar com clientes como Vale ou TIM, usar Azure OpenAI é a rota correta — não a API direta da OpenAI.

O conceito de context window

Cada modelo tem um limite máximo de tokens que consegue processar numa única chamada (input + output somados). Esse limite é a context window:

  • GPT-4o: 128k tokens (~100 páginas de texto)
  • Claude 3.7: 200k tokens
  • Gemini 1.5 Pro: 1M tokens

Ultrapassar o limite resulta em erro. Gerenciar context window é um dos principais desafios de engenharia ao construir aplicações com LLMs.

🔗 Conexão

Tokens são a entrada do modelo, mas o modelo não os processa como inteiros — converte cada ID num vetor denso (embedding). É exatamente isso que o próximo tópico explica.

Como isso se conecta

Fontes

  1. OpenAI tiktoken — repositório oficial (GitHub)
  2. Hugging Face Tokenizers — documentação completa
  3. OpenAI Tokenizer — ferramenta interativa online
  4. OpenAI API Pricing — tabela oficial atualizada
  5. Sennrich et al. — Neural Machine Translation of Rare Words with Subword Units (BPE original)