Fazendo um LLM do Zero — Sessão 07: De Gerador de Texto a Assistente (Instruction Tuning) 💬🤝

Fazendo um LLM do Zero — Sessão 07: De Gerador de Texto a Assistente (Instruction Tuning) 💬🤝
Chegamos ao último grande marco da nossa jornada.

Até aqui, construímos um modelo que sabe tudo sobre a estrutura da língua (Sessão 05) e que até aprendeu uma profissão específica (Sessão 06).

Mas ainda faltava um “tempero” essencial para que ele se parecesse com o ChatGPT que usamos no dia a dia.

Se você pedisse ao nosso modelo da Sessão 05: “Escreva uma receita de bolo”, ele poderia simplesmente responder: “…e uma lista de ingredientes para o jantar”. Ele não entendeu que você deu uma ordem; ele achou que você estava apenas começando um texto que ele deveria completar.

Na Sessão 07, resolvemos isso com o Instruction Tuning. Como Sebastian Raschka explora no Capítulo 7 de seu livro, este é o processo de

Alinhamento: ensinar o modelo a entender a intenção humana e a agir como um assistente útil.

1. O Modelo Base vs. O Assistente

A diferença entre um modelo treinado em texto bruto e um modelo alinhado é a diferença entre um estudante que leu todos os livros da biblioteca e um profissional que sabe atender um cliente.

O modelo base é um “completador de frases”. O modelo alinhado é um seguidor de instruções.

Image 9

2. A Gramática das Ordens: Formato Instrução-Resposta

Para que o modelo aprenda a nos obedecer, não podemos simplesmente jogar texto aleatório nele. Precisamos de exemplos estruturados. Como

Sebastian Raschka detalha, usamos um formato específico que separa a Instrução, o Contexto (Input) e a Resposta Esperada.

Image 10

É como dar um roteiro para um ator: “Sempre que alguém te pedir X, você deve responder Y”. Com exemplos suficientes, o modelo entende o padrão de interação.

3. O Truque do Mestre: Mascaramento da Loss

Aqui entra um detalhe técnico brilhante que vimos nesta sessão. Durante o treino, nós não queremos que o modelo aprenda a “prever a pergunta”. A pergunta (instrução) já está lá! Nós queremos que ele foque toda a sua energia em aprender a Resposta.

Join Medium for free to get updates from this writer.

Para isso, usamos o Mascaramento da Loss.

Image 11

Nós ignoramos os erros que o modelo comete enquanto lê a pergunta e só ajustamos os neurônios dele quando ele começa a escrever a resposta. Isso força o modelo a ser um “resolvedor de problemas”, não apenas um papagaio.

4. O Pipeline de Supervised Fine-Tuning (SFT)

O processo de transformar o modelo base em assistente é chamado de SFT. É uma linha de montagem de alta precisão: pegamos os pesos pré-treinados, passamos pelo dataset de instruções e avaliamos a qualidade da conversa.

Image 12

5. Como Medir a Utilidade?

Como saber se um assistente é bom? Diferente da classificação (Sessão 06), aqui não existe “certo ou errado” absoluto. Uma receita de bolo pode ser escrita de mil formas diferentes.

Por isso, a avaliação deixa de ser apenas matemática e passa a ser qualitativa. O modelo é coerente? Ele foi educado? Ele seguiu todas as restrições da instrução?

Image 13

🏁 O Fim da Jornada (E o Começo da Próxima)

Com a conclusão da Sessão 07, fechamos o ciclo completo de construção de um LLM:

1. Preparamos o terreno (Sessão 00 e 01).

2. Transformamos texto em números (Sessão 02).

3. Criamos o mecanismo de atenção (Sessão 03).

4. Montamos o corpo do GPT (Sessão 04).

5. Ensinamos o modelo a falar (Sessão 05).

6. Damos a ele uma especialidade (Sessão 06).

7. E, finalmente, o ensinamos a conversar e seguir instruções (Sessão 07).

O que antes era uma caixa preta mágica agora é um sistema que você construiu, peça por peça, do zero. A inteligência artificial não é mágica; é engenharia, é matemática e, acima de tudo, é a curiosidade de entender como os fios se conectam.

🚀 Explore o Capítulo Final

No notebook da Sessão 07, implementamos o treinamento de instruções e vimos o nosso GPTMini deixar de ser um gerador aleatório para se tornar um mini-assistente conversacional.

👇 Confira o resultado final:

📓 Notebook no Google Colab:Rodar Sessão 07

📂 Repositório GitHub:vongrossi/fazendo-um-llm-do-zero

Obrigado por acompanhar essa serie de posts. Agora que você sabe como um LLM é feito, o que você vai construir com esse conhecimento? 🛠️🧠

Leave a Reply