A Geração Aumentada de Recuperação (RAG) é uma técnica inovadora que está transformando a forma como os modelos de linguagem grandes (LLMs) são personalizados para domínios específicos. Esta abordagem permite que as saídas dos LLMs sejam adaptadas a necessidades específicas sem a necessidade de alterar o modelo subjacente. Em um mundo onde a inteligência artificial está se tornando cada vez mais integrada em nossas vidas, a RAG oferece uma solução eficiente e eficaz para melhorar a precisão e a relevância das respostas geradas por LLMs.
O que é Geração Aumentada de Recuperação (RAG)?
A RAG é uma técnica que complementa as consultas do usuário com informações relevantes obtidas de um corpus, melhorando a capacidade dos LLMs de responder a perguntas específicas de domínio. Imagine isso como contratar um humano adulto que já é treinado e já tem habilidades. Tudo o que você precisa fazer é entregar um manual a um humano e dizer a ele para aprendê-lo.
Como Funciona a RAG?
Em termos concretos, sempre que alguém quiser perguntar algo ao LLM, algum outro sistema deve encontrar informações relevantes no material de treinamento e alimentá-lo ao LLM. Normalmente, isso é feito fazendo algum tipo de busca semântica para encontrar documentos, ou subseções de documentos, que pareçam relacionados à consulta.
Existem várias técnicas de busca inteligentes para fazer isso funcionar melhor, mas a ideia geral é “encontrar as informações relevantes”. Esta é a etapa de recuperação do RAG e acontece antes que o LLM seja invocado.
Em seguida, é feita uma pergunta ao LLM que inclui todas as informações relevantes recuperadas na etapa anterior. O prompt pode ser:
“O usuário perguntou: .
Por favor, responda à pergunta usando as informações abaixo:”
Normalmente, o objetivo do RAG é restringir a resposta do LLM às informações contidas nas informações relevantes, então o prompt pode dizer: “Responda à pergunta usando as informações abaixo e nada mais que você saiba”.
Quando Usar RAG?
Aqui estão alguns motivos específicos pelos quais o RAG é a melhor ferramenta; geralmente é tudo o que você precisa.
Adaptação ao Novo Treinamento em Tempo Real
Basta enfiar no seu prompt e pronto. Isso é importante para nós: a documentação do produto dos nossos clientes está sempre mudando e não teríamos tempo para refinar um modelo toda vez que ele muda.
Restrição de Respostas a Perguntas Específicas
Mesmo que um modelo ajustado não consegue lembrar de informações incorretas, ainda pode inventar coisas. Geralmente é mais eficaz apenas dizer a um modelo: “não mencione nada que não esteja nas informações abaixo.”
Início Imediato
O ajuste fino requer tempo. O treinamento requer ainda mais tempo. O RAG requer zero treinamento e zero coleta de dados antecipada.
Lidar com Situações de Silo de Dados
Às vezes, os dados são isolados em uma organização. Por exemplo, o Departamento A pode não conseguir usar dados do Departamento B. O RAG evita isso completamente ao não incluir nenhum dado específico da empresa no conjunto de treinamento do modelo.
Adaptação às Melhorias nos Modelos Fundamentais
Grandes jogadores como OpenAI e o Google lançam melhorias em modelos fundamentais o tempo todo. Imagine que você ajusta o GPT3 e, em seguida, GPT4 sai. Agora você tem que fazer um ajuste fino novamente. Com o RAG, você pode simplesmente trocar o modelo mais recente e ver como ele se sai em relação ao último. Fazemos isso o tempo todo — comparando como os novos modelos se saem em nosso pipeline em relação ao que temos atualmente em produção.
Quando Não Usar RAG?
Embora a RAG seja uma solução poderosa, existem situações em que pode não ser a melhor escolha.
Necessidade de Velocidade Extrema
O RAG é tipicamente mais lento do que um LLM bruto ou ajustado porque envolve uma etapa de recuperação semântica antes da chamada do LLM. Isso geralmente é bom para aplicativos de consumidor, mas há toneladas de cenários em que a mega velocidade é importante. Por exemplo, digamos que você esteja usando um LLM para tomar uma decisão que bloqueia seu API de retornar. Nesse cenário, uma etapa de recuperação de 100 ms pode não ser aceitável.
Saídas Específicas de Domínio
Em cenários em que você precisa gerar saídas extremamente específicas e de alta dimensão, é improvável que um LLM de uso geral seja bom o suficiente para você, embora você deva sempre tentar primeiro antes de seguir o caminho de treinar seu próprio modelo.
Tabela de Comparação: RAG vs. Ajuste Fino
Característica | RAG | Ajuste Fino |
---|---|---|
Tempo de Implementação | Imediato | Requer tempo para ajuste |
Adaptação a Novos Dados | Em tempo real | Requer retrabalho |
Restrição de Respostas | Eficaz | Pode inventar informações |
Velocidade de Execução | Mais lento devido à recuperação | Mais rápido após ajuste |
Adaptação a Melhorias | Fácil troca de modelos | Requer novo ajuste |
Perguntas Frequentes
O que é Geração Aumentada de Recuperação (RAG)?
A Geração Aumentada de Recuperação (RAG) é uma técnica que complementa as consultas do usuário com informações relevantes obtidas de um corpus, melhorando a capacidade dos LLMs de responder a perguntas específicas de domínio.
Quando devo usar RAG?
Você deve usar RAG quando precisa de uma solução que se adapte rapidamente a novos dados, que restrinja respostas a informações específicas e que permita a troca fácil de modelos.
Quais são as vantagens do RAG?
As vantagens do RAG incluem a adaptação em tempo real, a capacidade de restringir respostas a informações específicas, a possibilidade de iniciar imediatamente e a facilidade de adaptação a melhorias nos modelos fundamentais.
Quando não devo usar RAG?
Você não deve usar RAG quando precisa de velocidade extrema ou quando necessita de saídas extremamente específicas e de alta dimensão.
Como o RAG se compara ao ajuste fino?
O RAG é mais rápido de implementar e se adapta a novos dados em tempo real, enquanto o ajuste fino requer tempo para ajuste e pode inventar informações. No entanto, o ajuste fino é mais rápido após o ajuste.
Conclusão
A Geração Aumentada de Recuperação (RAG) é uma técnica revolucionária que oferece uma solução eficiente e eficaz para personalizar modelos de linguagem grandes para domínios específicos. Com a capacidade de se adaptar rapidamente a novos dados, restringir respostas a informações específicas e permitir a troca fácil de modelos, a RAG é uma ferramenta poderosa para melhorar a precisão e a relevância das respostas geradas por LLMs. Embora existam situações em que a RAG pode não ser a melhor escolha, como quando a velocidade extrema é necessária ou quando saídas extremamente específicas são requeridas, a RAG continua sendo uma solução valiosa para muitos cenários.