Lição 1 de 8 · 7 min

Os tokens, unidade de base do modelo

Porque é que um modelo não lê letras nem palavras, mas tokens, e o que isso muda para si.

ObjetivoExplicar o que é um token, como um texto é dividido e porque é que o comprimento de um texto se conta em tokens.

Um modelo de linguagem só manipula números. Antes de qualquer cálculo, o texto é portanto dividido em pedaços chamados tokens, e cada token recebe um número num vocabulário fixo. Esta divisão chama-se tokenização.

Os tokens não são letras nem palavras inteiras. Uma palavra comum cabe muitas vezes num único token. Uma palavra rara, um nome próprio ou um termo técnico é cortado em vários pedaços frequentes. O método mais difundido, a codificação por pares de bytes, parte dos caracteres e funde passo a passo os pares que aparecem com mais frequência num grande corpus.

A43␣apr9811endiz306agem22109␣esp1891aç7356ada12340␣funciona710.13
Uma divisão ilustrativa. Cada pedaço recebe um número, o modelo só vê esses números.

O que isto explica

  • O tamanho de um documento, o limite de uma conversa e muitas vezes o custo contam-se em tokens, não em palavras.
  • Um texto em português, francês ou alemão exige em geral mais tokens do que o mesmo texto em inglês, porque os vocabulários foram construídos sobre corpora maioritariamente ingleses.
  • Contar as letras de uma palavra ou escrevê-la ao contrário é difícil para um modelo. Não vê as letras, vê pedaços.
Menos eficaz

Quantos «r» há em «recorrer»?

Mais eficaz

Soletra «recorrer» letra a letra e depois conta os «r».

Ao pedir que soletre primeiro, obriga o modelo a produzir as letras uma a uma, o que ele sabe fazer, antes de contar.

Referências

  1. Sennrich, Haddow, Birch (2016). Neural Machine Translation of Rare Words with Subword Units. Proceedings of the 54th Annual Meeting of the ACL, p. 1715–1725. doi.org/10.18653/v1/P16-1162