Token (LLM) (PT)

From Systems analysis Wiki
Jump to navigation Jump to search

Token — é a menor unidade de texto com a qual os modelos de linguagem grandes (LLMs) são capazes de trabalhar. Qualquer texto, antes de ser processado por um LLM, é previamente convertido em uma sequência de tokens, que são então traduzidos em representações numéricas convenientes para análise e processamento pelo modelo.

Dependendo da estratégia de tokenização utilizada, um token pode representar:

  • Uma palavra inteira (por exemplo, "casa")
  • Parte de uma palavra ou raiz (por exemplo, "casa" em "casinha")
  • Um único caractere ou pontuação (por exemplo, ",", "!")

O uso de tokens permite que os modelos de linguagem estudem e reproduzam eficientemente as estruturas do texto, identifiquem padrões e compreendam a semântica e a sintaxe do texto.

Processo de tokenização

Tokenização (tokenization) — é o processo de dividir o texto original em tokens, seguido pela sua conversão em identificadores numéricos compreensíveis pelo modelo.

Esta etapa é obrigatória e fundamental para o funcionamento dos modelos de linguagem grandes. Com ela, um LLM ganha a capacidade de:

  • Analisar a sintaxe — a estrutura do texto e a disposição dos elementos (palavras e frases);
  • Extrair a semântica — o significado profundo do texto e as inter-relações entre os elementos.

Existem vários métodos principais de tokenização, entre os quais se destacam:

  • Byte Pair Encoding (BPE): Um algoritmo que substitui iterativamente os pares de caracteres mais frequentes por novos tokens, o que permite processar eficientemente palavras raras e variações morfológicas.​
  • WordPiece: Utilizado em modelos como o BERT, divide as palavras em unidades de subpalavras, o que ajuda no processamento de palavras desconhecidas.
  • SentencePiece: Um método que trata o texto como uma sequência de caracteres e aplica modelos baseados em BPE ou Unigram para a tokenização.

A escolha do método de tokenização afeta o desempenho do modelo, sua capacidade de processar diferentes idiomas e a eficiência do treinamento.

Tokens especiais

Além dos tokens principais, os modelos também utilizam tokens especiais para designar elementos funcionais do texto, tais como:

  • [CLS] (class) — token de início de sequência, frequentemente utilizado para tarefas de classificação de texto;
  • [SEP] (separator) — separa diferentes partes do texto (por exemplo, pergunta e resposta, frases ou parágrafos);
  • [MASK] — token especial para indicar uma palavra que o modelo deve prever (usado no BERT e em outros modelos de linguagem mascarada);
  • [PAD] (padding) — utilizado para alinhar o texto em comprimento (preenchimento).

Esses tokens especiais ajudam os modelos a perceber com mais precisão a estrutura e o contexto do texto processado.

Tokens e janela de contexto

A janela de contexto (context window) é a quantidade máxima de tokens que um modelo consegue considerar e processar simultaneamente ao gerar texto.

Por exemplo, o modelo GPT-3 tem uma janela de contexto de 2048 tokens. Isso significa que, ao criar texto, o modelo pode considerar simultaneamente a informação contida em no máximo 2048 tokens do texto original. O tamanho da janela de contexto afeta:

  • O volume máximo de informação disponível para o modelo;
  • A qualidade e a coerência das respostas geradas;
  • A capacidade do modelo de compreender textos longos e manter o contexto ao longo de grandes distâncias entre os tokens.

Literatura

  • Sennrich, R.; Haddow, B.; Birch, A. (2016). Neural Machine Translation of Rare Words with Subword Units. arXiv:1508.07909.
  • Kudo, T.; Richardson, J. (2018). SentencePiece: A Simple and Language-Independent Subword Tokenizer and Detokenizer for Neural Text Processing. arXiv:1808.06226.
  • Kudo, T. (2018). Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates. arXiv:1804.10959.
  • Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
  • Song, X. et al. (2021). Fast WordPiece Tokenization. *EMNLP 2021*. ACL Anthology.
  • Mielke, S. J.; Dalmia, S.; Cotterell, R. (2021). A Brief History of Open-Vocabulary Modeling and Tokenization in NLP. arXiv:2112.10508.
  • Xue, J. et al. (2022). ByT5: Towards a Token-Free Future with Pre-trained Byte-to-Byte Models. arXiv:2105.13626.
  • Limisiewicz, T.; Balhar, J.; Mareček, D. (2023). Tokenization Impacts Multilingual Language Modeling: Assessing Vocabulary Allocation and Overlap Across Languages. arXiv:2305.17179.
  • Pourmostafa Roshan Sharami, J.; Shterionov, D.; Spronck, P. (2023). A Systematic Analysis of Vocabulary and BPE Settings for Optimal Fine-tuning of NMT. arXiv:2303.00722.
  • Batsuren, K. et al. (2024). Evaluating Subword Tokenization: Alien Subword Composition and OOV Generalization Challenge. arXiv:2404.13292.
  • Chai, Y. et al. (2024). Tokenization Falling Short: On Subword Robustness in Large Language Models. arXiv:2406.11687.