O que é geração aumentada de recuperação (Retrieval-Augmented Generation, RAG)?

Alan Zeichick | Estrategista de conteúdo técnico | 19 de setembro de 2023

A inteligência artificial (IA) generativa é excelente na criação de respostas de texto baseadas em modelos de linguagem grandes (LLMs), em que a IA é treinada em um amplo número de pontos de dados. A boa notícia é que o texto gerado geralmente é fácil de ler e fornece respostas detalhadas que são amplamente aplicáveis às perguntas feitas ao software, chamadas de prompts.

A má notícia é que a informação utilizada para gerar a resposta é limitada à informação utilizada para treinar a IA, muitas vezes um LLM generalizado. Os dados do LLM podem estar desatualizados há semanas, meses ou anos e, em um chatbot de IA corporativo, podem não incluir informações específicas sobre os produtos ou serviços da organização. Isso pode levar a respostas incorretas que prejudicam a confiança na tecnologia entre clientes e funcionários.

O que é geração aumentada de recuperação (Retrieval-Augmented Generation, RAG)?

É aí que entra a geração aumentada de recuperação (RAG). A RAG fornece uma maneira de otimizar o resultado de um LLM com informações direcionadas sem modificar o próprio modelo subjacente; as informações direcionadas podem ser mais atualizadas do que o LLM, bem como serem específicas para uma determinada organização e setor. Isso significa que o sistema de IA generativa pode fornecer respostas mais contextualmente apropriadas às solicitações, bem como basear essas respostas em dados extremamente atuais.

A RAG chamou a atenção dos desenvolvedores de IA generativa pela primeira vez após a publicação de “Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks”, um artigo de 2020 publicado por Patrick Lewis e uma equipe do Facebook AI Research. O conceito de RAG foi adotado por muitos pesquisadores acadêmicos e da indústria, que o veem como uma forma de melhorar significativamente o valor dos sistemas de IA generativa.

Geração aumentada de recuperação explicada

Considere uma liga esportiva que deseja que os fãs e a mídia possam usar o chat para acessar seus dados e responder perguntas sobre jogadores, times, história e regras do esporte, além de estatísticas e classificações atuais. Um LLM generalizado poderia responder a perguntas sobre a história e as regras ou talvez descrever o estádio de um time específico. Mas não seria possível discutir o jogo da noite passada ou fornecer informações atuais sobre a lesão de um determinado atleta porque o LLM não teria essas informações, e dado que um LLM requer uma potência computacional significativa para ser treinado, não é viável manter o modelo atualizado.

Além do grande e bastante estático LLM, a liga esportiva possui ou pode acessar muitas outras fontes de informação, incluindo bancos de dados, data warehouses, documentos contendo biografias de jogadores e feeds de notícias que discutem cada jogo em profundidade. A RAG permite que a IA generativa ingira essas informações. Agora, o chat pode fornecer informações mais oportunas, mais apropriadas ao contexto e mais precisas.

Simplificando, a RAG ajuda os LLMs a fornecer respostas melhores.

Principais conclusões

  • A RAG é uma técnica de inteligência artificial relativamente nova que pode melhorar a qualidade da IA generativa, permitindo que modelos de linguagem grandes (LLMs) aproveitem recursos de dados adicionais sem retreinamento.
  • Os modelos de RAG constroem repositórios de conhecimento com base nos dados da própria organização, e estes repositórios podem ser atualizados continuamente para ajudar a IA generativa a fornecer respostas contextuais e oportunas.
  • Chatbots e outros sistemas de conversação que usam processamento de linguagem natural podem se beneficiar muito da RAG e da IA generativa.
  • A implementação da RAG requer tecnologias como bancos de dados vetoriais, que permitem a codificação rápida de novos dados, e pesquisas nesses dados para alimentar o LLM.

Como funciona a geração aumentada de recuperação?

Considere todas as informações que uma organização possui: os bancos de dados estruturados, os PDFs não estruturados e outros documentos, os blogs, os feeds de notícias, as transcrições de bate-papos de sessões anteriores de atendimento ao cliente. Na RAG, esta vasta quantidade de dados dinâmicos é traduzida num formato comum e armazenada numa biblioteca de conhecimento acessível ao sistema de IA generativa.

Os dados nessa biblioteca de conhecimento são então processados em representações numéricas usando um tipo especial de algoritmo chamado modelo de linguagem incorporado e armazenados em um banco de dados vetorial, que pode ser rapidamente pesquisado e usado para recuperar as informações contextuais corretas.

RAG e modelos de linguagem grande (Large Language Models, LLMs)

Digamos que um usuário final envie ao sistema de IA generativa um aviso específico, por exemplo: “Onde será disputado o jogo desta noite, quem são os jogadores titulares e o que os repórteres estão dizendo sobre o confronto?” A pergunta é transformada em vetor e utilizada para consultar o banco de dados vetorial, que recupera informações relevantes ao contexto daquela questão. Essas informações contextuais mais o prompt original são então inseridas no LLM, que gera uma resposta de texto baseada tanto em seu conhecimento generalizado - um tanto desatualizado - quanto nas informações contextuais extremamente oportunas.

Curiosamente, embora o processo de treinamento do LLM generalizado seja demorado e caro, as atualizações do modelo de RAG são exatamente o oposto. Novos dados podem ser carregados no modelo de linguagem incorporado e traduzidos em vetores de forma contínua e incremental. Na verdade, as respostas de todo o sistema de IA generativa podem ser realimentadas no modelo de RAG, melhorando o seu desempenho e precisão, porque, na verdade, ele sabe como já respondeu a uma pergunta semelhante.

Um benefício adicional da RAG é que, ao usar o banco de dados vetorial, a IA generativa pode fornecer a fonte específica de dados citada em sua resposta, algo que os LLMs não podem fazer. Portanto, se houver uma imprecisão na saída da IA generativa, o documento que contém essas informações erradas pode ser rapidamente identificado e corrigido, e então as informações certas podem ser inseridas no banco de dados vetorial.

Resumindo, a RAG fornece atualidade, contexto e precisão baseados em evidências para a IA generativa, indo além do que o próprio LLM pode fornecer.

Geração aumentada de recuperação vs. Pesquisa semântica

A RAG não é a única técnica usada para melhorar a precisão da IA generativa baseada em LLM. Outra técnica é a pesquisa semântica, que ajuda o sistema de IA a restringir o significado de uma consulta, buscando uma compreensão profunda das palavras e frases específicas contidas no prompt.

A pesquisa tradicional é focada em palavras-chave. Por exemplo, uma consulta básica perguntando sobre as espécies de árvores nativas da França pode pesquisar o banco de dados do sistema de IA usando “árvores” e “França” como palavras-chave e encontrar dados que contenham ambas as palavras-chave, mas o sistema pode não compreender verdadeiramente o significado das árvores na França e, portanto, pode trazer informações demais, insuficientes ou até mesmo incorretas. Esse tipo de pesquisa também pode perder informações porque a palavra-chave é muito literal: as árvores nativas da Normandia podem ser perdidas, mesmo estando na França, porque essa palavra-chave estava faltando.

A pesquisa semântica vai além das palavras-chave, determinando o significado das perguntas e dos documentos de origem e usando esse significado para trazer resultados mais precisos. A pesquisa semântica é parte integrante da RAG.

Usando RAG em aplicações de chat

Quando uma pessoa deseja uma resposta instantânea para uma pergunta, é difícil superar o imediatismo e a usabilidade de um chatbot. A maioria dos bots é treinada em um número finito de intenções – ou seja, as tarefas ou resultados desejados pelo cliente – e responde a elas. Os recursos de RAG podem melhorar os bots atuais, permitindo que o sistema de IA forneça respostas em linguagem natural para perguntas que não estão na lista de intenções.

O paradigma “faça uma pergunta, obtenha uma resposta” torna os chatbots um caso de uso perfeito para IA generativa, por vários motivos. As perguntas muitas vezes requerem um contexto específico para gerar uma resposta precisa e, dado que as expectativas dos usuários do chatbot sobre relevância e precisão são muitas vezes altas, fica claro como as técnicas de RAG se aplicam. Para muitas organizações, os chatbots podem de fato ser o ponto de partida para o uso de RAG e IA generativa.

As perguntas geralmente exigem um contexto específico para fornecer uma resposta precisa. As consultas dos clientes sobre um produto recém-lançado, por exemplo, não são úteis se os dados pertencerem ao modelo anterior e podem, na verdade, ser enganosos. E um turista que deseja saber se um parque está aberto neste domingo espera informações oportunas e precisas sobre aquele parque específico naquela determinada data.

Benefícios da geração aumentada de recuperação

As técnicas de RAG podem ser usadas para melhorar a qualidade das respostas de um sistema de IA generativa aos prompts, além do que um LLM pode oferecer. Os benefícios incluem:

  • A RAG tem acesso a informações que podem ser mais recentes do que os dados utilizados para treinar o LLM.
  • Os dados do repositório de conhecimento da RAG podem ser atualizados continuamente sem incorrer em custos significativos.
  • O repositório de conhecimento da RAG pode conter dados mais contextuais do que os de um LLM generalizado.
  • A fonte das informações contidas na base de dados vetorial da RAG pode ser identificada. E como as fontes de dados são conhecidas, informações incorretas na RAG podem ser corrigidas ou excluídas.

Desafios da geração aumentada de recuperação

Como a RAG é uma tecnologia relativamente nova, proposta pela primeira vez em 2020, os desenvolvedores de IA ainda estão aprendendo a melhor forma de implementar seus mecanismos de recuperação de informações em IA generativa. Alguns desafios são:

  • Melhorar o conhecimento organizacional e a compreensão da RAG porque é um recurso muito novo
  • Aumento de custos; embora a IA generativa com RAG seja mais cara de implementar do que um LLM por si só, essa abordagem é menos dispendiosa do que retreinar frequentemente o LLM
  • Determinar a melhor forma de modelar os dados estruturados e não estruturados na biblioteca de conhecimento e no banco de dados vetorial
  • Desenvolver requisitos para um processo para alimentar dados de forma incremental no sistema de RAG
  • Implementar processos para lidar com relatórios de imprecisões e para corrigir ou excluir essas fontes de informação no sistema de RAG

Exemplos de geração aumentada de recuperação

Existem muitos exemplos possíveis de IA generativa impulsionada por RAG.

A Cohere, líder na área de IA generativa e RAG, escreveu sobre um chatbot que pode fornecer informações contextuais sobre um aluguel por temporada nas Ilhas Canárias, incluindo respostas baseadas em fatos sobre acessibilidade à praia, salva-vidas em praias próximas e disponibilidade de quadras de vôlei a uma curta distância.

A Oracle descreveu outros casos de uso para RAG, como análise de relatórios financeiros, assistência na descoberta de gás e petróleo, revisão de transcrições de interações com clientes em call centers e pesquisa em bancos de dados médicos em busca de artigos de pesquisa relevantes.

O futuro da geração aumentada de recuperação

Hoje, nas fases iniciais da RAG, a tecnologia está sendo usada para fornecer respostas oportunas, precisas e contextuais às consultas. Esses casos de uso são apropriados para chatbots, emails, mensagens de texto e outras aplicações de conversação.

No futuro, possíveis direções para a tecnologia de RAG seriam ajudar a IA generativa a tomar uma ação apropriada com base em informações contextuais e instruções do usuário. Por exemplo, um sistema de IA impulsionado por RAG pode identificar a hospedagem na praia com melhor classificação nas Ilhas Canárias e depois iniciar a reserva de um bangalô a curta distância da praia durante um torneio de voleibol.

A RAG também poderá ajudar com linhas de questionamento mais sofisticadas. Atualmente, a IA generativa pode ser capaz de informar um funcionário sobre a política de reembolso de mensalidades da empresa; a RAG poderia adicionar mais dados contextuais para informar ao funcionário quais escolas próximas têm cursos que se enquadram nessa política e talvez recomendar programas adequados às funções e habilidades anteriores do colaborador, talvez até ajudá-lo a se inscrever nesses programas e iniciar uma solicitação de reembolso.

IA generativa com a Oracle

A Oracle oferece uma variedade de serviços avançados de IA na nuvem, incluindo o serviço OCI Generative AI executado na Oracle Cloud Infrastructure (OCI). As ofertas da Oracle incluem modelos robustos baseados nos dados exclusivos da sua organização e no conhecimento do setor. Os dados do cliente não são compartilhados com provedores de LLM nem vistos por outras pessoas, e modelos personalizados treinados com base nesses dados só podem ser usados por esse cliente específico.

Além disso, a Oracle está integrando IA generativa em sua ampla gama de aplicações em nuvem, e recursos de IA generativa estão disponíveis para desenvolvedores que usam a OCI e em todo seu portfólio de bancos de dados. Além do mais, os serviços de IA da Oracle oferecem desempenho e preços previsíveis usando clusters de IA de tenant único dedicados ao seu uso.

O poder e as capacidades dos LLMs e da IA generativa são amplamente conhecidos e compreendidos – eles têm sido objeto de manchetes de notícias no ano passado. A geração aumentada de recuperação aproveita os benefícios dos LLMs, tornando-os mais oportunos, mais precisos e mais contextuais. Para aplicações corporativas de IA generativa, a RAG é uma tecnologia importante a ser observada, estudada e testada.

O que torna a Oracle mais adequada para a IA generativa?

A Oracle oferece uma plataforma de dados moderna e infraestrutura de IA de baixo custo e alto desempenho. Fatores adicionais, como modelos poderosos e de alto desempenho, segurança de dados incomparável e serviços de IA integrados, demonstram por que a oferta de IA da Oracle é verdadeiramente desenvolvida para empresas.

Perguntas frequentes sobre geração aumentada de recuperação

RAG é o mesmo que IA generativa?

Não. A geração aumentada de recuperação é uma técnica que pode fornecer resultados mais precisos para consultas do que um modelo generativo de linguagem grande por si só, porque a RAG usa conhecimento externo aos dados já contidos no LLM.

Que tipo de informação é usada na RAG?

A RAG pode incorporar dados de muitas fontes, como bancos de dados relacionais, repositórios de documentos não estruturados, fluxos de dados da Internet, feeds de notícias de mídia, transcrições de áudio e registros de transações.

Como a IA generativa usa a RAG?

Os dados das fontes empresariais são incorporados em um repositório de conhecimento e depois convertidos em vetores, que são armazenados em um banco de dados vetorial. Quando um usuário final faz uma consulta, o banco de dados vetorial recupera informações contextuais relevantes. Essas informações contextuais, juntamente com a consulta, são enviadas para o modelo de linguagem grande, que utiliza o contexto para criar uma resposta mais oportuna, precisa e contextual.

Uma RAG pode citar referências para os dados que recupera?

Sim. Os bancos de dados vetoriais e os repositórios de conhecimento utilizados pela RAG contêm referências específicas das fontes de informação. Isso significa que as fontes podem ser citadas e, se houver um erro em uma delas, ele poderá ser rapidamente corrigido ou excluído para que as consultas subsequentes não retornem essas informações incorretas.