O aprendizado de máquina e a AI são ferramentas poderosas com potencial para mudar o mundo, mas são tão poderosas quanto os dados que os alimentam e os modelos que usam. Uma parte essencial do aprendizado de máquina e AI, o processamento de linguagem natural (PLN, Natural Language Processing) oferece aos computadores a capacidade de interpretar, manipular e compreender a linguagem humana.
A geração aumentada de recuperação (RAG, Recovery augmented Generation) representa um grande avanço no PLN ao preencher a lacuna entre recursos geradores e acesso ao conhecimento externo, levando a sistemas de geração e compreensão de linguagem mais robustos e sensíveis ao contexto.
Este artigo explica o que é RAG, por que é importante, como funciona e seus aplicativos e benefícios.
O que é RAG?
O RAG é uma técnica para estender os recursos dos LLMs além dos dados de treinamento originais, integrando-os a uma base de conhecimento externa autorizada.
No RAG, um modelo de aprendizado de máquina gerativo recupera informações relevantes de uma grande base de conhecimento externa durante o processo de geração, levando a um contexto mais rico, resultados mais ricos e melhor conteúdo.
Por que o RAG é importante no campo do PLN?
O RAG combina os pontos fortes dos modelos de linguagem pré-treinados com a riqueza contextual das informações recuperadas, levando a uma geração de texto mais informada e precisa em vários aplicativos, incluindo sistemas de resposta a perguntas, resumo e diálogo.
O RAG é um conceito importante no campo do PLN porque traz:
Melhor compreensão contextual: Ao incorporar um mecanismo de recuperação, os modelos RAG podem acessar uma grande quantidade de conhecimento externo ou contexto relevante para a consulta de entrada ou tarefa de geração. Isso permite que o modelo tenha uma compreensão mais profunda do contexto, levando a respostas mais precisas e contextualmente relevantes.
Melhor geração de conteúdo: Os modelos RAG podem gerar conteúdo que não é apenas fluente, mas também fundamentado em conhecimento do mundo real. Isso é particularmente útil em tarefas em que a saída gerada precisa ser factual e coerente.
Redução de vieses e informações incorretas: Os modelos RAG podem ajudar a reduzir vieses e informações incorretas ao verificar o conteúdo gerado em relação a fontes externas. Ao incorporar diversas perspectivas de uma base de conhecimento, o modelo pode produzir resultados mais equilibrados e precisos.
Flexibilidade e adaptabilidade: As arquiteturas RAG são flexíveis e adaptáveis a diferentes domínios e linguagens. Eles podem aproveitar bases de conhecimento específicas do domínio ou se adaptar a novos tópicos recuperando informações relevantes dinamicamente durante a inferência.
Escalabilidade: Os modelos RAG podem ser dimensionados com eficácia para lidar com bases de conhecimento de grande escala. O componente de recuperação não depende apenas de parâmetros pré-treinados, tornando a abordagem escalável para diversos aplicativos e casos de uso.
Aprendizagem e melhoria contínuas: Os sistemas RAG podem ser desenvolvidos para aprender e melhorar continuamente ao longo do tempo. Ao incorporar mecanismos de feedback e processos de refinamento iterativos, os modelos RAG podem melhorar seu desempenho, precisão e relevância na geração de conteúdo de alta qualidade. Esse loop de aprendizagem iterativo contribui para a eficácia e a confiabilidade de longo prazo dos aplicativos com tecnologia RAG.
Como funciona o RAG?
O RAG combina modelos de linguagem pré-treinados com mecanismos de recuperação para melhorar a geração de saídas baseadas em texto.
Vejamos os componentes fundamentais do RAG:
- Modelos de linguagem pré-treinados
O processo começa com um modelo de linguagem pré-treinado, como um transformador pré-treinado generativo (GPT, Generative Pre-trained Transformation) ou representações de codificadores bidirecionais de transformadores (BERT, Bidirectional Encoder Representations from Transformers). Esses modelos são treinados em grandes quantidades de dados de texto e podem entender e gerar texto humano.
- Mecanismos de recuperação
O mecanismo de recuperação obtém informações relevantes de uma base de conhecimento usando técnicas como o Okapi BM25 (uma função de classificação usada por mecanismos de pesquisa).
- Bases de conhecimento
O RAG exige acesso a uma base de conhecimento ou a um corpo de trabalho que tenha informações relevantes para a tarefa em questão. Isso pode ser um banco de dados, um conjunto de documentos ou até mesmo um conjunto selecionado de páginas da Web.
- Consultas de entrada
O usuário fornece uma consulta de entrada ou prompt para o sistema RAG. Essa consulta pode ser uma pergunta, uma frase parcial ou qualquer forma de entrada que exija contexto ou informações para gerar uma resposta significativa.
- Processo de recuperação
O mecanismo de recuperação processa a consulta de entrada e recupera documentos ou passagens relevantes da base de conhecimento.
- Fusão de contexto
As informações recuperadas são combinadas com a consulta de entrada original ou prompt para criar uma entrada rica em contexto para o modelo de linguagem. Essa etapa de fusão de contexto garante que o modelo de linguagem tenha acesso a informações relevantes antes de gerar a saída.
- Geração
O modelo de linguagem pré-treinado pega a entrada enriquecida com contexto e gera a saída desejada. Esse resultado pode ser uma resposta completa a uma pergunta, a continuação de uma história, uma frase parafraseada ou qualquer outra resposta baseada em texto.
- Avaliação e refinamento
A saída gerada pode ser avaliada com base em métricas predefinidas ou julgamento humano. O sistema pode ser refinado e ajustado com base no feedback para melhorar a qualidade das saídas geradas ao longo do tempo.
Aplicativos RAG
O RAG é útil em muitos tipos de aplicativos em vários setores.
Chatbots
O exemplo mais comum seriam chatbots e assistentes virtuais, onde o RAG melhora os recursos de conversação fornecendo respostas contextualmente relevantes e precisas. Um chatbot de atendimento ao cliente para uma empresa de telecomunicações, por exemplo, pode usar o RAG para recuperar informações de sua base de conhecimento, como perguntas frequentes, especificações de produtos e guias de solução de problemas. Quando um usuário do site faz uma pergunta, o chatbot pode gerar respostas com base na consulta do usuário e no conhecimento recuperado, levando a interações mais informativas e úteis.
Geração de conteúdo
Outros aplicativos RAG comuns são geração e resumo de conteúdo. Por exemplo, um sistema de resumo de notícias pode usar o RAG para buscar artigos relacionados ou informações básicas sobre um determinado tópico. O sistema pode criar um resumo conciso e informativo sintetizando o conhecimento recuperado com os principais pontos da notícia, fornecendo aos leitores uma visão geral abrangente sem omitir detalhes importantes.
Modelos de linguagem grandes
O RAG pode ser usado para casos de uso de modelo de linguagem grande (LLM, Large Language Model) de grande escala e alto desempenho, permitindo que as empresas melhorem e personalizem LLMs gerais com fontes de dados externas, mais específicas e exclusivas. Isso aborda os principais problemas de AI generativa, como alucinações, tornando os LLMs mais precisos, oportunos e relevantes consultando bases de conhecimento fora daquelas nas quais foram treinados.
Comércio eletrônico
O RAG também ajuda em coisas como aplicativos de comércio eletrônico, recuperando avaliações de produtos, especificações e feedback do usuário. Quando o usuário pesquisa um produto ou categoria específica, o sistema pode gerar recomendações personalizadas com base nas preferências do usuário, interações anteriores e conhecimento recuperado.
Educação
Instituições educacionais e sites podem usar o RAG para criar experiências de aprendizagem personalizadas e fornecer contexto adicional ao conteúdo educacional. Um sistema AI, por exemplo, pode usar o RAG para acessar materiais educacionais, livros didáticos e recursos complementares relacionados aos tópicos que estão sendo ensinados. Quando um aluno faz uma pergunta ou solicita esclarecimentos sobre um conceito, o sistema pode gerar explicações ou exemplos combinando o conhecimento recuperado com o contexto de aprendizagem atual do aluno.
Área da saúde
Os sistemas de informação de assistência médica podem usar o RAG para fornecer aos médicos e pacientes informações médicas precisas e atualizadas. Um chatbot médico ou sistema de informações pode usar o RAG para recuperar literatura médica, diretrizes de tratamento e materiais educacionais para pacientes. Quando um profissional de saúde ou paciente pergunta sobre uma condição médica específica, opção de tratamento ou sintoma, o sistema pode gerar respostas informativas com base no conhecimento recuperado, ajudando os usuários a tomar decisões informadas e entender conceitos médicos complexos com mais facilidade.
Esses exemplos mostram a versatilidade do RAG em todos os setores e destacam seu potencial de melhorar vários aspectos de PLN, geração de conteúdo, sistemas de recomendação e aplicativos de gerenciamento de conhecimento.
Conclusão
O RAG combina modelos de linguagem pré-treinados com mecanismos de recuperação para melhorar as tarefas de geração de texto. Ele melhora a qualidade do conteúdo, reduz o viés e aumenta a satisfação do usuário, a escalabilidade e os recursos de aprendizado contínuo. Os aplicativos RAG incluem chatbots, geração de conteúdo, sistemas de recomendação, plataformas educacionais, sistemas de informações de saúde e muito mais.
À medida que o RAG continua evoluindo e se integrando a tecnologias avançadas de AI, ele tem o potencial de revolucionar a forma como interagimos com sistemas de AI, proporcionando experiências mais personalizadas, informativas e envolventes em interações de linguagem natural.
Saiba como um fluxo RAG com GPUs NVIDIA, rede NVIDIA, microsserviços NVIDIA e TM do FlashBlade//S da Pure Storage pode otimizar aplicativos de inteligência artificial corporativos.