IVF (Inverted File Index)
Partición del espacio vectorial mediante clústeres (K-Means) para reducir el alcance de búsqueda.
Definición Técnica & Formal
IVF utiliza K-Means para agrupar el espacio de vectores en nlist Voronoi clústeres con centroides. Al consultar, el sistema solo escanea los vectores dentro de los clústeres cuyo centroide esté más cercano al vector de consulta, reduciendo drásticamente las comparaciones necesarias.
Puntos Clave & Aplicaciones
"Organizar los libros de una biblioteca en secciones temáticas y revisar únicamente el estante de "Inteligencia Artificial" en lugar de toda la biblioteca."
💡 Tip: Puedes presionar el botón "Dibujar / Apuntes" en la barra superior para hacer anotaciones gráficas sobre este diagrama.Fórmula Matemática
Demostración Visual e Interactiva
Interactúa con los controles para simular dinámicamente el funcionamiento de IVF (Inverted File Index).
Visualizador de la Arquitectura "IVF (Inverted File Index)"
Organizar los libros de una biblioteca en secciones temáticas y revisar únicamente el estante de "Inteligencia Artificial" en lugar de toda la biblioteca.
Ejemplo de Código & Demostración
import faiss
import numpy as np
d = 64
nlist = 100 # 100 centroides
quantizer = faiss.IndexFlatL2(d)
index = faiss.IndexIVFFlat(quantizer, d, nlist)
data = np.random.random((10000, d)).astype('float32')
index.train(data) # Entrenar centroides
index.add(data)
index.nprobe = 10 # Buscar en los 10 centroides más cercanos