Fundamentos · Leitura de 6 min

O que é um token? A peça de LEGO com a qual a IA monta o idioma

Você escreve "gato" e acha que o modelo lê a palavra. Não. Ele lê fichas. Aqui eu mostro quais, por quê, e por que isso mexe no seu bolso.

Imagine que você entrega uma frase a um modelo de IA e, antes de "entendê-la", alguém a passa por um moedor. A frase entra inteira e sai em pedaços: pedacinhos de palavra, às vezes palavras completas, às vezes só três letras e um espaço. Esses pedaços são os tokens. E aqui está o estranho: o modelo nunca vê a sua frase. Ele vê os pedaços.

Contaram para a gente que "a IA lê texto". É uma mentira inocente. O que ela lê é uma fila de fichas numeradas. Como quando você monta algo de LEGO: você não manipula "uma casa", você manipula peças. A casa é o que resulta de encaixá-las.

01 · a peçaUm token é um pedaço de texto, não uma palavra

A primeira coisa a soltar é a ideia de que um token equivale a uma palavra. Às vezes sim. Às vezes um token é uma palavra curta e comum como "de" ou "casa". Mas muitas vezes é um fragmento: uma raiz, uma terminação, uma sílaba, até um único caractere com o espaço na frente.

Por que partir as palavras? Porque o idioma é infinito e a memória do modelo não é. Se cada palavra possível tivesse a sua própria ficha, o dicionário do modelo seria gigantesco e inútil para palavras que ele nunca viu: nomes próprios, termos técnicos, erros de digitação, "supercalifragilístico". Com pedaços reutilizáveis, por outro lado, ele consegue montar qualquer palavra encaixando peças que já conhece.

O modelo não memoriza palavras. Ele aprende a construí-las com peças.

Figura 1 · uma frase passada pelo moedor
A neurodivergência não é falta de vontade.
Repare em neuro + divergência: uma palavra longa e pouco comum se parte em duas peças mais frequentes. As comuns ("de", "não", "é") viajam em uma única peça.

02 · o moedorTokenização: como se decide onde cortar

O corte não é ao acaso nem por sílabas da escola. Ele é feito com um método aprendido dos próprios textos. O mais famoso se chama BPE (Byte Pair Encoding, "codificação por pares de bytes").

A ideia, num nível alto, é surpreendentemente simples. Você começa com o texto reduzido a caracteres soltos. Depois procura o par de peças que aparece mais vezes junto e as funde numa única peça nova. Você repete: encontra o próximo par mais frequente, funde, e de novo. Milhares de vezes. No fim você tem um inventário de peças onde o muito comum ("ção", "des", "ente") acabou virando fichas próprias, e o raro segue partido em pedaços pequenos.

Curiosamente, o BPE nasceu em 1994 como um truque de compressão de dados (Gage), e não tinha nada a ver com linguagem. Foram Sennrich, Haddow e Birch que, em 2016, o adaptaram para partir palavras em tradução automática [1][2]. De lá ele saltou para quase todos os modelos de linguagem que você usa hoje.

Por isso às vezes ele parte palavras "estranhas"

Quando o modelo pica um nome esquisito ou um termo técnico em pedacinhos feios ("Qi" + "ra" + "va"), ele não está falhando: está fazendo exatamente o seu trabalho. Ele não tinha essa palavra no seu inventário de peças, então a montou com as que tinha. É a mesma razão pela qual ele consegue ler palavras que nunca viu.

03 · a contaPor que isso importa para você: custo e limites

Aqui deixa de ser curiosidade e começa a ser prático. Os modelos não cobram nem medem em palavras: medem em tokens. Duas consequências diretas.

O custo. Quando você paga para usar um modelo por API, você paga por token de entrada e por token de saída. Um texto com muitas palavras longas ou pouco comuns gasta mais tokens do que um do mesmo tamanho, mas com palavras simples. Escrever "utilizar" custa, literalmente, mais do que escrever "usar".

O limite de contexto. Cada modelo tem um teto de quantos tokens consegue ter "na cabeça" de uma vez: a sua mensagem mais a resposta dele. Esse teto é contado em tokens, não em páginas. Por isso uma conversa longa em algum momento "esquece" o começo: ele saiu da janela de tokens.

Quanto é um token na vida real? Como regra de bolso, em inglês 1 token ≈ 4 caracteres ≈ 0,75 palavras (ou seja, 100 tokens ≈ 75 palavras) [3]. Em espanhol a coisa sai um pouco mais cara: as palavras são mais longas e têm mais terminações, então 1 token ≈ 0,7 palavras ou menos. Traduzindo: o mesmo texto em espanhol costuma gastar mais tokens do que em inglês. Não é impressão sua.

Figura 2 · o mesmo texto, mais caro em espanhol
Inglês Espanhol ≈ 133 tokens ≈ 143 tokens Para as mesmas 100 palavras: 1 token ≈ 0,75 palavras em inglês; ≈ 0,7 em espanhol.
As palavras em espanhol são mais longas e com mais terminações, então se partem em mais peças. A mesma ideia, escrita em espanhol, gasta perto de 8 % mais tokens. Não é impressão sua: é a aritmética do idioma.

Para o modelo, um parágrafo não tem palavras. Tem um preço.

Nada disso muda como você escreve. Mas saber que por trás há um moedor de fichas explica de uma vez três mistérios: por que às vezes ele engasga com nomes próprios, por que as conversas longas perdem memória, e por que a fatura sobe mais rápido em espanhol do que em inglês.

Da próxima vez que você escrever "gato" e o modelo te responder, lembre-se: ele nunca viu um gato nem a palavra "gato". Ele viu uma ficha. E com fichas, como com LEGO, dá para montar quase qualquer coisa.

Fontes

  1. Sennrich, R., Haddow, B. & Birch, A. (2016). Neural Machine Translation of Rare Words with Subword Units. Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (ACL), vol. 1, pp. 1715-1725. ACL Anthology: aclanthology.org/P16-1162.
  2. Gage, P. (1994). A New Algorithm for Data Compression. The C Users Journal, fevereiro de 1994. (Origem do algoritmo BPE, depois adaptado à linguagem.)
  3. OpenAI Help Center. What are tokens and how to count them? Regra de referência: 1 token ≈ 4 caracteres ≈ 0,75 palavras em inglês (100 tokens ≈ 75 palavras). help.openai.com/en/articles/4936856.

Aprenda mais sobre IA

Ver tudo Aprenda IA