Um banco de dados vetorial é um banco de dados especializado projetado para armazenar e gerenciar dados como vetores de alta dimensionalidade. O termo tem sua origem em vetores, que são representações matemáticas de recursos ou atributos contidos nos dados. Em contraste com bancos de dados tradicionais, que são adequados para lidar com dados estruturados organizados em linhas e colunas, a estrutura do banco de dados vetorial organiza informações como representações vetoriais com um número fixo de dimensões agrupadas de acordo com sua similaridade.
Cada vetor em um banco de dados vetorial consiste em um número específico de dimensões, podendo variar de apenas algumas dezenas a vários milhares. O número de dimensões depende da complexidade e da granularidade dos dados. Essa estrutura permite que bancos de dados vetoriais processem informações complexas e multifacetadas de forma eficiente e realizem buscas e análises rápidas baseadas em similaridade.
Segundo a International Data Corporation (IDC), 80% dos novos dados criados mundialmente até 2025 serão dados não estruturados, como texto, imagens e vídeos. Modelos baseados em aprendizado, como redes neurais, são cada vez mais utilizados para gerenciar esses dados não estruturados em aplicações em diversas indústrias, desde o comércio eletrônico até a saúde. Essas aplicações transformam os dados não estruturados em embeddings vetoriais. Uma vez que os dados tenham sido "vetorizados", tarefas como buscas, recomendações e análises podem ser implementadas por meio de um Vector Search baseado em similaridade. O gerenciamento de dados vetoriais ocorre em bancos de dados vetoriais.
Saber quando usar bancos de dados vetoriais depende dos outros processos e tecnologias que você está utilizando. Eles representam um componente crucial para o funcionamento de muitos sistemas de IA, e algumas (mas não todas) aplicações de grandes modelos de linguagem (LLM) usam bancos de dados vetoriais para pesquisas rápidas de similaridade ou para fornecer contexto ou conhecimento de domínio. Por exemplo, eles desempenham um papel fundamental na geração aumentada de recuperação (RAG), uma abordagem em que o banco de dados vetorial é usado para aprimorar o prompt passado para o LLM, incluindo contexto adicional junto à query.
As bancos de dados vetoriais também possibilitam uma pesquisa híbrida. Esta abordagem combina a busca tradicional baseada em palavras-chave com a busca por similaridade semântica para encontrar informações relevantes, mesmo quando as palavras-chave não correspondem exatamente. Bancos de dados vetoriais também podem ser usados em diversas tarefas de processamento de linguagem natural (PLN), incluindo a análise semântica e de sentimentos, ou no treinamento de modelos de machine learning (ML).
Um vetor é uma matriz numérica de alta dimensão que expressa a posição de um ponto específico em várias dimensões. Imagine um espaço vetorial de palavras como uma nuvem tridimensional onde as palavras são representadas como pontos. Neste espaço, palavras com significados relacionados se agrupam. Por exemplo, o ponto que representa “maçã” estaria mais próximo do ponto que representa “pera” do que o de “carro”. Esse arranjo espacial reflete as relações semânticas entre palavras, onde a proximidade indica similaridade de significado.
Um vetor é gerado ao aplicar uma função de embedding aos dados brutos para transformá-lo em uma representação. Essas representações são chamadas de "embeddings" porque um modelo de ML incorpora, ou faz um embedding, de um agrupamento representativo em um espaço vetorial. Os vetores são incorporados como listas de números, o que facilita para os modelos de ML realizarem operações com os dados. Na verdade, o desempenho dos métodos de ML depende integralmente da qualidade das representações vetoriais. Um parágrafo inteiro de texto ou um conjunto de números pode ser transformado em um vetor, permitindo que o modelo execute operações com eficiência.
Os bancos de dados vetoriais são projetados para armazenar, indexar e fazer queries de dados com eficiência por meio de embeddings vetoriais de alta dimensão. Assim que um usuário insere uma query ou solicitação no banco de dados vetorial, é iniciada a seguinte sequência de processos:
Esses processos permitem que bancos de dados vetoriais realizem buscas semânticas e recuperações baseadas em similaridade, tornando-os ideais para aplicações como sistemas de recomendação, reconhecimento de imagens e vídeos, análise de texto e detecção de anomalias.
Os bancos de dados vetoriais oferecem uma gama de benefícios:
Bancos de dados vetoriais são usados em diversas indústrias em uma variedade de aplicações e casos de uso. Veja alguns dos exemplos de banco de dados vetoriais mais comuns:
A ascensão dos LLMs para tarefas como a recuperação de informações, juntamente com a crescente popularidade das plataformas de comércio eletrônico e recomendação, exige sistemas de gerenciamento de banco de dados vetoriais que possam oferecer capacidades de otimização de query para dados não estruturados.
Em aplicações multimodais, os dados são incorporados e armazenados em bancos de dados vetoriais, facilitando a recuperação eficiente de representações vetoriais. Quando um usuário envia uma query de texto, o sistema utiliza tanto o LLM quanto o banco de dados vetorial: o LLM oferece capacidades de PLN, enquanto os algoritmos do banco de dados vetorial realizam buscas aproximadas de pontos mais próximos. Esta abordagem pode gerar melhores resultados em comparação com o uso de cada componente isoladamente.
Bancos de dados vetoriais estão sendo cada vez mais aplicados a LLMs por meio da RAG, o que permite uma maior capacidade de explicação ao aplicar contexto às saídas dos LLMs. Prompts de usuários podem ser aprimorados por meio da inclusão de contexto para reduzir os desafios centrais do LLM, como alucinação ou viés.
Os bancos de dados vetoriais podem desempenhar um papel fundamental no reconhecimento de imagens, armazenando embeddings de alta dimensão de imagens geradas por modelos de ML. Como os bancos de dados vetoriais são otimizados para tarefas de busca por similaridade, isso os torna ideais para aplicações como a detecção de objetos, reconhecimento facial e busca de imagens.
Os bancos de dados vetoriais são otimizados para a rápida recuperação de contexto através da similaridade. Plataformas de comércio eletrônico podem usar bancos de dados vetoriais para localizar produtos com atributos visuais semelhantes, enquanto sites de redes sociais podem sugerir imagens relacionadas para os usuários. Um exemplo ilustrativo é o Pinterest, onde bancos de dados vetoriais impulsionam a descoberta de conteúdo ao representar cada imagem como um vetor de alta dimensão. Quando um usuário fixa uma imagem de um pôr do sol no litoral, o sistema pode rapidamente buscar em seu banco de dados vetorial para sugerir imagens visualmente semelhantes, como outras paisagens de praia ou pores do sol.
Os bancos de dados vetoriais revolucionaram o PLN, possibilitando o armazenamento e a recuperação eficientes de representações de palavras distribuídas. Modelos como Word2Vec, GloVe e BERT são treinados em enormes datasets de texto para gerar embeddings de palavras de alta dimensão que capturam relações semânticas, que são então armazenados em bancos de dados vetoriais para acesso rápido.
Ao permitir buscas rápidas de similaridade, os bancos de dados vetoriais possibilitam que os modelos encontrem palavras ou frases relevantes no contexto. Essa capacidade é especialmente valiosa para tarefas como a busca semântica, respostas a perguntas, classificações de texto e extrações de entidades nomeadas. Além disso, bancos de dados vetoriais podem armazenar embeddings em nível de frase, capturando o contexto das palavras e permitindo uma compreensão mais sutil da linguagem.
Uma vez que um banco de dados vetorial é treinado usando um modelo de embedding, ele pode ser utilizado para gerar recomendações personalizadas. Quando um usuário interage com o sistema, seu comportamento e preferências são usados para gerar o embedding do usuário. Por exemplo, um usuário pode solicitar a um LLM uma recomendação de série de TV, e o banco de dados vetorial pode sugerir séries de TV com enredos ou avaliações que correspondam às preferências do usuário. Serão recomendadas as séries de TV cujos embeddings estejam mais próximos da codificação do usuário.
As instituições financeiras utilizam bancos de dados vetoriais para identificar transações fraudulentas. Bancos de dados vetoriais permitem que empresas comparem vetores de transações com padrões de fraude conhecidos em tempo real. A escalabilidade dos bancos de dados vetoriais também lhes permite gerenciar riscos e obter novas percepções sobre o comportamento do consumidor. Esses bancos de dados podem identificar padrões que indicam atividades ao codificar dados de transações como vetores. Além disso, eles facilitam a avaliação da solvência e a segmentação de consumidores por meio da análise de dados para melhorar o processo de tomada de decisão.
Apesar de seus muitos benefícios e casos de uso, os bancos de dados vetoriais também apresentam alguns desafios e dificuldades.
Bancos de dados vetoriais requerem pipelines de ingestão de dados eficientes, onde dados brutos e não processados de várias fontes podem ser limpos, processados e incorporados a um modelo de ML antes de serem armazenados como vetores no banco de dados.
O Vector Search da Databricks oferece uma solução completa para resolver esse desafio. Ele automatiza a geração, o gerenciamento e a otimização de vetores, administrando a sincronização em tempo real dos dados da fonte com os índices vetoriais correspondentes. O software gerencia falhas, otimiza o throughput e faz o ajuste automático do tamanho do lote e o dimensionamento automático sem a necessidade de intervenção manual.
Essa abordagem reduz a necessidade de pipelines de ingestão de dados separados, reduzindo a sobrecarga de trabalho para o desenvolvedor e permitindo que as equipes foquem em tarefas que agregam valor direto à empresa, em vez de gastar tempo construindo e mantendo processos complexos de preparação de dados.
Os bancos de dados vetoriais requerem uma segurança adicional, controles de acesso e governança de dados, juntamente com a manutenção e o gerenciamento necessários. As organizações exigem controles rigorosos de segurança e de acesso aos dados para impedir que os usu ários acessem modelos GenAI vinculados a dados confidenciais.
Muitos bancos de dados vetoriais existentes ou não possuem controles robustos de segurança e acesso, ou exigem que as organizações desenvolvam e mantenham um conjunto separado de políticas de segurança. O Vector Search da Databricks oferece uma interface unificada que estabelece políticas de dados para rastrear automaticamente a linhagem de dados sem precisar de ferramentas adicionais. Isso garante que os LLMs não exponham dados confidenciais a usuários que não deveriam ter acesso.
Por oferecerem capacidades poderosas para buscas de similaridade e manipulação de dados de alta dimensão, os bancos de dados vetoriais são ferramentas essenciais para cientista de dados que trabalham com modelos de IA e ML. O Vector Search da Databricks se destaca como um banco de dados vetorial serverless que elimina a necessidade da configuração manual, permitindo que os cientistas de dados foquem no que realmente importa em vez de gerenciar a infraestrutura.
As principais vantagens do Vector Search da Databricks incluem a integração perfeita com a arquitetura lakehouse, ingestão de dados automatizada e resultados até cinco vezes mais rápidos em comparação com outros bancos de dados vetoriais. Também é compatível com as ferramentas existentes de governança e segurança de dados por meio do Unity Catalog, garantindo a proteção e a conformidade dos dados.
O Vector Search da Databricks oferece flexibilidade tanto para usuários iniciantes quanto para avançados, com escalabilidade automatizada para a ingestão e a query de dados, além de APIs plug-and-replace para quem prefere ter mais controle sobre seus pipelines. Essa combinação de facilidade de uso e desempenho poderoso simplifica a construção de um banco de dados vetorial para cientistas de dados em todos os níveis de especialização.
Os bancos de dados vetoriais organizam dados como pontos em um espaço vetorial multidimensional. Cada ponto representa uma unidade de dado, e a localização reflete suas características em relação a outras unidades de dados. Essa estrutura de banco de dados vetorial é adequada para muitos aplicativos GenAI, pois as embeddings vetoriais são geradas por LLMs e os dados podem ser facilmente pesquisados e recuperados.
Por outro lado, os bancos de dados gráficos organizam os dados armazenando-os em uma estrutura de gráfico. Entidades são representadas por nós em um gráfico, enquanto as conexões entre esses pontos de dados são representadas por arestas. A estrutura de gráfico permite que os itens de dados no armazenamento sejam uma coleção de nós e arestas, onde as arestas representam as relações entre os nós. A estrutura interconectada dos bancos de dados de gráfico os torna adequados para situações em que as conexões entre os pontos de dados são tão importantes quanto os próprios dados.
Um índice vetorial e um banco de dados vetorial desempenham papéis distintos, mas complementares, no manuseio de dados de alta dimensão.
O recente aumento dos LLMs e dos aplicativos de GenAI contribuiu para uma adoção concomitante dos bancos de dados vetoriais. À medida que as aplicações de IA continuam amadurecendo, o desenvolvimento de novos produtos e as mudanças nas necessidades dos usuários determinarão a direção das tendências futuras dos bancos de dados vetoriais — no entanto, há algumas direções esperadas para essa tecnologia.
O Mosaic AI Vector Search da Databricks é a solução de banco de dados vetorial integrada da empresa para a plataforma de inteligência de dados. Esse sistema totalmente integrado elimina a necessidade de pipelines de ingestão de dados separados e aplica controles de segurança e mecanismos de governança de dados, garantindo uma proteção consistente em todos os ativos de dados.
O Vector Search da Databricks oferece uma experiência de alto desempenho pronta para uso, permitindo que os LLMs recuperem rapidamente resultados relevantes e com latência mínima. Os usuários se beneficiam do escalonamento e otimização automáticos, eliminando a necessidade de ajuste manual do banco de dados. A integração simplifica o processo de armazenamento, gerenciamento e consulta de embeddings de vetores, ajudando as organizações a implementar aplicações de IA, como sistemas de recomendações e buscas semânticas, enquanto mantém as normas de segurança e governança de dados.
Há muitos recursos disponíveis para encontrar mais informações sobre bancos de dados de vetores e busca vetorial, incluindo:
Entre em contato com a Databricks para agendar uma demonstração e conversar sobre seus projetos de LLM e bancos de dados de vetores.
