O que São Tokens?
Tokens são componentes fundamentais nos Modelos de Linguagem (LLMs), como o ChatGPT, Google Gemini e Claude (da empresa Anthropic).
Diferente de uma palavra completa, um token pode representar partes menores de uma palavra.
Uma média geral de proporção, indica que 100 tokens são equivalentes a um grupo de 75 palavras.
Desta forma, antes de uma API ser processada, no momento de uso de uma inteligência artificial (por exemplo), o prompt (texto do usuário) é convertido em tokens.
Se você ainda não sabe o que é Inteligência Artificial: Clique Aqui.
Como Funciona a Tokenização?
Esse processo de conversão é chamado de tokenização, onde palavras, caracteres e/ou frases são transformados em tokens únicos que o modelo pode entender.
Todavia, o volume de tokens para determinado texto depende do idioma que está sendo processado, assim como do processo de tokenização.
Veja um exemplo de um Tokenizer, disponibilizado gratuitamente pela OpenAI (acesse aqui para testar).
Os modelos mais comuns de tokenização são:
Byte Pair Encoding (BPE): Começa com caracteres individuais e iterativamente combina os pares mais frequentes em novas subpalavras (Sistema utilizado pela OpenAI).
WordPiece: Semelhante ao BPE, mas usa uma medida de probabilidade para escolher os pares a serem combinados (Google Gemini utiliza variações entre BPE e WordPiece).
Unigram Language Model: Usa um modelo de linguagem para escolher as subpalavras que maximizam a probabilidade do texto.
Este passo é crucial para a manipulação de qualquer entrada textual, permitindo que o modelo processe e gere respostas.
O Papel dos Tokens nos Modelos de Linguagem
Nos LLMs, cada prompt fornecido pelo usuário é transformado em uma sequência de tokens.
Estes tokens são então convertidos em vetores, que representam coordenadas em um espaço multidimensional.
Assim, esses vetores são processados pelos transformadores do modelo, ajustando suas ponderações e interações internas para produzir uma resposta coerente e contextualizada.
Por exemplo, ao interagir com o ChatGPT ou Google Gemini, seu input textual é inicialmente tokenizado, transformando o texto em uma série de tokens processáveis pelo modelo.
Quando o modelo de linguagem te responde, ele utiliza um processo que chamamos de decodificação.
Durante a decodificação, os vetores gerados pelo modelo são convertidos novamente em tokens.
Em seguida, esses tokens são transformados em palavras ou frases no idioma desejado, garantindo que a resposta fornecida pelo modelo seja clara e compreensível para o leitor.
Tokens e a Capacidade de Processamento dos LLMs
A capacidade de processamento dos LLMs é fortemente influenciada pela quantidade de tokens.
Modelos com maior capacidade de contexto são capazes de processar sequências mais longas de tokens, permitindo uma compreensão mais aprofundada de conversas (solicitações) complexas.
No entanto, essa capacidade é limitada por um número máximo de tokens que o modelo pode processar, por vez.
A esta capacidade damos o nome de “Janela de Contexto” ou, originalmente, Context Window.
Modelos da série GPT4, processam uma janela de contexto com 128 mil tokens (acesse a documentação da OpenAI).
Modelos como o Google Gemini, chegam a incríveis 2 milhões de tokens (acesse a documentação do Google).
Se você estiver utilizando uma IA via chat, dificilmente você terá acesso ao volume de tokens que está sendo processado.
Esta limitação fica “embutida” no processamento e resposta da IA.
O que é diferente de ambientes mais elaborados, para usuários que possuem um pouco mais de conhecimento técnico, como no Playground da OpenAI.
Impacto dos Tokens nos Custos de Uso dos LLMs
Os tokens também desempenham um papel crucial na precificação do uso de LLMs.
Muitos provedores de serviço de modelos de linguagem, como a OpenAI, baseiam seus planos de preços no número de tokens processados.
Cada token representa uma unidade de custo, e quanto mais tokens forem utilizados, maior será o custo para o usuário.
Isto por que a unidade básica de processamento (o token) influencia na utilização da capacidade computacional dos grandes datacenters, e envolve uma complexa rede de fatores que culminam na precificação do serviço.
Essa estrutura de preços baseada em tokens exige que os usuários gerenciem suas interações de forma eficiente para evitar custos desnecessários, otimizando seus prompts e aproveitando ao máximo a capacidade de processamento do modelo.
Saiba mais sobre a precificação da API para a OpenAI, Google ou Anthropic.
E claro, é relevante comentarmos que Tokens são igualmente utilizados em outras aplicações que envolvem Machine Learning, onde algoritmos os utilizam para a identificação de padrões em Natural Language Processing (NLP), para análise de dados, estatística, desenvolvimento de código, etc.
Tokens na visão computacional (Vision) e em Text-to-Speech (TTS)
Tokens em Vision Systems
Em sistemas de visão computacional, os tokens podem representar diferentes elementos visuais em uma imagem ou vídeo, como:
- Objetos: Carros, pessoas, animais, etc.
- Características: Bordas, cantos, texturas, cores, etc.
- Regiões: Áreas específicas da imagem, como o céu, a estrada ou um rosto.
Esses tokens visuais podem ser usados para diversas tarefas, como:
- Reconhecimento de objetos: Identificar e classificar objetos em uma imagem.
- Detecção de objetos: Localizar objetos em uma imagem e desenhar caixas delimitadoras ao redor deles.
- Segmentação de imagens: Dividir uma imagem em regiões semanticamente significativas (por exemplo, separar o primeiro plano do fundo).
- Rastreamento de objetos: Seguir o movimento de objetos em um vídeo.
- Geração de legendas: Descrever o conteúdo de uma imagem em linguagem natural.
Tokens para Text-to-Speech (TTS) Systems
Em sistemas TTS, isto é, texto para som (ou áudio) os tokens representam unidades fonéticas, como fonemas, sílabas ou palavras.
Esses tokens são usados para:
- Síntese de fala: Converter texto escrito em fala audível.
- Reconhecimento de fala: Converter fala audível em texto escrito.
- Tradução de fala: Converter fala de um idioma para outro.
- Personalização de voz: Ajustar a voz sintética para soar mais natural ou expressiva.
Logo, os tokens são usados para representar informações complexas de forma estruturada, permitindo que os algoritmos de Machine Learning (ML) processem e analisem esses dados de forma eficiente.
A tokenização também é uma etapa fundamental para o desenvolvimento de sistemas de visão computacional e TTS cada vez mais sofisticados e precisos.
Conclusões
Os tokens são elementos essenciais no funcionamento dos modelos de linguagem de grande escala, influenciando desde a capacidade de processamento até os custos de utilização.
Compreender o papel dos tokens e a tokenização pode ajudar usuários e desenvolvedores a otimizar suas interações com modelos como o ChatGPT e Google Gemini, garantindo uma utilização mais eficiente e econômica.
Cadastre-se em nosso portal para receber as últimas atualizações (no mundo) sobre inteligência artificial e modelos de linguagem, diretamente no seu e-mail, gratuitamente e em português. ;D