Básico7 min de leituraAtualizado
Como os modelos de linguagem leem o texto: tokens, embeddings e atenção
Os computadores não leem palavras. Como um modelo de linguagem transforma uma frase em tokens e números, e como a atenção lhe permite compreender o significado.
Passo 1: tokens
Um modelo não consegue ler letras como nós. Primeiro, um tokenizador corta o texto em tokens. As palavras comuns são um único token; as raras são divididas em pedaços:
| Texto | Tokens possíveis |
|---|---|
| «moderação» | moder · ação |
| «olá» | olá |
| «inacreditável!!» | in · acredit · ável · !! |
Os modelos multilingues partilham um único vocabulário (muitas vezes de 100 000 a 250 000 tokens) entre muitas línguas, por isso «insulto», «insult» e «Insulte» podem acabar perto uns dos outros. O número de tokens também decide o custo: um modelo tem um comprimento máximo (por exemplo 256 ou 512 tokens) e o tempo de cálculo cresce com ele.
Passo 2: embeddings
Cada token é transformado numa longa lista de números, chamada embedding (por exemplo 1024 números). Podes imaginá-la como coordenadas num espaço de significados: tokens com significado parecido ficam perto. «Idiota» e «estúpido» são vizinhos; «idiota» e «tomate» ficam longe.
Passo 3: atenção
Uma palavra sozinha é ambígua. Em «sentei-me num banco do jardim» e «abri uma conta no banco», o mesmo token significa duas coisas diferentes. A atenção resolve isto: em cada camada, cada token olha para todos os outros e junta a informação que importa. Depois de algumas camadas, a representação de «banco» é diferente nas duas frases.
Este é o núcleo do transformer, a arquitetura por trás de quase todos os modelos de linguagem modernos. Um modelo é uma pilha destas camadas (12, 24, 36 ou mais): as primeiras captam a gramática, as seguintes o significado, o tom e a intenção.
Encoders e decoders
Há duas grandes famílias:
- Os encoders (BERT, XLM-RoBERTa, mmBERT) leem o texto todo de uma vez, nos dois sentidos. Produzem uma representação da frase inteira, perfeita para classificar: é um insulto? É um spoiler? São pequenos e rápidos. A VigiMod assenta num encoder multilingue.
- Os decoders (GPT, Llama, Qwen, Mistral) leem da esquerda para a direita e geram texto token a token. São ótimos a escrever e a raciocinar, mas gerar é lento, sobretudo num CPU.
Para classificar com um decoder pode evitar-se a geração e ler a probabilidade do primeiro token da resposta («sim»/«não»), ou juntar uma pequena cabeça de classificação à sua representação interna.
Da leitura à decisão
Um classificador acrescenta uma pequena camada final por cima do modelo: pega na representação do texto e transforma-a numa pontuação por categoria. O treino ajusta esta camada e, normalmente, também o modelo por baixo (ver o que é um classificador de texto).
Porque é que o tamanho importa (e porque não é tudo)
Mais camadas e mais números por token permitem captar significados mais subtis: ironia, citações, contexto. Também significam mais cálculo para cada mensagem. Um encoder com 0,5 mil milhões de parâmetros responde em algumas dezenas de milissegundos num CPU; um decoder com 20 mil milhões que escreve o seu raciocínio pode demorar segundos. Para moderar um chat em direto, um modelo mais pequeno treinado com os dados certos é muitas vezes a melhor escolha. Como se tornam os modelos rápidos em computadores comuns é explicado em correr IA num CPU.
Teste-se
Responda às perguntas e depois verifique as respostas.
Continue a aprender
Veja em mensagens reais
Experimente a demo ao vivo ou leia como funciona a API.