1. Engenharia de Prompts, RAG e Ajuste Fino: Uma Visão Geral [0]

thumbnail Estas três técnicas – engenharia de prompts, geração aumentada por recuperação (RAG) e ajuste fino – são ferramentas essenciais para otimizar as saídas de modelos de linguagem, permitindo que eles se conectem a dados externos e moldem seu comportamento para resultados mais precisos e eficientes.

1.1. Engenharia de Prompts [1]

A engenharia de prompts é a base para interagir com modelos de linguagem, envolvendo a criação de instruções claras para guiar suas respostas.

  1. Componentes de um Prompt Típico [1]
    • Priming: Define o papel do modelo, como "Você é um bot de perguntas e respostas sobre encanamento" [1].
    • Instruções de Linguagem e Formato: Especifica o tom, o público-alvo e como as respostas devem ser estruturadas, como em um formato JSON [3].
    • Tratamento de Casos Especiais: Inclui diretrizes para ignorar prompts maliciosos ou responder apenas dentro da área de especialização do modelo [3].
    • Consulta do Usuário: O conteúdo dinâmico que muda a cada solicitação [4].

1.2. Geração Aumentada por Recuperação (RAG) [7]

O RAG adiciona uma camada de conhecimento externo ao prompt, permitindo que o modelo acesse e utilize informações específicas para responder às consultas.

  1. Como o RAG Funciona [7]

    • O RAG insere dados dinâmicos no prompt, que são informações externas que o modelo deve usar para responder à consulta do usuário [7].
    • Por exemplo, se a pergunta for "Como consertar uma torneira pingando?", o RAG buscará informações relevantes, como um capítulo do "Manual do Encanador", e as adicionará ao prompt [9].
    • Isso é crucial porque os modelos de linguagem não armazenam fatos; eles preveem a próxima palavra com base em probabilidades [13].
  2. Importância de Fornecer Informações Específicas [16]

    • Modelos de linguagem são sensíveis às informações fornecidas em seus prompts, tornando o fornecimento de dados corretos muito poderoso [17].
    • O RAG permite expandir o conhecimento do modelo com fontes de dados externas que podem ser atualizadas em tempo real [18].
  3. Processo de Recuperação de Informações no RAG [20]

    • Preparação dos Dados: Um corpus de texto (páginas web, PDFs, documentação interna) é coletado [23].
    • Divisão dos Dados: O texto é dividido em partes menores (parágrafos, seções) para manter o contexto e a utilidade [25].
    • Armazenamento em Banco de Dados: O texto dividido é convertido em embeddings (representações vetoriais matemáticas) e armazenado em um banco de dados junto com os embeddings [29].
    • Recuperação: Quando uma consulta do usuário chega, ela também é convertida em um embedding [33].
    • Busca por Similaridade: O banco de dados é pesquisado usando busca vetorial para encontrar os resultados mais relevantes com base na similaridade dos embeddings [34].
    • Geração: Os resultados recuperados são inseridos no prompt e enviados ao modelo para geração de resposta [35].
  4. Otimizações para Resultados Consistentes no RAG [36]

    • Pré-processamento da Consulta: A consulta do usuário pode ser resumida por um LLM para criar uma frase-chave mais focada, como "consertar torneira pingando" [39].
    • Seleção Intermediária de Resultados: Um LLM pode ser usado para selecionar os resultados mais aplicáveis de uma lista recuperada antes de serem enviados ao modelo principal, garantindo informações mais precisas [41].
    • Auto-reflexão e Correção: Após a geração da resposta, um LLM pode revisar a saída para verificar sua precisão e corrigi-la, se necessário [44].

1.3. Ajuste Fino (Fine-tuning) [49]

O ajuste fino envolve treinar um modelo de base com exemplos específicos de pares de prompt e conclusão para moldar seu comportamento e estilo.

  1. O que é Ajuste Fino e Quando Usá-lo [49]

    • É o processo de treinar um modelo de base com exemplos de pares de prompt e as respostas ideais que se deseja receber [50].
    • É particularmente útil para ensinar intuição, algo difícil de descrever com regras em um prompt [53].
    • Por exemplo, um escritor experiente pode ter dificuldade em explicar suas técnicas, mas pode demonstrá-las através de exemplos de escrita [57].
    • O ajuste fino permite que o modelo aprenda essa intuição através de exemplos, atualizando seus pesos internos [59].
  2. Benefícios do Ajuste Fino [61]

    • Incorporação de Estilo e Tom: Permite que o modelo adote um estilo, tom e formatação específicos [61].
    • Redução do Tamanho do Prompt: Como o modelo já "sabe" certas coisas, menos informações precisam ser incluídas no prompt, permitindo respostas mais longas [62].
    • Otimização de Modelos: Pode treinar um modelo menor para ter o desempenho de um modelo maior, o que é mais sustentável do que criar modelos cada vez maiores [64].
    • Prevenção de Comportamentos Indesejados: Reduz a gama de saídas possíveis do modelo, tornando-o mais previsível [68].
  3. Mitos Comuns sobre Ajuste Fino [70]

    • Ensina Fatos: Falso; modelos armazenam probabilidades, não fatos. Para fatos, use RAG [71].
    • Requer Grandes Conjuntos de Dados: Falso; resultados significativos podem ser obtidos com apenas cerca de 20 exemplos [75].
    • É Muito Caro: Falso; técnicas como Parameter-Efficient Fine-Tuning (PEFT) tornam o processo acessível, custando apenas alguns centavos ou dólares com poucos exemplos [77].
    • É Muito Complicado: Falso; plataformas como a Entrypoint AI simplificam o processo, permitindo que os usuários se concentrem no caso de uso e nos dados de treinamento [81].
    • É Incompatível com RAG: Falso; RAG e ajuste fino podem trabalhar juntos [84].
  4. Estratégias de Ajuste Fino [86]

    • Foco na Qualidade: Treinar o maior modelo de base possível com exemplos para obter a melhor saída, funcionando como uma extensão do aprendizado de poucos exemplos (few-shot learning) [87].
    • Otimização de Velocidade e Custo: Treinar um modelo menor com um conjunto de dados de exemplo para que ele atinja o desempenho de um modelo maior, potencialmente exigindo um conjunto de dados maior [91].
    • Redução do Tamanho do Prompt: Opcionalmente, reduzir o tamanho do prompt para economizar custos e usar melhor a janela de contexto [94].
  5. Ajuste Fino vs. Aprendizado de Poucos Exemplos (Few-Shot Learning) [95]

    • O aprendizado de poucos exemplos usa exemplos diretamente no prompt, o que pode torná-lo longo e caro com o tempo [95].
    • O ajuste fino remove esses exemplos do prompt e os coloca em um conjunto de dados de treinamento, permitindo que o modelo aprenda com eles [102].
    • À medida que mais casos de uso e exemplos são descobertos, eles podem ser adicionados ao conjunto de dados de treinamento, criando uma camada escalável que garante a qualidade da saída [105].
  6. Impacto do Ajuste Fino na Velocidade e Custo [106]

    • O ajuste fino pode melhorar significativamente a velocidade; por exemplo, mudar de GPT-4 para GPT-3.5 Turbo pode resultar em tempos de resposta quase três vezes mais rápidos [107].
    • Modelos menores ajustados finamente também são muito mais baratos, podendo economizar quase 90% dos custos em comparação com modelos maiores [109].

1.4. Combinando RAG e Ajuste Fino [113]

RAG e ajuste fino não são mutuamente exclusivos e podem ser combinados para criar sistemas de IA ainda mais poderosos.

  1. Aplicações e Terminologia [113]

    • O ajuste fino tem vários casos de uso, incluindo ajuste de instruções e segurança durante a criação de modelos [115].
    • Para o tipo de ajuste fino focado em melhorar as saídas de geração, o termo "Tuning Augmented Generation" (TAG) é sugerido, permitindo a combinação de RAG e TAG para formar uma "equipe ragtag" [116].
  2. Exemplo de Combinação [118]

    • Um prompt de modelo ajustado finamente com RAG pode conter apenas o conteúdo dinâmico, pois o comportamento e o conhecimento foram incorporados ao modelo através do ajuste fino [118].
    • O modelo, tendo sido treinado com dados específicos, agirá como um bot de Q&A sem a necessidade de instruções explícitas no prompt [121].

2. Resumo das Técnicas e Suas Interconexões [123]

thumbnail

As três técnicas oferecem abordagens distintas, mas complementares, para aprimorar a interação com modelos de linguagem.

  1. Resumo das Técnicas [123]

    • Engenharia de Prompts: Fácil de usar, permite prototipagem rápida e é intuitiva [124].
    • RAG: Poderoso para conectar fontes de dados externas, fornece conhecimento dinâmico e baseado em fatos em tempo real [125].
    • Limitações de Prompt e RAG: Ambas são limitadas pela janela de contexto do prompt, exigindo seletividade na informação [129].
    • Ajuste Fino: Permite refinar o comportamento do modelo, obter saídas mais previsíveis e incorporar estilo, tom e formatação [132].
    • Semelhanças entre Ajuste Fino e Outras Técnicas: Assim como a engenharia de prompts, o ajuste fino direciona o comportamento do modelo; e assim como o RAG, permite aplicar dados e conhecimento de domínio, tornando o modelo mais capaz [133].
  2. Ponto em Comum e Colaboração [134]

    • Todas as três técnicas compartilham o objetivo de obter melhores saídas dos modelos de linguagem [134].
    • Elas podem trabalhar juntas e servir como ferramentas valiosas no arsenal de quem trabalha com modelos de linguagem [134].
    • A plataforma de ajuste fino da Entrypoint AI visa simplificar esse processo [137].
    • Participar de masterclasses sobre ajuste fino pode fornecer experiência prática e ajudar a aplicar essas técnicas para resolver problemas com IA [138].