De modelo base a ChatGPT: SFT, ferramentas e reinforcement learning
Parte 2 de 2. Como o modelo base do artigo anterior é transformado no assistente que você usa todo dia.
No primeiro artigo, o modelo parou num lugar estranho: ele domina a estatística da linguagem, mas não serve pra quase nada. Se você pergunta “Quanto é 2 + 2?”, ele pode continuar inventando novas perguntas no lugar de responder, repetir trechos do dataset ou simplesmente divagar. Ele completa sequência, e só. Nada nele sabe o que é uma instrução, um papel de assistente ou uma resposta que termina na hora certa.
Transformar esse modelo base no ChatGPT é o trabalho de mais duas etapas: o supervised fine-tuning, que ensina o comportamento de assistente, e o reinforcement learning, que refina o raciocínio. Junto com o pré-treinamento que já vimos, esse é o ciclo completo de construção de uma LLM moderna.
As três etapas que transformam o modelo base no assistente: pré-treinamento, SFT e reinforcement learning.
SFT: ensinando o modelo a ser assistente
O Supervised Fine-Tuning (SFT) é a primeira etapa que converte o mecanismo genérico de previsão num sistema que segue instrução. Ele aproveita uma coisa que o modelo base já sabe fazer, o in-context learning, mas de forma sistemática, usando exemplos curados pra induzir um padrão de resposta consistente.
Pra isso funcionar, o modelo precisa ver exemplos explícitos de como um assistente deve se comportar. Em 2022 a OpenAI descreveu esse processo no artigo “Training Language Models to Follow Instructions with Human Feedback”. A ideia foi montar um dataset especializado, muito menor que o material de pré-treinamento, porém muito mais qualificado. Ele reúne consultas produzidas por humanos, respostas-modelo escritas à mão, diálogos completos estruturados entre usuário e assistente, e exemplos que demonstram o formato, o estilo e a organização que se espera de uma boa resposta. Boa parte desse material foi coletada por freelancers contratados, com a função de servir de referência explícita do comportamento ideal.
Tem um detalhe estrutural importante aqui. Pra o modelo diferenciar quem está falando e saber onde cada mensagem começa e termina, entram tokens especiais que funcionam como marcadores. Eles indicam onde uma mensagem inicia e acaba, qual agente está falando, como separar metadados do conteúdo e quando parar de gerar. Num formato simplificado, uma conversa fica assim, com os marcadores cercando cada turno:
Um exemplo do dataset de SFT: marcadores especiais delimitam cada turno e o fine-tuning ensina onde a própria resposta termina.
Na prática esses marcadores aparecem tokenizados como im_start, im_sep e im_end, e durante o fine-tuning eles passam a fazer parte do vocabulário. Sistemas como o ChatGPT dependem deles pra formatar o prompt, monitorar a geração e cortar a saída quando o token de término aparece. Sem esses marcadores, o modelo base não tem como saber onde a resposta acaba nem como separar a fala dele da fala do usuário, e por isso tende a continuar gerando texto sem parar, inventando até mensagens fictícias atribuídas ao usuário.
O treino em si consiste em apresentar ao modelo o prompt formatado, a resposta humana de referência, e ajustar os parâmetros pra reduzir a diferença entre o que o modelo prevê e a resposta-alvo. Isso ensina a LLM a assumir o papel de assistente, estruturar resposta de forma clara, manter consistência ao longo da conversa, respeitar o formato de diálogo e refletir o estilo presente no dataset. Vale reter um ponto que muita gente entende errado: o modelo não cria uma personalidade, ele replica a personalidade que está implícita nos exemplos do SFT. Se você troca o dataset, muda o comportamento do assistente. O dataset original da OpenAI é fechado, mas existem iniciativas públicas com a mesma lógica, como o OpenAssistant, que deixam claro exatamente isso: o comportamento do assistente vem do SFT, não do pré-treinamento.
Reduzindo alucinação e conectando ferramentas
O SFT não ajusta só o comportamento geral. Ele é também a etapa principal pra atacar dois problemas concretos: a alucinação e a falta de acesso a informação externa.
Mesmo depois do SFT, o modelo continua sendo um previsor de token. Quando ele não tem dado suficiente sobre um assunto, o comportamento natural dele é completar com algo que pareça plausível, ainda que esteja errado. Em modelo menor isso é ainda mais comum, porque a capacidade de armazenar conhecimento é reduzida. Não tem nada de intencional nisso, é só o modelo cumprindo a função básica dele, gerar a continuação mais provável. Pega um exemplo real do material: pergunte “Quem é Joaquim Tadewald?” e o modelo pode devolver uma biografia inteira, detalhada e convincente, de uma pessoa que não existe.
A forma de reduzir isso é treinar o modelo com exemplos que mostram como agir quando ele não sabe. O processo é direto: cria-se um conjunto de perguntas pras quais o modelo normalmente inventaria resposta, produz-se pra elas uma resposta correta e conservadora do tipo “não tenho informação suficiente sobre isso”, e ajusta-se o modelo pra imitar esse comportamento. Ele aprende um padrão, que é responder de forma conservadora quando a confiança é baixa. Isso não elimina toda alucinação, mas derruba bastante a frequência e melhora a segurança. Modelos maiores treinados assim aprendem a reconhecer quando não têm informação confiável e respondem algo como “não encontrei dados sobre essa pessoa”.
A segunda habilidade ensinada aqui é saber quando pedir ajuda de uma ferramenta externa, tipo um mecanismo de busca ou uma calculadora. E tem uma sutileza que importa muito pra quem constrói sistemas com IA: o modelo não executa a ferramenta, ele só sinaliza que precisa dela.
O modelo não executa a ferramenta: ele emite um token especial, o sistema roda a ação real e devolve o resultado ao contexto.
O modelo recebe exemplos em que a resposta certa depende de uma fonte externa, e nesses exemplos a resposta inclui um token especial, por exemplo search_tool. O sistema que roda o modelo detecta esse token e faz a ação de verdade, buscar na internet ou calcular. O resultado volta pro modelo, que aí sim produz a resposta final. O que ele aprende é quando pedir ajuda, não como realizar a ação. Lidar com alucinação e integrar ferramenta não são capacidades naturais de uma LLM, são comportamentos ensinados no SFT, e é isso que prepara o terreno pro alinhamento mais avançado que vem com o reinforcement learning.
Tokens são o raciocínio do modelo
Tem um ponto que muda completamente a forma de escrever prompt, e ele parte de uma pergunta simples: como o modelo “pensa”? A resposta contraintuitiva é que ele não elabora a resposta inteira internamente pra depois escrever. O raciocínio acontece enquanto ele gera os tokens. Cada token produzido é influenciado pelos que vieram antes, e essa cadeia funciona como a própria linha de pensamento dele.
O exemplo do material deixa isso concreto. Considere o problema: “Emily compra 3 maçãs e 2 laranjas. Cada laranja custa 2 reais. Ela pagou 13 no total. Quanto custa cada maçã?”. Compare duas formas de responder.
Resposta curta aposta tudo num único passo; resposta estruturada cria contexto que sustenta o token final.
A segunda forma quase sempre acerta mais, mesmo sendo mais longa. O motivo é que o modelo é autoregressivo: cada token depende só dos tokens anteriores. Na resposta curta, ele precisa produzir o “3” praticamente sem contexto, então a decisão inteira cai num único passo probabilístico. Na resposta estruturada, toda a sequência de cálculos e relações numéricas cria um contexto robusto que empurra a probabilidade na direção do token certo. O raciocínio auxiliar não é enfeite, ele faz parte do mecanismo de previsão.
É daí que vem, sem mágica nenhuma, a eficácia de instruções como “pense passo a passo”, “mostre o cálculo” ou “resolva por etapas”. Elas funcionam porque aumentam a quantidade de tokens úteis que sustentam o resultado. Em qualquer tarefa com lógica, cálculo ou decomposição de problema, pedir pro modelo explicitar o raciocínio antes da conclusão melhora bastante a acurácia, reduz caminho de erro e ainda facilita ele detectar as próprias inconsistências no meio do caminho. Dá pra resumir a ideia central assim: o modelo não pensa antes de gerar token, ele pensa gerando token.
Reinforcement Learning: deixar o modelo descobrir sozinho
Mesmo depois do pré-treinamento e do SFT, os modelos continuam errando em tarefas que exigem raciocínio técnico, principalmente na área de STEM. Eles memorizam muito conhecimento, mas têm dificuldade de organizar cadeias de raciocínio de forma consistente, tendem a encurtar o caminho, pular etapa e priorizar resposta rápida. Isso não é falta de dado, é uma limitação da própria dinâmica autoregressiva. Pra atacar esse ponto entra o Reinforcement Learning (RL).
A lógica lembra como a gente aprende assunto difícil. Primeiro estuda a teoria, depois vê exemplo resolvido, e por fim consolida praticando por conta própria, errando e corrigindo. O modelo já cumpriu os dois primeiros estágios: o pré-treinamento foi a teoria em larga escala, o SFT foi o aprendizado por demonstração. O que falta é a prática ativa, e é esse espaço que o RL preenche.
O desafio é definir o que conta como boa resposta. A gente sabe que resposta estruturada tende a funcionar melhor, mas pro modelo tanto a longa quanto a curta são apenas sequências de token. Não dá pra simplesmente impor a preferência humana, porque nem sempre o que parece melhor pra gente é o padrão mais eficiente pra dinâmica interna do modelo. A solução do RL é elegante: deixa o próprio modelo descobrir.
No RL o modelo gera várias respostas, descarta as erradas e reforça as corretas mais enxutas como novos exemplos.
Pra cada problema técnico, a LLM gera várias respostas. Algumas acertam, outras não. As erradas caem fora. Entre as certas, o treino seleciona as que chegam ao resultado com a estrutura mais enxuta e eficiente, e essas viram um novo conjunto de exemplos pra reforçar o comportamento. Na prática é como instruir o modelo: “esse estilo de raciocínio levou à solução correta, replique essa estratégia”. O poder disso está em permitir que o modelo aprenda padrões de raciocínio que ninguém escreveu à mão, que emergem do próprio comportamento dele quando exposto a desafio estruturado.
A escolha por resposta mais econômica em token não tem nada a ver com estética. Em modelo autoregressivo, sequência mais curta costuma corresponder a cadeia de raciocínio mais direta, com menos dispersão estatística, o que reduz variação e diminui os caminhos alternativos que levam ao erro. O usuário final não precisa receber resposta curta, o ponto é treinar o modelo a organizar internamente um raciocínio mais limpo. O RL não substitui as etapas anteriores, ele é o refinamento final: é onde o modelo passa a analisar o próprio desempenho, reconhecer o que funciona e ajustar os parâmetros pra repetir aquilo, deixando de só reproduzir padrão observado pra desenvolver estrutura de raciocínio mais confiável.
O estado atual e onde acompanhar
Enquanto o pré-treinamento e o SFT já são procedimentos bem padronizados na indústria, o RL aplicado a LLM ainda é terreno em transformação rápida. Não existe método dominante nem consenso fechado, cada laboratório desenvolve a própria abordagem, muitas vezes inédita e pouco documentada.
Um dos avanços mais marcantes desse cenário veio do DeepSeek R1, lançado por uma empresa chinesa. Ele demonstrou desempenho de raciocínio superior ao de várias alternativas comerciais bem maiores, mesmo tendo cerca de 600 bilhões de parâmetros, um número substancialmente menor que o dos modelos proprietários de ponta. Isso mexeu com a percepção de que só escalou matemática, o modelo faz uma etapa de reflexão interna antes de responder, gerando uma sequência de tokens que representa o processo de raciocínio dele. Isso conecta direto com o princípio da seção anterior: LLM raciocina gerando token, então deixar ela “pensar” mais antes de responder aumenta a precisão. E o detalhe crucial é que essas cadeias não foram fornecidas à mão, o modelo aprendeu a produzi-las via RL, reforçando os processos internos que levavam ao acerto.
Um fenômeno curioso observado no DeepSeek R1 foi o que os autores chamaram de “aha moment”. Durante o raciocínio interno, o modelo tentava múltiplas abordagens, explorava caminhos alternativos e, em certo ponto, mudava abruptamente de direção, como se tivesse percebido uma relação importante ou notado um erro no próprio raciocínio. Ninguém programou isso, emergiu das iterações de RL. Essa capacidade de reorganizar o próprio processo permitiu ao modelo superar benchmarks bem exigentes como o AIME 2024 e o Codeforces, reforçando na prática o princípio que atravessa os dois artigos: o modelo raciocina melhor quando tem espaço pra gerar sequências internas mais longas e explorar alternativas.
Pra acompanhar essa evolução, que muda quase toda semana, algumas fontes valem a pena. O lmarena.ai mantém um leaderboard onde usuários avaliam respostas sem saber qual modelo produziu cada uma, o que gera ranking confiável por categoria, texto, visão, código, multimodalidade. A newsletter da news.smol.ai traz atualização frequente sobre lançamento, técnica de treino e análise de benchmark. A aba Trending do GitHub, filtrando por Python, mostra quais projetos ligados a LLM estão ganhando tração, geralmente framework de agente, biblioteca de execução local e ferramenta de automação. E o subreddit r/LocalLLaMA concentra discussão técnica sobre modelo open-source rodando localmente, quantização, desempenho em hardware doméstico e finetuning customizado.
Entender esse ciclo inteiro, do Common Crawl até o RL, tira a IA do lugar de caixa-preta. Quando você sabe que o modelo prevê token por token, que o comportamento de assistente veio do SFT e que o raciocínio se constrói na geração, suas decisões de prompt e de arquitetura deixam de ser tentativa e erro. É esse o próximo passo que eu recomendo: pegar um problema real seu e testar as ideias daqui, comparar resposta direta com resposta estruturada, observar quando o modelo pede ferramenta, medir onde ele alucina.
Próximos passos
Esta série cobriu o caminho completo de uma LLM, do dado bruto ao assistente. A Parte 1 mostrou como o modelo sai do Common Crawl e chega ao modelo base, passando por Transformer, tokenização e pré-treinamento. Esta segunda parte pegou esse modelo base e mostrou como o SFT ensina o papel de assistente, como a alucinação e o uso de ferramentas são treinados, e como o reinforcement learning refina o raciocínio.
Se você quer ver esse tipo de modelo dentro de uma arquitetura real de software, vale ler também Amazon Bedrock na prática: IA como parte da arquitetura, onde a IA deixa de ser conceito e vira parte de um sistema em produção.
Este é o fechamento de uma série de dois artigos sobre o funcionamento interno das LLMs. Se o conteúdo te ajudou, me acompanhe no LinkedIn e no GitHub.