DiskANN mantiene una pequeña copia comprimida conPQ de cada vector en RAM y los vectores completos + el grafo en SSD. La búsqueda recorre el grafo con comparaciones RAM de bajo coste y, a continuación, vuelve a clasificar a los principales candidatos con unas pocas lecturas de disco de alto coste.
Un único dispositivo de almacenamiento SSD ocupa muy poco espacio en el disco. El RAM cabe en cualquier portátil. Sin el truco de PQ, necesitarías un servidor con cientos de GB de RAM solo para cargar el conjunto de datos.
PQ ≈ 1 µs, SSD ≈ 100 µs. Los números reales dependen del hardware.R) optimizado para una disposición secuencial en disco. Sin jerarquía: solo un gran grafo.L. Selecciona el mejor, expande sus vecinos y estima las distancias utilizando únicamente los códigos «in-RAM » y « PQ ». No se realizan operaciones de E/S de disco durante el recorrido.El modelo mental: « PQ » es la prueba económica de «¿es prometedor este vecindario?». Las lecturas de disco son la comprobación costosa de «déjame verificarlo de verdad». « DiskANN » realiza la mayor parte de su trabajo con la prueba económica.
DiskANN es un índice aproximado de vecino más cercano basado en grafos, diseñado para conjuntos de datos que no caben en RAM. Construye un grafo de una sola capa Vamana organizado para un acceso eficiente al disco, mantiene en memoria un pequeño código cuantificado por producto (PQ) para cada vector y almacena los vectores de precisión completa y las aristas del grafo en SSD. Las búsquedas navegan por el grafo utilizando comparaciones económicas in-RAM PQ y solo recurren al disco para reordenar un puñado de finalistas.
En Milvus, DiskANN potencia la opción de índice en disco: las colecciones a escala de miles de millones se pueden consultar en máquinas con decenas —no cientos— de gigabytes de RAM, mientras que el paso de reordenación en disco mantiene la recuperación cercana a la de los índices de grafos en memoria.
R (grado del grafo, tiempo de compilación): el número máximo de aristas por nodo en el grafo « Vamana ». Un valor de R más alto proporciona mejor conectividad y recuperación, a costa de un grafo más grande en el disco y compilaciones más lentas.L / search_list (tiempo de consulta): el conjunto de candidatos que se mantiene durante la búsqueda por haz —el principal control de recuperación/latencia, equivalente a ef de HNSW. Debe ser, como mínimo, tu top-K.Elige « DiskANN » cuando el conjunto de datos (o el consumo de memoria) supere la capacidad de « RAM »: atiende consultas de alta recuperación con una fracción de la memoria, a cambio de una latencia del orden de milisegundos dominada por lecturas de « SSD ». Si todo cabe cómodamente en la memoria, « HNSW » responde más rápido. Si necesitas creaciones rápidas de índices o un ahorro moderado de memoria sin recurrir al disco, las variantes de « IVF » se sitúan en un término medio.
Cuando tus vectores ya no caben en RAM —o el RAM para almacenarlos cuesta más de lo que estás dispuesto a pagar—. Mil millones de vectores flotantes de 768 dimensiones necesitan unos 3 TB de memoria para HNSW, pero solo unas decenas de GB de RAM más un SSD con DiskANN. Si el conjunto de datos cabe cómodamente en la memoria, HNSW sigue siendo la opción de menor latencia.
Un « NVMe » rápido SSD es el requisito clave, ya que la latencia de la consulta viene determinada por unas pocas lecturas aleatorias del disco (cada una de ~100 µs). Las necesidades de « RAM » son modestas: aproximadamente los códigos « PQ » (p. ej., 32–64 bytes por vector) más los búferes de trabajo.
Por consulta, sí: normalmente unos pocos milisegundos, frente a menos de un milisegundo para el « HNSW » en memoria, ya que cada reordenación en disco es aproximadamente 100 veces más lenta que un acceso « RAM ». La contrapartida es el coste: « DiskANN » procesa el mismo conjunto de datos con un orden de magnitud menor de « RAM », al tiempo que mantiene la recuperación por encima del 90-95 %.
PQ Los códigos solo se utilizan para dirigir el recorrido por el grafo, no para generar puntuaciones finales. Antes de devolver los resultados, DiskANN lee los vectores de precisión completa de los principales candidatos desde SSD y los vuelve a clasificar con exactitud, corrigiendo el error de cuantificación que los índices basados exclusivamente en PQ, como IVF_PQ, no pueden solucionar.
Más información: lee la documentación de «DiskANN » para conocer los requisitos de configuración, o consulta «Index Explained» para obtener la guía de decisión completa.
Observa paso a paso la búsqueda en grafos multicapa, desde los saltos de autopista hasta los recorridos locales.
Comparación en paralelo entre la búsqueda por fuerza bruta y la búsqueda agrupada. Ajusta « nprobe » en tiempo real.
Arrastra un punto de consulta y alterna entre « L2 », «Cosine» y « IP » para ver cómo cambia el «más cercano».