Panorama da tecnologia de Retrieval-Augmented Generation (RAG) para grandes modelos de linguagem
(discuss.pytorch.kr)PyTorchKR
-
Com a popularidade dos LLMs, o interesse em RAG também vem aumentando. A comunidade de usuários do PyTorch na Coreia organizou o artigo de survey sobre a tecnologia RAG, apresentado em os principais artigos de ML da semana entre 18/12 e 24/12.
-
Como o conteúdo é relativamente longo, ele foi publicado em duas partes: na parte 1, foram organizados os paradigmas da tecnologia RAG e, na parte 2, os principais componentes, a avaliação e os próximos desafios de pesquisa foram resumidos.
Abaixo estão apenas os principais pontos extraídos com foco no índice
Introdução à tecnologia Retrieval-Augmented Generation (RAG)
Grandes modelos de linguagem (LLMs) demonstram capacidades impressionantes, mas, para uso prático, ainda precisam superar problemas como alucinações, atualização lenta do conhecimento e falta de transparência nas respostas. O RAG (Retrieval-Augmented Generation) é uma tecnologia proposta para resolver esses problemas.
RAG é um método em que, antes de gerar uma resposta ou texto em um grande modelo de linguagem (LLM), busca-se informação relevante em um amplo conjunto de documentos e, em seguida, essa informação é usada para gerar a resposta. O foco é resolver problemas típicos dos LLMs, como conhecimento desatualizado, falta de conhecimento em domínios específicos e baixa transparência nas respostas.
Esse tipo de RAG pode melhorar significativamente a precisão das respostas e ajuda especialmente a reduzir alucinações do modelo em tarefas intensivas em conhecimento. O usuário pode verificar a exatidão da resposta por meio de citações das fontes, o que aumenta a confiança na saída do modelo. Além disso, também facilita a atualização de conhecimento e a incorporação de conhecimento de áreas específicas.
Além do RAG, também é possível usar fine-tuning para fazer com que grandes modelos de linguagem se concentrem em conhecimentos específicos. Porém, esse fine-tuning leva tempo para refletir informações atualizadas em tempo real e consome recursos adicionais para treinar novamente o modelo. Em contraste, o RAG é semelhante a fornecer ao LLM um “material de referência” com o qual ele pode buscar informações para consultas específicas.
Os 3 principais paradigmas de RAG - visão geral
Os paradigmas de pesquisa da tecnologia RAG vêm evoluindo continuamente ao longo do tempo. Os principais paradigmas são três: RAG básico, RAG avançado e RAG modular. O RAG básico, dos estágios iniciais, era eficiente em custo e apresentava desempenho melhor do que usar apenas um LLM, mas tinha várias limitações. O surgimento do RAG avançado e do RAG modular teve como objetivo resolver defeitos específicos do RAG básico.
Os 3 principais paradigmas de RAG - RAG básico (Naive RAG)
O RAG básico se refere à metodologia inicial de pesquisa em RAG e inclui os processos tradicionais de indexação, recuperação e geração. O RAG básico se concentra principalmente em uma abordagem simples de recuperação e geração, sendo importante para explicar os conceitos e princípios fundamentais de RAG.
No entanto, podem surgir repetições desnecessárias, informações imprecisas e integração incorreta de contexto devido a baixa precisão de recuperação, baixa qualidade na geração de respostas e dificuldades no processo de augmentação. Portanto, pode não ser apropriado usar o RAG básico em cenários complexos ou desafiadores.
Os 3 principais paradigmas de RAG - RAG avançado (Advanced RAG)
O RAG avançado é um paradigma desenvolvido para melhorar as deficiências do RAG básico. Ele inclui principalmente métodos de pré-recuperação e pós-recuperação para elevar a qualidade da recuperação e da geração. De modo geral, o RAG avançado pode ser dividido em três etapas: processo de pré-recuperação (Pre-Retrieval Process), processo de pós-recuperação (Post-Retrieval Process) e otimização do pipeline de RAG (RAG Pipeline Optimization):
Os 3 principais paradigmas de RAG - RAG modular (Modular RAG)
O RAG modular é uma forma mais avançada do RAG avançado, indo além do framework tradicional de RAG ao integrar vários módulos e funções para oferecer maior diversidade e flexibilidade. Essa abordagem inclui diversos novos módulos e padrões que permitem ajustar o sistema RAG a diferentes cenários e requisitos.
Principais componentes da tecnologia RAG: Retriever
O retriever representa o “R” da sigla RAG e desempenha no sistema o papel crucial de buscar informações. Ele localiza informações relevantes em grandes conjuntos de dados e prepara os dados para a geração de texto. Esses retrievers são usados para preencher a lacuna entre o conhecimento geral do LLM e a necessidade de informações atuais e contextualmente precisas. Isso é especialmente importante em cenários que exigem dados em tempo real, conhecimento especializado de domínios específicos ou verificação de fatos.
Principais componentes da tecnologia RAG: Generator
Se o papel do retriever visto anteriormente era extrair documentos candidatos a partir da entrada do usuário, o papel do generator é usar os resultados recuperados para gerar a resposta que será fornecida ao usuário. Para gerar respostas precisas e altamente relevantes usando efetivamente as informações recuperadas, são realizados processos de pós-processamento, como compressão das informações e reranking, além de processos de otimização adaptados aos dados de entrada.
Principais componentes da tecnologia RAG: métodos de augmentação (Augmentation Methods)
Neste capítulo, os métodos de augmentação em RAG serão analisados sob os três aspectos a seguir.
- etapa de augmentação (the stage of augmentation)
- augmentação das fontes de dados (augmentation data sources)
- processo de augmentação (the process of augmentation)
Avaliação de RAG (RAG Evaluation)
A avaliação de RAG (RAG Evaluation) consiste em medir o quão efetivamente o RAG funciona. De forma ampla, a avaliação se divide em dois tipos: a avaliação independente (independent evaluation) de cada módulo, como retriever ou generator, e a avaliação end-to-end (end-to-end evaluation) de todo o processo, da entrada à saída. Vamos ver os métodos de avaliação, as métricas (metric) e os frameworks (framework) que podem ser usados em cada caso.
Perspectivas futuras de RAG (Future Prospects)
Aborda a otimização vertical e a expansão horizontal do RAG, bem como o ecossistema de RAG.
⚠️Publicidade: este texto organizado pela comunidade de usuários do PyTorch na Coreia foi útil para você? Se cadastar como membro, você receberá os principais textos por e-mail! (O padrão é Weekly, mas você também pode mudar para Daily.)
2 comentários
Obrigado por compartilhar este ótimo material.
Ah, obrigado por ler!
Se, por acaso, você notar alguma parte estranha ou incorreta durante a leitura, peço que me avise. ^^;