DiskANN Mantém uma pequena cópia comprimida com o formato «PQ » de cada vetor em RAM e os vetores completos + gráfico em SSD. A pesquisa percorre o gráfico com comparações « RAM » de baixo custo e, em seguida, reclassifica os principais candidatos com um pequeno número de leituras de disco dispendiosas.
Um único disco de armazenamento em massa SSD ocupa pouco espaço no disco. O lado RAM cabe em qualquer portátil. Sem o truque PQ, seria necessário um servidor com centenas de GB de RAM só para carregar o conjunto de dados.
PQ ≈ 1 µs, SSD ≈ 100 µs. Os números reais dependem do hardware.R) otimizado para disposição sequencial em disco. Sem hierarquia — apenas um grande grafo.L. Selecione o melhor, expanda os seus vizinhos e estime as distâncias utilizando apenas os códigos «in-RAM » e « PQ ». Não há E/S de disco durante o percurso.O modelo mental: « PQ » é o teste económico do tipo «esta vizinhança é promissora?». As leituras de disco são a verificação dispendiosa do tipo «deixa-me verificar de facto». O « DiskANN » realiza a maior parte do seu trabalho com o teste económico.
DiskANN é um índice aproximado de vizinho mais próximo baseado em grafos, concebido para conjuntos de dados que não cabem em RAM. Constrói um grafo de camada única Vamana organizado para um acesso eficiente ao disco, mantém um pequeno código quantizado por produto (PQ) para cada vetor na memória e armazena os vetores de precisão total e as arestas do grafo em SSD. As pesquisas navegam pelo grafo utilizando comparações económicas in-RAM PQ e só recorrem ao disco para reclassificar um pequeno número de finalistas.
Em Milvus, o DiskANN alimenta a opção de índice no disco: coleções na ordem dos mil milhões tornam-se pesquisáveis em máquinas com dezenas — e não centenas — de gigabytes de RAM, enquanto a etapa de reclassificação no disco mantém a precisão de recuperação próxima da dos índices de grafos na memória.
R (grau do grafo, tempo de compilação): o número máximo de arestas por nó no grafo « Vamana ». Um valor de R mais elevado proporciona melhor conectividade e recall, à custa de um grafo maior no disco e de compilações mais lentas.L / search_list (tempo de consulta): o conjunto de candidatos mantido durante a pesquisa de feixe — o principal controlador de recall/latência, equivalente a ef no HNSW. Deve ser, no mínimo, o seu top-K.Escolha « DiskANN » quando o conjunto de dados (ou o consumo de memória) exceder « RAM »: este serve consultas de alta precisão de recuperação com uma fração da memória, em troca de uma latência ao nível de milissegundos dominada por leituras « SSD ». Se tudo couber confortavelmente na memória, « HNSW » responde mais rapidamente. Se precisar de construções rápidas de índices ou de poupanças moderadas de memória sem envolver o disco, as variantes « IVF » situam-se num meio-termo.
Quando os seus vetores já não cabem num « RAM » — ou o « RAM » para os armazenar custa mais do que está disposto a pagar. Um bilião de vetores «float» de 768 dimensões necessita de cerca de 3 TB de memória para « HNSW », mas apenas dezenas de GB de « RAM », além de um « SSD » com « DiskANN ». Se o conjunto de dados couber confortavelmente na memória, « HNSW » continua a ser a opção de menor latência.
Um « NVMe » rápido SSD é o requisito fundamental, uma vez que a latência da consulta é dominada por um pequeno número de leituras aleatórias do disco (cada uma com cerca de 100 µs). As necessidades de « RAM » são modestas: aproximadamente os códigos « PQ » (por exemplo, 32–64 bytes por vetor) mais os buffers de trabalho.
Por consulta, sim — tipicamente milésimos de segundo de um único dígito, em comparação com menos de um milésimo de segundo para o « HNSW » na memória, porque cada reclassificação no disco é cerca de 100 vezes mais lenta do que um acesso « RAM ». A contrapartida é o custo: o « DiskANN » processa o mesmo conjunto de dados com uma ordem de magnitude menor de « RAM », mantendo a precisão de recuperação acima de 90–95%.
PQ Os códigos são utilizados apenas para orientar a percorreção do grafo, não para produzir pontuações finais. Antes de devolver os resultados, o « DiskANN » lê os vetores de precisão total dos principais candidatos a partir do « SSD » e reclassifica-os com exatidão, corrigindo o erro de quantização que os índices baseados exclusivamente em « PQ », como o « IVF_PQ », não conseguem corrigir.
Para aprofundar: leia a documentação «DiskANN » para conhecer os requisitos de configuração, ou consulte «Index Explained» para obter o guia de decisão completo.
Veja a pesquisa em grafos multicamadas passo a passo — desde saltos de autoestrada até percursos locais.
Comparação lado a lado entre a pesquisa de força bruta e a pesquisa agrupada. Ajuste « nprobe » em tempo real.
Arraste um ponto de consulta e alterne entre « L2 », «Cosine» e « IP » para ver como o «mais próximo» se altera.