Explorando as Maravilhas de Knowhere 2.0
Acabou de sair, o Milvus 2.3 chegou com muitas atualizações revolucionárias. Na linha de frente dessas melhorias está o Knowhere 2.0, uma atualização transformadora que promete elevar o Milvus a novos patamares.
Junte-se a nós nesta publicação do blog enquanto fazemos um mergulho profundo no Knowhere 2.0, explorando seus recursos inovadores, otimizações de desempenho e princípios de design que o tornam uma força de destaque em bancos de dados vetoriais.
O que é o Knowhere?
Knowhere é o mecanismo central de busca vetorial do Milvus. Imagine o banco de dados vetorial como o vasto Universo Marvel; Knowhere é sua sede definitiva. A principal missão do Knowhere é realizar buscas aproximadas de vizinhos mais próximos (ANNS) construindo índices com baixa latência.
Knowhere 2.0 e seus novos recursos
Estamos trabalhando na reestruturação e atualização do Knowhere desde julho de 2022. Após discussões, design, desenvolvimento e testes incansáveis, o Knowhere 2.0 estreou com o Milvus 2.3 no final de agosto de 2023. Esta nova versão traz muitas melhorias, incluindo suporte ao índice de GPU, similaridade de Cosseno, índice ScaNN e arquitetura Arm. O Knowhere atualizado beneficia usuários e desenvolvedores, tornando-o uma potência no Milvus. A seguir, vamos explorar seus principais recursos.
Suporte a índices de GPU
A Nvidia contribuiu com os índices GPU_FLAT e GPU_IVFPQ de sua biblioteca de busca vetorial, RAFT, para o Knowhere 2.0. Essa adição acelera significativamente as buscas em índices, com o Milvus alcançando melhorias notáveis de throughput na Nvidia A100, quase 70 vezes para SIFT1M.
Milvus QPS GPU vs. CPU
Para mais informações sobre o índice de GPU, consulte a documentação do Milvus.
Suporte à similaridade de Cosseno
Em versões anteriores do Knowhere, os usuários precisavam utilizar o Produto Interno e normalizar vetores antes da inserção vetorial para usar a similaridade de Cosseno. Esse processo era muito custoso, difícil de acessar e exigia maior conhecimento teórico dos usuários.
O Knowhere 2.0 oferece suporte nativo à distância de Cosseno, normaliza automaticamente os vetores recebidos dentro da biblioteca e combina os tipos de índice correspondentes, melhorando significativamente a experiência do usuário.
Suporte ao índice ScaNN
ScaNN, ou FastScan, é um índice de vizinhos mais próximos aproximados (ANN) de código aberto implementado pelo FAISS. Ele usa codificação PQ menor e conjuntos de instruções correspondentes para acessar registradores da CPU, resultando em excelente desempenho de indexação.
O Knowhere 2.0 agora oferece suporte nativo ao índice ScaNN. Com o Knowhere 2.0, o Milvus 2.3 atinge sete vezes o QPS do IVF_FLAT e 1,2 vez o do HNSW, com uma taxa de recall de aproximadamente 95% nos conjuntos de dados da Cohere.
Suporte à arquitetura ARM
A arquitetura ARM é conhecida por sua relação custo-benefício em comparação com a arquitetura x86. Embora menos poderosa, a ARM tem um design e conjuntos de instruções mais simples, tornando-se cada vez mais popular. Por exemplo, instâncias ARM com as mesmas especificações de CPU (por exemplo, 1 vCPU e 16GB de RAM) são cerca de 15% mais baratas na plataforma AWS do que instâncias x86.
Com suporte à arquitetura ARM no Knowhere 2.0, os usuários agora podem executar e criar serviços de camada superior nessa arquitetura.
Suporte à busca por intervalo
Há dois métodos para encontrar os vizinhos mais próximos: K Nearest Neighbor (KNN) e Range Search. O KNN encontra os "k" vetores mais próximos de um vetor de consulta "q" dentro de uma coleção de vetores "X." Enquanto isso, o Range Search não tem um "k" especificado; em vez disso, retorna todos os vetores dentro de uma determinada distância (raio) do vetor de consulta "q" dentro da coleção de vetores "X."
O Knowhere 2.0 oferece suporte à range search para múltiplos índices na biblioteca, como HNSW, DiskANN e índices IVF. Esse recurso permite que os usuários especifiquem a distância entre o vetor de entrada e os vetores armazenados no Milvus durante uma consulta.
Consultas com filtro otimizadas
Em consultas mistas escalares e vetoriais, você pode filtrar alguns vetores. O Knowhere 2.0 melhorou significativamente as consultas vetoriais com filtro para HNSW, resultando em aumentos de desempenho de até 6 a 80 vezes em comparação com versões anteriores.
Melhorias na estrutura de código e compilação
O Knowhere 2.0 simplifica a herança de classes C++, usa padrões proxy para integração de novos índices, refatora o módulo Config, adota o Conan como gerenciador de pacotes para compilação simplificada e aproveita o pool de threads do Folly para controle preciso de threads. Todas essas melhorias tornam o uso do Milvus mais simples.
Suporte a MMap
No passado, alguns usuários enfrentavam restrições de espaço de memória devido a seus grandes conjuntos de dados, o que afetava os índices que podiam armazenar. No entanto, com a introdução do Knowhere 2.0, o Milvus agora oferece suporte a Memory Mapping (MMap), permitindo o mapeamento automático de arquivos grandes na memória. Esse novo recurso permite que os usuários acessem dados extensos de índice apesar de memória insuficiente.
Suporte à recuperação de vetores originais
Após concluir uma busca, os usuários podem precisar acessar os vetores originais com base nos IDs retornados para cálculos personalizados adicionais ou filtragem. Com o Knowhere 2.0, os usuários podem recuperar diretamente os vetores originais do índice, reduzindo a latência em comparação com a busca em armazenamento remoto como S3.
Para mais detalhes sobre os recursos e aprimoramentos do Knowhere 2.0, consulte Notas de lançamento do Knowhere 2.0.
Bem-vindo a contribuir com o Knowhere!
O Knowhere está em constante evolução, e seu feedback é importante. Se você tiver sugestões ou ideias valiosas, não hesite em contribuir para o repositório Knowhere.
Continue lendo

Build Multimodal Search for 3D Assets with Tripo and Zilliz Cloud
Generate 3D assets with Tripo, then search them by text, image, and metadata with multimodal embeddings and Zilliz Cloud.

A Few Notes from Databricks Data + AI Summit 2026: Why the Data Layer Matters Again
James Luan shares notes from Databricks Data + AI Summit 2026 on why production AI is pushing the data layer back to the center of infrastructure.

Optimizing Embedding Model Selection with TDA Clustering: A Strategic Guide for Vector Databases
Discover how Topological Data Analysis (TDA) reveals hidden embedding model weaknesses and helps optimize vector database performance.



