RAG é um acrônimo para Retrieval Augmented Generation (Geração Aumentada de Recuperação). Vamos detalhar o termo para entender melhor o que é RAG:
R -> Recuperar
A -> Aprimoramento
G -> Gerar
Basicamente, os grandes modelos de linguagem (LLMs) que usamos atualmente não são atualizados em tempo real. Se eu fizer uma pergunta a um LLM (por exemplo, ChatGPT), ele poderá ter alucinações e dar a resposta errada. Para combater isso, treinamos o LLM com mais dados (dados que são acessados apenas por um subconjunto de pessoas, não dados que estão disponíveis publicamente em todo o mundo). Se não usarmos o RAG, poderá ocorrer o seguinte:
- Aumento da probabilidade de alucinações
- Obsolescência do LLM
- Redução da precisão e da factualidade
Você pode consultar o gráfico mencionado abaixo:
O RAG é um sistema híbrido que combina as vantagens de um sistema baseado em recuperação com o LLM para gerar decisões mais precisas, relevantes e informativas. Essa abordagem utiliza fontes de conhecimento externas no processo de geração, aprimorando a capacidade do modelo de fornecer informações atualizadas e contextualizadas. No diagrama acima:
- Na primeira etapa, o usuário faz uma consulta ao LLM.
- A consulta é então enviada para o
- depois disso
- Os documentos recuperados são enviados para o Modelo de Linguagem (LLM) junto com a consulta original.
- O gerador processa a consulta e o documento associado, gera uma resposta e a retorna para o usuário.
Agora eu sei que você está totalmente interessado em aprender o RAG do básico ao avançado, então deixe-me mostrar o roteiro perfeito para aprender o sistema RAG em apenas 5 dias. Sim, você ouviu bem, você pode dominar o sistema RAG em apenas 5 dias. Vamos direto ao roteiro de aprendizado:
Dia 1: Estabelecendo as bases para o RAG
O objetivo principal do Dia 1 é entender o RAG como um todo e explorar os principais componentes do RAG. Abaixo está um detalhamento dos tópicos do Dia 1:
Visão geral do RAG.
- Reconhecer a função e a importância do RAG e seu lugar na PNL moderna.
- A ideia principal é que a geração complementada por recuperação (RAG) aumenta a eficácia do modelo gerado ao introduzir informações externas.
Principais componentes.
- Aprenda a recuperação e a geração separadamente.
- Compreender a arquitetura de recuperação (por exemplo, Dense Paragraph Retrieval (DPR), BM25) e geração (por exemplo, GPT, BART, T5).
Dia 2: Crie seu próprio sistema de busca
O principal objetivo do Dia 2 é implementar com sucesso um sistema de recuperação (mesmo que seja básico). Veja a seguir um detalhamento dos tópicos do Dia 2:
Uma análise detalhada dos modelos de recuperação.
- Saiba a diferença entre pesquisas densas e esparsas:
- Pesquisa intensiva: DPR, ColBERT.
- Pesquisa esparsa. BM25, TF-IDF.
- Explore as vantagens e desvantagens de cada método.
Realização de recuperação.
- Use bibliotecas como elasticsearch (para pesquisas esparsas) ou faiss (para pesquisas densas) para tarefas básicas de pesquisa.
- Entenda como recuperar documentos relevantes da base de conhecimento com o tutorial de DPR da Hugging Face.
Banco de dados de conhecimento.
- Compreender a estrutura da base de conhecimento.
- Saiba como preparar dados para tarefas de recuperação, como pré-processamento de corpora e indexação de documentos.
Dia 3: Ajuste fino do modelo gerado e observação dos resultados
O objetivo do Dia 3 foi ajustar o modelo de geração e observar os resultados para entender o papel da recuperação no aprimoramento da geração. Abaixo está um detalhamento dos tópicos do Dia 3:
Uma análise detalhada da modelagem generativa.
- Examine modelos treinados, como T5, GPT-2 e BART.
- Aprender a ajustar o processo de geração de tarefas (por exemplo, questionários ou resumos).
Prática na geração de modelos.
- Aplique o modelo Transformer fornecido pelo Hugging Face para otimizar o modelo em um pequeno conjunto de dados.
- O teste usa um modelo generativo para gerar respostas às perguntas.
Explorando a interação de recuperação e geração.
- Investigue a maneira como o modelo generativo insere os dados recuperados.
- Reconhecer como a recuperação pode melhorar a precisão e a qualidade das respostas geradas.
Dia 4: Implementação de um sistema RAG operacional
Agora estamos mais perto de nosso objetivo. O principal objetivo de hoje era implementar um sistema RAG funcional em um conjunto de dados simples e nos familiarizarmos com os parâmetros de ajuste. Aqui está um detalhamento dos tópicos do quarto dia:
Recuperação e geração combinadas:
- Integração de componentes gerados e recuperados em um único sistema.
- Permite a interação entre a recuperação de resultados e a geração de modelos.
Pipeline RAG usando o LlamaIndex:
- Conheça os recursos do pipeline do RAG por meio da documentação oficial ou de tutoriais.
- Configure e execute um exemplo usando o modelo RAG do LlamaIndex.
Experimentação prática:
- Comece a fazer experiências com diferentes parâmetros, como o número de documentos recuperados, a estratégia de pesquisa do pacote gerado e o escalonamento da temperatura.
- Tente executar o modelo em tarefas simples que exigem muito conhecimento.
Dia 5: Criação e ajuste fino de um sistema RAG mais robusto
O objetivo do último dia foi criar um modelo RAG mais robusto, ajustando-o e compreendendo os diferentes tipos de modelos RAG. Veja a seguir um detalhamento dos tópicos do quinto dia:
- Ajuste fino avançado: Explore como otimizar os componentes de geração e recuperação para tarefas específicas do domínio.
- Extensão: Amplie seu sistema RAG com conjuntos de dados maiores e bases de conhecimento mais complexas.
- Otimização do desempenho: Saiba como maximizar o uso da memória e a velocidade de recuperação (por exemplo, usando faiss na GPU).
- Avaliação: Saiba como avaliar modelos RAG em tarefas de conhecimento intensivo, usando várias métricas, como BLEU, ROUGE, etc., para medir a resolução de problemas.