Volver a la Galería de Conceptos
Búsqueda Vectorial
Maestría IA — AI Wiki

IVF (Inverted File Index)

Partición del espacio vectorial mediante clústeres (K-Means) para reducir el alcance de búsqueda.

CentroidsClusteringFAISSVoronoi

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

Excelente relación entre consumo de memoria y velocidad.
Requiere un paso previo de entrenamiento (training step con K-Means).
Se combina comúnmente con Quantization (IVF-PQ).
Intuición Visual para Mente Gráfica

"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

VectoresExaminados = (nprobe / nlist) * TotalVectores

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.

Categoría: Búsqueda Vectorial

Ejemplo de Código & Demostración

python
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
💡 Configura un índice IVF con Faiss, entrena los centroides y realiza consultas controlando nprobe.

Conceptos Relacionados