// data & ai · giornale tecnico MILANO ● LIVE 00:00:00

Vector search: quando la RAM costa troppo, gli indici ANN on-disk entrano in gioco

HNSW in memoria è velocissimo ma costoso su scala. SPANN e DiskANN spostano i vettori su disco tagliando i costi, con un compromesso sulla latenza.

La vector search è diventata un pezzo critico dell’infrastruttura AI: alimenta RAG, semantic search e la memoria degli agenti. Con la diffusione dei sistemi agentic, gli indici crescono da qualche milione a centinaia di milioni o miliardi di vettori. A quella scala tenere tutto in RAM costa migliaia di dollari al mese, e HNSW — l’algoritmo ANN in memoria più usato — diventa un collo di bottiglia.

In memoria vs on-disk

HNSW usa un grafo a più livelli e offre latenze bassissime finché l’indice sta in RAM. Quando non ci sta più, le alternative sono spostarlo su disco — con un crollo di performance dovuto agli accessi casuali (I/O non sequenziale) — oppure quantizzarlo pesantemente, con perdita di qualità nel retrieval.

Gli algoritmi on-disk nascono proprio per rompere questo limite. SPANN segue una logica a inverted-index: i vettori sono raggruppati in cluster, ciascuno rappresentato da un centroide. I centroidi (il routing layer) restano in RAM, mentre i vettori vivono su disco, scritti in modo sequenziale per cluster così da essere caricati a blocchi anziché con accessi casuali. DiskANN mantiene invece un grafo a singolo livello (Vamana): i vettori quantizzati e il grafo stanno in RAM, quelli a piena precisione su disco, con connessioni a lungo raggio per minimizzare il numero di hop.

L’economia della scelta

I numeri dell’articolo aiutano a inquadrare il trade-off. La RAM costa circa 5$/GB, l’EBS circa 0,08–0,10$/GB, l’SSD NVMe locale circa 0,20–0,25$/GB. Per un indice da 100 milioni di vettori a 1024 dimensioni in float32 (4 KB a vettore, che con replica 3x diventano 12 KB) servono 1,2 TB. La spesa mensile stimata: circa 6.000$ tenendo tutto in RAM non quantizzato, circa 1.500$ con quantizzazione scalare in RAM, circa 120$ su disco remoto e circa 300$ su disco locale.

Il prezzo da pagare è la latenza. Il paper di SPANN riporta il 90% di recall in circa 1 ms su scala miliardaria, ma è una media su singola macchina con indice su SSD locale. In un deployment reale cambia tutto: un benchmark di Turbopuffer su 10 milioni di vettori mostra circa 14 ms a p50 con indice “caldo” su storage veloce, contro circa 874 ms a freddo da object storage — un fattore 60x sullo stesso dato solo per lo stato della cache.

In sintesi

  • HNSW resta la scelta più semplice per indici piccoli e medi latency-critical; on-disk conviene quando la RAM diventa un costo insostenibile.
  • SPANN tiene in RAM solo i centroidi; DiskANN tiene vettori quantizzati e grafo, leggendo da disco i vettori a piena precisione.
  • Il risparmio è enorme (da migliaia a poche centinaia di dollari al mese), ma la latenza su disco varia di 10x o più a seconda di hardware e cache.

Fonte: How to Optimize Vector Search When RAM Gets Too Expensive: On-Disk vs. In-Memory ANN Indexes — https://towardsdatascience.com/optimizing-vector-search-on-disk-vs-in-memory-ann-indexes-when-ram-gets-too-expensive/

Condividi X Facebook LinkedIn WhatsApp Email

// scritto da

Fernando

Hai qualcosa da aggiungere? Unisciti alla discussione.

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Altri dell'autore

dalla stessa firma