Lección 8 del curso Búsqueda Semántica con LLMs.
En la lección anterior vimos cómo implementar un sistema de Búsqueda Semántica con re-ranking y haciendo uso de Grandes Modelos de Lenguaje pre-entrenados.
Y con lo visto en esa lección ya tenemos todos los elementos que, en la práctica, resultan esenciales al momento de construir sistemas de Búsqueda Semántica.
Entonces, en esta lección (la última del curso), veremos qué es la «ganancia acumulativa con descuento normalizada» (o NDCG por sus siglas en Inglés), la métrica más usada al momento de evaluar el desempeño de modelos de recuperación densa y de re-ranking usados en la Búsqueda Semántica:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Como acabamos de ver, la NDCG es una métrica que cuantifica dos aspectos de un modelo tipo dense retrieval o tipo re-ranker:
- Que el modelo retorne los documentos más relevantes para la consulta hecha por el usuario
- Y que a la vez retorne dichos documentos en el orden esperado
Y la lógica para el cálculo de esta métrica es bastante simple:
- Primero se calcula el puntaje real (DCG) obtenido a partir de los rankings generados por el modelo (dense retrieval o re-ranker)
- Luego se calcula el puntaje ideal (DCG ideal) obtenido a partir de un dataset etiquetado por seres humanos
- Luego se calcula el puntaje DCG normalizado (NDCG), que resulta de dividir el puntaje real (DCG) sobre el de referencia (DCG ideal) para cada dato de validación
- Y al final se promedian los puntajes NDCG individuales, obteniendo así un puntaje global que mide el desempeño de los modelos
Con esta métrica es posible entonces evaluar qué tan buenos resultados arrojan estos modelos: entre más cerca de 100% esté el puntaje NDCG mejor será el modelo.
Y esta métrica nos permite por ejemplo elegir el modelo (dense retrieval o re-ranker) más adecuado para nuestra aplicación y de igual forma nos permitiría evaluar por ejemplo cuál estrategia de fragmentación de texto (o chunking) puede resultar más adecuada en nuestro proyecto (aunque esto último requeriría la preparación de un dataset etiquetado manualmente para poder calcular el NDCG).
Así que con esto hemos culminado este curso… ¡te felicito por haber llegado hasta este punto!
A lo largo del curso hemos entendido qué es la Búsqueda Semántica y qué son y cómo implementar, con ayuda de Python, los principales elementos de este tipo de sistemas: la recuperación densa (o dense retrieval) y los esquemas de re-ranking. Y de igual forma hemos visto cómo usar bases de datos vectoriales para almacenar en una base de datos la información asociada a los documentos que usaremos como insumo para la búsqueda.
Así que espero que te haya gustado este curso y, como de costumbre, te invito a que me contactes a través de la Intranet para que me compartas tus comentarios y sugerencias para seguir mejorando el contenido de la Academia.
¡Te envío un saludo y nos vemos entonces en el próximo curso!
Todas las lecciones del curso Búsqueda Semántica con LLMs
