Uma base de dados vetorial pode devolver vizinhos diferentes após a compactação, porque os mesmos embeddings podem ser reorganizados numa nova estrutura de pesquisa aproximada.
Num servidor RAG local, a alteração parece muitas vezes suspeita: não foram intencionalmente recalculados embeddings de nenhum documento, mas uma consulta familiar devolve uma lista top-k ligeiramente diferente após a manutenção. A distinção essencial é entre os valores dos vetores e o índice ANN que os pesquisa. A compactação pode preservar os primeiros enquanto reconstrói o segundo.
A compactação pode substituir vários segmentos de pesquisa por um novo índice
Uma base de dados vetorial acumula frequentemente segmentos separados à medida que os documentos são inseridos, atualizados e eliminados. A compactação consolida essas partes para que o sistema tenha menos estruturas para pesquisar e menos dados obsoletos para transportar.
O Qdrant disponibiliza otimizadores que visam o número e o tamanho dos segmentos, em vez de tratar a coleção como um grafo único e permanentemente fixo. Quando a compactação cria um segmento maior e otimizado, a estrutura física de pesquisa pode ser reconstruída, mesmo que os vetores lógicos não tenham sido alterados.
Esta distinção é importante para um índice RAG privado: os embeddings podem ter valores numéricos idênticos antes e depois da manutenção, enquanto o grafo de pesquisa aproximada que os liga é diferente.
A pesquisa aproximada do vizinho mais próximo depende da topologia do grafo
O HNSW não compara uma consulta com todos os vetores. Percorre um grafo em camadas e segue um conjunto limitado de ligações promissoras, pelo que o percurso realizado no grafo afeta os candidatos que são examinados.
A Elasticsearch explica que as fusões de segmentos podem exigir o recálculo dos grafos HNSW. Um grafo reconstruído pode ligar os mesmos vetores de forma diferente, porque a ordem de construção, o estado das eliminações e as heurísticas do grafo influenciam as arestas.
Se dois candidatos tiverem distâncias muito semelhantes, uma pequena alteração na topologia pode fazer com que um entre no conjunto de candidatos, enquanto o outro nunca seja visitado. O resultado são vizinhos aproximados diferentes, sem qualquer alteração no modelo de embeddings.
Os parâmetros de pesquisa determinam quanto do novo grafo é explorado
Após a compactação, a base de dados pode pesquisar um único grafo maior em vez de vários grafos mais pequenos. O mesmo pedido top-k pode, por isso, percorrer um conjunto de candidatos diferente, mesmo quando o orçamento de pesquisa configurado parece não ter sido alterado.
A Weaviate documenta o compromisso entre ef e qualidade da pesquisa do HNSW: uma lista de candidatos maior melhora geralmente a recuperação, ao mesmo tempo que aumenta o trabalho necessário. Perto de uma fronteira de ordenação, um esforço de pesquisa reduzido torna os resultados mais sensíveis à construção do grafo.
Um diagnóstico útil consiste em comparar os resultados aproximados com uma pesquisa de ef elevado ou uma pesquisa exata num pequeno conjunto de testes. Se os vizinhos exatos permanecerem estáveis enquanto os vizinhos ANN variarem, a compactação alterou o percurso de recuperação, e não os vetores.
As eliminações e atualizações alteram os nós que sobrevivem à reconstrução
Antes da compactação, os registos eliminados ou substituídos podem ainda existir fisicamente, com marcadores de eliminação ou informações de gestão ao nível do segmento. As pesquisas excluem-nos, mas a sua presença histórica pode influenciar o grafo que foi anteriormente construído.
A Milvus explica que o HNSW armazena uma estrutura de grafo explícita, além dos vetores em bruto. A reconstrução após a remoção dos registos obsoletos cria um grafo a partir do conjunto sobrevivente.
Isso pode alterar a conectividade local em torno de um documento doméstico, mesmo quando esse documento nunca foi editado. Uma nota pode ganhar ou perder um nó de ligação próximo, alterando a região que o percurso ANN alcança primeiro.
Os empates e quase-empates podem mudar, mesmo quando as distâncias não mudam
Muitos conjuntos de documentos privados contêm quase-duplicados: manuais repetidos, ficheiros versionados, legendas de fotografias, notas copiadas ou fragmentos com o mesmo texto padrão. As respetivas pontuações de cosseno ou produto interno podem ser praticamente indistinguíveis.
A explicação da Pinecone sobre HNSW mostra como a navegação do grafo limita os vetores examinados. Quando dois itens estão próximos do limite, um percurso de candidatos ou uma ordem de desempate diferente pode alterar o top-k devolvido sem uma diferença semântica relevante.
Por isso, as aplicações devem evitar tratar a posição 7 em vez da posição 8 como uma afirmação de identidade duradoura. Armazene IDs de documentos estáveis e compare as distâncias efetivas quando o comportamento determinístico for importante.
A pesquisa exata é a fronteira entre deriva dos dados e deriva do ANN
A separação mais clara consiste em manter um pequeno conjunto reproduzível de consultas e registar os embeddings, a métrica de distância, o top-k exato, o top-k aproximado, as definições do índice e a versão da base de dados antes da manutenção.
A discussão da ZimaSpace sobre alterações de domínio dos embeddings na recuperação privada aborda uma classe de falhas diferente: o próprio espaço vetorial muda. A compactação deve ser diagnosticada separadamente, porque pode alterar a recuperação aproximada mantendo esse espaço intacto.
O guia da ZimaSpace sobre pesquisa de documentos e fluxos de trabalho RAG fornece o contexto da aplicação: a identidade estável dos documentos e a avaliação são importantes, mesmo quando a camada ANN pode ser aproximada.
Se os resultados exatos mudarem, verifique os vetores, os filtros, a normalização, a métrica ou as versões dos dados. Se os resultados exatos permanecerem fixos, mas os resultados ANN mudarem, a causa está na reconstrução do índice, no esforço de pesquisa, no tratamento dos empates ou na disposição dos segmentos.
Por conseguinte, não se espera que a compactação garanta a mesma ordenação dos vizinhos, byte a byte, num índice aproximado. Uma ordenação determinística exige uma pesquisa mais rigorosa ou regras de desempate ao nível da aplicação.
FAQ
A compactação altera os vetores de embeddings?
Por si só, não. Uma compactação ou fusão normal de segmentos reorganiza o armazenamento e os índices. Os embeddings só mudam se a aplicação os recalcular, quantizar novamente, renormalizar ou reescrever de qualquer outra forma.
Os vizinhos exatos mais próximos devem mudar após a compactação?
Devem permanecer iguais quando os vetores sobreviventes, a métrica e a representação numérica não tiverem sido alterados, exceto em caso de verdadeiros empates de pontuação ou de detalhes da implementação de vírgula flutuante.
A reconstrução do HNSW consegue reproduzir a ordenação antiga exatamente?
Nem sempre. O HNSW é aproximado e a construção do grafo pode ser sensível à ordem de inserção, à aleatoriedade, às eliminações e aos detalhes da implementação. A ordenação exata exige uma comparação exaustiva ou outra forma de comparação determinística.
Centro de Tecnologia e IA
Mais para Ler

Estado em tempo de execução vs. estado persistente no Home Assistant: o que tem de sobreviver ao reinício?
O Home Assistant não persiste todos os valores em tempo real; a configuração, os registos, os estados restaurados selecionados, o histórico e os dados...

Como é que o Home Assistant autentica sessões locais e remotas?
As sessões locais e remotas do Home Assistant utilizam o mesmo modelo de identidade do lado do servidor; o acesso remoto altera a rota...

Porque é que as consultas ao histórico do Home Assistant podem ficar mais lentas à medida que os dados do Recorder aumentam?
O crescimento do gravador pode aumentar o custo das consultas do Histórico quando o intervalo solicitado abrange mais linhas, as falhas de cache aumentam...

