O Que São Tokens e Por Que São Essenciais?

Em vez de processar palavras inteiras, os Modelos de Linguagem de Grande Escala (LLMs) como o GPT-4, quebram o texto em unidades menores chamadas tokens. Essa abordagem é fundamental para superar os desafios da linguagem natural.

  • Linguagem Natural vs. Processamento de Máquina: A linguagem humana é complexa e cheia de variações:

    • Vocabulário Extenso e Variável: Novas palavras e gírias surgem constantemente.

    • Erros e Variações: Erros de digitação e diferentes formas de escrever a mesma coisa.

    • Múltiplos Idiomas: Cada língua tem sua própria estrutura e vocabulário.

A tokenização transforma o texto em um formato numérico que a máquina pode entender e processar de forma eficiente.

Como Funciona a Tokenização: O Exemplo do Byte-Pair Encoding (BPE)

Um dos algoritmos de tokenização mais comuns é o Byte-Pair Encoding (BPE), utilizado por modelos como o GPT. O processo funciona da seguinte forma:

  1. Divisão Inicial: O texto é dividido em suas menores unidades, os bytes (caracteres).

  2. Contagem de Pares: O algoritmo analisa todo o texto e conta a frequência com que os pares de caracteres aparecem juntos.

  3. Fusão Iterativa: O par mais frequente é fundido para criar um novo “token”. Por exemplo, se “e” e “s” aparecem juntos muitas vezes, eles se tornam o token “es”.

  4. Repetição: O processo se repete, fundindo os pares de tokens mais frequentes até que um vocabulário do tamanho desejado seja criado.

Exemplo Prático:

Vamos analisar a frase: “Inteligência artificial é poderosa”

  • Palavras Comuns: “é” é uma palavra muito frequente e curta, provavelmente se tornará um token único.

  • Palavras Compostas:

    • Inteligência pode ser quebrada em Inteli + gência.

    • artificial pode continuar como um token único se for muito comum no dataset de treinamento.

    • poderosa pode ser dividida em poder + osa.

Este processo permite que o modelo:

  • Entenda Palavras Novas: Se o modelo encontrar a palavra “tokenização” e não a tiver no vocabulário, ele pode quebrá-la em tokens que conhece, como token + iza + ção, e ainda assim inferir seu significado.

  • Seja Eficiente: Reduz drasticamente o tamanho do vocabulário que o modelo precisa armazenar, economizando recursos computacionais.

Implicações Práticas da Tokenização

  • Entrada e Saída: Todas as interações com um LLM são baseadas em sequências de tokens, não de palavras.

  • Custo e Limites: O “tamanho do contexto” de um modelo (quantas informações ele pode processar de uma vez) é medido em tokens. Além disso, o custo de usar APIs de LLMs é frequentemente calculado pelo número de tokens processados.

  • Embeddings: Cada token é convertido em um vetor numérico (embedding) que captura seu significado semântico, antes de ser processado pelas camadas de atenção do Transformer.


Perguntas e Respostas da Aula

  1. Pergunta: Por que os LLMs utilizam tokens em vez de processar palavras diretamente? Quais são as principais vantagens dessa abordagem?

    • Resposta: Os LLMs usam tokens para lidar com a enorme variabilidade e complexidade da linguagem natural. As principais vantagens são:

      1. Gerenciamento de Vocabulário: Evita a necessidade de um vocabulário gigantesco, que seria computacionalmente caro e difícil de gerenciar.

      2. Lidar com Palavras Desconhecidas (Out-of-Vocabulary): Permite que o modelo processe palavras que não viu durante o treinamento, quebrando-as em subunidades conhecidas.

      3. Eficiência: A tokenização padroniza a entrada, otimizando o processamento e a gestão de múltiplos idiomas, gírias e erros de escrita.

  2. Pergunta: Explique, de forma simplificada, como funciona o algoritmo de tokenização Byte-Pair Encoding (BPE).

    • Resposta: O BPE começa dividindo o texto em seus caracteres individuais. Em seguida, ele identifica o par de caracteres que aparece com mais frequência e o funde em um único token. Esse processo é repetido várias vezes, fundindo os pares de tokens mais comuns, construindo progressivamente um vocabulário de tokens que representam desde caracteres individuais até palavras inteiras.
  3. Pergunta: Um token corresponde sempre a uma palavra? Dê exemplos para justificar sua resposta.

    • Resposta: Não. Um token pode ser um caractere, uma parte de uma palavra, uma palavra inteira ou até mesmo um conjunto de palavras curtas. Por exemplo:

      • A palavra “sol” pode ser um único token.

      • A palavra “interessante” pode ser dividida em dois ou mais tokens, como interess + ante.

      • Em “GPT-4”, GPT, - e 4 podem ser tokens separados devido à sua natureza e frequência de uso.

  4. Pergunta: Como a tokenização afeta o custo e o limite de contexto de um LLM?

    • Resposta: O custo de utilização de serviços de LLM (como as APIs da OpenAI ou Google) é geralmente calculado com base no número de tokens de entrada e saída. Da mesma forma, a janela de contexto de um modelo, que define a quantidade de texto que ele pode “lembrar” em uma única conversa, é medida em tokens (ex: 8.000 ou 32.000 tokens), e não em palavras ou caracteres.
  5. Pergunta: Qual é a relação entre tokens e embeddings na arquitetura de um Transformer?

    • Resposta: Após o texto ser dividido em tokens, cada token é mapeado para um vetor numérico de alta dimensão chamado embedding. Esse vetor representa o significado semântico do token no espaço vetorial. São esses embeddings que são então alimentados na arquitetura do Transformer, passando pelas camadas de atenção (attention) e redes neurais feedforward para que o modelo possa entender o contexto e gerar uma resposta coerente.

Materiais Extras para Aprofundamento

  1. Artigo: “What are tokens in NLP?” da Hugging Face

    • Resumo: Um guia completo e acessível da Hugging Face, uma das principais empresas no campo de IA, explicando o que são tokens, por que são importantes e detalhando diferentes algoritmas de tokenização como BPE, WordPiece (usado pelo BERT) e Unigram.

    • Link: Hugging Face Blog

  2. Vídeo: “Let’s build the GPT Tokenizer” por Andrej Karpathy

    • Resumo: Um vídeo técnico e prático onde Andrej Karpathy (ex-diretor de IA da Tesla e pesquisador da OpenAI) reconstrói o tokenizador do GPT do zero em Python. É um mergulho profundo para quem quer entender a implementação real do algoritmo BPE.

    • Link: YouTube

  3. Ferramenta: OpenAI Tokenizer

    • Resumo: Uma ferramenta online oficial da OpenAI que permite colar um texto e ver exatamente como ele é dividido em tokens pelo modelo GPT. É uma ótima maneira de desenvolver uma intuição sobre como diferentes palavras e estruturas de frases são tokenizadas na prática.

    • Link: OpenAI Tokenizer