Tokens são as unidades básicas de informação que uma LLM processa. Eles não são necessariamente palavras inteiras; podem ser sílabas, caracteres ou partes de palavras. A tokenização é o processo de transformar o texto bruto em uma sequência desses tokens para que a rede neural consiga realizar os cálculos matemáticos.
O que é um Token?
Para nós, a unidade básica da escrita é a letra ou a palavra. Para uma LLM, são os tokens.
Um token é um pedaço de texto que o modelo processa de uma só vez. Ele pode ser uma palavra inteira (para termos muito comuns), uma sílaba, um prefixo/sufixo ou, em casos mais raros (como caracteres especiais e código), um único caractere.
Regra geral (para o inglês): > 1 token equivale a aproximadamente 4 caracteres ou 0,75 palavras. Em português, por conta da acentuação e da menor presença de dados de treino, essa proporção costuma exigir mais tokens para o mesmo volume de texto.
O Processo de Tokenização
A tokenização é a etapa de pré-processamento que fatia o texto bruto antes de enviá-lo para a rede neural. Ela funciona em três etapas básicas:
- Fatiamento (Splitting): O algoritmo de tokenização (geralmente baseados em métodos como Byte-Pair Encoding – BPE ou WordPiece) analisa o texto e o divide em pedaços com base em um dicionário pré-existente de dezenas de milhares de subpalavras comuns.
- Mapeamento: Cada token gerado é mapeado para um número inteiro exclusivo (um ID de token) dentro desse dicionário.
- Vetorização: Esses IDs de tokens são convertidos em vetores matemáticos complexos (embeddings) que o modelo consegue processar.
Exemplo Prático
A palavra “Inconstitucionalíssimamente” não existe pronta no dicionário do modelo. O tokenizador a quebraria em pedaços menores:
["In", "constitucional", "íssima", "mente"]
Por que a Tokenização é Importante na Prática?
Compreender este conceito resolve várias dúvidas comuns sobre o comportamento das LLMs:
- O limite de contexto (Context Window): O tamanho máximo do que uma LLM pode “lembrar” em uma única conversa é medido estritamente em tokens. Se um modelo tem um limite de 8k tokens, isso inclui tanto o seu prompt quanto a resposta gerada.
- A cobrança de APIs: Ferramentas de desenvolvimento cobram pelo volume de tokens de entrada (input) e saída (output), e não por caracteres ou palavras.
- A fraqueza em soletração e rimas: Como as LLMs processam tokens (blocos de texto) e não letras individuais, elas frequentemente falham em tarefas simples como “quantas letras ‘r’ existem na palavra morango?” ou “escreva uma palavra que rime com X”. Para o modelo, ele não enxerga as letras individuais, a menos que o tokenizador as separe dessa forma.
- Eficiência em código: Códigos de programação costumam ser muito fáceis de tokenizar porque repetem padrões e termos comuns (como
if,return,function), o que torna o processamento de código extremamente eficiente para as LLMs.