Quando se trata de julgar um sistema RAG sem dados de verdade terrestre, outra abordagem é fabricar seu próprio conjunto de dados. Parece terrível, mas há várias estratégias para tornar esse processo mais fácil, desde encontrar conjuntos de dados semelhantes até alavancar o feedback humano e até mesmo gerar dados sinteticamente. Vamos explorar porquê você pode fazer isso.
Encontrando conjuntos de dados semelhantes online
Isso pode parecer óbvio, e a maioria das pessoas que chegaram à desenlace de que não têm um conjunto de dados de verdade básica já esgotou essa opção. Mas ainda vale a pena mencionar que pode ter conjuntos de dados por aí que são semelhantes ao que você precisa. Talvez esteja em um domínio de negócios dissemelhante do seu caso de uso, mas esteja no formato de pergunta-resposta com o qual você está trabalhando. Sites porquê o Kaggle têm uma grande variedade de conjuntos de dados públicos, e você pode se surpreender com quantos se alinham com o seu espaço de problema.
Exemplo:
Geração manual de dados de verdade básica
Se você não consegue encontrar exatamente o que precisa online, você sempre pode fabricar dados de verdade terrestre manualmente. É cá que o feedback humano no loop se torna útil. Lembra do feedback de profissional de domínio sobre o qual falamos antes? Você pode usar esse feedback para erigir seu próprio miniconjunto de dados.
Ao selecionar uma coleção de exemplos revisados por humanos — onde a relevância, a correção e a integridade dos resultados foram validadas — você cria uma base para expandir seu conjunto de dados para avaliação.
Há também um ótimo cláusula de Katherine Munro sobre uma abordagem experimental para o desenvolvimento destro de chatbots.
Treinamento de um LLM porquê Juiz
Depois de ter seu conjunto mínimo de dados de verdade fundamental, você pode dar um passo adiante treinando um LLM para atuar porquê juiz e julgar os resultados do seu protótipo.
Mas antes de responsabilizar em um LLM para agir porquê um juiz, primeiro precisamos prometer que ele esteja classificando as saídas do nosso protótipo com precisão, ou pelo menos de forma confiável. Veja porquê você pode abordar isso:
- Crie exemplos Sua visita nos ajuda a continuar oferecendo o melhor para você! por humanos: Dependendo do seu caso de uso, 20 a 30 exemplos devem ser bons o suficiente para ter uma boa noção de quão confiável o LLM é em verificação. Consulte a seção anterior sobre os melhores critérios para qualificar e porquê medir classificações conflitantes.
- Crie seu Juiz LLM: Peça para um LLM dar classificações com base nos mesmos critérios que você entregou aos seus especialistas de domínio. Pegue a classificação e compare porquê as classificações do LLM se alinham com as classificações humanas. Novamente, você pode usar métricas porquê as métricas Pearson para ajudar a julgar. Uma pontuação de reciprocidade subida indicará que o LLM está tendo um desempenho tão bom quanto um juiz.
- Utilizar melhores práticas de engenharia rápida: A engenharia rápida pode fazer ou quebrar esse processo. Técnicas porquê pré-aquecimento do LLM com contexto ou fornecer alguns exemplos (tirocínio de poucos tiros) podem melhorar drasticamente a precisão dos modelos ao julgar.
Outra maneira de aumentar a qualidade e a quantidade dos seus conjuntos de dados de verdade básica é segmentar seus documentos em tópicos ou grupos semânticos. Em vez de olhar para documentos inteiros porquê um todo, divida-os em segmentos menores e mais focados.
Por exemplo, digamos que você tenha um documento (documentId: 123) que menciona:
“Posteriormente o lançamento do resultado ABC, a empresa XYZ viu um aumento de 10% na receita no primeiro trimestre de 2024.”
Esta frase contém duas informações distintas:
- Lançamento do resultado ABC
- Um aumento de 10% na receita para o primeiro trimestre de 2024
Agora, você pode aumentar cada tópico em sua própria consulta e contexto. Por exemplo:
- Consulta 1: “Qual resultado a empresa XYZ lançou?”
- Contexto 1: “Lançamento do resultado ABC”
- Consulta 2: “Qual foi a mudança na receita do primeiro trimestre de 2024?”
- Contexto 2: “A empresa XYZ viu um aumento de 10% na receita no primeiro trimestre de 2024”
Ao dividir os dados em tópicos específicos porquê nascente, você não somente cria mais pontos de dados para treinamento, mas também torna seu conjunto de dados mais preciso e focado. Ou por outra, se você quiser rastrear cada consulta de volta ao documento original para confiabilidade, você pode facilmente somar metadados a cada segmento de contexto. Por exemplo:
- Consulta 1: “Qual resultado a empresa XYZ lançou?”
- Contexto 1: “Lançamento do resultado ABC (documentId: 123)”
- Consulta 2: “Qual foi a mudança na receita do primeiro trimestre de 2024?”
- Contexto 2: “A empresa XYZ viu um aumento de 10% na receita no primeiro trimestre de 2024 (documentId: 123)”
Dessa forma, cada segmento é vinculado à sua origem, tornando seu conjunto de dados ainda mais útil para avaliação e treinamento.
Se tudo mais falhar, ou se você precisar de mais dados do que pode coletar manualmente, a geração de dados sintéticos pode mudar o jogo. Usando técnicas porquê aumento de dados ou até mesmo modelos GPT, você pode fabricar novos pontos de dados com base em seus exemplos existentes. Por exemplo, você pode pegar um conjunto base de consultas e contextos e ajustá-los ligeiramente para fabricar variações.
Por exemplo, começando com a consulta:
- “Qual resultado a empresa XYZ lançou?”
Você pode gerar sinteticamente variações porquê:
- “Qual resultado foi introduzido pela empresa XYZ?”
- “Qual era o nome do resultado lançado pela empresa XYZ?”
Isso pode ajudar você a fabricar um conjunto de dados muito maior sem a sobrecarga manual de ortografar novos exemplos do zero.
Também existem estruturas que podem automatizar o processo de geração de dados sintéticos para você, que exploraremos na última seção.
Agora que você reuniu ou criou seu conjunto de dados, é hora de reprofundar na tempo de avaliação. O protótipo RAG envolve duas áreas principais: recuperação e geração. Ambas são importantes e entender porquê julgar cada uma ajudará você a ajustar seu protótipo para melhor atender às suas necessidades.
Avaliação da recuperação: quão relevantes são os dados recuperados?
A lanço de recuperação no RAG é crucial — se seu protótipo não puder extrair as informações corretas, ele terá dificuldades para gerar respostas precisas. Cá estão duas métricas principais nas quais você vai querer se concentrar:
- Relevância do contexto: Isso mede o quão muito o contexto restaurado se alinha com a consulta. Basicamente, você está perguntando: Essa informação é realmente relevante para a pergunta feita? Você pode usar seu conjunto de dados para calcular pontuações de relevância, seja por julgamento humano ou comparando métricas de similaridade (porquê similaridade de cosseno) entre a consulta e o documento restaurado.
- Relembrando o contexto: A recuperação de contexto foca em quanta informação relevante foi recuperada. É verosímil que o documento patente tenha sido tirado, mas somente secção das informações necessárias foi incluída. Para julgar a recuperação, você precisa verificar se o contexto que seu protótipo extraiu contém todas as informações-chave para responder completamente à consulta. O ideal é que você queira uma recuperação subida: sua recuperação deve tomar as informações de que você precisa e zero crítico deve ser deixado para trás.
Avaliando a geração: a resposta é precisa e útil?
Uma vez que as informações corretas são recuperadas, o próximo passo é gerar uma resposta que não somente responda à consulta, mas que o faça de forma leal e clara. Cá estão dois aspectos críticos para julgar:
- Fidelidade: Isso mede se a resposta gerada reflete com precisão o contexto restaurado. Essencialmente, você quer evitar alucinações — onde o protótipo inventa informações que não estavam nos dados recuperados. Fidelidade é sobre prometer que a resposta seja baseada nos fatos apresentados pelos documentos que seu protótipo recuperou.
- Relevância da resposta: Isso se refere a quão muito a resposta gerada corresponde à consulta. Mesmo que a informação seja leal ao contexto restaurado, ela ainda precisa ser relevante para a pergunta que está sendo feita. Você não quer que seu protótipo extraia informações corretas que não respondem muito à pergunta do usuário.
Fazendo uma avaliação ponderada
Depois de julgar tanto a recuperação quanto a geração, você pode dar um passo adiante combinando essas avaliações de forma ponderada. Talvez você se importe mais com relevância do que com recall, ou talvez fidelidade seja sua maior prioridade. Você pode atribuir pesos diferentes a cada métrica dependendo do seu caso de uso específico.
Por exemplo:
- Recuperação: 60% de relevância do contexto + 40% de recordação do contexto
- Sua visita nos ajuda a continuar oferecendo o melhor para você! nn hv ra np nq nr rb nt nu nv rc nx ny nz rd ob oc od qw qx qy bk">Geração: 70% de fidelidade + 30% de relevância da resposta
Esse tipo de avaliação ponderada lhe dá flexibilidade para priorizar o que mais importa para sua emprego. Se seu protótipo precisa ser 100% factualmente preciso (porquê em contextos legais ou médicos), você pode dar mais peso à fidelidade. Por outro lado, se a completude for mais importante, você pode se concentrar na recordação.
Se fabricar seu próprio sistema de avaliação parece esmagador, não se preocupe — existem algumas ótimas estruturas existentes que já fizeram muito do trabalho pesado para você. Essas estruturas vêm com métricas integradas projetadas especificamente para julgar sistemas RAG, facilitando a avaliação do desempenho de recuperação e geração. Vamos dar uma olhada em algumas das mais úteis.
RAGAS é uma estrutura construída especificamente para julgar o desempenho de modelos RAG. Ela inclui métricas que avaliam tanto a recuperação quanto a geração, oferecendo uma maneira abrangente de medir o quão muito seu sistema está se saindo em cada lanço. Ela também oferece geração de dados de teste sintéticos empregando um paradigma de geração evolucionária.
Inspirado por obras porquê Evol-InstruirRagas consegue isso empregando um paradigma de geração evolucionária, onde questões com características diferentes, porquê raciocínio, condicionamento, multicontexto e mais, são sistematicamente elaboradas a partir do conjunto de documentos fornecido. — Documentação RAGAS
ARES é outra instrumento poderosa que combina geração de dados sintéticos com avaliação baseada em LLM. O ARES usa dados sintéticos — dados gerados por modelos de IA em vez de coletados de interações do mundo real — para erigir Sua visita nos ajuda a continuar oferecendo o melhor para você! conjunto de dados que pode ser usado para testar e refinar seu sistema RAG.
A estrutura também inclui um juiz LLM, que, porquê discutimos anteriormente, pode ajudar a julgar as saídas do protótipo comparando-as com anotações humanas ou outros dados de referência.
Mesmo sem dados de verdade básica, essas estratégias podem ajudar você a julgar efetivamente um sistema RAG. Quer você esteja usando limites de similaridade de vetores, múltiplos LLMs, LLM porquê juiz, métricas de recuperação ou frameworks, cada abordagem oferece uma maneira de medir o desempenho e melhorar os resultados do seu protótipo. A chave é encontrar o que funciona melhor para suas necessidades específicas — e não ter terror de ajustar as coisas ao longo do caminho. 🙂
Tags:
Crédito: Manadeira Original