paint-brush
Búsqueda de vectores: un duelo entre algoritmos de reclasificaciónpor@datastax
Nueva Historia

Búsqueda de vectores: un duelo entre algoritmos de reclasificación

por DataStax3m2024/11/26
Read on Terminal Reader

Demasiado Largo; Para Leer

Los rerankers son modelos de aprendizaje automático que toman un conjunto de resultados de búsqueda y los reordenan para mejorar la relevancia. Probamos 6 de ellos.
featured image - Búsqueda de vectores: un duelo entre algoritmos de reclasificación
DataStax HackerNoon profile picture
0-item

La búsqueda vectorial proporciona una similitud semántica eficaz para la generación aumentada de resultados, pero no funciona bien con búsquedas de palabras clave breves o términos de búsqueda fuera del dominio. Complementar la recuperación vectorial con búsquedas de palabras clave como BM25 y combinar los resultados con un reranker se está convirtiendo en la forma estándar de obtener lo mejor de ambos mundos.


Los rerankers son modelos de ML que toman un conjunto de resultados de búsqueda y los reordenan para mejorar la relevancia. Examinan la consulta emparejada con cada resultado candidato en detalle, lo que es costoso en términos computacionales pero produce resultados más precisos que los métodos de recuperación simples por sí solos. Esto se puede hacer como una segunda etapa sobre una sola búsqueda (extraer 100 resultados de una búsqueda vectorial y luego pedirle al reranker que identifique los 10 principales) o, más a menudo, combinar resultados de diferentes tipos de búsqueda; en este caso, búsqueda vectorial y búsqueda por palabras clave.


Pero, ¿qué tan buenos son los rerankers disponibles comercialmente? Para averiguarlo, probé seis rerankers en el texto de la Prueba comparativa ViDoRe , utilizando Gemini Flash para extraer texto de las imágenes. Los detalles sobre los conjuntos de datos se pueden encontrar en la sección 3.1 de El periódico ColPali Cabe destacar que las fuentes de TabFQuAD y Shift Project están en francés; el resto están en inglés.


Probamos estos rerankers:

  • Fusión de rangos recíprocos (RRF), una fórmula para combinar resultados de múltiples fuentes sin saber nada sobre las consultas o los documentos; depende puramente del orden relativo dentro de cada fuente. RRF se utiliza en Elastic y LlamaIndex, entre otros proyectos.



  • BGE-reranker-v2-m3 , el modelo de código abierto con mayor puntuación (con licencia Apache).



A los rerankers se les suministraron los 20 resultados principales tanto del DPR como del BM25, y se evaluó el NDCG@5 rerankeado.


En los resultados, la búsqueda de vectores sin procesar (con incrustaciones del modelo bge-m3) se denomina dpr (recuperación de pasajes densos). Se eligió BGE-m3 para calcular las incrustaciones porque es lo que los autores de ColPali usaron como base.


Aquí están los datos sobre relevancia (NDCG@5):

Y así de rápido son al reordenar las búsquedas en el conjunto de datos arxiv; la latencia es proporcional a la longitud del documento. Esto es latencia gráfica, por lo que cuanto menor, mejor. El modelo bge alojado en el servidor se ejecutó en una NVIDIA 3090 utilizando el código más simple posible extraído directamente de Tarjeta modelo de la cara abrazada .

Por último, a continuación se muestra el costo de cada modelo para reclasificar las casi 3000 búsquedas de los seis conjuntos de datos. Cohere cobra por búsqueda (con tarifas adicionales para documentos largos), mientras que los demás cobran por token.

Análisis

  • Todos los modelos funcionan aproximadamente igual de bien en los conjuntos de datos franceses que en los ingleses.


  • Cohere es significativamente más caro y ofrece una relevancia ligeramente (pero consistentemente) peor que los otros rerankers de ML, pero es tres veces más rápido que los siguientes servicios más rápidos. Además, Límites de tarifa estándar de Cohere Son los más generosos.


  • Voyage rerank-2 es el rey de la relevancia de reclasificación en todos los conjuntos de datos, lo que supone un impacto adicional en la latencia. Cabe destacar que es el único modelo que no tiene peores resultados que DPR solo en el conjunto de datos arxiv, lo que parece ser particularmente complicado.


  • Voyage rerank-2-lite y jina reranker v2 son muy, muy similares: tienen la misma velocidad, están alojados al mismo precio y tienen casi la misma relevancia (con una ligera ventaja para Voyage). Pero Límite de tarifa estándar de Voyage es doble de jina , y con Voyage obtienes un "real" Cliente Python en lugar de tener que realizar solicitudes http sin procesar.


  • BGE-reranker-v2-m3 es un modelo tan liviano (con parámetros por debajo de 600M) que incluso en una GPU de consumo más antigua es utilizable y rápido.

Conclusión

RRF agrega poco o ningún valor a los escenarios de búsqueda híbrida; en la mitad de los conjuntos de datos, tuvo un peor desempeño que BM25 o DPR por sí solos. En cambio, todos los rerankers basados en ML probados ofrecieron mejoras significativas con respecto a la búsqueda pura de vectores o palabras clave, y Voyage rerank-2 estableció el estándar de relevancia.


Todavía existen desventajas: mayor precisión con el rerank-2 de Voyage, procesamiento más rápido con Cohere o un sólido rendimiento intermedio con Jina o el modelo Lite de Voyage. Incluso el reranker de código abierto de BGE, si bien está por detrás de las opciones comerciales, agrega un valor significativo para los equipos que eligen alojarlo ellos mismos.


A medida que los modelos básicos sigan avanzando, podemos esperar un rendimiento aún mejor. Pero los rerankers de ML actuales ya están lo suficientemente maduros como para implementarse con confianza en contenido multilingüe.



Por Jonathan Ellis, DataStax