Introdução: Como funcionam os LLMs
Entenda a mecânica fundamental dos LLMs para conseguir raciocinar sobre sistemas reais com modelos de linguagem
Objetivos de aprendizagem
- •Entender como a arquitetura Transformer permite a geração de texto
- •Aprender sobre predição do próximo token e geração autoregressiva
- •Reconhecer as limitações dos LLMs em relação a memória e compreensão
A arquitetura Transformer
Grandes modelos de linguagem (LLMs) são redes neurais treinadas em quantidades massivas de texto para entender e gerar linguagem semelhante à humana. Em essência, funcionam prevendo o token mais provável em uma sequência.
Os LLMs modernos são construídos sobre a arquitetura Transformer, introduzida no artigo de 2017 "Attention Is All You Need". A inovação central é o mecanismo de atenção, que permite ao modelo ponderar a relevância de diferentes partes da entrada ao gerar cada token de saída.
Quando você envia um prompt a um LLM, acontece o seguinte:
- Tokenização: Seu texto é dividido em tokens (palavras ou pedaços de palavras)
- Embedding: Cada token é convertido em um vetor numérico
- Processamento: Os vetores passam por múltiplas camadas transformer
- Predição: O modelo produz probabilidades para o próximo token
- Geração: Um token é selecionado e o processo se repete
Predição do próximo token
LLMs são fundamentalmente modelos autoregressivos. Isso significa que geram texto um token por vez, usando todos os tokens anteriores como contexto. O modelo não "compreende" no sentido humano — ele prevê padrões estatísticos aprendidos dos dados de treinamento.
Por exemplo, quando você digita "A capital da França é", o modelo prevê "Paris" com alta probabilidade porque viu esse padrão milhões de vezes nos dados de treinamento.
Ideia central
O modelo não tem memória entre conversas. Cada requisição começa do zero. O que parece "compreensão" é na verdade correspondência sofisticada de padrões entre bilhões de parâmetros aprendidos durante o treinamento.
O modelo pode gerar código porque aprendeu os padrões estatísticos de como o código é estruturado a partir de milhões de exemplos.