# Tokens: o modelo não lê palavras

> Como o BPE corta o texto em tokens, por que o português custa cerca de 30% mais que o inglês e de onde vêm os erros de contar letras.

- Página: https://www.harpya.org/comecando/tokens/
- Autor: Carlos Frederico Domínguez
- Atualizado em: 2026-10-12
- Licença: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
- Como citar: Carlos Frederico Domínguez (2026). Tokens: o modelo não lê palavras. Harpya. https://www.harpya.org/comecando/tokens/

*Como uma máquina aprende a falar, artigo 2 de 10.*

A palavra não existe para um modelo de linguagem. O que existe é um inteiro, entre zero e algumas dezenas de milhares, apontando para um pedaço de texto que um algoritmo escolheu antes de o modelo nascer. Esse detalhe de engenharia, decidido por frequência e sem nenhuma noção de gramática, explica por que o modelo erra ao contar letras, por que o português custa mais caro que o inglês e por que algumas falhas que parecem de inteligência são falhas de corte.

Há razões para não usar palavras. Um vocabulário de palavras não fecha: nomes próprios, erros de digitação, flexões e termos novos ficariam de fora, ou exigiriam um símbolo de "desconhecido" que apaga informação. O extremo oposto, um vocabulário de letras, cobre tudo, mas produz sequências longas em que cada símbolo carrega quase nada, e o custo da atenção cresce com o quadrado do comprimento. O token é o compromisso entre os dois: pedaços maiores que letras e menores que palavras, escolhidos de modo que o frequente vire um pedaço só e o raro seja montado a partir de partes.

O algoritmo dominante é o BPE, byte pair encoding. Nasceu em 1994 como técnica de compressão de dados e foi adaptado em 2016 para tradução automática neural. O procedimento cabe em três frases. Começa-se com um alfabeto de 256 bytes, o que garante que qualquer sequência de texto, em qualquer língua ou alfabeto, seja representável. Conta-se, num corpus de amostra, todos os pares de símbolos adjacentes, funde-se o par mais frequente num símbolo novo e guarda-se a regra de fusão numa lista ordenada. Repete-se a contagem e a fusão até o vocabulário atingir o tamanho escolhido.

**Figura 1. Três fusões do BPE numa amostra minúscula** (Quatro linhas mostrando as fusões sucessivas do BPE sobre as palavras arte, parte, carta e arco)

Cada fusão é uma regra, e a lista é ordenada. O algoritmo não sabe o que é uma palavra: funde o par de símbolos adjacentes mais frequente, recomeça a contagem e repete. Numa amostra real, com bilhões de caracteres e um alvo de cem mil símbolos, as fusões que vencem são as de palavras inteiras em inglês, terminações comuns e sequências frequentes de código. Tokenizadores atuais começam em bytes, não em letras, o que garante que qualquer texto seja representável.

Na hora de usar, nada é recalculado. O texto novo é quebrado em bytes e as regras de fusão são aplicadas na ordem exata em que foram aprendidas, o que torna o processo determinístico: a mesma sequência de caracteres produz sempre os mesmos tokens. Antes do BPE roda uma expressão regular que pré-separa espaços, pontuação e números, para que uma fusão não atravesse uma vírgula nem cole um dígito a uma letra. Tokenizadores recentes agrupam dígitos de três em três e reservam símbolos especiais para marcar o fim de um texto e os papéis de uma conversa. O tokenizador é treinado uma vez, antes do modelo, e fica congelado. O modelo aprende sobre esse alfabeto e nunca o revisa.

O tamanho do vocabulário é uma decisão de engenharia, não uma propriedade da língua. O Llama 2 usava 32 mil tokens, o Llama 3 passou para 128 mil, o GPT-4 trabalha com cerca de 100 mil. Vocabulário maior produz sequências mais curtas, e sequência curta é cálculo mais barato e janela de contexto que rende mais. O custo vem do outro lado: a matriz de embeddings cresce, e tokens raros aparecem tão pouco no treino que seus vetores ficam mal formados. Vocabulário menor inverte a troca. Não há tamanho certo. Há um ponto de equilíbrio que cada laboratório escolhe para a mistura de línguas e domínios que pretende atender.

É aí que o português paga. Como as fusões são guiadas por frequência, e a amostra tem muito mais inglês do que qualquer outra língua, as palavras inglesas comuns viram tokens inteiros e as portuguesas são picotadas. "France" é um token. "França" são dois. Um parágrafo em inglês custa um token a cada 1,1 palavra. O mesmo parágrafo em português custa um a cada 1,4. A diferença, medida no tokenizador do GPT-4, fica em torno de 30%, e sobe para línguas com alfabeto próprio ou com ainda menos texto na internet.

**Figura 2. A mesma frase, dois alfabetos: contagem real no tokenizador do GPT-4** (A mesma frase tokenizada em português, 14 tokens, e em inglês, 11 tokens, e um parágrafo com 71 contra 54 tokens)

O português paga 31% a mais no parágrafo medido. Não por ser mais longo, mas porque suas palavras foram picotadas: "palavras" virou dois pedaços, "pedaços" virou três, enquanto "words" e "pieces" ficaram inteiras. A proporção varia com o tokenizador e o texto, e cresce em línguas com alfabeto próprio ou com ainda menos presença na amostra de treino.

A sobretaxa tem três efeitos. O primeiro é financeiro, porque o token é a unidade de cobrança. O segundo é de capacidade, porque a janela de contexto é medida em tokens e enche mais rápido. O terceiro é de qualidade, mais sutil: cada token português carrega menos significado e foi visto menos vezes no treino, então o modelo trabalha com peças menores e menos ensaiadas. Nenhum dos três é uma limitação da língua. São consequências de uma contagem feita sobre uma amostra em que o inglês domina.

O corte também explica uma família de erros que costuma ser tratada como falha de raciocínio. Perguntado quantas letras r há em "morango", o modelo não vê m, o, r, a, n, g, o. Vê dois inteiros, um para "mor" e outro para "ango". Para contar, precisaria ter aprendido, em algum texto, como cada token se escreve letra a letra, e esse tipo de texto é raro. O mesmo vale para rimas, anagramas e palavras ao contrário, e para a aritmética, em que 12345 chega como "123" seguido de "45" e a conta é feita sobre blocos de dígitos, não sobre dígitos. O modelo é cego para o que está abaixo do token.

**Figura 3. O que está abaixo do token é invisível para o modelo** (Três exemplos: morango dividido em mor e ango, França em Fran e ça, 12345 em 123 e 45, com os ids que o modelo recebe)

Para contar letras, o modelo precisaria saber como cada token se soletra, e isso só aparece nos pesos se o corpus tiver escrito a soletração vezes suficientes. Para somar, recebe blocos de três dígitos, não dígitos. Para rimar ou inverter uma palavra, precisa reconstruir uma sequência que nunca viu de fato. Nenhum desses erros nasce no raciocínio. Nascem no corte.

Modelos recentes contornam parte disso, seja com mais exemplos de soletração no treino, seja chamando uma ferramenta que conta por eles. A cegueira continua estrutural. Toda percepção do modelo passa pelo alfabeto que um algoritmo de contagem definiu antes de ele existir, e nenhuma quantidade de treinamento posterior lhe dá acesso ao que esse alfabeto apagou.

A regra prática segue dessa origem. Instruções fixas, as que entram em todo pedido, saem mais baratas em inglês, mesmo em inglês imperfeito, porque um erro de grafia encarece uma palavra e a sobretaxa do português encarece todas. O limite é a clareza: a economia só vale enquanto a instrução continua inequívoca.

Fica a pergunta que este artigo deixou implícita. O tokenizador é treinado por frequência numa amostra, o modelo é treinado por frequência num corpus, e os dois herdam o que esse corpus contém, na proporção em que contém. Esse corpus, o que entra nele, o que é descartado e quantas vezes cada parte é lida, é a única fonte de verdade que o modelo conhece. É o próximo artigo.

