Geração Aumentada por Recuperação (RAG) e ajuste fino
O objetivo da RAG e do ajuste fino é aprimorar os Large Language Models (LLMs). A RAG faz isso sem modificar o LLM subjacente, enquanto o ajuste fino requer que os pesos e parâmetros do LLM sejam alterados. Com frequência, você pode personalizar um modelo usando tanto o ajuste fino quanto a arquitetura de RAG.
Como trabalhar com Large Language Models
Um LLM é um tipo de modelo de inteligência artificial (IA) que usa técnicas de machine learning (aprendizado de máquina) para entender e produzir linguagem humana. Entre outras habilidades, esses modelos de machine learning geram, resumem, traduzem, reescrevem, classificam, categorizam e analisam textos. O uso mais conhecido dos LLMs de nível empresarial é a criação de um sistema de resposta a perguntas, como um chatbot.
Os modelos de base de LLMs são treinados com conhecimento geral para oferecer suporte a uma ampla variedade de casos de uso. No entanto, eles provavelmente não estão equipados com o conhecimento proprietário da sua organização. A RAG e o ajuste fino são duas maneiras de ajustar e alimentar o LLM com os dados que você deseja para que ele produza um resultado específico.
Por exemplo, digamos que você esteja criando um chatbot para interagir com clientes. Nesse cenário, o chatbot é um representante da sua empresa, então você quer que ele aja como um funcionário de alto desempenho. Você precisa que o chatbot entenda as nuances da sua empresa, como as soluções que você vende e as políticas que adota. Assim como você treinaria um funcionário fornecendo documentos para ele estudar e scripts para seguir, um chatbot é treinado com RAG e ajuste fino para desenvolver a base de conhecimento dele.
O que é RAG e como ela funciona?
A RAG complementa os dados de um LLM ao recuperar informações de fontes à sua escolha, como repositórios de dados, coleções de texto e documentações pré-existentes. Depois de recuperar os dados, as arquiteturas de RAG os processam no contexto de um LLM e geram uma resposta com base na combinação dessas fontes.
A maior utilidade da RAG é complementar seu modelo com informações atualizadas regularmente. Ao fornecer ao LLM uma linha de comunicação com as fontes externas selecionadas, o resultado será mais preciso. E como você pode projetar a RAG para citar a fonte, é fácil rastrear como um resultado é formulado, o que gera mais transparência e confiança.
Voltando ao nosso exemplo: se você fosse criar um chatbot que respondesse a perguntas como “Qual é a sua política de devolução?”, poderia usar uma arquitetura de RAG. Você poderia conectar seu LLM a um documento que detalha a política de devolução da sua empresa e direcionar o chatbot para extrair informações dele. Poderia até instruir o chatbot a citar a fonte e fornecer um link contendo mais detalhes. E se o seu documento de política de devolução mudasse, o modelo da RAG extrairia as informações mais recentes e as forneceria ao usuário.
Casos de uso de RAG
A RAG pode coletar e organizar informações de uma maneira que simplifique a interação das pessoas com os dados. Com uma arquitetura de RAG, os modelos podem obter insights e fornecer um LLM com contexto de fontes de dados on-premise e baseadas em nuvem. Isso significa que dados externos, documentos internos e, até mesmo, feeds de redes sociais podem ser usados para responder perguntas, fornecer contexto e informar uma tomada de decisão.
Por exemplo, você pode criar uma arquitetura de RAG que, quando consultada, forneça respostas específicas sobre políticas, procedimentos e documentações da empresa. Isso economiza um tempo que, de outra forma, seria gasto procurando e interpretando um documento manualmente.
O que é ajuste fino?
Pense no ajuste fino como uma maneira de comunicar uma intenção ao LLM para que o modelo adapte os resultados de acordo com os seus objetivos. O ajuste fino é o processo de incrementar um modelo pré-treinado com um conjunto de dados menor e mais direcionado para que ele possa executar tarefas específicas com mais eficiência. Esses dados de treinamento extras são incorporados à arquitetura do modelo.
Vamos voltar ao nosso exemplo do chatbot. Digamos que você queira que seu chatbot interaja com pacientes em um contexto médico. É importante que o modelo conheça a terminologia médica relacionada ao seu trabalho. Usando técnicas de ajuste fino, você garante que quando um paciente perguntar ao chatbot sobre "serviços de fisio", ele entenderá isso como "serviços de fisioterapia" e direcionará o usuário para os recursos certos.
Casos de uso do ajuste fino
A maior utilidade do ajuste fino é treinar seu modelo para interpretar as informações às quais ele tem acesso. Por exemplo, você pode treinar um modelo para compreender as nuances e terminologias específicas do seu setor, como siglas e valores organizacionais.
O ajuste fino também é útil em tarefas de classificação de imagens. Por exemplo, se você trabalhar com ressonância magnética (RM), poderá usar o ajuste fino para treinar seu modelo para identificar anomalias.
O ajuste fino também pode ajudar sua organização a aplicar o tom certo ao se comunicar com as pessoas, especialmente em um contexto de atendimento ao cliente. Esse recurso permite que você treine um chatbot para analisar o sentimento ou emoção da pessoa com quem ele está interagindo. Além disso, você pode treinar o modelo para responder de uma forma que atenda ao usuário e, ao mesmo tempo, esteja alinhada aos valores da sua organização
O que considerar na hora de escolher entre a RAG e o ajuste fino
Compreender as diferenças entre RAG e ajuste fino pode ajudar você a tomar decisões estratégicas sobre qual recurso de IA implantar para atender às suas necessidades. Confira algumas questões básicas que precisam ser analisadas:
Quais são as habilidades da sua equipe?
Personalizar um modelo com RAG requer habilidades de programação e arquitetura. Em comparação com os métodos tradicionais de ajuste fino, a RAG oferece uma maneira mais simples e acessível de coletar feedback, solucionar problemas e corrigir aplicações. O ajuste fino de um modelo requer experiência com PNL (Processamento de Linguagem Natural), deep learning, configuração de modelo, reprocessamento de dados e avaliação. No geral, é um processo mais técnico e demorado.
Seus dados são estáticos ou dinâmicos?
O ajuste fino ensina um modelo a aprender padrões que não mudam com o tempo. Como ele se baseia em snapshots estáticos de conjuntos de dados de treinamento, as informações do modelo podem ficar desatualizadas e exigir um novo treinamento. Por outro lado, a RAG direciona o LLM a recuperar informações específicas em tempo real nas fontes que você escolher. Isso significa que seu modelo extrai os dados mais atualizados para informar sua aplicação, promovendo resultados precisos e relevantes.
Qual é o seu orçamento?
Tradicionalmente, o ajuste fino é uma técnica de deep learning que exige muitos dados e recursos computacionais. Historicamente, para informar um modelo com ajuste fino, você precisa rotular os dados e executar o treinamento em um hardware caro e de última geração. Além disso, o desempenho do modelo ajustado depende da qualidade dos seus dados, e a obtenção de dados de alta qualidade pode ter um custo alto.
Em comparação, a RAG tende a ter um custo-benefício maior do que o ajuste fino. Para configurar a RAG, você desenvolve sistemas de pipeline para conectar seus dados ao seu LLM. Essa conexão direta reduz as despesas com recursos porque usa dados existentes para informar seu LLM em vez de gastar tempo, energia e recursos gerando novos dados.
Como a Red Hat pode ajudar
As soluções open source e o ecossistema de parceiros de IA da Red Hat podem ajudar você a implementar a RAG e o ajuste fino no seu processo de Large Language Model Operations (LLMOps).
Teste o ajuste fino com o InstructLab
Criado pela Red Hat e a IBM, o InstructLab é um projeto da comunidade open source para contribuir com LLMs usados em aplicações de IA generativa (gen AI). Ele proporciona um framework que usa dados sintéticos para tornar o ajuste fino do LLM mais acessível.
Como os dados sintéticos do InstructLab aprimoram os LLMs
Crie seu próprio modelo de base com o Red Hat Enterprise Linux AI
Quando sua empresa estiver pronta para criar aplicações com gen AI, o Red Hat® Enterprise Linux® AI fornecerá a plataforma de modelo de base necessária para atender aos seus casos de uso de dados com rapidez.
O Red Hat Enterprise Linux AI une a família Granite de LLMs licenciados por open source e ferramentas de alinhamento de modelos do InstructLab em um ambiente de servidor integrado. Isso significa que especialistas sem experiência em ciência de dados podem ajustar e contribuir, com facilidade, para um modelo de IA escalável em toda a nuvem híbrida.
O Red Hat Enterprise Linux AI também conta com os benefícios de uma subscrição da Red Hat, que inclui distribuição confiável de soluções empresariais, suporte à produção em tempo integral, suporte estendido ao ciclo de vida do modelo e as proteções legais do Open Source Assurance.
Escale suas aplicações com o Red Hat OpenShift AI
Depois de treinar seu modelo com o Red Hat Enterprise Linux AI, você poderá escalá-lo para produção usando o Red Hat OpenShift® AI.
O Red Hat OpenShift AI é uma plataforma de operações de machine learning (MLOps) flexível e escalável, com ferramentas para ajudar você a criar, implantar e gerenciar aplicações com IA. Ele fornece a infraestrutura de carga de trabalho subjacente, como um LLM para criar embeddings, (mecanismos de recuperação necessários para produzir resultados) e acesso a um banco de dados vetorial.