Um banco de dados de vetores armazena, gerencia e indexa dados vetoriais de alta dimensionalidade. Pontos de dados são armazenados como matrizes de números chamados "vetores", que são agrupados com base na similaridade. Esse design possibilita consultas de baixa latência, tornando-o ideal para aplicações de IA.
Os bancos de dados de vetores estão crescendo em popularidade porque oferecem a velocidade e o desempenho necessários para impulsionar casos de uso e aplicações de inteligência artificial (IA) generativa. De acordo com o Gartner, até 2026, mais de 30% das empresas terão adotado bancos de dados de vetores para construir seus modelos de base com dados de negócios relevantes.1
Ao contrário dos bancos de dados relacionais tradicionais com linhas e colunas, pontos de dados em um banco de dados de vetores são representados por vetores com um número fixo de dimensões. Como utilizam incorporações vetoriais de alta dimensão, os bancos de dados de vetores são mais capazes de lidar com conjuntos de dados não estruturados.
A natureza dos dados passou por uma transformação profunda. Eles não estão mais restritos a informações estruturadas facilmente armazenadas em bancos de dados tradicionais. Dados não estruturados(incluindo postagens em redes sociais, imagens, vídeos, clipes de áudio e muito mais) estão crescendo de 30% a 60% ao ano.2
Bancos de dados relacionais se destacam no gerenciamento de conjuntos de dados estruturados e semiestruturados em formatos específicos. Carregar fontes de dados não estruturados em um banco de dados relacional tradicional para armazenar, gerenciar e preparar os dados para inteligência artificial (IA) é um processo trabalhoso, especialmente com novos casos de uso generativos, como a busca por similaridade.
Pesquisa tradicional normalmente representa dados usando tokens ou funcionalidades discretas, como palavras-chave, tags ou metadados. As pesquisas tradicionais dependem de correspondências exatas para recuperar resultados relevantes. Por exemplo, uma pesquisa por "smartphone" retornaria resultados contendo a palavra "smartphone".
Ao contrário disso, a pesquisa vetorial representa dados como vetores densos, que são vetores com a maioria ou todos os elementos diferentes de zero. Os vetores são representados em um espaço vetorial contínuo, o espaço matemático no qual os dados são representados como vetores.
As representações vetoriais possibilitam a pesquisa por similaridade. Por exemplo, uma pesquisa vetorial por "smartphone" também pode retornar resultados para "celular" e "dispositivos móveis".
Cada dimensão do vetor denso corresponde a uma funcionalidade latente ou aspecto dos dados. Uma funcionalidade latente é uma característica ou atributo subjacente que não é observado diretamente, mas inferido a partir dos dados por meio de modelos matemáticos ou algoritmos.
As funcionalidades latentes capturam os padrões e relacionamentos ocultos nos dados, permitindo representações mais significativas e precisas dos itens como vetores em um espaço de alta dimensão.
Os vetores são um subconjunto de tensores, que no aprendizado de máquina (ML) é um termo genérico para um grupo de números (ou um agrupamento de grupos de números) no espaço n-dimensional. Os tensores funcionam como um dispositivo de contabilidade matemática para dados. Trabalhando a partir do menor elemento:
Números vetoriais podem representar objetos complexos, como palavras, imagens, vídeos e áudio gerados por um modelo de ML. Esses dados vetoriais de alta dimensão, contendo várias funcionalidades, são essenciais o para aprendizado de máquina, processamento de linguagem natural (NLP) e outras tarefas de IA. Alguns exemplos de usos de dados vetoriais incluem:
Incorporações vetoriais são representações numéricas de pontos de dados que convertem vários tipos de dados (incluindo dados não matemáticos, como palavras, áudio ou imagens), em matrizes de números que modelos de ML podem processar.
Os modelos de inteligência artificial (IA), desde algoritmos simples de regressão linear até as intrincadas redes neurais usadas no deep learning, operam por meio de lógica matemática.
Quaisquer dados que um modelo de IA utiliza, incluindo dados não estruturados, precisam ser registrados numericamente. A incorporação vetorial é uma forma de converter um ponto de dados não estruturados o em uma matriz de números que expressa o significado original desses dados.
Aqui está um exemplo simplificado de incorporações de palavras para um corpus muito pequeno (duas palavras), onde cada palavra é representada como um vetor tridimensional:
Neste exemplo, cada palavra ("gato") está associada a um vetor único ([0.2, -0,4, 0,7]). Os valores no vetor representam a posição da palavra em um espaço vetorial contínuo tridimensional.
Espera-se que palavras com significados ou contextos similares tenham representações vetoriais similares. Por exemplo, os vetores para "gato" e "cão" estão próximos, refletindo sua relação semântica.
Modelos de incorporações são treinados para converter pontos de dados em vetores. Bancos de dados de vetores armazenam e indexam as produções desses modelos de incorporações. Dentro do banco de dados, vetores podem ser agrupados ou identificados como opostos com base no significado semântico ou funcionalidades em praticamente qualquer tipo de dado.
As incorporações vetoriais são a base das recomendações, chatbots e aplicativos generativos, como o ChatGPT.
Por exemplo, considere as palavras "carro" e "veículo". Elas têm significados similares, mas são escritas de forma diferente. Para que uma aplicação de IA permita uma pesquisa semântica eficaz, as representações vetoriais de "carro" e "veículo" devem capturar sua semelhança semântica. No aprendizado de máquina, as incorporações representam vetores de alta dimensão que codificam essa informação semântica.
Bancos de dados de vetores desempenham três funções principais em aplicações de IA e ML:
Em operação, bancos de dados de vetores funcionam usando múltiplos algoritmos para conduzir uma pesquisa do vizinho mais próximo aproximado (ANN) . Então, os algoritmos são reunidos em um pipeline para recuperar e entregar dados vizinhos ao vetor que é consultado de forma rápida e precisa.
Por exemplo, uma pesquisa de ANN pode procurar produtos visualmente semelhantes em um catálogo de comércio eletrônico. Outros usos incluem detecção de anomalias, classificação e pesquisa semântica. Como um conjunto de dados passa por um modelo apenas uma vez, os resultados são retornados em milissegundos.
Bancos de dados de vetores armazenam as produções de um algoritmo de modelo de incorporação, as incorporações vetoriais. Eles também armazenam os metadados de cada vetor, incluindo título, descrição e tipo de dado, que podem ser consultados usando filtros de metadados.
Ao ingerir e armazenar essas incorporações, o banco de dados pode facilitar a recuperação rápida de uma pesquisa de similaridade, correspondendo o prompt do usuário a uma incorporação vetorial similar.
Os vetores precisam ser indexados para acelerar pesquisas dentro de espaços de dados de alta dimensão. Bancos de dados de vetores criam índices em incorporações vetoriais para funções de pesquisa.
O banco de dados de vetores indexa vetores usando um algoritmo de ML. A indexação mapeia os vetores para novas estruturas de dados, que possibilitam pesquisas mais rápidas por similaridade ou distância, como pesquisas de vizinho mais próximo , entre vetores.
Vetores podem ser indexados usando algoritmos como Hierarchical Navigable Small World (HNSW), hashing sensível à localidade (LSH) ou quantização de produto (PQ).
Vetores de consulta são representações vetoriais das consultas de pesquisa. Quando um usuário faz uma consulta ou um prompt de um modelo de IA, o modelo calcula uma incorporação da consulta ou prompt. Então, o banco de dados calcula as distâncias entre vetores de consulta e vetores armazenados no índice para retornar resultados similares.
Os bancos de dados podem medir a distância entre vetores com vários algoritmos, como pesquisa pelo vizinho mais próximo. As medições também podem ser baseadas em várias métricas de similaridade, como similaridade de cosseno.
O banco de dados retorna os vetores mais similares ou vizinhos mais próximos ao vetor de consulta de acordo com a classificação de similaridade. Esses cálculos são compatíveis com várias tarefas de aprendizado de máquina, como sistemas de recomendação, pesquisa semântica, reconhecimento de imagens e outras tarefas de processamento de linguagem natural.
Os bancos de dados de vetores são uma forma popular de impulsionar aplicações empresariais baseadas em IA porque podem oferecer muitos benefícios:
Os bancos de dados de vetores utilizam várias técnicas de indexação para permitir pesquisas mais rápidas. Algoritmos de indexação vetorial e cálculo de distância, como pesquisa de vizinho mais próximo, podem ajudar a otimizar o desempenho ao pesquisar resultados relevantes em grandes conjuntos de dados com milhões, se não bilhões, de pontos de dados.
Uma consideração é que bancos de dados de vetores fornecem resultados aproximados. Aplicações que exigem maior precisão podem precisar usar um tipo diferente de banco de dados, ao custo de uma velocidade de processamento mais lenta.
Os bancos de dados de vetores podem armazenar e gerenciar enormes quantidades de dados não estruturados, escalando horizontalmente com nós adicionais, mantendo o desempenho conforme a demanda de consultas e os volumes de dados aumentam.
Como possibilitam uma recuperação de dados mais rápida, bancos de dados de vetores aceleram o treinamento de modelos de base.
Os bancos de dados de vetores normalmente fornecem funcionalidades integradas para atualizar e inserir facilmente novos dados não estruturados.
Os bancos de dados de vetores são projetados para lidar com a complexidade adicional de usar imagens, vídeos ou outros dados multidimensionais.
Considerando-se os múltiplos casos de uso, que vão desde pesquisa semântica até aplicações de IA conversacional, os bancos de dados de vetores podem ser personalizados para atender aos requisitos de negócios e de IA. As organizações podem começar com um modelo de finalidade geral, como os modelos da série IBM Granite, Llama-2 da Meta ou os modelos Flan do Google e, então, fornecer seus próprios dados em um banco de dados de vetores para aprimorar a produção dos modelos e aplicações de IA.
As organizações têm uma ampla gama de opções ao escolher um recurso de banco de dados de vetores. Para encontrar um que atenda às suas necessidades de dados e IA, muitas organizações consideram:
Existem algumas alternativas para escolher.
Os bancos de dados de vetores não devem ser considerados como recursos independentes, mas sim como parte de um ecossistema mais amplo de dados e IA.
Muitos oferecem APIs, extensões nativas ou podem ser integrados com bancos de dados. Como os bancos de dados de vetores são criados para usar dados empresariais para aprimorar modelos, as organizações também devem ter governança e segurança de dados adequadas para garantir que os dados usados para treinar grandes modelos de linguagem (LLMs) possam ser confiáveis.
Além das APIs, muitos bancos de dados de vetores utilizam kits de desenvolvimento de software (SDKs) específicos de linguagem de programação que podem envolver as APIs. Usando os SDKs, os desenvolvedores frequentemente acham mais fácil trabalhar com os dados em seus aplicativos.
Utilizar um armazenamento e índice vetorial é bem adequado para aplicações baseadas em fatos ou consultas baseadas em fatos, como a extração de informações específicas de documentos complexos.
No entanto, solicitar um resumo de tópicos não funcionaria bem com um índice vetorial. Nesse caso, um LLM examinaria todos os diferentes contextos possíveis sobre aquele tópico dentro dos dados.
Uma opção mais rápida seria usar um tipo diferente de índice, como um índice de lista em vez de um índice vetorial, porque um índice de lista recuperaria imediatamente o primeiro elemento em cada lista.
Para otimizar o desenvolvimento de bancos de dados de vetores, o LangChain é um framework de orquestração de código aberto para desenvolver aplicações que utilizam LLMs.
Disponível em bibliotecas baseadas em Python e JavaScript, as ferramentas e APIs do LangChain simplificam o processo de construção de aplicativos impulsionados por LLMs, como chatbots e agentes virtuais. O LangChain oferece integrações para mais de 25 métodos de incorporação diferentes e para mais de 50 armazenamentos de vetores (tanto em nuvem quanto locais).
Para impulsionar a IA de nível empresarial, um data lakehouse pode ser combinado com um banco de dados de vetores integrado. As organizações podem unificar, selecionar e preparar incorporações vetorizados para suas aplicações de IA generativa em escala em todos os seus dados governados confiáveis. Isso aumenta a relevância e a precisão de suas cargas de trabalho de IA, incluindo chatbots, sistemas de recomendação personalizados e aplicações de pesquisa por similaridade de imagens.
As aplicações para bancos de dados de vetores são vastas e crescentes. Alguns casos de uso principais incluem:
Geração aumentada de recuperação (RAG) é um framework de IA que permite que grandes modelos de linguagem (LLMs) recuperem fatos de uma base de conhecimento externa. Bancos de dados de vetores são essenciais para apoiar implementações da RAG.
As empresas estão cada vez mais favorecendo a RAG em fluxos de trabalho de IA generativa por seu tempo de chegada ao mercado mais rápido, inferência eficiente e produção confiável. O framework é particularmente útil em casos de uso como atenção ao cliente, HR e gerenciamento de talentos.
A RAG ajuda a garantir que um modelo esteja vinculado aos fatos mais atuais e confiáveis e que os usuários tenham acesso às fontes do modelo para que suas alegações possam ser verificadas. Ancorar o LLM a dados confiáveis pode ajudar a reduzir alucinações do modelo.
A RAG usa dados vetoriais de alta dimensionalidade para enriquecer os prompts com informações semanticamente relevantes para o aprendizado em contexto por modelos de base. A RAG exige armazenamento e recuperação eficazes durante a fase de inferência, que lida com o maior volume de dados.
Bancos de dados de vetores se destacam em indexar, armazenar e recuperar esses vetores de alta dimensionalidade de maneira eficiente, ao fornecer a velocidade, precisão e escala necessárias para aplicações como mecanismos de recomendação e chatbots.
Bancos de dados de vetores, particularmente quando usados para implementar frameworks de RAG, podem ajudar a melhorar as interações de agentes virtuais ao aprimorar a capacidade do agente de analisar bases de conhecimento relevantes de maneira eficiente e precisa. Os agentes podem fornecer respostas contextuais em tempo real às consultas dos usuários, juntamente com os documentos e números das páginas de referência.
Sites de comércio eletrônico, por exemplo, podem usar vetores para representar preferências de clientes e atributos de produtos. Isso permite que eles sugiram itens semelhantes às compras anteriores, com base na similaridade vetorial, melhorando a experiência do usuário e aumentando a retenção.
Esta técnica de pesquisa é usada para descobrir itens ou pontos de dados semelhantes, tipicamente representados como vetores, em grandes coleções. A pesquisa vetorial pode capturar as relações semânticas entre os elementos, permitindo um processamento eficaz por modelos de aprendizado de máquina e aplicações de inteligência artificial.
Essas pesquisas podem assumir várias formas.
Entrevistamos duas mil organizações a respeito de suas iniciativas de IA para descobrir o que está funcionando, o que não está e como se preparar.
O IBM Granite é nossa família de modelos de IA abertos, de alto desempenho e confiáveis, personalizados para a empresa e otimizados para escalar suas aplicações de IA. Explore as opções de linguagens, código, séries temporais e proteções.
Acesse nosso catálogo completo com mais de 100 cursos online comprando uma assinatura individual ou multiusuário hoje mesmo, para você expandir suas habilidades em uma variedade de nossos produtos por um preço único com desconto.
Liderada pelos principais líderes da IBM, o currículo dessa experiência foi desenvolvido para ajudar líderes empresariais a terem o conhecimento necessário para priorizar os investimentos em IA que podem estimular o crescimento.
1 Gartner Innovation Insight: Vector Databases, Gartner, 4 de setembro de 2023.
2 2024 Strategic Roadmap for Storage, Gartner, 27 de maio de 2024.
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com, openliberty.io