Pular para o conteúdo

Aula 4 de 6 · 6 min · +100 XP

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.

▶ Pratique

Por 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

  1. 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.

    1. que → [que] #631
      Palavras muito comuns ganham um token só delas. “que” aparece tanto que dividir seria desperdício.
    2. 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.
    3. 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.
    4. 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.
    5. 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.
    1. 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)
      A frase em português precisa de mais pedaços porque o tokenizador viu menos português. Mais tokens significa mais computação, e muitas vezes um preço maior, pelo mesmo significado.
    2. 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)
      Dígitos e pontuação muitas vezes custam um token cada. Horários, códigos e números longos enchem o orçamento de um modelo surpreendentemente rápido.
  2. 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.
  3. 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