DiskANN Conserva una minuscola copia compressa conPQ di ogni vettore in RAM e i vettori completi + il grafo su SSD. La ricerca percorre il grafo con confronti RAM poco onerosi, quindi riordina i candidati principali con una manciata di costose letture dal disco.
Un singolo disco di massa SSD occupa pochissimo spazio sul disco. Il lato RAM si adatta a qualsiasi portatile. Senza il trucco PQ, avresti bisogno di un server con centinaia di GB di RAM solo per caricare il set di dati.
PQ ≈ 1 µs, SSD ≈ 100 µs. I numeri reali dipendono dall’hardware.R) ottimizzato per la disposizione sequenziale su disco. Nessuna gerarchia — solo un unico grande grafo.L. Selezionare il migliore, espandere i suoi vicini, stimare le distanze utilizzando esclusivamente i codici “in-RAM ” PQ. Nessun I/O su disco durante il percorso.Il modello mentale: « PQ » è il test economico del tipo «questo vicinato è promettente?». Le letture su disco sono il controllo costoso del tipo «lasciami verificare davvero». « DiskANN » svolge la maggior parte del proprio lavoro con il test economico.
DiskANN È un indice approssimativo del vicino più prossimo basato su grafi, progettato per set di dati che non rientrano in RAM. Costruisce un grafo a singolo strato Vamana strutturato per un accesso efficiente al disco, mantiene in memoria un codice minuscolo quantizzato per prodotto (PQ) per ogni vettore e memorizza i vettori a piena precisione e gli spigoli del grafo su SSD. Le ricerche navigano nel grafo utilizzando confronti a basso costo in-RAM PQ e ricorrono al disco solo per riorganizzare la classifica di una manciata di finalisti.
In Milvus, DiskANN supporta l’opzione di indicizzazione su disco: le raccolte su scala di miliardi diventano ricercabili su macchine con decine — non centinaia — di gigabyte di RAM, mentre la fase di ri-classificazione su disco mantiene il recall vicino a quello degli indici grafici in memoria.
R (grado del grafo, tempo di compilazione): il numero massimo di spigoli per nodo nel grafo " Vamana ". Un valore di R più elevato garantisce una migliore connettività e un recall migliore, a costo di un grafo più grande su disco e di compilazioni più lente.L / search_list (tempo di query): l’insieme dei candidati mantenuto durante la ricerca a fascio — la principale manopola di recall/latenza, equivalente a ef su HNSW. Deve essere almeno pari al proprio top-K.Scegliere DiskANN quando il set di dati (o il consumo di memoria) supera RAM: gestisce query ad alto recall con una frazione della memoria, in cambio di una latenza dell’ordine dei millisecondi dominata dalle letture SSD. Se tutto rientra comodamente in memoria, HNSW risponde più velocemente. Se sono necessarie costruzioni veloci degli indici o un risparmio moderato di memoria senza coinvolgere il disco, le varianti IVF si collocano a metà strada.
Quando i vostri vettori non rientrano più in un “ RAM ” — oppure l’“ RAM ” necessario per contenerli costa più di quanto siate disposti a pagare. Un miliardo di vettori float a 768 dimensioni richiede circa 3 TB di memoria per “ HNSW ”, ma solo poche decine di GB di “ RAM ” più un “ SSD ” con “ DiskANN ”. Se il set di dati rientra comodamente in memoria, “ HNSW ” rimane la scelta con minore latenza.
Un " NVMe " veloce SSD è il requisito fondamentale, poiché la latenza della query è determinata da una manciata di letture casuali dal disco (ciascuna di circa 100 µs). Le esigenze di " RAM " sono modeste: all’incirca i codici " PQ " (ad es. 32–64 byte per vettore) più i buffer di lavoro.
Per ogni query, sì — in genere pochi millisecondi a una cifra rispetto a valori inferiori al millisecondo per l’ HNSW e in memoria, poiché ogni riorganizzazione su disco è circa 100 volte più lenta di un accesso RAM. Il compromesso è il costo: DiskANN gestisce lo stesso set di dati con un RAM inferiore di un ordine di grandezza, mantenendo il recall al di sopra del 90–95%.
PQ I codici vengono utilizzati solo per guidare la navigazione nel grafo, non per produrre punteggi finali. Prima di restituire i risultati, DiskANN legge i vettori a piena precisione dei candidati principali da SSD e li riordina con precisione, correggendo l’errore di quantizzazione che gli indici basati esclusivamente su PQ, come IVF_PQ, non sono in grado di correggere.
Approfondisci: leggi la documentazione di “DiskANN ” per i requisiti di configurazione, oppure consulta “Index Explained” per la guida completa alle decisioni.
Osserva passo dopo passo la ricerca sul grafo multistrato — dai salti su autostrada alle passeggiate locali.
Confronto affiancato tra ricerca a forza bruta e ricerca a cluster. Ottimizzare in tempo reale l’ nprobe.
Trascinare un punto di query e passare tra « L2 », «Cosine» e « IP » per osservare come cambia il «più vicino».