Pular para o conteúdo

O que são LLMs?

Mapa da Unidade 1

Na seção anterior aprendemos que todo Agente precisa de um modelo de IA no seu núcleo, e que os LLMs são o tipo mais comum de modelo usado para isso.

Agora vamos entender o que são LLMs e como eles dão poder aos Agentes.

Esta seção é uma explicação técnica concisa. Se quiser se aprofundar, veja o curso gratuito de Processamento de Linguagem Natural da Hugging Face.

O que é um Grande Modelo de Linguagem?

Um LLM (Large Language Model) é um tipo de modelo de IA que se destaca em entender e gerar linguagem humana. Eles são treinados em quantidades enormes de texto, o que lhes permite aprender padrões, estrutura e até nuances da língua. Esses modelos costumam ter muitos milhões — ou bilhões — de parâmetros.

A maioria dos LLMs de hoje é construída sobre a arquitetura Transformer, uma arquitetura de aprendizado profundo baseada no algoritmo de "Atenção", que ganhou destaque desde o lançamento do BERT pelo Google em 2018.

Transformer
A arquitetura Transformer original, com um codificador à esquerda e um decodificador à direita.

Existem 3 tipos de Transformer:

  1. Codificadores (Encoders) Recebem texto (ou outro dado) como entrada e produzem uma representação densa desse texto (um embedding).
  1. Decodificadores (Decoders) Focam em gerar novos tokens para completar uma sequência, um token por vez.
  1. Seq2Seq (Codificador–Decodificador) Combinam os dois. O codificador processa a sequência de entrada em uma representação de contexto; o decodificador gera a sequência de saída.

Embora existam várias formas, LLMs são tipicamente modelos baseados em decodificador com bilhões de parâmetros. Alguns dos mais conhecidos:

Modelo Fornecedor
GPT OpenAI
Llama 3 Meta
Gemma Google
Mistral Mistral
DeepSeek-R1 DeepSeek
Qwen2 Alibaba — é o que usamos neste curso

O princípio por trás de um LLM é simples e muito eficaz: seu objetivo é prever o próximo token, dada uma sequência de tokens anteriores.

Um "token" é a unidade de informação com que o LLM trabalha. Você pode pensar em "token" como se fosse uma "palavra", mas por eficiência os LLMs não usam palavras inteiras.

Por exemplo: o português tem centenas de milhares de palavras, mas um LLM pode ter um vocabulário de apenas 32.000 tokens. A tokenização normalmente opera em pedaços de palavra que se combinam.

Pense em como os tokens "interess" e "ante" se combinam para formar "interessante", ou como "ado" pode ser acrescentado para formar "interessado".

Atenção

Guarde esta frase, porque ela explica quase todo comportamento estranho que você vai ver daqui em diante: o modelo prevê o token mais provável, não o token verdadeiro.

Ele não tem um banco de fatos que consulta. Ele tem uma noção estatística de que palavras costumam seguir quais palavras. Quando o texto provável coincide com o verdadeiro — o que acontece na maior parte do tempo — parece que o modelo "sabe". Quando não coincide, ele produz uma resposta igualmente fluente, igualmente confiante e errada. É o fenômeno que se chama de alucinação, e ele não é um defeito que será corrigido em versão futura: é uma consequência direta de como o modelo funciona.

É por isso que a resposta de um agente serve para te levar mais rápido até a fonte, nunca para substituir a leitura da fonte.

Tokens especiais

Cada LLM tem alguns tokens especiais, próprios do modelo. Eles servem para abrir e fechar os componentes estruturados da geração — indicar o início ou o fim de uma sequência, de uma mensagem ou de uma resposta. Os prompts que enviamos ao modelo também são estruturados com esses tokens.

O mais importante deles é o token de fim de sequência (EOS, End Of Sequence).

As formas variam bastante entre fornecedores:

Modelo Fornecedor Token EOS Função
GPT-4 OpenAI <\|endoftext\|> Fim do texto da mensagem
Llama 3 Meta <\|eot_id\|> Fim da sequência
DeepSeek-R1 DeepSeek <\|end_of_sentence\|> Fim do texto da mensagem
Gemma Google <end_of_turn> Fim do turno de conversa
Qwen2 Alibaba <\|im_end\|> Fim da mensagem

Vendo isso no seu próprio modelo

Você não precisa acreditar na tabela — dá para conferir no modelo que está rodando na sua máquina. Com o Ollama ativo:

ollama show qwen2:7b --template

A saída é longa e cheia de {{ }} — não se assuste. Esse é o template de chat do modelo: a peça que transforma uma lista de mensagens em uma única string de texto, que é o que o modelo de fato recebe. Os {{ }} são os buracos onde o conteúdo é encaixado.

Destacando a parte essencial dela:

<|im_start|>system
{{ .System }}<|im_end|>
<|im_start|>user
{{ .Content }}<|im_end|>
<|im_start|>assistant

Repare em dois detalhes:

Para ver quais tokens fazem o modelo parar de gerar:

ollama show qwen2:7b --parameters

Saída:

stop                           "<|im_start|>"
stop                           "<|im_end|>"
Nota

Você não precisa memorizar esses tokens. O importante é entender que o modelo não recebe "mensagens" — ele recebe uma string única, montada pelo template. A biblioteca faz essa montagem para você. Quando algo estranho acontecer no comportamento do seu agente, esse é um dos primeiros lugares para olhar.

Entendendo a previsão do próximo token

LLMs são autorregressivos: a saída de uma passagem vira a entrada da próxima. O laço continua até que o modelo preveja o token EOS, quando então ele para.

Decodificação autorregressiva

Em outras palavras: o LLM decodifica texto até chegar ao EOS. Mas o que acontece dentro de um único laço de decodificação?

Decodificação

A partir dessas pontuações, há várias estratégias para escolher o token:

Este é o momento de entender o parâmetro temperatura, que você vai encontrar em toda biblioteca de LLM: ele controla o quanto a escolha se afasta do token mais provável. Temperatura baixa (perto de 0) torna a saída mais determinística e repetitiva; temperatura alta a torna mais variada e mais propensa a erro. Para agentes, temperatura baixa costuma ser o certo — você quer que ele escolha a Tool correta, não que seja criativo.

"Atenção é tudo o que você precisa"

Um aspecto central da arquitetura Transformer é a Atenção. Ao prever a próxima palavra, nem toda palavra da frase tem o mesmo peso: em "A capital da França é ...", as palavras "capital" e "França" carregam quase todo o significado.

Atenção

Esse mecanismo de identificar as palavras mais relevantes se mostrou extremamente eficaz.

Embora o princípio básico — prever o próximo token — não tenha mudado desde o GPT-2, houve avanços significativos em escalar redes neurais e em fazer a atenção funcionar para sequências cada vez mais longas.

Se você já usou um LLM, provavelmente conhece o termo janela de contexto (context length): o número máximo de tokens que o modelo consegue processar de uma vez. É exatamente o num_ctx=8192 que configuramos na Unidade 0.

Atenção

Contexto é um recurso finito, e agentes consomem contexto rápido. A cada passo do ciclo, o histórico de pensamentos, ações e observações vai se acumulando no prompt. Quando estoura a janela, o começo da conversa é descartado — e o agente literalmente esquece o que estava fazendo. Se o seu agente começa a se repetir ou a perder o objetivo depois de alguns passos, suspeite disso primeiro.

O prompt importa

Considerando que o único trabalho do LLM é prever o próximo token olhando para todos os tokens de entrada, e decidir quais são "importantes", a forma como você escreve a entrada importa muito.

A sequência de entrada que você fornece ao LLM é chamada de prompt. Um prompt bem projetado torna mais fácil guiar a geração do modelo na direção da saída desejada.

Como os LLMs são treinados?

LLMs são treinados em grandes conjuntos de texto, onde aprendem a prever a próxima palavra de uma sequência através de um objetivo auto-supervisionado.

Desse aprendizado não supervisionado, o modelo aprende a estrutura da língua e os padrões subjacentes do texto, o que lhe permite generalizar para dados que nunca viu.

Depois desse pré-treinamento inicial, os LLMs podem ser ajustados (fine-tuning) para tarefas específicas. Alguns modelos são treinados para estrutura conversacional ou para uso de Tools; outros focam em classificação ou geração de código.

Nota

O qwen2:7b que você baixou é um modelo ajustado para instrução e para uso de Tools. Isso não é detalhe: um modelo apenas pré-treinado completaria seu texto em vez de responder a ele, e não saberia produzir o formato de chamada de Tool que os Agents precisam.

Como posso usar um LLM?

Há dois caminhos:

  1. Rodar localmente, se você tem hardware suficiente.
  2. Usar uma API na nuvem, como a da OpenAI ou a Inference API da Hugging Face.

O curso original da Hugging Face segue o caminho 2. Nesta versão seguimos o caminho 1 — é o que você já configurou na Unidade 0.

Local (Ollama) Nuvem (API)
Dados enviados a terceiros Nenhum Todo o prompt
Custo Zero após instalar Por token processado
Velocidade Segundos, na CPU Milissegundos
Qualidade do modelo Limitada pelo seu hardware Os maiores modelos disponíveis
Funciona offline Sim Não
Precisa de conta/token Não Sim

Nenhum dos dois é melhor em abstrato. Para aprender e para trabalhar com material sensível, local ganha. Para tarefas que exigem o máximo de capacidade de raciocínio e não envolvem dado restrito, a nuvem ganha.

Como você viu na Unidade 0, trocar de um para o outro é uma linha de código. Aprenda com o local; se um dia precisar da nuvem, o resto do seu código continua igual.

Como LLMs são usados em Agentes?

O LLM é o componente central de um Agente de IA, fornecendo a base para entender e gerar linguagem humana.

Ele interpreta instruções do usuário, mantém contexto na conversa, define um plano e decide quais Tools usar.

Vamos detalhar cada uma dessas etapas nesta unidade. Por ora, o que você precisa guardar é: o LLM é o cérebro do Agente — e um cérebro que só sabe produzir texto. Tudo o que o agente faz de fato acontece porque um programa ao redor interpretou esse texto e executou algo.

Fixando o capítulo

Nota

Três perguntas para responder antes de seguir. Sem nota, sem registro — servem para descobrir o que passou batido.

Q1: Mecanicamente, o que um LLM faz?


Q2: Por que o modelo não conhece nenhum processo do acervo do Tribunal?


Q3: Um modelo pergunta a si mesmo quando deve parar de gerar. Como isso funciona de verdade?


Foi bastante informação. Cobrimos o que são LLMs, como funcionam e qual é o papel deles nos agentes.

Agora que entendemos como LLMs funcionam, é hora de ver como eles estruturam suas gerações em um contexto conversacional: siga para Mensagens e tokens especiais.