Token

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:

  1. 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.
  2. Mapeamento: Cada token gerado é mapeado para um número inteiro exclusivo (um ID de token) dentro desse dicionário.
  3. 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.