O que é a geração aumentada de recuperação?
Retrieval-Augmented Generation (RAG) é o processo de otimizar a saída de um grande modelo de linguagem, de forma que ele faça referência a uma base de conhecimento confiável fora das suas fontes de dados de treinamento antes de gerar uma resposta. Grandes modelos de linguagem (LLMs) são treinados em grandes volumes de dados e usam bilhões de parâmetros para gerar resultados originais para tarefas como responder a perguntas, traduzir idiomas e concluir frases. A RAG estende os já poderosos recursos dos LLMs para domínios específicos ou para a base de conhecimento interna de uma organização sem a necessidade de treinar novamente o modelo. É uma abordagem econômica para melhorar a produção do LLM, de forma que ele permaneça relevante, preciso e útil em vários contextos.
Por que a geração aumentada de recuperação é importante?
O LLM é uma tecnologia fundamental utilizada pela inteligência artificial (IA) que alimenta chatbots inteligentes e outras aplicações de processamento de linguagem natural (PLN). O objetivo é criar bots que possam responder às perguntas dos usuários em vários contextos, utilizando-se de fontes de conhecimento confiáveis. Infelizmente, a natureza da tecnologia LLM introduz imprevisibilidade nas respostas geradas pelo LLM. Além disso, os dados usados para treinar os LLMs são fixos, o que implica na existência de uma data limite para o conhecimento que podem fornecer.
Os LLMs enfrentam uma série de desafios atualmente, como os seguintes:
- Fornecer informações falsas quando não possuem uma resposta adequada.
- Oferecer informações desatualizadas ou genéricas quando os usuários solicitam respostas específicas e atualizadas.
- Gerar respostas baseadas em fontes não confiáveis.
- Criar respostas imprecisas devido à confusão terminológica, quando diferentes fontes de treinamento utilizam a mesma terminologia para descrever conceitos distintos.
Podemos entender o grande modelo de linguagem (LLM) como um funcionário recém-contratado que opta por ignorar as notícias atuais, mas mesmo assim responde a todas as perguntas com total convicção. Contudo, essa abordagem pode impactar negativamente a confiança dos usuários, o que não é desejável para seus chatbots!
A abordagem RAG pode ser usada para solucionar alguns desses desafios. Ela direciona o LLM a recuperar dados relevantes, provenientes de fontes de conhecimento confiáveis e previamente definidas. Dessa maneira, as organizações ganham mais controle sobre o texto gerado e os usuários entendem melhor sobre o processo de geração de respostas do LLM.
Quais são os benefícios da geração aumentada de recuperação?
O uso da tecnologia RAG traz diversas vantagens para as iniciativas de IA generativa de uma organização.
Implementação econômica
Geralmente, a criação de chatbots começa com a utilização de um modelo de base. Os modelos de base (FMs) são modelos de ML treinados em um amplo espectro de dados generalizados e não rotulados. Os custos computacionais e financeiros que são necessários para atualizar os FMs com informações específicas da organização ou do domínio são altíssimos. RAG oferece uma abordagem para incorporar novos dados no LLM que é mais viável economicamente. Isso faz com que a tecnologia de inteligência artificial generativa (IA generativa) seja mais acessível e aplicável em grande escala.
Informações atualizadas
Mesmo que as fontes de dados de treinamento originais de um LLM sejam adequadas às suas necessidades, a manutenção da sua relevância continua sendo desafiadora. O RAG possibilita que desenvolvedores forneçam dados de pesquisa, estatísticas ou notícias mais recentes diretamente aos modelos generativos. Através dessa abordagem, é possível conectar o LLM a feeds de mídia social ao vivo, sites de notícias ou outras fontes de informações atualizadas frequentemente de maneira direta. O LLM então pode fornecer as informações mais recentes aos usuários.
Maior confiança de usuários
Com a tecnologia RAG, o LLM pode apresentar informações precisas com atribuição de fontes. O resultado pode conter citações ou referências às fontes utilizadas. Os usuários também podem consultar os documentos de origem, caso precisem de mais esclarecimentos ou detalhes. Isso pode aumentar a confiança e credibilidade na sua solução de IA generativa.
Maior controle na etapa de desenvolvimento
A tecnologia RAG também permite que a equipe de desenvolvimento teste e aprimore os recursos de conversação ou chat de forma mais eficiente. É possível gerenciar e modificar as fontes de informação do LLM para adequá-las a necessidades mutáveis ou para uso multifuncional. A equipe de desenvolvimento tem a capacidade de limitar o acesso a informações sensíveis de acordo com níveis de autorização, assegurando que o LLM produza respostas adequadas. Além disso, podem intervir e realizar correções caso se o LLM referenciar fontes de informação incorretas para perguntas específicas. As organizações podem adotar a tecnologia de IA generativa com maior segurança para um leque mais vasto de aplicações.
Como funciona a geração aumentada de recuperação?
Na ausência da RAG, o LLM depende da entrada do usuário para criar uma resposta de acordo com as informações de treinamento ou de base. Com a implementação da RAG, é introduzido um componente de recuperação de informações que utiliza a entrada do usuário para extrair informações de uma nova fonte de dados primeiro. A consulta do usuário e as informações relevantes são fornecidas ao LLM. O LLM usa esse novo conhecimento e seus dados de treinamento para criar respostas mais adaptadas. As seções a seguir fornecem uma visão geral do processo.
Criação de dados externos
Os novos dados, que não fazem parte do conjunto de dados de treinamento original do LLM, são chamados de dados externos. Esses dados podem ser obtidos de múltiplas fontes, como APIs, bancos de dados ou repositórios de documentos. Os dados podem existir em vários formatos, como arquivos, registros de banco de dados ou texto longo. Outra técnica de IA, chamada de incorporação de modelos de linguagem, converte os dados em representações numéricas e os armazena em um banco de dados de vetores. Esse processo cria uma biblioteca de conhecimento que os modelos de IA generativa podem compreender.
Recuperação de informações relevantes
A próxima etapa é realizar uma pesquisa de relevância. A consulta do usuário é convertida em uma representação vetorial e combinada com os bancos de dados de vetores. Por exemplo, considere um chatbot inteligente que responde perguntas relacionadas a recursos humanos para uma organização. Se um funcionário pesquisar "Quantas férias anuais eu tenho direito?", o sistema recuperará os documentos da política de férias anuais junto com o registro de férias anteriores do funcionário. Esses documentos específicos serão fornecidos porque são altamente relevantes para a consulta em questão. A relevância foi calculada e estabelecida através de cálculos e representações vetoriais matemáticas.
Enriquecimento de prompts fornecidos ao LLM
Em seguida, o modelo RAG enriquece a entrada do usuário, também chamada de prompt, adicionando os dados recuperados que são relevantes ao contexto. Esta etapa usa técnicas de engenharia de prompts para se comunicar de forma eficaz com o LLM. Com um prompt enriquecido, os grandes modelos de linguagem podem gerar respostas mais contextualizadas às consultas dos usuários.
Atualização de dados externos
Mas daí surge outra questão: e se os dados externos ficarem obsoletos? Para manter a contemporaneidade das informações, basta atualizar os documentos de forma assíncrona e atualizar a representação incorporada dos documentos. Isso pode ser feito através de processos automatizados em tempo real ou de processamento em lotes periódicos. Esse é um desafio comum na análise de dados, onde diversas metodologias provenientes da ciência de dados para gestão de mudanças são aplicáveis.
O diagrama a seguir mostra o fluxo conceitual do uso de RAG com LLMs.
Qual é a diferença entre a geração aumentada de recuperação e a pesquisa semântica?
A pesquisa semântica aprimora os resultados da RAG ao ser aplicada por organizações que buscam integrar vastas fontes externas de conhecimento às suas aplicações de grande modelo de linguagem (LLM). As empresas modernas armazenam uma grande quantidade de informações de vários sistemas, incluindo manuais, perguntas frequentes, relatórios de pesquisa, guias de atendimento ao cliente e documentação de recursos humanos. Recuperar contexto em grande escala é uma tarefa desafiadora, o que impacta diretamente na qualidade dos resultados gerados.
As tecnologias de pesquisa semântica podem escanear grandes bancos de dados, que contém informações variadas, e recuperar informações com maior precisão. Como exemplo, são capazes de responder a perguntas como "Quanto foi gasto em reparos de máquinas no ano passado?" ao mapear a pergunta para os documentos relevantes e retornar um texto específico, ao invés de simplesmente retornar resultados de pesquisa. Depois, os desenvolvedores podem usar essa resposta para fornecer mais contexto ao LLM.
Abordagens tradicionais ou pesquisa baseada em palavras-chave no contexto da RAG tendem a gerar resultados restritos em tarefas que demandam amplo conhecimento. Os desenvolvedores também precisam lidar com incorporações de palavras, fragmentação de documentos e outras complexidades durante o processo manual de preparação de dados. Em contrapartida, as tecnologias de busca semântica automatizam completamente o processo de preparação da base de conhecimento, dispensando qualquer intervenção manual por parte dos desenvolvedores. Além disso, essas tecnologias produzem trechos de texto semanticamente relevantes e organizam palavras-chave de forma a maximizar a qualidade do conteúdo fornecido à RAG.
Como a AWS pode oferecer suporte aos seus requisitos de geração aumentada de recuperação?
O Amazon Bedrock é um serviço totalmente gerenciado que oferece uma variedade de modelos básicos de alto desempenho, juntamente com um amplo conjunto de recursos, para criar aplicações de IA generativa e, ao mesmo tempo, simplificar o desenvolvimento e manter a privacidade e a segurança. Com as bases de conhecimento do Amazon Bedrock, você pode conectar FMs às suas fontes de dados para RAG com apenas alguns cliques. As conversões vetoriais, as recuperações e a geração aprimorada de saída são todas tratadas automaticamente.
Para organizações que gerenciam seu próprio RAG, o Amazon Kendra é um serviço de pesquisa empresarial altamente preciso, baseado em machine learning. Ele fornece uma API Retrieve Kendra otimizada que você pode usar com o classificador semântico de alta precisão do Amazon Kendra como um recuperador corporativo para seus fluxos de trabalho RAG. Por exemplo, com a API Retrieve, você pode:
- Recupere até 100 passagens semanticamente relevantes de até 200 palavras simbólicas cada, ordenadas por relevância.
- Use conectores pré-criados para tecnologias de dados populares, como o Amazon Simple Storage Service, SharePoint, Confluence e outros sites.
- Ofereça suporte a uma ampla variedade de formatos de documentos, como HTML, Word, PowerPoint, PDF, Excel e arquivos de texto.
- Filtre as respostas com base nos documentos que as permissões do usuário final permitem.
A Amazon também oferece opções para organizações que desejam criar soluções de IA generativas mais personalizadas. O Amazon SageMaker JumpStart é um hub de ML com FMs, algoritmos integrados e soluções de ML pré-criadas que você pode implantar com apenas alguns cliques. Você pode acelerar a implementação do RAG consultando os notebooks e exemplos de código existentes do SageMaker.
Comece a usar o Retrieval-Augmented Generation na AWS criando uma conta gratuita hoje
Próximas etapas na AWS
Obtenha acesso instantâneo ao nível gratuito da AWS.