Na construção de produtos como RAG
talvez AI
Ao usar esse tipo de sistema de IA como agente, a qualidade da recuperação é fundamental para determinar o limite superior do sistema. Normalmente, os desenvolvedores contam com duas técnicas de recuperação dominantes: pesquisa por palavra-chave e pesquisa semântica.
- Pesquisa por palavra-chave (por exemplo, BM25). Ele é rápido e bom em correspondência exata. Mas quando o texto da pergunta de um usuário muda, a recuperação cai.
- Pesquisa semântica. Capturar o significado mais profundo do texto por meio da incorporação de vetores permite a compreensão de consultas conceituais.
Uma prática comum é combinar os dois para maximizar a recuperação. Entretanto, alta recuperação não é o mesmo que alta precisão. Mesmo que a resposta correta esteja incluída em um grande número de documentos recuperados, se ela estiver classificada em 67º lugar, é praticamente impossível que um modelo de linguagem grande ou um usuário a veja. Para resolver o problema do "dedal no mar".reranker
(Resequencer) foi desenvolvido para essa finalidade.
O que é o Reranker?
Você pode colocar reranker
Entendida como uma "revisão de correspondência" no processo de recuperação de informações.
A pesquisa rudimentar por palavra-chave ou semântica é como uma "pesquisa de opinião", em que centenas de candidatos relevantes são rapidamente filtrados de um grande número de documentos. No entanto, o processo de seleção é relativamente simples, e os documentos são codificados independentemente da consulta. Por outro lado, a reranker
Como revisor, ele obterá a "consulta" do usuário e o texto completo de cada "documento candidato", fará uma comparação e uma pontuação refinadas e, por fim, dará uma classificação mais confiável e mais alinhada com a intenção real do usuário. Como ele toca tanto a consulta quanto o documento, sua compreensão do contexto é muito melhor do que a do estágio de seleção.
Neste documento, apresentaremos um novo reranker
metodologia de treinamento, que evita as anotações de pontuação tradicionais em favor das amplamente utilizadas no xadrez e nos eSports ELO
Subsistema de classificação.
O cerne do problema: falta de confiabilidade da pontuação
trem reranker
O objetivo é criar uma função f(q, d)
Ele pode ser usado para qualquer "consulta q
"e "documentação d
"Gerar uma pontuação de relevância precisa s
. Teoricamente, desde que haja um mar de (q, d, s)
dados, uma rede neural pode ser treinada por meio de aprendizado supervisionado.
Mas o problema é que essa "pontuação s
"Extremamente difícil de obter.
O dilema dos programas existentes: rotulagem binária e a catástrofe do "falso-negativo
A abordagem principal atual é usar pares de dados "positivos" (relevantes) e "negativos" (irrelevantes) rotulados manualmente. Exemplos positivos são fáceis de encontrar, mas a construção de exemplos negativos é um grande problema.
Uma abordagem é pegar uma amostra aleatória de todos os documentos e presumir que ela provavelmente não é relevante. Mas isso é como pedir a um campeão de boxe para bater em uma pessoa comum, e o modelo treinado não consegue lidar com essas situações sutis que "parecem estar relacionadas, mas na verdade são inúteis".
Outra abordagem é usar o BM25
ou os resultados de uma pesquisa vetorial como fonte de exemplos negativos. Mas isso leva a um desastre de "falso negativo": como você sabe que um documento rotulado como "exemplo negativo" não é realmente relevante? A resposta é: você não sabe. Em muitos casos, um documento rotulado como exemplo negativo é, na verdade, mais relevante do que o chamado "exemplo positivo".
A ambiguidade desse sistema de pontuação é o problema fundamental. O cérebro humano é inerentemente ruim em atribuir pontuações absolutas às coisas.
Consulta. "Quem ganhou o Prêmio Nobel de Física de 2017?"
Documentação. "As ondas gravitacionais foram observadas pela primeira vez pelo LIGO em 2015."
Que pontuação este documento deve receber? Alguns podem achar que o ano está errado e dar uma pontuação baixa; mas os entusiastas da física sabem que o Prêmio Nobel de 2017 foi concedido ao próprio descobridor das ondas gravitacionais e, portanto, dariam uma pontuação alta. Essa enorme diferença subjetiva torna a pontuação absoluta cheia de ruídos.
A solução: mudar de "pontuação" para "comparação"
Se as classificações absolutas não são confiáveis, podemos apenas comparar? O cérebro humano, embora não seja bom em avaliações absolutas, é extremamente bom em julgamentos relativos.
Consulta. "Quem ganhou o Prêmio Nobel de Física de 2017?"
Documento 1. O Prêmio Nobel foi concedido àqueles que descobriram as ondas gravitacionais em 2015.
Documento 2. As ondas gravitacionais foram observadas pela primeira vez em setembro de 2015 pelo detector de ondas gravitacionais LIGO.
Quase todo mundo concordaria que o documento 1 é mais relevante do que o documento 2. Por meio de comparações entre pares, obtemos dados rotulados com uma relação sinal-ruído muito alta. Isso é exatamente o que ELO
A ideia central do sistema de classificação não é perguntar "qual é a sua força", mas "quem é mais forte entre você e outra pessoa". Com um grande número de resultados de dois contra dois, podemos calcular uma classificação relativamente precisa para cada "jogador" (documento).
Agora, o problema se traduz em como pegar um grande número de resultados de comparação entre pares e convertê-los em um vetor utilizável de pontuações absolutas.
Visão geral do processo de treinamento
Com base nisso, foi projetado um pipeline de treinamento inovador:
- Amostragem e rotulagem ternárias. Para cada consulta, inicialmente recupere 100 documentos candidatos. Selecione aleatoriamente triplas de documentos
(q, d_i, d_j)
permitindo o julgamento de clusters de modelos de linguagem grandes (LLM)d_i
responder cantandod_j
O que é mais relevante. - Treinamento de um modelo de comparação de pares: o fazer uso de
LLM
dos dados rotulados para treinar um par levereranker
que permite prever com eficiência os méritos relativos de dois documentos quaisquer. - Cálculo das pontuações do ELO. Para cada documento candidato à consulta, várias rodadas de "correspondências de simulação" são realizadas usando o modelo treinado na etapa anterior e, em seguida, o
ELO
O algoritmo calcula uma pontuação de classificação para cada documento. - Treine o modelo final. comandante-em-chefe (militar)
ELO
pontuações como uma "resposta padrão" para treinar uma resposta padrão de ponto únicoreranker
que permite prever diretamente a pontuação de relevância de um documento. - Ajuste fino da aprendizagem intensiva. Após o aprendizado supervisionado, o aprendizado por reforço é introduzido para permitir que o modelo otimize ainda mais a estratégia de classificação por meio de tentativas e erros próprios para melhorar o desempenho final.
Tecnologia básica: comparações entre pares e classificações ELO
Treinamento de comparadores em pares
Primeiro, a equipe de pesquisa usou três LLM
O modelo integrado de composição, para um grande número de pares de documentos (d_i, d_j)
Fazer um julgamento de mérito e gerar um [0, 1]
entre as pontuações de preferência. Esse processo é caro, portanto, o objetivo não é aplicá-lo diretamente, mas gerar dados de treinamento de alta qualidade.
Esses dados foram então usados para ajustar um modelo leve de código aberto para treinar um "comparador de pares" eficiente.
Obtenção de uma classificação ELO
ELO
Modelo prevê jogadores i
vencedor j
A probabilidade é baseada na diferença entre suas pontuações de classificação e_i - e_j
. A fórmula da previsão é:
pij = pi / (pi + pj)
Entre eles.p_i = 10^(e_i / 400)
. Com essa fórmula, podemos correlacionar as probabilidades com as pontuações de classificação.
Com um grande número de resultados de correspondências entre pares (gerados pelo comparador na etapa anterior), é possível ajustar uma estimativa de máxima verossimilhança que melhor explique esses resultados de correspondências por ELO
marca e_i, e_j, ...
. A função de perda é a seguinte:
𝓁 = -∑i, jwijlog(pi/(pi+pj)) = ∑i, jwijlog(1+eej-ei)
Na prática, todos os 100 documentos de cada consulta foram n²
as subcomparações não são realistas. O estudo constatou que a amostragem de apenas O(n)
subcomparações (por exemplo, a construção de alguns loops de torneios aleatórios) seria suficiente para obter uma comparação quase idêntica à comparação totalmente ELO
Pontuação.
Ajuste de viés entre consultas
acima mencionado ELO
O cálculo é feito em uma única consulta, o que cria um novo problema:
- Para uma consulta sem uma boa resposta, o documento menos ruim também receberá um valor relativo alto
ELO
Pontuação (primeiro lugar no diferencial). - Para uma consulta com muitas respostas boas, uma documentação muito boa pode receber um valor relativo baixo
ELO
Pontos (no final da lista de honra).
Isso pode induzir seriamente ao erro no treinamento do modelo final. Para resolver esse problema, é necessário introduzir um "viés de consulta cruzada". b
" para calibrar os benchmarks de pontuação entre diferentes consultas.
A ideia central é fazer com que o modelo seja capaz de comparar não apenas "duas respostas para a mesma pergunta", mas também "duas perguntas diferentes com suas próprias respostas", ou seja (q_1, d_1)
junto com (q_2, d_2)
O que é mais relevante. Essa comparação de "maçãs com laranjas" é muito mais ruidosa, mas nos fornece as principais informações necessárias para calibrar a dificuldade de diferentes consultas. Com uma consulta mais complexa ELO
o viés desejado pode ser calculado para cada consulta b
a fórmula é mais ou menos a seguinte:
P(P₁ > P₂) = (p₁ + b₁) / ((p₁ + b₁) + (p₂ + b₂))
Treinamento de um modelo de ponto único
Com as etapas acima, é possível obter uma pontuação absoluta que gere uma pontuação significativa e de alta qualidade. f(q, d) = elo(q, d) + b(q)
é criada.
A etapa final é usar o conjunto de dados gerado por essa função para supervisionar o ajuste fino, por meio da perda de erro quadrático médio padrão, de um reranker
Modelagem. A equipe de pesquisa descobriu que a Qwen
O ajuste fino da família de modelos produz os melhores resultados, o que deu origem ao zerank-1
responder cantando zerank-1-small
Modelos.
Esse foco na modelagem matemática por meio de ELO
A abordagem do sistema para gerar dados de treinamento de alta qualidade representa a reranker
Uma direção exclusiva e eficaz para explorar no campo. Ele resolve fundamentalmente os problemas de ruído e gargalo causados pela dependência da pontuação absoluta manual não confiável dos métodos tradicionais.