coding4 min read

Fazendo um LLM do Zero: Instruction Tuning para Assistentes

Aprenda a transformar um modelo de linguagem em um assistente conversacional por meio do Instruction Tuning. Descubra as etapas essenciais neste guia.

Fazendo um LLM do Zero: Instruction Tuning para Assistentes

Como Criar um LLM do Zero: Sessão 07 - Transformando um Gerador de Texto em um Assistente Conversacional

Na nossa jornada de criação de um modelo de linguagem de grande porte (LLM), chegamos à Sessão 07. Aqui, transformamos nosso gerador de texto em um assistente conversacional. Até agora, construímos um modelo que compreende a estrutura da língua (Sessão 05) e dominou uma profissão específica (Sessão 06). Contudo, faltava um elemento essencial para que nosso modelo se assemelhasse ao ChatGPT que usamos diariamente.

Se você pedisse ao nosso modelo da Sessão 05: "Escreva uma receita de bolo", ele poderia simplesmente listar os ingredientes, sem entender que se tratava de uma ordem. Nesta sessão, abordamos essa limitação por meio do processo de Instruction Tuning, conforme detalhado por Sebastian Raschka em seu livro.

Qual é a Diferença entre um Modelo Base e um Assistente Conversacional?

A diferença entre um modelo treinado em texto bruto e um modelo alinhado é significativa. O modelo base é um simples "completador de frases", enquanto o modelo alinhado atua como um assistente que segue instruções.

  • Modelo Base: Funciona como um completador de frases, semelhante a um estudante que leu muitos livros.
  • Modelo Alinhado: Age como um profissional que sabe atender um cliente.

Como Funciona o Formato Instrução-Resposta?

Para que o modelo aprenda a obedecer, precisamos de exemplos estruturados. O formato que utilizamos separa a Instrução, o Contexto (Input) e a Resposta Esperada. Isso é como dar um roteiro a um ator:

  • Instrução: O que o usuário pede.
  • Contexto: Situação em que a instrução é dada.
  • Resposta Esperada: A resposta que queremos que o modelo forneça.

Com exemplos suficientes, o modelo aprende o padrão de interação, tornando-se mais eficaz.

O Que é o Mascaramento da Loss?

Um dos aspectos técnicos mais interessantes que examinamos nesta sessão é o Mascaramento da Loss. Durante o treinamento, não queremos que o modelo aprenda a "prever a pergunta". A instrução já está presente; nosso foco deve ser na resposta.

  • Ignoramos os erros cometidos enquanto o modelo lê a pergunta.
  • Ajustamos os neurônios somente quando ele começa a escrever a resposta.

Esse método força o modelo a se tornar um "resolvedor de problemas", em vez de apenas um repetidor.

O Que é o Pipeline de Supervised Fine-Tuning (SFT)?

O processo de transformar o modelo base em um assistente é conhecido como Supervised Fine-Tuning (SFT). Este pipeline de alta precisão envolve:

  1. Utilizar pesos pré-treinados.
  2. Passar pelo dataset de instruções.
  3. Avaliar a qualidade da conversa.

Como Avaliar a Utilidade de um Assistente Conversacional?

Avaliar a eficácia de um assistente é desafiador. Ao contrário da classificação tradicional, aqui não existem respostas absolutas. Uma receita de bolo, por exemplo, pode ser redigida de várias maneiras.

Assim, a avaliação se torna qualitativa. Perguntas a considerar incluem:

  • O modelo é coerente?
  • Ele demonstrou educação?
  • Seguiu todas as restrições da instrução?

O Que Aprendemos na Sessão 07?

Com a conclusão da Sessão 07, encerramos nosso ciclo 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. Demos a ele uma especialidade (Sessão 06).
  7. E, finalmente, o ensinamos a conversar e seguir instruções (Sessão 07).

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

Como Implementar o Treinamento de Instruções?

No notebook da Sessão 07, implementamos o treinamento de instruções e transformamos nosso GPTMini de um gerador aleatório em um mini-assistente conversacional.

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

Related Articles