Como é que a compressão do índice vetorial afeta a recuperação de resultados e a utilização de RAM?

Eva Wong é a Redatora Técnica e e entusiasta residente na ZimaSpace. Uma geek de longa data com paixão por homelabs e software de código aberto, ela é especialista em traduzir conceitos técnicos complexos em guias acessíveis e práticos . Eva acredita que o auto-hospedagem deve ser divertida, não intimidante. Através dos seus tutoriais, ela capacita a comunidade adesmistificar configurações de hardware , desde a construção do seu primeiro NAS até dominar os contêineres Docker., from building their first NAS to mastering Docker containers.

A compressão de índices vetoriais reduz a RAM ao armazenar representações de menor precisão, mas a distorção resultante das distâncias pode diminuir a recuperação dos vizinhos mais próximos.

Um índice RAG doméstico pode acomodar confortavelmente cem mil fragmentos e ficar limitado pela memória após anos de documentos, fotografias e transcrições. A quantização pode manter mais vetores residentes, mas a qualidade da pesquisa depende de os valores comprimidos das distâncias preservarem a mesma ordenação dos candidatos que a precisão total. O resultado varia consoante a distribuição dos embeddings, o rácio de compressão, o tipo de índice, a amplitude da seleção de candidatos e a disponibilidade dos vetores originais para uma nova classificação.

A Compressão Reduz a Carga dos Vetores, Não Todos os Custos do Índice

Um índice vetorial utiliza memória para os valores dos embeddings, as estruturas de grafos ou partições, os identificadores, os metadados, a sobrecarga do alocador e os buffers temporários das consultas. A compressão reduz principalmente a representação dos embeddings. As ligações HNSW e os metadados podem permanecer semelhantes, pelo que a poupança total de RAM pode ser inferior ao sugerido pelo rácio de compressão dos vetores.

os vetores de alta dimensionalidade são dispendiosos porque cada dimensão armazenada como um valor de precisão total contribui para o consumo de memória e para o custo do cálculo das distâncias. Substituir esses valores por códigos compactos reduz a carga residente e pode melhorar a eficiência da cache.

A poupança prática depende, por isso, da composição do índice. Os vetores float de alta dimensionalidade oferecem normalmente um grande potencial de redução; vetores pequenos com elevada conectividade no grafo podem proporcionar uma poupança proporcionalmente menor. Meça a memória residente do processo e os ficheiros do índice antes e depois da compressão, em vez de multiplicar os bytes brutos dos vetores pelo número de documentos.

A Quantização Introduz Distorção nas Distâncias

A quantização escalar mapeia cada dimensão para um intervalo numérico menor, enquanto a quantização de produto divide um vetor em subespaços e armazena as escolhas do livro de códigos. Ambos os métodos substituem coordenadas exatas por aproximações. A distância da consulta é então calculada com base em valores reconstruídos ou nas distâncias do livro de códigos, em vez do vetor float original.

As experiências com a quantização de produto avaliam a compressão medindo a distorção das distâncias reconstruídas e a recuperação. Códigos mais compactos podem reduzir a latência ou o consumo de memória, mas também dificultam a ordenação correta de candidatos próximos quando as suas distâncias reais são semelhantes.

A recuperação diminui quando um vizinho relevante é colocado abaixo do limite de candidatos, e não simplesmente porque todas as distâncias estão ligeiramente erradas. As consultas com uma margem clara entre fragmentos relevantes e irrelevantes podem resistir a uma compressão intensa; já os bairros semânticos densos, com muitos casos quase empatados, são mais sensíveis.

A Expansão dos Candidatos e a Nova Classificação Podem Recuperar a Precisão

Uma pesquisa em duas fases utiliza vetores comprimidos para encontrar uma lista restrita abrangente e, em seguida, recalcula as distâncias com vetores de maior precisão para esses candidatos. A sobreamostragem dá aos itens relevantes mais oportunidades de sobreviver à primeira fase aproximada; a nova classificação restaura a ordenação quando os códigos compactos esbateram pequenas diferenças de distância.

níveis de compressão mais elevados reduzem normalmente a recuperação, enquanto a sobreamostragem e a nova classificação podem melhorar a precisão. Esta recuperação consome leituras adicionais, memória e processamento de consultas, pelo que a compressão transfere recursos em vez de eliminar o custo na qualidade.

Manter os vetores completos no disco pode preservar um consumo reduzido de RAM, mas acrescentar latência de armazenamento durante a reordenação. Mantê-los na RAM melhora a latência, mas reduz o benefício de memória. A configuração adequada depende de o servidor doméstico estar limitado pela capacidade de memória, pelas IOPS do armazenamento ou pelos objetivos de tempo de resposta.

A Recuperação Deve Ser Medida na Tarefa de Recuperação Local

Crie um conjunto de referência executando uma pesquisa exata ou de alta precisão para consultas representativas e, em seguida, compare se a pesquisa comprimida devolve os mesmos vizinhos relevantes entre os primeiros k resultados. Inclua paráfrases, nomes próprios, documentos quase duplicados, termos raros e consultas cuja resposta dependa de uma pequena distinção na evidência.

Isto complementa a confiança na fundamentação da recuperação: a semelhança entre vizinhos e o suporte à resposta estão relacionados, mas não são idênticos. Meça a Recall@k em relação à linha de base da pesquisa e verifique também se os fragmentos perdidos ou reordenados alteram a evidência disponível para o gerador.

Não existe um vencedor universal entre a compressão máxima e a precisão máxima. Aumente a compressão até alcançar o equilíbrio pretendido entre RAM, latência e recuperação da tarefa e, depois, volte a testar após alterações no modelo de embeddings ou no corpus. Uma configuração adequada para a semelhança ampla entre fotografias pode ser demasiado prejudicial para a recuperação de documentos técnicos com muitas passagens semanticamente adjacentes.

Centro de Tecnologia e IA

Mais para Ler

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.