O que são tokens em IA e por que um modelo lê as palavras em pedaços?
Tokens são os pedacinhos de texto que um modelo de linguagem lê e escreve. Um tokenizador corta o texto em trechos comuns: palavras frequentes ficam inteiras, enquanto palavras raras, nomes novos e números longos viram vários pedaços. Cada token é trocado por um número, o ID, para o modelo poder calcular com ele. Tamanho e custo são contados em tokens.
▶ PratiquePor que isso importa
Um modelo nunca vê letras nem palavras inteiras, só IDs de tokens. Isso explica por que ele tem dificuldade para contar letras, por que números longos o confundem e por que algumas línguas custam mais.
Em 6 minutos você vai conseguir
- Quando um modelo erra a contagem de letras ou se atrapalha com um número longo, lembre que ele vê pedaços, não caracteres.
- Escrever numa língua com menos tokens por palavra pode deixar o mesmo pedido mais barato e mais rápido.
- Quando uma ferramenta mostra limites ou preços “por token”, pense em pedaços do tamanho de uma palavra, mais ou menos, e não em palavras inteiras.
O que você vai praticar
Seja o tokenizador
Toque nos espaços entre as letras para cortar cada palavra em tokens. Depois aperte Tokenizar e compare. Os cortes e IDs são ilustrativos, como num tokenizador típico.
- que → [que] #631
Palavras muito comuns ganham um token só delas. “que” aparece tanto que dividir seria desperdício. - inacreditável → [in] #259 [acredit] #48213 [ável] #6510
Palavras longas são montadas com pedaços conhecidos: “in”, “acredit” e “ável” aparecem em milhares de outras palavras. - Vireo → [Vir] #53413 [eo] #78
Um nome novo não está no vocabulário, então o tokenizador o monta com pedaços que conhece. Qualquer palavra pode ser escrita assim. - 1234567 → [123] #4513 [456] #10961 [7] #22
Muitos tokenizadores cortam números longos em blocos de até três dígitos. O modelo nunca vê o número inteiro de uma vez, um dos motivos de contas longas o confundirem. - Schmetterling → [Sch] #32065 [met] #4164 [ter] #466 [ling] #2785
É “borboleta” em alemão. Tokenizadores aprendem principalmente com texto em inglês, então muitas palavras de outras línguas, inclusive do português, viram mais pedaços.
- Mesmo significado, duas línguas. Qual custa mais tokens ao Vireo?
- A: I love cats. → [I] [·love] [·cats] [.] (4 tokens)
- B: Eu amo gatos. → [Eu] [·amo] [·g] [atos] [.] (5 tokens)
- Qual mensagem custa mais tokens?
- A: Te vejo às 7. → [Te] [·vejo] [·às] [·7] [.] (5 tokens)
- B: Te vejo às 19:45:30. → [Te] [·vejo] [·às] [·19] [:] [45] [:] [30] [.] (9 tokens)
- que → [que] #631
Por que pedaços, e não palavras?
Toque em cada cartão para ver o que tem por trás.
- 🔢 Por que transformar texto em números?
- Um modelo só faz contas. Cada token é trocado pelo seu ID, então uma frase vira uma lista de números com que ele pode calcular.
- 📕 Por que não um token por palavra?
- Existem palavras demais: nomes, erros de digitação, gírias novas. Uma lista de palavras nunca fica completa, mas pedaços montam qualquer palavra, até uma recém-inventada.
- 🔤 Por que não letras soltas?
- Aí toda frase ficaria muito longa e o modelo teria muito mais trabalho para ver o significado. Pedaços de palavras são o meio-termo.
- 🧮 De onde vem a lista de tokens?
- Antes do treino, um programa analisa muito texto e vai juntando os pares de pedaços mais frequentes até ter uma lista fixa, muitas vezes com dezenas de milhares de tokens.
O que os tokens explicam
Selecione todas as frases verdadeiras.
- Um modelo lê IDs de tokens, não letras
- Palavras comuns muitas vezes são um token só
- Palavras raras e novas viram pedaços
- O mesmo texto pode custar mais tokens em outra língua
- Toda palavra é exatamente um token
- Tokens são só sílabas
- Contar as letras de uma palavra é fácil para um modelo
Lembre-se
Um modelo lê o texto como pedaços numerados chamados tokens. Palavras comuns ficam inteiras, as raras são montadas com partes.
O texto vira uma lista de IDs de tokens. Palavras comuns ficam inteiras, as raras são montadas com pedaços.
Fatos principais
- Dividir palavras raras em pedaços frequentes com byte pair encoding foi introduzido na tradução neural em 2016 e é a base da maioria dos tokenizadores de LLMs hoje. · Fonte: Sennrich, Haddow & Birch, Neural Machine Translation of Rare Words with Subword Units, ACL 2016
- O tokenizador do GPT-2 tinha um vocabulário de 50.257 tokens. · Fonte: Radford et al., OpenAI, Language Models are Unsupervised Multitask Learners, 2019
- O Llama 3 usa um tokenizador com vocabulário de 128 mil tokens, que codifica o texto de forma mais eficiente que o do antecessor. · Fonte: Meta, Introducing Meta Llama 3, 2024
- O mesmo texto traduzido para línguas diferentes pode precisar de números de tokens muito diferentes, então algumas línguas custam mais para processar. · Fonte: Petrov et al., Language Model Tokenizers Introduce Unfairness Between Languages, NeurIPS 2023
Atualizado:
Perguntas frequentes
Quantas palavras tem um token?
Depende do texto e do tokenizador. Em inglês, um token muitas vezes é uma palavra curta ou parte de uma longa. Em português, o mesmo texto costuma precisar de um pouco mais de tokens, e código e números também.
Por que a IA não consegue contar as letras de uma palavra?
O modelo nunca vê letras soltas, só IDs de tokens de trechos como “moran” e “go”. Para contar letras, ele precisa lembrar como cada pedaço se escreve, e é fácil errar.
O que é um tokenizador?
Um tokenizador é o programa que corta o texto em tokens e troca cada um pelo seu ID antes de o modelo ver. Ele é criado uma vez, antes do treino, com os pedaços mais frequentes de uma grande amostra de texto.
Por que modelos de IA cobram por token?
O trabalho de um modelo cresce com o número de tokens que ele lê e escreve. Contar tokens mede esse trabalho de forma mais justa do que contar palavras ou caracteres.
Termos relacionados
