Tendências Emergentes em Pesquisa e Desenvolvimento de Bancos de Dados Vetoriais
Introduzidos pela primeira vez com o Milvus em 2019, os bancos de dados vetoriais ganharam rapidamente destaque junto com o surgimento dos grandes modelos de linguagem (LLMs) e a ascensão das aplicações de IA generativa (GenAI). Como engenheiro profundamente envolvido neste setor, testemunhei sua evolução de implementações básicas de algoritmos de Busca Aproximada de Vizinhos Mais Próximos (ANNS) para sistemas de banco de dados sofisticados, integrais aos frameworks modernos de IA, de implementações de nicho a implantações amplas.
À medida que a IA continua a amadurecer, para onde caminha o futuro dos bancos de dados vetoriais? Na minha visão, o desenvolvimento dessa tecnologia está intrinsecamente ligado à evolução do produto, impulsionado pelas demandas em mudança dos usuários. Compreender essas mudanças é crucial para direcionar a trajetória e os objetivos dos desenvolvimentos tecnológicos.
Neste artigo, discutirei o desenvolvimento e o futuro previsto dos bancos de dados vetoriais sob perspectivas tanto técnicas quanto práticas, com foco em eficiência de custos e requisitos de negócios.
Separação de Armazenamento de Dados Quentes e Frios
Os custos há muito são uma grande preocupação na adoção mais ampla de bancos de dados vetoriais. Esses custos decorrem principalmente de duas áreas:
Armazenamento de Dados: Tradicionalmente, bancos de dados vetoriais armazenam todos os dados em cache na memória ou em discos locais para alcançar baixa latência. No entanto, na era da IA, em que as aplicações frequentemente lidam com volumes de dados na casa dos bilhões, essa abordagem pode consumir vastas quantidades de recursos de armazenamento, variando de dezenas a centenas de terabytes.
Computação de Dados: Em sistemas de banco de dados distribuídos, precisamos particionar os dados em numerosos pequenos segmentos para aprimorar o gerenciamento de conjuntos de dados extensos. Cada segmento é processado independentemente para recuperar dados, que então são analisados coletivamente para compilar os resultados finais Top-K. Esse método de particionamento aumenta significativamente a complexidade da execução de consultas. Por exemplo, se segmentarmos dados totalizando bilhões em blocos de 10 GB, isso resulta em cerca de 10.000 segmentos, ampliando assim a demanda computacional por um fator de dez mil.
O tempo de resposta dos LLMs convencionais.
O tempo de resposta dos LLMs convencionais. Fonte da imagem: https://artificialanalysis.ai/models
No entanto, na onda de criação de aplicações de Geração Aumentada por Recuperação (RAG), a latência dos bancos de dados vetoriais deixou de ser um problema para usuários individuais ou tenants únicos em plataformas ToC. O atraso associado às operações de bancos de dados vetoriais — variando de alguns milissegundos a várias centenas de milissegundos — é mínimo em comparação com a latência frequentemente superior a um segundo típica dos grandes modelos de linguagem. Além disso, o custo do armazenamento de objetos em nuvem é significativamente menor do que o de discos locais e memória, impulsionando uma busca por soluções inovadoras para otimizar a eficiência de armazenamento e computação.
Armazenamento: Para minimizar custos, os dados devem ser armazenados no armazenamento de objetos em nuvem mais econômico e recuperados sob demanda para consultas.
Computação: Ao refinar antecipadamente o escopo das consultas, podemos reduzir a necessidade de processamento de dados em larga escala, aumentando a eficiência operacional.
Na Zilliz, estamos adicionando melhorias ao Zilliz Cloud (o Milvus totalmente gerenciado) que permitem aos usuários reduzir custos enquanto mantêm a latência em níveis aceitáveis.
Adotando Inovações de Hardware para Melhor Desempenho e Custo-benefício
O hardware serve como a espinha dorsal dos avanços tecnológicos, promovendo o desempenho e o custo-benefício dos bancos de dados vetoriais.
Avanço das Tecnologias de GPU
Bancos de dados vetoriais, conhecidos por suas intensas demandas computacionais, tiveram melhorias substanciais de desempenho graças aos avanços em GPUs. A percepção de que GPUs são proibitivamente caras está sendo revertida. Algoritmos aprimorados são adequados para tarefas de busca vetorial e permitem operações de baixa latência e custo-benefício.
Nossos testes mostram que, ao usar o índice CAGRA baseado em GPU, o banco de dados vetorial Milvus atinge níveis de desempenho de várias a dezenas de vezes superiores aos obtidos com o índice HNSW baseado em CPU, sendo apenas duas a três vezes mais caro. Esse resultado demonstra que GPUs se tornam uma opção viável e economicamente eficiente para o processamento de dados, proporcionando vantagens significativas de desempenho em relação às configurações tradicionais baseadas em CPU.
Resultados dos testes pelo VectorDBBench
Resultados dos testes pelo VectorDBBench
CPU: m6id.2xlarge T4: g4dn.2xlarge A10G: g5.2xlarge Top 100 Recall: 98%
Surgimento de CPUs baseadas em ARM na computação em nuvem
A adoção de CPUs baseadas em ARM, como o Graviton da AWS e o Ampere do GCP, não apenas marca uma mudança em direção a soluções de computação mais eficientes em termos de energia e custo-benefício, mas também representa um desafio confiante à arquitetura x86 convencional. Esses processadores oferecem custos mais baixos enquanto entregam desempenho comparável ou superior, garantindo que você tome uma decisão inteligente para suas necessidades de computação.
Nossas avaliações do AWS Graviton3 demonstraram seu desempenho superior e sua eficiência de custos em relação aos processadores x86. Notavelmente, a rápida iteração dessas CPUs, como visto com o lançamento do Graviton4 em 2023—apenas um ano após o Graviton3—destaca um aumento de 30% no poder de computação e um aumento de 70% na largura de banda de memória.
Avanços em tecnologias de armazenamento
Utilizar discos para armazenamento de dados permite que bancos de dados vetoriais expandam significativamente sua capacidade, mantendo latências na casa dos milissegundos, que são adequadas para a maioria das aplicações de busca vetorial. Além disso, o custo associado ao armazenamento em disco permanece substancialmente menor do que o da memória, tornando-o uma opção atraente para operações intensivas em dados.
No geral, esses desenvolvimentos de hardware impulsionam as capacidades dos bancos de dados vetoriais e garantem que eles permaneçam poderosos e economicamente viáveis à medida que evoluem.
Colaboração com modelos avançados de aprendizado de máquina
Modelos de aprendizado de máquina, que produzem embeddings vetoriais, também estão passando por transformações significativas. Esses avanços visam reduzir o tamanho e a dimensionalidade dos vetores, minimizando assim os requisitos de armazenamento para grandes conjuntos de dados e aumentando a eficiência computacional.
Métodos tradicionais para reduzir a dimensionalidade vetorial frequentemente levavam a uma precisão comprometida na recuperação de dados. No entanto, inovações recentes oferecem alternativas viáveis. Por exemplo, o modelo ext-embedding-3-large da OpenAI permite que os usuários ajustem as dimensões dos vetores de saída por meio de parâmetros configuráveis. Essa flexibilidade permite uma redução considerável no tamanho dos vetores com impacto mínimo na eficácia das tarefas posteriores. Além disso, a Cohere atualizou recentemente sua tecnologia para oferecer suporte a vetores que geram múltiplos tipos de dados—como float, int8 e binary—todos de uma só vez, aumentando a versatilidade operacional.
Esses avanços destacam a necessidade de os bancos de dados vetoriais se envolverem com essas tecnologias emergentes e as incorporarem de forma proativa. Fazer isso é crucial para manter uma vantagem competitiva nos campos dinâmicos e em constante mudança do aprendizado profundo e do gerenciamento de dados.
Priorizando a precisão da recuperação vetorial
A precisão da recuperação vetorial tornou-se cada vez mais importante e exigente, particularmente com a integração crescente de bancos de dados vetoriais em ambientes de produção e aplicações RAG de ponta. À medida que os bancos de dados vetoriais evoluem, a busca por aprimorar a qualidade e a precisão da pesquisa levou à adoção de tecnologias inovadoras. Entre elas, o modelo de recuperação ColBERT e técnicas avançadas de busca vetorial híbrida são fundamentais para mitigar a perda de informações e refinar recuperações específicas de domínio.
O Surgimento de Modelos Avançados de Recuperação como o ColBERT
O modelo de recuperação ColBERT é renomado por sua eficiência ao lidar com a perda de informações tipicamente associada à arquitetura volumosa dos modelos tradicionais de duas torres. O ColBERT usa uma abordagem de interação tardia baseada em vetores de tokens para evitar as ineficiências de configurações totalmente conectadas. Sua iteração mais recente, ColBERTv2, otimiza ainda mais esse processo ao integrar a recuperação vetorial, acelerando significativamente a taxa de interação.
A arquitetura geral do ColBERT, dada uma consulta q e um documento d..png
A arquitetura geral do ColBERT, dada uma consulta q e um documento d.
Fonte da imagem: https://arxiv.org/pdf/2004.12832.pdf
Busca Híbrida: Unindo Técnicas de Vetores Esparsos e Densos
Vetores densos tradicionais, frequentemente derivados de modelos de linguagem como o BERT, são excelentes em capturar nuances semânticas, mas podem falhar com vocabulário novo ou termos especializados ausentes dos dados de treinamento. Embora o ajuste fino do modelo possa mitigar essas limitações, a implantação em tempo real continua cara e desafiadora. Por outro lado, vetores esparsos de algoritmos tradicionais de correspondência de palavras-chave, como o BM25, lidam efetivamente com essas questões fora do domínio.
Modelos de embedding esparso emergentes, como SPLADE e M3-Embedding da BGE, combinam a precisão da correspondência exata de termos com a natureza abrangente dos métodos de recuperação densa. Esses modelos geram vetores esparsos que preservam a eficácia da correspondência de palavras-chave enquanto incorporam informações semânticas mais ricas, aprimorando a qualidade geral da recuperação.
A mudança para sistemas de busca híbrida que aproveitam métodos de recuperação por palavras-chave e vetorial tem sido uma prática de longa data no setor. Com os avanços mais recentes na tecnologia de vetores esparsos, integrá-los a bancos de dados vetoriais para oferecer suporte à recuperação híbrida é cada vez mais considerado uma prática recomendada. Notavelmente, o banco de dados vetorial Milvus adotou essa abordagem em suas atualizações recentes.
Tomando o M3-Embedding da BGE como exemplo, ele pode executar simultaneamente as três funcionalidades comuns de recuperação do modelo de embedding: recuperação densa, recuperação multivetorial e recuperação esparsa. A tabela abaixo mostra a qualidade da recuperação ao realizar diferentes tipos de buscas vetoriais. A qualidade da recuperação híbrida esparsa e densa é muito maior do que a daquelas que dependem exclusivamente de recuperação densa e esparsa.
Avaliação no NarrativeQA (nDCG@10)
Avaliação no NarrativeQA (nDCG@10)
Fonte da imagem: https://arxiv.org/abs/2402.03216
Observação: A qualidade da recuperação é frequentemente avaliada usando NDCG (Normalized Discounted Cumulative Gain), que avalia a eficácia dos sistemas de ranqueamento em fornecer aos usuários listas úteis de itens. O valor de K no NDCG, como 5, 10 ou 25, indica o número de itens mais bem ranqueados avaliados, fornecendo assim insights sobre a precisão do sistema de recuperação em diferentes níveis. Por exemplo, NDCG@10 avalia o ranqueamento dos 5 principais itens.
Otimizando bancos de dados vetoriais para casos de uso offline
Embora o foco atual dos bancos de dados vetoriais esteja predominantemente em aplicações online, como Retrieval-Augmented Generation (RAG) e buscas por similaridade de imagens, seu potencial em casos de uso offline é vasto, mas ainda subutilizado.
Aplicações online geralmente lidam com pequenos volumes de dados com alta frequência e requisitos rigorosos de latência, muitas vezes exigindo respostas em segundos, mesmo em ambientes sensíveis a custos e com desempenho mínimo. Por outro lado, aplicações offline frequentemente realizam tarefas de processamento de dados em larga escala, como deduplicação de dados e mineração de recursos, nas quais a duração da tarefa pode se estender de minutos a horas.
Aqui estão alguns desafios e maneiras de abordá-los com bancos de dados vetoriais em uso offline:
Eficiência computacional: Diferentemente dos casos de uso online, que priorizam baixa latência para cada consulta, as tarefas offline exigem alta eficiência computacional em grandes lotes de dados. Alcançar baixa latência é particularmente crítico nos componentes offline de sistemas de busca e recomendação. Aumentar a densidade computacional, por exemplo, por meio de indexação por GPU, pode melhorar significativamente o tratamento de consultas em dados extensos nesses cenários.
Retorno de grandes volumes de dados: Em aplicações de mineração de dados, a recuperação vetorial auxilia os modelos a reconhecer situações específicas. Essas tarefas frequentemente exigem a recuperação de volumes substanciais de dados, levantando questões de largura de banda e eficiência algorítmica, especialmente para buscas Top-K grandes. Desenvolver soluções eficientes para gerenciar essas recuperações em larga escala é crucial para dar suporte a aplicações robustas de bancos de dados vetoriais offline.
Ao abordar esses desafios, os bancos de dados vetoriais podem estar mais bem preparados para oferecer suporte a uma gama mais ampla de aplicações, ampliando sua utilidade para além dos ambientes online.
Expandindo conjuntos de recursos em bancos de dados vetoriais para diversos setores
À medida que a adoção de bancos de dados vetoriais se expande por diferentes setores, a diversidade de aplicações exige o desenvolvimento de recursos especializados, adaptados para atender a requisitos específicos de cada setor. A versatilidade dos bancos de dados vetoriais exige capacidades personalizadas para otimizar seu desempenho e funcionalidade diante dos desafios únicos enfrentados por cada domínio. Essas melhorias atendem aos requisitos específicos de diferentes áreas e aprimoram a funcionalidade geral e a versatilidade dos bancos de dados vetoriais em ambientes de produção. Aqui estão alguns exemplos de como os bancos de dados vetoriais estão evoluindo para atender a essas demandas:
Aplicações biofarmacêuticas: O uso de vetores binários para recuperar fórmulas moleculares de medicamentos está se tornando comum na indústria biofarmacêutica. Vetores binários permitem buscas e correspondências eficientes de estruturas químicas complexas, facilitando processos rápidos de descoberta e desenvolvimento de medicamentos.
Necessidades do setor financeiro: Diferentemente de muitos setores que buscam as correspondências vetoriais mais próximas, o setor financeiro frequentemente exige a identificação dos vetores mais discrepantes. Essa capacidade é crucial para detectar anomalias e potenciais fraudes, nas quais os maiores desvios em relação à norma são de maior interesse.
Funcionalidade de busca por intervalo: Range Search permite que os usuários definam um limite de similaridade para acomodar casos de uso em que o número exato de resultados relevantes é imprevisível. O sistema então retorna todos os resultados que excedem esse limite, garantindo alta relevância e precisão nos dados recuperados.
Funcionalidades de Groupby e Agregação: Para dados não estruturados extensos, como filmes ou artigos longos, os bancos de dados vetoriais devem produzir e lidar com vetores segmentados por frames ou seções de texto. Essa segmentação exige recursos robustos de Groupby e agregação para garantir que os resultados atendam efetivamente a critérios específicos dos usuários.
Suporte a Modelos Multimodais: A mudança em direção a modelos multimodais introduz vetores de distribuições variadas, apresentando desafios para algoritmos tradicionais de recuperação. Os bancos de dados vetoriais estão evoluindo para acomodar esses diversos tipos de dados, garantindo uma recuperação eficaz em diferentes modalidades.
Essas adaptações específicas da indústria destacam a natureza dinâmica dos bancos de dados vetoriais, que estão evoluindo para atender às demandas complexas e variadas das aplicações modernas em diferentes setores.
Conclusão
Ao longo do último ano, os bancos de dados vetoriais passaram por avanços rápidos, refletindo uma maturação significativa em seus casos de uso e capacidades intrínsecas. À medida que avançamos para a era impulsionada pela IA, esses desenvolvimentos estão prestes a acelerar, anunciando uma nova onda de inovações no armazenamento, na busca e no gerenciamento de dados.
Esta visão geral tem como objetivo iluminar as tendências transformadoras e os recursos emergentes em bancos de dados vetoriais, oferecendo insights que podem inspirar mais inovação neste campo. À medida que navegamos por essas mudanças empolgantes, a jornada coletiva rumo ao aprimoramento dos bancos de dados vetoriais promete remodelar nosso cenário tecnológico, possibilitando soluções baseadas em dados mais sofisticadas e eficientes.
Vamos continuar a explorar e inovar juntos, abraçando o futuro promissor dos bancos de dados vetoriais com entusiasmo e espírito de colaboração.
Continue lendo
Stop Building AI Data Infra for the Wrong Stage
Learn how AI data infrastructure should evolve from prototype to enterprise scale, and when Vector Lakebase becomes the right architecture for AI apps.

How to Build RAG with Milvus, QwQ-32B and Ollama
Hands-on tutorial on how to create a streamlined, powerful RAG pipeline that balances efficiency, accuracy, and scalability using the QwQ-32B and Milvus.

How to Use Anthropic MCP Server with Milvus
MCP + Milvus: Streamline AI agent development with standardized data access, eliminating integration hassles while enhancing context and flexibility.



