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
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.
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).
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.
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.
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:
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.
Os bancos de dados vetoriais oferecem uma série de benefícios:
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Um índice vetorial e um banco de dados vetorial desempenham papéis distintos, mas complementares, na manipulação de dados de alta dimensão.
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.
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.
Há muitos recursos disponíveis para encontrar mais informações sobre bancos de dados vetoriais e busca vetorial, incluindo:
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
Assine nosso blog e receba os posts mais recentes diretamente na sua caixa de entrada.