Pular para o conteúdo
Voltar para o acervo

O que é um LLM de verdade: token, embedding e atenção

Sem misticismo e sem matemática: o que o modelo faz, por que ele alucina, e como isso muda as suas decisões de arquitetura.

· Gabriel Dias
llmtokenembeddingatencao

A coisa mais útil que dá para entender sobre um modelo de linguagem é também a mais desconfortável:

Ele não sabe nada. Ele prevê o próximo pedaço de texto.

Não consulta uma base. Não raciocina no sentido em que usamos a palavra. Não tem opinião nem intenção. Ele produz uma distribuição de probabilidade sobre o próximo token, escolhe um, acrescenta ao texto, e repete, rápido o suficiente para parecer conversa.

Essa frase parece redutora. Ela é a chave para tudo o que vem depois.

Token: a unidade que define preço e limite

O modelo não enxerga letras nem palavras. Enxerga tokens, que são pedaços de palavra.

Regra prática: em inglês, um token equivale a cerca de quatro caracteres; cem tokens dão umas setenta e cinco palavras.

Em português é pior. Os tokenizadores foram treinados majoritariamente em inglês, então o mesmo texto em português consome de vinte a quarenta por cento mais tokens. Literalmente: você paga mais caro para dizer a mesma coisa no seu idioma.

Três consequências práticas:

Preço. A cobrança é por token de entrada e de saída, com preços diferentes: saída costuma ser várias vezes mais cara. Isso muda o desenho: pedir uma resposta curta e estruturada é mais barato que pedir um texto longo.

Limite. A janela de contexto é medida em tokens, e tudo conta: instrução, histórico, documento recuperado e a resposta que ainda será gerada.

Comportamento. Contar letras numa palavra é difícil porque o modelo não vê letras. Matemática com número grande falha porque o número é quebrado em pedaços arbitrários. Não é burrice; é representação.

Embedding: significado virando geometria

Embedding transforma texto num vetor de números (centenas ou milhares de dimensões) de tal forma que textos com significado parecido ficam próximos nesse espaço.

Próximos medidos por similaridade de cosseno, que compara o ângulo entre os vetores.

O que isso destrava: busca por significado. "Como cancelo minha assinatura" encontra um documento que fala em "encerrar plano", mesmo sem uma palavra em comum. Busca tradicional por palavra-chave não encontraria.

O que embedding não faz bem, e é onde as pessoas se decepcionam:

Negação. "Com juros" e "sem juros" ficam próximos, porque os textos são quase idênticos.

Identificadores. Código de produto, número de nota fiscal, SKU: embedding é ruim nisso.

Jargão de domínio. Um modelo genérico não conhece o vocabulário interno da sua empresa.

É por isso que, na prática, busca híbrida (semântica mais palavra-chave) quase sempre ganha de qualquer uma sozinha.

Atenção: o mecanismo que fez funcionar

Ao produzir cada token, o modelo olha para todos os anteriores e pesa quais importam.

Na frase "o cachorro que estava no quintal latiu", para decidir quem latiu, o modelo precisa ligar "latiu" a "cachorro" e não a "quintal". A atenção faz isso.

Esse mecanismo, apresentado em 2017 no artigo "Attention Is All You Need", é a razão do salto de qualidade que levou aos modelos atuais.

O custo: a atenção compara cada token com todos os outros, o que cresce com o quadrado do tamanho do contexto. É por isso que contexto longo é caro e lento, e por isso existe tanta pesquisa em atenção eficiente.

Como um modelo vira um assistente

Três etapas, e elas explicam muita coisa.

Pré-treino. Ele lê uma quantidade enorme de texto e aprende apenas a prever o próximo token. Aqui adquire conhecimento e linguagem. É a etapa que custa dezenas de milhões de dólares.

Ajuste supervisionado (SFT). Mostram a ele milhares de exemplos de conversa boa: pergunta e resposta ideal. Aqui ele aprende o formato de assistente.

Alinhamento por preferência (RLHF e variantes). Humanos comparam pares de respostas e indicam qual é melhor. O modelo é ajustado para produzir o tipo preferido. Aqui ele aprende tom, recusa e utilidade.

Isso explica por que o modelo base sabe muito e é péssimo de conversar, e por que produtos construídos sobre modelos parecidos se comportam de forma tão diferente. As duas últimas etapas são grande parte da diferença.

  1. 1Pré-treinoLê texto em quantidade enorme e aprende só a prever o próximo token. Aqui adquire conhecimento. Custa dezenas de milhões.
  2. 2Ajuste supervisionadoMilhares de exemplos de conversa boa. Aqui aprende o formato de assistente.
  3. 3Alinhamento por preferênciaHumanos comparam pares de respostas. Aqui aprende tom, recusa e utilidade.
As três etapas explicam por que dois produtos sobre modelos parecidos se comportam tão diferente.

Alucinação não é bug

Esta é a parte mais importante.

O modelo inventa com confiança porque foi treinado para produzir o texto mais provável. Um texto plausível é mais provável que uma recusa. E não existe nele um mecanismo interno que separe "eu sei" de "eu estou completando".

Alucinação é consequência direta do objetivo de treino.

O que reduz, em ordem de eficácia:

  1. Dar o contexto certo. É para isso que serve RAG.

  2. Exigir citação da fonte. Torna a invenção verificável.

  3. Ensinar a recusar. Instrução explícita mais exemplos de recusa no prompt. Sem exemplo, o modelo não aprende o formato da recusa.

  4. Temperatura baixa para tarefas factuais.

  5. Verificar a saída com código determinístico. Se o modelo devolveu um id, confira se ele existe.

O que não reduz: pedir por favor para não alucinar.

A regra que resume: modelo propõe, código dispõe.

Temperatura e janela de contexto

Temperatura controla o quanto a escolha do próximo token se afasta do mais provável. Perto de zero é o mais determinístico possível, ainda assim não totalmente reproduzível, por causa de detalhes de execução paralela.

Extração, classificação e código pedem temperatura baixa. Redação criativa pede alta.

Janela de contexto cresceu muito: hoje temos de centenas de milhares a um milhão de tokens. Mas contexto grande não significa atenção uniforme: existe o efeito documentado de perder o que está no meio. O modelo presta mais atenção ao começo e ao fim.

Consequência de projeto: instrução no começo, material no meio, pergunta no fim.

E o custo cresce com o contexto. Enfiar um documento gigante em toda chamada é caro e piora a qualidade. Recuperar o trecho certo é melhor que mandar tudo, que é, mais uma vez, o argumento do RAG.

O que levar

Token define preço e limite. Embedding permite busca por significado, com pontos cegos conhecidos. Atenção é o mecanismo, e é o que torna contexto caro. Alucinação é consequência do objetivo, não defeito.

E a decisão de arquitetura que decorre de tudo isso: o seu trabalho não é escrever um prompt bonito. É decidir o que entra na janela, em que ordem, e o que fica de fora.

Leia depois disto

Fala comigo

Dúvida sobre o artigo? Me chama no WhatsApp

Sem formulário e sem lista de e-mail. Se você discorda de alguma coisa que eu escrevi, ou quer contar como resolveu aí, a conversa é direta comigo.

Abrir conversa