Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Token

Um token é a unidade de entrada que um modelo processa, como um subword ou um recorte de imagem. Veja como os tokenizadores dividem texto, os tokens visuais e os custos de tokens.

Um token é a unidade básica de entrada e saída que um modelo de IA processa: uma palavra, parte de uma palavra, um caractere ou um byte em texto, ou um bloco de pixels em uma imagem. Antes que um transformer possa ler uma frase ou uma imagem, um tokenizador divide a entrada em tokens e mapeia cada um para um ID inteiro, e o modelo consulta um vetor de embedding para cada ID. A quantidade de tokens determina tanto o que um modelo consegue processar quanto o custo: uma janela de contexto é medida em tokens, os modelos de linguagem de grande porte (LLMs) geram texto um token por vez, e as APIs comerciais cobram por token de entrada e de saída.

  • Tokenização: O processo que divide a entrada bruta em tokens. Um token é uma unidade da saída desse processo.
  • Vocabulário e IDs de token: O vocabulário de um tokenizador é o conjunto fixo de tokens que ele conhece, cada um com um ID inteiro. O BERT usa 30.522 tokens, o GPT-2, 50.257, o Llama 3, 128.256, e o Gemma 3, cerca de 262.000.
  • Tokens especiais: Marcadores da estrutura de uma sequência, como tokens de início de texto, fim de texto e preenchimento, ou o token [CLS], cujo embedding final o BERT usa para classificação.
  • Embeddings: Os vetores aprendidos que a primeira camada do modelo consulta para cada ID de token e que levam o significado do token para dentro da rede.

Tokens de texto#

Um vocabulário de palavras inteiras não consegue abranger todos os nomes, erros de digitação e termos novos, e o uso de caracteres individuais produz sequências muito longas. Por isso, os tokenizadores modernos usam subpalavras: palavras frequentes se tornam tokens únicos, e palavras raras são divididas em partes reutilizáveis. A codificação por pares de bytes (BPE), adaptada à tradução automática neural por Sennrich e colegas em 2016, começa com caracteres individuais e combina repetidamente o par adjacente mais frequente até o vocabulário atingir o tamanho desejado. Os modelos GPT aplicam BPE a bytes, permitindo codificar qualquer texto, inclusive código e emojis; o WordPiece (usado pelo BERT) e o modelo Unigram do SentencePiece são esquemas de subpalavras relacionados. O tokenizador BPE do CLIP, carregado aqui do Hub da Hugging Face, mostra como as palavras são divididas:

from transformers import AutoTokenizer

# Load CLIP's byte-pair-encoding (BPE) tokenizer from the Hugging Face Hub
tokenizer = AutoTokenizer.from_pretrained("openai/clip-vit-base-patch32")

for text in ["bus", "double-decker bus", "unhappiness", "Ultralytics"]:
    tokens = tokenizer.tokenize(text)
    print(f"{text!r} -> {tokens} -> {tokenizer.convert_tokens_to_ids(tokens)}")

"bus" é um único token, ID 2840; "unhappiness" se divide em un e happiness; e a palavra rara "Ultralytics" se divide em três partes: ultr, aly e tics. O sufixo </w> marca o fim de uma palavra no vocabulário do CLIP, que contém 49.408 tokens, e o codificador de texto do CLIP lê no máximo 77 tokens por prompt.

Tokens visuais#

O Vision Transformer (ViT), apresentado no artigo Uma imagem vale 16 × 16 palavras, divide uma imagem em blocos de tamanho fixo, de 16 × 16 pixels no ViT-B/16, e projeta cada bloco em um embedding, de modo que uma imagem de 224 × 224 se torna 196 tokens. Os embeddings posicionais registram a origem de cada bloco, e um token de classe adicional reúne informações para a classificação. A projeção geralmente é implementada como uma convolução cujo passo é igual ao tamanho do kernel:

import torch

# ViT-B/16 patch embedding: a 16x16 convolution with stride 16 turns each patch into one 768-dim token
patch_embed = torch.nn.Conv2d(3, 768, kernel_size=16, stride=16)

for size in (224, 448):
    image = torch.rand(1, 3, size, size)
    tokens = patch_embed(image).flatten(2).transpose(1, 2)  # (batch, tokens, dims)
    print(f"{size}x{size} image -> {tuple(tokens.shape)}")

Uma imagem de 224 × 224 produz 196 tokens de 768 valores, e dobrar o lado para 448 pixels resulta em 784 tokens, quatro vezes mais. A autoatenção compara cada token com todos os outros, portanto quatro vezes mais tokens significam cerca de dezesseis vezes mais custo de atenção; por isso, modelos de alta resolução usam atenção em janelas, como no Swin Transformer, ou combinam tokens semelhantes com a fusão de tokens.

Os modelos de visão e linguagem passam os tokens visuais de um codificador de imagens para um LLM junto com tokens de texto, permitindo que um único transformer preste atenção a ambos e escreva a resposta um token de texto de cada vez:

Por que a contagem de tokens é importante#

  • Limites de contexto: O prompt, todos os documentos ou imagens recuperados e a resposta gerada precisam caber na janela de contexto do modelo.
  • Custo e latência: As APIs cobram separadamente pelos tokens de entrada e saída, e o tempo de geração aumenta com a quantidade de tokens de saída, pois cada um exige uma etapa de decodificação que lê o cache KV do modelo.
  • Idiomas e formatos: Tokenizadores treinados principalmente em inglês dividem outros idiomas, código e números longos em mais tokens por palavra, então o mesmo conteúdo custa mais e preenche a janela de contexto mais rapidamente.
  • Tarefas no nível de caracteres: O modelo vê tokens de subpalavras, por isso tarefas que dependem de letras individuais, como contar as letras de uma palavra ou invertê-la, são mais difíceis do que parecem.

Aplicações no mundo real#

  • Geração de texto: Um LLM atribui uma probabilidade a cada token do vocabulário, escolhe um, acrescenta-o à sequência e repete o processo; métodos de amostragem como a amostragem de núcleo escolhem entre os tokens mais prováveis.
  • Geração de imagens: Modelos autorregressivos de imagens preveem tokens visuais discretos de um livro de códigos aprendido, criado com quantização vetorial, da mesma maneira que um LLM prevê palavras.
  • Detecção de vocabulário aberto: O YOLOE-26, versão baseada em YOLO26 do YOLOE da Universidade Tsinghua no pacote Ultralytics, encontra objetos a partir de nomes de classes digitados. Seu método set_classes() tokeniza cada nome com o tokenizador BPE do CLIP; o codificador de texto MobileCLIP2 da Apple transforma os tokens em um embedding, e o modelo compara esses embeddings com regiões da imagem, para detectar apenas com base nas palavras, por exemplo, um "double-decker bus", uma classe que não faz parte do conjunto de dados COCO.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina