RAG (Retrieve Augmented Generation) é uma técnica para otimizar a saída de modelos de linguagem grandes (LLMs) com base em informações de bases de conhecimento confiáveis. Essa técnica melhora a qualidade do resultado e garante sua relevância, precisão e utilidade em uma variedade de contextos, ampliando a funcionalidade dos LLMs para fazer referência à base de conhecimento interna de um determinado domínio ou organização ao gerar respostas.
Otimização de modelos de linguagem grandes (LLMs)
Os modelos de linguagem grande (LLMs) são normalmente treinados em conjuntos de dados de grande escala com bilhões de parâmetros para gerar resultados brutos para tarefas como responder a perguntas, tradução de idiomas e conclusão de frases. No entanto, o fato de os dados de treinamento dos LLMs serem estáticos e terem uma data limite em termos de atualização do conhecimento possibilita que os modelos forneçam informações incorretas quando faltarem respostas ou produzam respostas desatualizadas ou ambíguas ao responder a uma consulta que exija acesso a informações específicas atualizadas. Além disso, também é possível que as respostas dos LLMs venham de fontes não autorizadas ou produzam respostas incorretas devido à confusão terminológica, ou seja, o mesmo termo pode se referir a conteúdos diferentes em fontes de dados diferentes.
A solução da RAG
O RAG aborda o problema acima, direcionando os LLMs para recuperar informações relevantes de fontes de conhecimento autorizadas e predefinidas. O modelo básico geralmente é treinado off-line e não tem acesso a nenhum dado gerado após o término do treinamento. Os LLMs geralmente são treinados em corpora de domínio muito geral e, portanto, são menos eficientes no processamento de tarefas específicas de domínio. O modelo RAG é capaz de recuperar informações de outros dados além dos do modelo básico e aumentar as dicas adicionando os dados relevantes recuperados ao contexto.
Para obter mais informações sobre a arquitetura do modelo RAG, consulteGeração aprimorada por recuperação de tarefas de PNL com uso intensivo de conhecimento..
Vantagens do Retrieval Augmented Generation (RAG)
Usando o RAG, é possível obter dados de várias fontes de dados externas (por exemplo, repositórios de documentos, bancos de dados ou APIs) para aumentar as dicas. O processo começa com a transformação de documentos e consultas de usuários em um formato compatível para a pesquisa de relevância. A compatibilidade de formato nesse contexto significa que precisamos utilizar um modelo de linguagem de incorporação para transformar a coleção de documentos (que pode ser considerada uma base de conhecimento) e a consulta enviada pelo usuário em uma representação numérica para comparação e pesquisa.
Em seguida, os prompts aprimorados são enviados para o modelo básico, onde os prompts originais do usuário são combinados com o contexto relevante de documentos semelhantes na base de conhecimento. Você também pode atualizar de forma assíncrona a base de conhecimento e suas representações incorporadas associadas para melhorar ainda mais a eficiência e a precisão do modelo RAG.
Desafios para o RAG
Embora o RAG ofereça uma maneira de otimizar grandes modelos de linguagem para enfrentar completamente os desafios da recuperação de informações e da resposta a perguntas na prática, ele ainda enfrenta vários problemas e desafios.
1. precisão e confiabilidade das fontes de dados
Nos modelos de geração de aumento de recuperação, a precisão e a atualização da fonte de dados são fundamentais. Se a fonte de dados contiver informações incorretas, desatualizadas ou não validadas, isso poderá resultar em respostas incorretas ou de baixa qualidade geradas pelo RAG. Portanto, garantir a qualidade das fontes de dados é um desafio que precisa ser enfrentado e resolvido continuamente.
2) Eficiência de recuperação
Embora o RAG possa ser executado com eficiência em grandes conjuntos de dados, ele pode enfrentar problemas de eficiência quando a base de conhecimento se torna grande ou a consulta se torna complexa. Como encontrar informações relevantes em um grande volume de dados é uma tarefa que exige muito tempo e computação, otimizar a eficiência do algoritmo de recuperação também é um desafio para o RAG.
3. capacidade de generalização
Os modelos RAG podem ser particularmente sensíveis a dados e consultas específicos, e alguns problemas podem parecer mais difíceis de adotar estratégias sensatas e eficazes, o que geralmente exige modelos com bons recursos de generalização. As questões e os desafios que precisam ser abordados ao treinar modelos para lidar com uma variedade de consultas e fontes de dados são bastante complexos.
4. processamento de dados heterogêneo
Na prática, os dados nem sempre existem na forma de documentos, mas também podem existir em outras formas, como imagens, áudio e vídeo. Também é um grande desafio fazer com que o RAG manipule essas formas de dados para recuperação e referência cruzada entre uma variedade maior de fontes de conhecimento.
Para enfrentar os desafios acima, é necessário encontrar um equilíbrio entre o poder do RAG e seus possíveis problemas, de modo que seu desempenho possa ser garantido em uma variedade de aplicativos do mundo real.
Para obter detalhes, consulte o seguinte exemplo de notebook:
Referência importante: https://docs.aws.amazon.com/pdfs/sagemaker/latest/dg/sagemaker-dg.pdf#jumpstart-foundation-models-customize-rag