Um token é a menor unidade de texto com que um modelo de linguagem realmente trabalha. Quando envia um prompt para um modelo como o GPT, Claude ou Llama, o seu texto é primeiro dividido numa sequência de tokens — normalmente palavras inteiras, subpalavras comuns ou carateres individuais — e cada token é depois convertido num número que o modelo consegue processar. O modelo gera resultados da mesma forma, prevendo e emitindo um token de cada vez até decidir parar.
Como funcionam os tokens
Os tokens são produzidos por um tokenizador, um programa autónomo que se situa entre o seu texto e o modelo. Os esquemas mais comuns são a codificação por pares de bytes (BPE) e o WordPiece, que começam com carateres individuais e fundem repetidamente os pares adjacentes mais frequentes em unidades mais longas. O resultado é um vocabulário fixo — frequentemente entre 30 000 e 200 000 entradas — que equilibra palavras curtas comuns com pedaços de subpalavras reutilizáveis. Uma palavra frequente como the torna-se normalmente um único token, enquanto uma palavra rara ou inventada como unbelievableness é dividida em vários: un, believ, able, ness.
Como o inglês tem em média cerca de quatro carateres por token, uma regra prática aproximada é que 100 tokens ≈ 75 palavras em inglês, embora isto varie consoante o tokenizador e o idioma. O preço, os limites de contexto e a velocidade de geração são todos medidos em tokens, não em palavras ou carateres. Um modelo com uma janela de contexto de 200 000 tokens consegue acomodar aproximadamente o equivalente a um romance longo mais vários artigos científicos num único prompt.
Porque é importante
Os tokens determinam três aspetos que interessam a qualquer utilizador: custo, capacidade e comportamento. Os fornecedores de API cobram por milhão de tokens, pelo que um prompt que tokeniza de forma ineficiente custa mais do que deveria. As janelas de contexto — a quantidade máxima de texto que um modelo pode considerar de uma só vez — são contabilizadas em tokens, e é por isso que documentos muito longos têm de ser divididos em blocos antes de serem introduzidos. O comportamento também é afetado: um tokenizador que divide uma palavra de forma diferente pode alterar a forma como o modelo raciocina sobre ela, e alguns idiomas tokenizam em muito mais pedaços por palavra do que o inglês, o que inflaciona os custos e reduz o contexto efetivo para utilizadores não anglófonos.
Conceitos-chave sobre tokens
- Tokenização: o algoritmo que divide o texto em tokens, normalmente via BPE, WordPiece ou Unigram.
- Vocabulário: a lista fixa de tokens que um modelo conhece, com um identificador numérico único para cada entrada.
- Tokens especiais: símbolos reservados como
<BOS>,<EOS>e marcadores de padding que assinalam fronteiras e estrutura em vez de conteúdo. - Janela de contexto: o número máximo de tokens que um modelo pode processar num único pedido, incluindo a entrada e a saída gerada.
- Limites de tokens: tetos máximos impostos pelos fornecedores sobre quantos tokens um pedido pode conter, frequentemente divididos em limites de entrada e de saída.
Para uma análise mais aprofundada da codificação por pares de bytes, o tutorial de Andrej Karpathy minbpe é um ponto de partida prático, e o artigo original Neural Machine Translation of Rare Words with Subword Units introduziu a abordagem na qual a maioria dos tokenizadores modernos ainda se baseia.