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.
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.
Quantos «r» há em «recorrer»?
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
- 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