Ir para o conteúdo principal

O que é um banco de dados vetorial?

Banco de dados especializado para armazenar e consultar embeddings vetoriais de alta dimensão, permitindo uma busca por similaridade eficiente e impulsionando aplicações de AI como RAG

por Equipe da Databricks

  • Um banco de dados vetorial armazena informações como vetores de alta dimensão para que os aplicativos possam pesquisar por significado e similaridade em textos, imagens e outros dados não estruturados, em vez de apenas palavras-chave exatas.
  • As organizações usam bancos de dados vetoriais para busca semântica, recomendações, resposta a perguntas e outros casos de uso de AI à medida que os dados não estruturados crescem, pois eles oferecem suporte à recuperação baseada em similaridade em grandes conjuntos de dados.
  • O Databricks AI Search fornece um banco de dados vetorial gerenciado que se integra ao lakehouse, automatiza a geração e ingestão de vetores e adiciona governança e segurança para cargas de trabalho de AI em produção.

O que é um banco de dados vetorial?

Um banco de dados vetorial é um banco de dados especializado projetado para armazenar e gerenciar dados como vetores de alta dimensão. O termo vem de vetores, que são representações matemáticas de características ou atributos contidos nos dados. Em contraste com os 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 as 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, que pode 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 os bancos de dados vetoriais lidem com eficiência com informações complexas e multifacetadas e realizem buscas e análises rápidas baseadas em similaridade.

Quando devo usar um banco de dados vetorial?

De acordo com a International Data Corporation (IDC), 80% dos novos dados criados no mundo até 2025 serão dados não estruturados, como textos, imagens e vídeos. Modelos baseados em aprendizado, como redes neurais profundas, são cada vez mais usados para gerenciar esses dados não estruturados em aplicações de diversos setores, do e-commerce à saúde. Essas aplicações funcionam transformando os dados não estruturados em vetores de embedding. Uma vez que os dados foram "vetorizados", tarefas como buscas, recomendações e análises podem ser implementadas por meio de busca por AI baseada 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 são um componente fundamental para alimentar muitos sistemas de AI, e algumas (mas não todas) aplicações de large language model (LLM) usam bancos de dados vetoriais para buscas rápidas por similaridade ou para fornecer contexto ou conhecimento de domínio. Por exemplo, eles desempenham um papel crucial na retrieval augmented generation (RAG), uma abordagem na qual o banco de dados vetorial é usado para aprimorar o prompt enviado ao LLM, adicionando contexto extra junto com a consulta.

Os bancos de dados vetoriais também permitem a busca híbrida. Essa abordagem combina a busca tradicional baseada em palavras-chave com a busca por similaridade semântica para localizar informações relevantes, mesmo quando as palavras-chave não são uma correspondência exata. Os bancos de dados vetoriais também podem ser usados para uma série de tarefas de processamento de linguagem natural (NLP), incluindo análise semântica e de sentimento, ou no treinamento de modelos de machine learning (ML).

O que é um vetor?

Um vetor é um array numérico de alta dimensão que expressa a localizaçã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. Nesse espaço, palavras com significados relacionados se agrupam. Por exemplo, o ponto que representa "maçã" estaria posicionado mais perto de "pera" do que de "carro". Esse arranjo espacial reflete as relações semânticas entre as palavras, com a proximidade indicando similaridade de significado.

O que é embedding vetorial?

Um vetor é gerado aplicando uma função de embedding aos dados brutos para transformá-los em uma representação. Essas representações são chamadas de "embeddings" porque um modelo de ML pega um agrupamento representativo e o incorpora em um espaço vetorial. Os vetores são incorporados como listas de números, facilitando a execução de operações com os dados por parte dos modelos de ML. Na verdade, o desempenho dos métodos de ML depende criticamente da qualidade das representações vetoriais. Um parágrafo inteiro de texto ou um grupo de números pode ser reduzido a um vetor, permitindo que o modelo realize operações com eficiência.

Como funcionam os bancos de dados vetoriais?

Os bancos de dados vetoriais são projetados para armazenar, indexar e consultar dados com eficiência por meio de embeddings vetoriais de alta dimensão. Assim que um usuário insere uma consulta ou solicitação no banco de dados vetorial, ele inicia a seguinte sequência de processos:

  1. Vetorização: Esta primeira etapa envolve a geração de embeddings a partir de conteúdo multimodal, que pode incluir texto, imagem, áudio ou vídeo. Esse processo captura as relações semânticas nos dados. Por exemplo, em dados de texto, esse processo garante que palavras com significados (ou vetores) semelhantes sejam colocadas próximas umas das outras no espaço vetorial.
  2. Indexação vetorial: A próxima etapa diferencia os bancos de dados vetoriais dos bancos de dados tradicionais. Algoritmos de ML, como quantização de produto ou Hierarchical Navigable Small World (HNSW), são aplicados aos dados para mapear os vetores para novas estruturas de dados. Essas estruturas permitem buscas mais rápidas por similaridade ou distância, como buscas de vizinhos mais próximos entre vetores. Esse processo de indexação é essencial para o desempenho do banco de dados, pois permite a recuperação rápida de vetores semelhantes.
  3. Execução de consulta: Na etapa final, o vetor da consulta inicial é comparado com os vetores indexados no banco de dados. O sistema recupera os vetores com as relações mais fortes, encontrando de forma eficaz as informações mais relevantes com base na similaridade semântica, em vez de correspondências exatas de palavras-chave.

Esses processos permitem que os 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 imagem e vídeo, análise de texto e detecção de anomalias.

Benefícios dos bancos de dados vetoriais

Os bancos de dados vetoriais oferecem uma série de benefícios:

  • Alta velocidade e desempenho: Os bancos de dados vetoriais podem localizar rapidamente dados semelhantes usando métricas de distância ou similaridade vetorial, um processo que é essencial para NLP, visão computacional e sistemas de recomendação. Ao contrário dos bancos de dados tradicionais, que se limitam a correspondências exatas ou critérios predefinidos, os bancos de dados vetoriais capturam o significado semântico e contextual. Isso otimiza a recuperação de dados, permitindo a realização de buscas mais detalhadas e conscientes do contexto, além da simples correspondência de palavras-chave.
  • Escalabilidade: Embora os bancos de dados tradicionais possam enfrentar desafios com gargalos de escalabilidade, problemas de latência ou conflitos de concorrência ao lidar com big data, os bancos de dados vetoriais são construídos para lidar com grandes volumes de dados. Os bancos de dados vetoriais aumentam a escalabilidade usando técnicas como sharding, particionamento, caching e replicação para distribuir a carga de trabalho e otimizar a utilização de recursos em várias máquinas ou clusters.
  • Versatilidade: Quer os dados contenham imagens, vídeos ou outros dados multimodais, os bancos de dados vetoriais são construídos para serem versáteis. Dada a sua capacidade de lidar com múltiplos casos de uso, que vão desde a busca semântica até aplicações de AI conversacional, os bancos de dados vetoriais podem ser personalizados para atender a uma variedade de requisitos de negócios.
  • Custo-benefício: Os bancos de dados vetoriais oferecem custos mais baixos devido ao seu manuseio eficiente de dados de alta dimensão. Ao contrário da consulta direta a modelos de ML, que pode ser computacionalmente intensa e demorada, os bancos de dados vetoriais usam embeddings de modelos para processar o dataset com mais eficiência.
  • Integração com ML: Os bancos de dados vetoriais facilitam para os modelos de ML a lembrança de entradas anteriores, permitindo que o ML impulsione mecanismos de busca semântica, classificação e recomendação. Os dados podem ser identificados com base em métricas de similaridade em vez de correspondências exatas, tornando possível para um modelo entender o contexto dos dados.

Cinco casos de uso de banco de dados vetorial

Os bancos de dados vetoriais são usados em todos os setores para uma ampla gama de aplicações e casos de uso. Aqui estão alguns dos exemplos mais comuns de bancos de dados vetoriais:

Modelos de linguagem de grande porte (LLMs)

A ascensão dos LLMs para tarefas como recuperação de informações, juntamente com a crescente popularidade de plataformas de e-commerce e recomendação, exige sistemas de gerenciamento de banco de dados vetoriais que possam fornecer recursos de otimização de consultas 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 consulta de texto, o sistema usa tanto o LLM quanto o banco de dados vetorial: o LLM fornece recursos de NLP, enquanto os algoritmos do banco de dados vetorial realizam buscas aproximadas de vizinhos mais próximos. Essa abordagem pode produzir melhores resultados em comparação com o uso de qualquer um dos componentes isoladamente.

Os bancos de dados vetoriais estão sendo cada vez mais aplicados a LLMs por meio de RAG, o que permite maior explicabilidade ao aplicar contexto às saídas do LLM. Os prompts do usuário podem ser aumentados por meio da inclusão de contexto para mitigar os principais desafios do LLM, como alucinação ou viés.

Reconhecimento de imagem

Os bancos de dados vetoriais podem desempenhar um papel fundamental no reconhecimento de imagem, 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 detecção de objetos, reconhecimento facial e busca de imagens.

Os bancos de dados vetoriais são ajustados para a rápida recuperação de contexto por meio de similaridade. Plataformas de e-commerce podem usar bancos de dados vetoriais para encontrar produtos com atributos visuais semelhantes, enquanto sites de redes sociais podem sugerir imagens relacionadas aos usuários. Um exemplo ilustrativo é o Pinterest, onde os 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 salva uma imagem de um pôr do sol à beira-mar, o sistema pode pesquisar rapidamente em seu banco de dados vetorial para sugerir imagens visualmente semelhantes, como outras paisagens de praia ou pores do sol.

Processamento de linguagem natural (NLP)

Os bancos de dados vetoriais revolucionaram o NLP ao permitir o armazenamento e a recuperação eficientes de representações de palavras distribuídas. Modelos como Word2Vec, GloVe e BERT são treinados em conjuntos de dados de texto massivos 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.

Como permitem buscas rápidas por similaridade, os bancos de dados vetoriais possibilitam que os modelos encontrem palavras ou frases contextualmente relevantes. Essa capacidade é particularmente valiosa para tarefas como busca semântica, resposta a perguntas, classificação de texto e extração de entidades nomeadas. Além disso, os bancos de dados vetoriais podem armazenar embeddings no nível da frase, capturando os contextos das palavras e permitindo uma compreensão de linguagem mais sutil.

Sistemas de recomendação e personalização

Depois 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. For exemplo, um usuário pode pedir a um LLM uma recomendação de série de TV e o banco de dados vetorial pode sugerir séries de TV que tenham enredos ou avaliações semelhantes às preferências do usuário. As séries de TV com embeddings mais próximos da codificação do usuário são então recomendadas de acordo.

Detecção de fraude

As instituições financeiras usam bancos de dados vetoriais para detectar transações fraudulentas. Os bancos de dados vetoriais permitem que as empresas comparem vetores de transações com padrões de fraude conhecidos em tempo real. A escalabilidade dos bancos de dados vetoriais também permite que eles gerenciem riscos e obtenham novos insights sobre o comportamento do consumidor. Esses bancos de dados podem identificar padrões que indicam atividades codificando dados de transações como vetores. Além disso, eles facilitam a avaliação da capacidade de crédito e a segmentação de consumidores, analisando dados para melhorar o processo de tomada de decisão.

Desafios comuns dos bancos de dados vetoriais

Apesar de seus muitos benefícios e casos de uso, uma compreensão completa dos bancos de dados vetoriais também precisa incluir seus desafios.

Novos pipelines de dados

Os bancos de dados vetoriais exigem pipelines eficientes de ingestão de dados, nos quais dados brutos e não processados de várias fontes podem ser limpos, processados e incorporados com um modelo de ML antes de serem armazenados como vetores no banco de dados.

O Databricks AI Search aborda esse desafio oferecendo uma solução abrangente. Ele automatiza a geração, o gerenciamento e a otimização de vetores, lidando com a sincronização em tempo real dos dados de origem com os índices vetoriais correspondentes. O software gerencia falhas, otimiza o throughput e realiza o ajuste automático do tamanho do lote e o autoscaling sem a necessidade de intervenção manual.

Essa abordagem reduz a necessidade de pipelines de ingestão de dados separados, minimizando o “trabalho repetitivo do desenvolvedor” e permitindo que as equipes se concentrem em tarefas de nível superior que agregam valor comercial direto, em vez de gastar tempo criando e mantendo processos complexos de preparação de dados.

Maior segurança e governança

Os bancos de dados vetoriais exigem segurança adicional, controles de acesso e governança de dados, além da manutenção e do gerenciamento necessários. As organizações empresariais exigem controles rígidos de segurança e acesso aos dados para que os usuários não possam acessar modelos de GenAI que se conectam a dados confidenciais.

Muitos bancos de dados vetoriais atuais não possuem controles robustos de segurança e acesso implementados ou exigem que as organizações criem e mantenham um conjunto separado de políticas de segurança. O Databricks AI Search fornece uma interface unificada que define políticas de dados para rastrear a linhagem de dados automaticamente, sem a necessidade de ferramentas adicionais. Isso garante que os LLMs não exponham dados confidenciais a usuários que não deveriam ter acesso.

Alto nível de conhecimento técnico

Como oferecem recursos poderosos para buscas por similaridade e manipulação de dados de alta dimensão, os bancos de dados vetoriais são ferramentas essenciais para cientistas de dados que trabalham com modelos de AI e ML. O Databricks AI Search se destaca como um banco de dados vetorial serverless que elimina a necessidade de configuração manual, permitindo que os cientistas de dados se concentrem no trabalho principal em vez do gerenciamento de infraestrutura.

As principais vantagens do Databricks AI Search incluem integração perfeita com a arquitetura lakehouse, ingestão automatizada de dados e resultados até cinco vezes mais rápidos em comparação com outros bancos de dados vetoriais populares. Ele também é compatível com as ferramentas existentes de governança de dados e segurança por meio do Unity Catalog, garantindo a proteção de dados e a conformidade.

O Databricks AI Search oferece flexibilidade tanto para usuários novatos quanto avançados, com dimensionamento automatizado para ingestão de dados e consultas, bem como APIs plug-and-replace para aqueles que preferem mais controle sobre seus pipelines. Essa combinação de facilidade de uso e desempenho poderoso simplifica a criação de um banco de dados vetorial para cientistas de dados em todos os níveis de experiência.

Relatório

O manual de IA agêntica para empresas

Bancos de dados vetoriais vs. bancos de dados em grafo

Os bancos de dados vetoriais organizam os dados como pontos em um espaço vetorial multidimensional. Cada ponto representa um dado, e a localização reflete suas características em relação a outros dados. Essa estrutura de banco de dados vetorial é ideal para muitas aplicações de GenAI, pois os embeddings vetoriais são gerados por LLMs e os dados podem ser pesquisados e recuperados facilmente.

Em contrapartida, os bancos de dados em grafo organizam os dados armazenando-os em uma estrutura de grafo. As entidades são representadas como nós em um grafo, enquanto as conexões entre esses pontos de dados são representadas como arestas. A estrutura de grafo permite que os itens de dados no armazenamento sejam uma coleção de nós e arestas, com as arestas representando as relações entre os nós. A estrutura interconectada dos bancos de dados em grafo os torna ideais para cenários em que as conexões entre os pontos de dados são tão importantes quanto os próprios dados.

Qual é a diferença entre um índice vetorial e um banco de dados vetorial?

Um índice vetorial e um banco de dados vetorial desempenham papéis distintos, mas complementares, na manipulação de dados de alta dimensão.

  • Índice vetorial: Um índice vetorial é uma estrutura de dados especializada projetada para facilitar buscas rápidas por similaridade entre embeddings vetoriais. Ele melhora significativamente a velocidade de busca ao organizar os vetores de uma forma que permite uma recuperação eficiente. Exemplos de índices vetoriais incluem o Facebook AI Similarity Search (FAISS), HNSW e locality-sensitive hashing (LSH). Esses índices podem ser usados como processos algorítmicos autônomos ou integrados em sistemas maiores para otimizar as operações de busca.
  • Banco de dados vetorial: Por outro lado, um banco de dados vetorial é uma solução abrangente de gerenciamento de dados que não apenas incorpora a indexação vetorial, mas também fornece funcionalidades adicionais, como armazenamento de dados; operações de criação, leitura, atualização e exclusão (CRUD); filtragem de metadados; e escalabilidade horizontal. Ele foi projetado para gerenciar e consultar embeddings vetoriais com eficiência, suportando operações complexas e garantindo a integridade e a segurança dos dados.

Tendências futuras para bancos de dados vetoriais

O recente surgimento de LLMs e aplicações de GenAI, de forma mais geral, contribuiu para uma adoção concomitante de bancos de dados vetoriais. À medida que as aplicações de AI continuam a amadurecer, o desenvolvimento de novos produtos e as mudanças nas necessidades dos usuários decidirão a direção das tendências futuras nos bancos de dados vetoriais — no entanto, existem algumas direções geralmente esperadas para essa tecnologia.

  • Maior integração com modelos de ML: A relação entre bancos de dados vetoriais e modelos de ML é tema de cada vez mais pesquisas. Esses esforços visam reduzir o tamanho e a dimensionalidade dos vetores, minimizando os requisitos de armazenamento para grandes conjuntos de dados e aumentando a eficiência computacional.
  • Personalização de RAG: O RAG é uma abordagem usada para melhorar o contexto fornecido a um LLM em casos de uso de GenAI, incluindo chatbots e aplicações gerais de perguntas e respostas. O banco de dados vetorial é usado para aprimorar o prompt enviado ao LLM, adicionando contexto extra junto com a consulta.
  • Busca multivetor: Espera-se mais pesquisas sobre a melhoria dos recursos de busca multivetor, o que é importante para aplicações como reconhecimento facial. As técnicas atuais geralmente dependem da combinação de pontuações individuais, mas essa abordagem pode ser computacionalmente cara, pois aumenta o número de cálculos de distância necessários.
  • Busca híbrida: A evolução dos sistemas de busca levou a uma crescente adoção de abordagens híbridas que combinam métodos tradicionais baseados em palavras-chave com técnicas modernas de recuperação vetorial.

Como criar um banco de dados vetorial com o Databricks

Databricks AI Search é a solução integrada de banco de dados vetorial da Databricks para a Data Intelligence Platform. Este 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 proteção consistente em todos os ativos de dados.

O Databricks AI Search oferece uma experiência de alto desempenho e pronta para uso, permitindo que LLMs recuperem rapidamente resultados relevantes com latência mínima. Os usuários se beneficiam do escalonamento e da otimização automáticos, eliminando a necessidade de ajuste manual do banco de dados. Essa integração simplifica o processo de armazenamento, gerenciamento e consulta de embeddings vetoriais, facilitando para as organizações a implementação de aplicações de AI, como sistemas de recomendação e buscas semânticas, mantendo os padrões de segurança e governança de dados.

Onde posso encontrar mais informações sobre bancos de dados vetoriais e busca vetorial?

Há muitos recursos disponíveis para encontrar mais informações sobre bancos de dados vetoriais e busca vetorial, incluindo:

Blogs

eBooks

Demos

Entre em contato com a Databricks para agendar uma demonstração e conversar com alguém sobre seus LLMs e bancos de dados vetoriais.

(Esta publicação no blog foi traduzida utilizando ferramentas baseadas em inteligência artificial) Publicação original

Receba os posts mais recentes na sua caixa de entrada

Assine nosso blog e receba os posts mais recentes diretamente na sua caixa de entrada.