Como uma máquina aprende a falar · artigo 2 de 10
Tokens: o modelo não lê palavras
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.
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.
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.
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.
Como citar: Carlos Frederico Domínguez (2026). Tokens: o modelo não lê palavras. Como uma máquina aprende a falar, artigo 2. Harpya. https://www.harpya.org/comecando/tokens/. Texto em markdown: tokens.md. Licença CC BY 4.0.