Ajuste de LLMs e modelos de IA

Os modelos de linguagem grandes (LLMs) são ferramentas poderosas que podem ajudar em muitas tarefas diferentes, desde escrever e-mails até responder a perguntas complexas. Mas, às vezes, esses modelos não entendem muito bem o que você precisa que eles façam no seu projeto específico. É aí que entra o ajuste de modelo. É como ensinar a um estudante inteligente as habilidades específicas de que ele precisa para um determinado emprego.

Ajuste detalhado do Gemini com o Google AI Studio

O que é ajuste de detalhes?

O ajuste consiste no treinamento adicional de um LLM pré-treinado em um conjunto de dados específico da tarefa (um processo de aprendizado por transferência). Pense assim: um modelo pré-treinado já aprendeu muitas informações gerais, e o ajuste o ajuda a se especializar em uma área.

Quando ajustar detalhes em vez de usar RAG

O ajuste detalhado e a geração aumentada por recuperação (RAG) são duas maneiras diferentes de ajustar LLMs para usos específicos. A escolha do método certo depende de fatores como o tipo de tarefa, se você tem dados suficientes e o que quer alcançar.

Técnica


Principal diferença


Vantagens

Desafios

Ajuste de detalhes

Altera o parâmetro do modelo.

Maior precisão, especificidade aprimorada, menos alucinações, interações personalizadas, custo-benefício, menos viés.

Risco de "esquecimento catastrófico", custo de recursos mais alto, demandas de dados mais fortes e potencial de "overfitting".

RAG


Aumenta os comandos com conhecimento externo.

Integração dinâmica de conhecimento, relevância contextual, versatilidade, menor necessidade de treinamento extensivo.

Precisão limitada (por exemplo, a RAG só pode fazer referência aos dados a que tem acesso e não faz inferências com base no treinamento), complexidade da manutenção dos sistemas RAG e potencial de alucinações.

Técnica


Principal diferença


Vantagens

Desafios

Ajuste de detalhes

Altera o parâmetro do modelo.

Maior precisão, especificidade aprimorada, menos alucinações, interações personalizadas, custo-benefício, menos viés.

Risco de "esquecimento catastrófico", custo de recursos mais alto, demandas de dados mais fortes e potencial de "overfitting".

RAG


Aumenta os comandos com conhecimento externo.

Integração dinâmica de conhecimento, relevância contextual, versatilidade, menor necessidade de treinamento extensivo.

Precisão limitada (por exemplo, a RAG só pode fazer referência aos dados a que tem acesso e não faz inferências com base no treinamento), complexidade da manutenção dos sistemas RAG e potencial de alucinações.

Considere o ajuste detalhado quando quiser que um LLM:

  • Entender uma linguagem ou jargão específico: se o projeto usar muitos termos específicos do setor, o ajuste detalhado pode ajudar o modelo a aprender e usar essa linguagem corretamente.  
  • Melhorar a precisão em uma tarefa específica: o ajuste fino pode melhorar significativamente o desempenho do modelo se você precisar que ele execute uma tarefa específica, como classificar avaliações de clientes ou gerar descrições de produtos 
  • Combinar um estilo ou tom específico: se você quiser que o modelo gere um texto que corresponda a uma voz de marca ou estilo de escrita específico, o ajuste detalhado pode ajudar.  
  • Trabalhar com dados limitados: quando você tem dados limitados, o ajuste de detalhes pode ser mais eficiente do que treinar um modelo do zero, porque ele aproveita o conhecimento que o modelo pré-treinado já tem  
  • Reduzir custos e latência: para casos de uso de alto volume, ajustar um modelo menor pode ser mais econômico do que usar um modelo maior de uso geral para cada solicitação
  • Lidar com casos extremos: o ajuste detalhado pode melhorar a capacidade do modelo de lidar com casos extremos e comandos complexos que são difíceis de resolver apenas com a engenharia de comandos

Como o ajuste detalhado funciona: um guia explicativo

O ajuste detalhado se baseia nos fundamentos de um LLM pré-treinado. Esses modelos pré-treinados já aprenderam uma enorme quantidade de conhecimento geral de linguagem com conjuntos de dados massivos. Durante o ajuste, o modelo é exposto a um conjunto de dados menor e específico para a tarefa, e os parâmetros internos do modelo (pense neles como milhões de pequenos botões que controlam o conhecimento) são ajustados para corresponder melhor aos exemplos no novo conjunto de dados. Esse processo de "retreinamento" atualiza suavemente a estrutura interna do modelo para que ele se torne um especialista no novo tópico. Vamos dividir o processo de ajuste detalhado em algumas etapas práticas:

Etapa 1: Preparação de dados

Antes de começar o ajuste detalhado, é fundamental preparar os dados. A qualidade e a estrutura dos seus dados afetam diretamente o desempenho do modelo ajustado. Essa fase envolve a coleta, limpeza, formatação e divisão dos dados em conjuntos apropriados para treinamento, validação e teste.

  • Coletar dados: reunir os dados que serão usados para ajustar o modelo. Eles precisam ser relevantes para a tarefa específica em que o modelo deve se destacar.
  • Limpar e formatar: limpe seus dados removendo erros, inconsistências e informações irrelevantes; garanta que eles estejam em um formato que o modelo possa entender
  • Divida os dados em três conjuntos: 1) treinamento (usado para treinar o modelo), 2) validação (usado para monitorar o desempenho do modelo e ajustar as configurações) e 3) teste (usado para avaliar o desempenho final do modelo ajustado)

Etapa 2: Escolher uma abordagem

Quando se trata de ajuste detalhado, você tem opções sobre o quanto do modelo pré-treinado você quer ajustar. A abordagem escolhida depende de fatores como o tamanho do conjunto de dados, os recursos de computação disponíveis e o nível de precisão desejado. As duas abordagens principais são ajustes finos completos e ajustes finos com eficiência de parâmetros (PEFT).


Ajuste completo

No ajuste fino completo, todos os parâmetros do modelo são atualizados durante o treinamento. Essa abordagem é adequada quando o conjunto de dados específico da tarefa é grande e significativamente diferente dos dados de pré-treinamento.  


PEFT 

Os ajustes finos com eficiência de parâmetros oferece uma maneira mais inteligente e eficiente de fazer ajustes. Em vez de treinar novamente o modelo inteiro (o que é lento e caro), os métodos PEFT congelam o LLM original e adicionam pequenas camadas treináveis.

Pense assim: em vez de reescrever um livro didático inteiro de 1.000 páginas, você só adiciona algumas páginas de post-its com as novas informações especializadas. Isso torna o processo muito mais rápido e barato. Os métodos PEFT mais conhecidos incluem LoRA (Low-Rank Adaptation) e QLoRA (Quantized Low-Rank Adaptation), que oferecem uma maneira mais eficiente de ajustar LLMs. 

Etapa 3: Treinar o modelo

Com os dados preparados e a técnica selecionada, é hora de treinar o modelo. É aqui que o modelo aprende com seus dados e ajusta os parâmetros para melhorar o desempenho na sua tarefa específica. É essencial monitorar e ajustar as configurações de treinamento para alcançar resultados ideais.

  • Definir hiperparâmetros: configurar definições como taxa de aprendizado, tamanho do lote e número de épocas. Essas definições ajudam a controlar como o modelo aprende
  • Comece o treinamento: insira os dados de treinamento no modelo e deixe que ele aprenda; monitore o desempenho do modelo usando o conjunto de validação
  • Ajuste conforme necessário: se o modelo não estiver funcionando bem, ajuste os hiperparâmetros ou tente outra técnica de ajuste de detalhes.

Etapa 4: Avaliação e implantação

A etapa final consiste na avaliação do desempenho do modelo ajustado e implantá-lo para uso no mundo real. Isso exige avaliar a acurácia e a eficiência e depois integrar ao aplicativo ou sistema. O monitoramento e o retreinamento contínuos podem ser necessários para manter o desempenho ideal ao longo do tempo.

  • Avaliar o desempenho: use o conjunto de teste para avaliar o desempenho final do modelo ajustado. Analise as métricas relevantes para sua tarefa, como acurácia, precisão e recall.
  • Implantar o modelo: se você estiver contente com o desempenho, implante o modelo no seu aplicativo ou sistema
  • Monitorar o desempenho :fique de olho na performance do modelo no mundo real e treine-o novamente conforme necessário para manter a precisão

Tipos de ajuste detalhado

Há várias maneiras de ajustar um modelo, dependendo das suas metas e recursos:

Tipo

Descrição

Casos de uso

Ajuste supervisionado

O modelo é treinado em um conjunto de dados rotulado com pares de entrada-saída.

Classificação de texto, reconhecimento de entidades nomeadas e análise de sentimento.

Ajuste de instruções

O modelo é treinado com um conjunto de dados de instruções e respostas desejadas.

Chatbots, sistemas de respostas a perguntas, geração de código.

Aprendizado few-shot

O modelo recebe alguns exemplos da tarefa desejada no comando.

Adaptação a novas tarefas com dados limitados.

Aprendizado por transferência

O modelo aproveita o conhecimento adquirido no pré-treinamento em um conjunto de dados de uso geral.

Adaptação a tarefas relacionadas.

Ajuste detalhado específico do domínio

O modelo é adaptado a um setor ou domínio específico.

Análise de documentos legais, geração de relatórios médicos, previsão financeira.

Aprendizado multitarefas

O modelo é treinado em várias tarefas simultaneamente.

Melhorar o desempenho em tarefas relacionadas.

Ajuste de detalhes sequencial

O modelo é adaptado a uma série de tarefas relacionadas em etapas.

Refinamento gradual dos recursos para tarefas complexas.

Tipo

Descrição

Casos de uso

Ajuste supervisionado

O modelo é treinado em um conjunto de dados rotulado com pares de entrada-saída.

Classificação de texto, reconhecimento de entidades nomeadas e análise de sentimento.

Ajuste de instruções

O modelo é treinado com um conjunto de dados de instruções e respostas desejadas.

Chatbots, sistemas de respostas a perguntas, geração de código.

Aprendizado few-shot

O modelo recebe alguns exemplos da tarefa desejada no comando.

Adaptação a novas tarefas com dados limitados.

Aprendizado por transferência

O modelo aproveita o conhecimento adquirido no pré-treinamento em um conjunto de dados de uso geral.

Adaptação a tarefas relacionadas.

Ajuste detalhado específico do domínio

O modelo é adaptado a um setor ou domínio específico.

Análise de documentos legais, geração de relatórios médicos, previsão financeira.

Aprendizado multitarefas

O modelo é treinado em várias tarefas simultaneamente.

Melhorar o desempenho em tarefas relacionadas.

Ajuste de detalhes sequencial

O modelo é adaptado a uma série de tarefas relacionadas em etapas.

Refinamento gradual dos recursos para tarefas complexas.

Práticas recomendadas para ajuste detalhado

Para aproveitar ao máximo o ajuste detalhado, siga estas práticas recomendadas:  

  • Qualidade e quantidade de dados: use um conjunto de dados de alta qualidade que seja relevante, diversificado e suficientemente grande. A qualidade dos dados é fundamental no ajuste detalhado. Garanta que os dados sejam precisos, consistentes e livres de erros ou vieses. Por exemplo, um conjunto de dados com rótulos ruidosos ou formatação inconsistente pode prejudicar significativamente a capacidade de aprendizado eficaz do modelo.   
  • Ajuste de hiperparâmetros: teste diferentes configurações de hiperparâmetros para encontrar a configuração ideal para sua tarefa.   
  • Avaliação regular: avalie regularmente o desempenho do modelo durante o treinamento para acompanhar o progresso e fazer os ajustes necessários.   
  • Evitar overfitting: use técnicas como parada antecipada e regularização para evitar o overfitting nos dados de treinamento.   
  • Aborde o viés: fique atento a possíveis vieses nos dados e use técnicas para reduzir o viés no modelo ajustado.

Benefícios do ajuste de detalhes de LLMs

O ajuste detalhado oferece algumas vantagens em potencial:

Mais acurácia

Ele pode melhorar significativamente a precisão e a relevância da saída do modelo para seu caso de uso específico, reduzindo potencialmente as alucinações de IA.  

Treinamento mais rápido

O ajuste de detalhes é mais rápido e exige menos dados do que o treinamento de um modelo do zero.

Econômico

Ele pode ser mais econômica do que treinar um novo modelo, porque exige menos poder computacional e dados. 

Personalização

O ajuste de detalhes permite personalizar o comportamento do modelo para se alinhar às suas necessidades e metas específicas. 

Viés reduzido

Ele pode proporcionar um melhor controle sobre o comportamento do modelo, reduzindo potencialmente o risco de gerar conteúdo tendencioso ou polêmico.

Janela de contexto maior

O ajuste detalhado pode ser usado para aumentar a janela de contexto dos LLMs, permitindo que eles processem e retenham mais informações.

Desafios comuns no ajuste detalhado

Embora o ajuste detalhado possa oferecer muitos benefícios, também há alguns possíveis desafios que precisam ser considerados: 

  • Overfitting: o modelo aprende os dados de treinamento muito bem e não generaliza bem para novos dados. É possível usar técnicas como regularização e aumento de dados para mitigar o overfitting.  
  • Escassez de dados: dados insuficientes podem limitar a eficácia do ajuste detalhado. Considere usar técnicas de ampliação de dados ou aprendizado por transferência de outras tarefas relacionadas.  
  • Esquecimento catastrófico: se você especializar o modelo de forma muito restrita, ele pode esquecer o conhecimento geral. É como um médico especialista que se torna um cirurgião hiperespecializado, mas se esquece do básico de primeiros socorros. É possível usar técnicas como regularização e buffers de reprodução para mitigar o esquecimento catastrófico.  
  • Recursos computacionais: o ajuste detalhado de modelos grandes pode ser caro em termos de computação e exigir muita memória. Considere usar técnicas como PEFT, quantização e treinamento distribuído para reduzir os requisitos computacionais.  
  • Avaliação: avaliar a performance de LLMs ajustados pode ser complexo, exigindo uma seleção cuidadosa de métricas e benchmarks.  
  • Desafios do aprendizado multitarefa: o ajuste de LLMs para aprendizado multitarefa apresenta desafios únicos, como interferência de tarefas, em que diferentes objetivos entram em conflito durante o treinamento, e desequilíbrio de dados, em que tarefas com mais dados podem dominar.

Como ajustar casos de uso

O ajuste detalhado pode ser aplicado a uma ampla variedade de casos de uso:

Atendimento ao cliente

Ajustar um LLM para entender e responder às consultas dos clientes com mais eficiência, inclusive em chatbots.  

A capacidade dos LLMs de gerar resumos concisos e precisos em domínios ou estilos de escrita específicos pode ser melhorada com o ajuste detalhado.

Criação de conteúdo

Crie postagens de blog, artigos ou descrições de produtos em um estilo específico com um modelo ajustado.  

Análise de dados

Ajustar um modelo para classificar e analisar dados de texto, como postagens em redes sociais ou avaliações de clientes.

Gere código em uma linguagem de programação ou framework específico com um modelo ajustado. 

Tradução automática

O Google Tradutor usa o ajuste detalhado para melhorar a qualidade da tradução automática adaptando o modelo a pares de idiomas e domínios específicos. 

Ajuste detalhado em escala com o Google Cloud

O Google Cloud oferece um ecossistema robusto para oferecer suporte aos seus esforços de ajuste de detalhes do modelo, fornecendo tudo, desde uma plataforma unificada de machine learning até o hardware especializado necessário para acelerar cálculos complexos. Seja para personalizar um modelo de fundação ou refinar o seu próprio, esses serviços simplificam todo o fluxo de trabalho.

Vá além

Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos do programa Sempre gratuito.

Google Cloud