Tokens não são uma unidade universal da linguagem. Eles são uma forma específica de cada modelo transformar texto em uma sequência de entradas numeradas que o modelo pode processar.
Um token é uma entrada de um código
Pense em um tokenizador como um código compartilhado pelo software que prepara o texto e pelo LLM que o processa. O código contém sequências de texto ou bytes permitidas e atribui a cada uma delas um ID inteiro.
Suponha que um tokenizador ilustrativo divida:
O gato sentou.
em:
O | gato | sentou | .
Essas partes visíveis poderiam ser mapeadas para IDs como:
[814, 3290, 7112, 13]
Os números aqui são inventados para mostrar o mecanismo. Os IDs e os limites reais dependem do tokenizador. Um espaço inicial pode ser agrupado à palavra seguinte, portanto gato e gato podem ser entradas diferentes.
Em explicações do dia a dia, token pode significar tanto a parte visível quanto o seu ID. A distinção é importante: o modelo recebe os IDs, não pequenas strings de texto legível. Cada ID seleciona uma representação numérica aprendida inicial com a qual o modelo pode trabalhar.
Por que os modelos usam partes menores que palavras
Um vocabulário composto por palavras inteiras precisaria de uma entrada para cada nome, grafia, flexão, termo técnico e palavra recém-criada que o modelo pudesse encontrar. Qualquer palavra ausente seria desconhecida.
Um vocabulário composto apenas por caracteres evita palavras desconhecidas, mas transforma textos comuns em sequências muito mais longas. Isso aumenta o número de etapas que o modelo precisa processar.
A tokenização em subpalavras é um compromisso. Sequências frequentes podem ter suas próprias entradas, enquanto palavras raras podem ser montadas a partir de entradas menores. Uma palavra comum pode ser um único token. Um nome raro pode se tornar vários fragmentos. Pontuação e espaços também podem ser tokens ou partes de tokens.
Os fragmentos são escolhidos para oferecer cobertura útil e sequências compactas, não porque cada fragmento tenha um significado independente de dicionário. Uma parte como ment, uma palavra precedida por espaço ou uma sequência de bytes é um token válido se estiver no vocabulário do tokenizador.
Como funciona a tokenização
O procedimento exato varia, mas o caminho por um modelo de texto tem a mesma forma geral:
text
↓
model-specific tokenizer
↓
token pieces
↓
integer token IDs
↓
language model
↓
next token ID
↓
tokenizer decoder
↓
generated textPrimeiro, o tokenizador aplica suas regras fixas à entrada. Dependendo do seu design, ele pode normalizar o texto, fazer uma divisão inicial e depois segmentá-lo com um algoritmo como BPE, Unigram ou WordPiece.
Em seguida, ele procura cada parte resultante no vocabulário e emite o ID correspondente. Também pode adicionar IDs especiais para finalidades como marcar limites ou a estrutura da solicitação. Esses tokens especiais não aparecem necessariamente como texto visível.
O modelo processa os IDs de entrada. Ao gerar texto, ele atribui probabilidades a possíveis IDs do próximo token e seleciona um deles de acordo com suas configurações de decodificação. Esse novo ID é acrescentado à sequência, e o processo se repete. Por fim, o decodificador transforma os IDs gerados novamente em bytes ou texto.
A tokenização normalmente é reversível para uma sequência completa e válida: decodificar os IDs reproduz o texto. Um token individual nem sempre é decodificado em um caractere legível por si só, especialmente com tokenizadores no nível de bytes. Pode ser necessário combinar primeiro os tokens vizinhos.
Uma palavra pode ter contagens diferentes de tokens
Não existe uma conversão exata de palavras para tokens.
Em um exemplo de tokenizador da OpenAI, antidisestablishmentarianism é dividido por uma codificação em cinco tokens:
ant | idis | establishment | arian | ism
Outra codificação o divide em seis:
ant | idis | establish | ment | arian | ism
Nenhuma das divisões altera a grafia. Nenhuma prova que um modelo entende melhor a palavra. As codificações simplesmente têm vocabulários e regras de segmentação diferentes.
As contagens também variam conforme o idioma, o espaçamento, a pontuação, o código, os emojis e sequências incomuns de caracteres. Até uma pequena edição pode alterar os limites ao redor dela. Médias aproximadas podem ajudar em uma estimativa inicial, mas a única contagem confiável vem do tokenizador ou do endpoint de contagem do modelo e da solicitação completa que você usará.
Por que os tokens são importantes
Eles determinam quanto cabe. A janela de contexto de um modelo é medida em tokens, não em palavras. A entrada, as mensagens anteriores, a saída gerada e, às vezes, outro conteúdo da solicitação competem por essa capacidade de acordo com as regras do provedor.
Eles medem o uso. Muitas APIs de IA informam e cobram tokens de entrada e tokens de saída separadamente. As tarifas e categorias variam, portanto uma contagem de tokens, por si só, não é um preço.
Eles afetam o tempo de geração. A geração de texto ocorre token a token. Mais tokens de saída geralmente exigem mais etapas de geração, embora a latência total também dependa do modelo, do hardware, da carga e do processamento da entrada.
Eles moldam a eficiência do texto. Duas strings com comprimento semelhante para um leitor podem consumir números diferentes de tokens. Isso é importante quando uma aplicação lida com vários idiomas, código-fonte, dados estruturados ou identificadores incomuns.
Eles conectam o tokenizador ao modelo. O modelo aprende com um mapeamento específico entre IDs e entradas do vocabulário. Substituir o tokenizador por outro não relacionado não é uma mudança meramente estética: o mesmo ID poderia apontar para uma parte diferente, fazendo o modelo receber a representação aprendida errada.
Equívocos comuns
Um token é uma palavra
Às vezes, uma palavra curta e comum é um token. Um token também pode ser um fragmento de palavra, um sinal de pontuação, um fragmento que inclui espaço, um caractere ou uma sequência de bytes. Trate qualquer valor de tokens por palavra como uma estimativa para um tipo específico de texto.
Os limites dos tokens mostram o que o modelo pensa que um conceito significa
Os limites dos tokens vêm do vocabulário e das regras de segmentação do tokenizador. Eles não são um mapa dos conceitos do modelo. Uma palavra dividida em quatro tokens não representa necessariamente quatro ideias, e uma frase armazenada como um único token não é necessariamente entendida como uma ideia indivisível.
Todos os modelos contam o mesmo texto da mesma forma
Vocabulários diferentes produzem limites e contagens diferentes. Até modelos de um mesmo provedor podem usar codificações diferentes. Conte com a interface do modelo específico, em vez de reutilizar a contagem de outro modelo.
Somente o texto que você digitou é contabilizado
Uma solicitação de API pode incluir instruções do sistema, histórico da conversa, definições de ferramentas, representações de arquivos ou imagens e formatação adicionada pelo serviço. Parte desse conteúdo pode contribuir para a contagem de tokens mesmo que não esteja visível na interface final do chat. Use o relatório de uso do provedor ou a ferramenta de contagem da solicitação completa quando uma contagem exata for importante.
Mais tokens significam mais significado
A contagem de tokens mede o comprimento da representação do modelo, não a quantidade ou a qualidade das informações. Textos repetitivos podem usar muitos tokens. Uma fórmula compacta pode usar poucos tokens e ainda transmitir um significado substancial.
Tokens de IA são tokens de criptomoedas
Eles compartilham o nome, não o mecanismo. Um token de texto é uma unidade do vocabulário de um modelo. Um token de criptomoeda é um ativo digital ou registro em uma blockchain.
Como os tokens se encaixam no sistema mais amplo
O vocabulário do tokenizador geralmente é estabelecido antes do treinamento do modelo de linguagem. Os textos de treinamento são convertidos em IDs com esse tokenizador, e o modelo aprende padrões sobre esses IDs. No momento da inferência, o mesmo mapeamento transforma um novo prompt em IDs de entrada e transforma os IDs gerados novamente em texto.
Isso faz do tokenizador parte do modelo, mesmo quando ele é distribuído como um arquivo ou biblioteca separado. O modelo, o vocabulário, as regras do tokenizador e as definições de tokens especiais precisam estar em concordância.
A palavra token também pode ser usada de forma mais ampla em sistemas multimodais. Um provedor pode converter partes de imagens, intervalos de áudio ou quadros de vídeo em unidades que ele contabiliza como tokens. Essas unidades desempenham um papel semelhante no processamento e na contabilização do modelo, mas não são partes produzidas por um tokenizador de texto.
O que ler a seguir
Leia O que é uma janela de contexto? para ver como os tokens definem o limite de trabalho de um modelo. Para conhecer as categorias de uso de APIs, continue em Tokens de entrada vs. saída vs. raciocínio.