Glossário

Base de dados vetorial

Descobre como as bases de dados vectoriais revolucionam a IA, permitindo pesquisas de semelhança eficientes, pesquisas semânticas e deteção de anomalias para sistemas inteligentes.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

Uma base de dados vetorial é um tipo especializado de base de dados concebido para armazenar, gerir e consultar vectores de elevada dimensão, frequentemente designados por embeddings. No contexto da Inteligência Artificial (IA) e do Aprendizado de Máquina (AM), esses vetores são representações numéricas de dados não estruturados, como texto, imagens, áudio e vídeo, gerados por modelos de aprendizado profundo (DL). Ao contrário das bases de dados tradicionais que se destacam no tratamento de dados estruturados e correspondências exactas, as bases de dados vectoriais são optimizadas para pesquisas de semelhança, permitindo que as aplicações encontrem itens com base na proximidade concetual ou semântica em vez de correspondência de palavras-chave. Esta capacidade é fundamental para muitas funcionalidades modernas orientadas para a IA.

Conceitos fundamentais e funcionalidade

As bases de dados vectoriais funcionam com base no princípio da pesquisa vetorial, que consiste em encontrar na base de dados os vectores que estão "mais próximos" de um determinado vetor de consulta. Esta proximidade é normalmente medida utilizando métricas de distância como a semelhança cosseno ou a distância euclidiana. O fluxo de trabalho principal envolve:

  1. Geração de incorporação: Os dados (por exemplo, texto, imagens) são convertidos em vectores utilizando um modelo de incorporação (como o BERT para texto ou um Ultralytics YOLO para imagens). Estes vectores captam a essência semântica dos dados num espaço de elevada dimensão.
  2. Indexação: Os vectores gerados são armazenados na base de dados de vectores. Para permitir uma recuperação rápida, a base de dados utiliza algoritmos de indexação especializados, principalmente técnicas de pesquisa ANN (Approximate Nearest Neighbor ) como HNSW (Hierarchical Navigable Small World) ou IVF (Inverted File Index). Estes índices permitem pesquisas de semelhança rápidas, mesmo em milhares de milhões de vectores, trocando uma precisão perfeita por ganhos de velocidade significativos, o que é crucial para a inferência em tempo real. As bibliotecas ANN populares incluem FAISS e ScaNN.
  3. Consulta: Quando uma consulta (também convertida num vetor) é recebida, a base de dados utiliza os seus índices para encontrar e devolver eficazmente os vectores mais semelhantes ao vetor da consulta com base na métrica de distância escolhida.

Bases de dados vectoriais vs. bases de dados tradicionais

As bases de dados tradicionais (como as bases de dados SQL ou NoSQL) são concebidas para dados estruturados ou semi-estruturados e baseiam-se na correspondência exacta utilizando métodos de indexação de bases de dados normais (por exemplo, árvores B). Não estão inerentemente equipadas para lidar com a pesquisa de semelhanças necessária para dados não estruturados representados como vectores.

As principais diferenças incluem:

  • Tipo de dados: As bases de dados tradicionais tratam dados alfanuméricos, JSON, etc. As bases de dados vectoriais tratam de vectores numéricos de elevada dimensão.
  • Tipo de consulta: As bases de dados tradicionais efectuam correspondências exactas, consultas de intervalo ou pesquisas de palavras-chave. As bases de dados vectoriais efectuam pesquisas de semelhança (pesquisas de vizinhos mais próximos).
  • Indexação: As bases de dados tradicionais utilizam índices como árvores B ou índices hash. As bases de dados vectoriais utilizam índices ANN.

Aplicações em IA e aprendizagem automática

As bases de dados vectoriais são a espinha dorsal de inúmeras aplicações de IA:

  • Pesquisa semântica: Permite que os motores de busca ou as bases de conhecimento internas encontrem resultados baseados no significado e não apenas em palavras-chave. Por exemplo, se pesquisares por "ideias para almoços saudáveis", poderás encontrar receitas de saladas e tigelas de cereais, mesmo que não contenham os termos exactos da pesquisa.
  • Sistemas de recomendação: Potenciam plataformas como a Netflix ou o Spotify para sugerir filmes ou músicas semelhantes aos que um utilizador gostou anteriormente, com base em incorporação de conteúdos e perfis de utilizadores.
  • Reconhecimento de imagens e pesquisa visual: Permite aos utilizadores encontrar imagens semelhantes(pesquisa inversa de imagens) ou permite a descoberta de produtos no comércio eletrónico através do carregamento de uma imagem. Esta é uma aplicação fundamental da visão computacional (CV). Plataformas como o Ultralytics HUB podem tirar partido de bases de dados vectoriais para gerir e pesquisar grandes conjuntos de dados visuais.
  • Processamento de linguagem natural (PNL): Apoia aplicações como sistemas de resposta a perguntas, chatbots e agrupamento de documentos através da compreensão da semântica do texto.
  • Geração Aumentada por Recuperação (RAG): Melhoria dos modelos de linguagem de grande dimensão (LLM) através da recuperação de informações relevantes e actualizadas de uma base de dados vetorial para fundamentar as respostas do modelo em dados factuais, reduzindo as alucinações.
  • Deteção de anomalias: Identificação de pontos de dados invulgares (vectores) que se encontram longe de clusters densos no espaço vetorial, útil para a deteção de fraudes ou monitorização de sistemas.
  • Ferramentas de exploração de dados: Ferramentas como o Ultralytics Explorer utilizam embeddings para ajudar os utilizadores a visualizar e compreender grandes conjuntos de dados, agrupando pontos de dados semelhantes.

Bases de dados vectoriais populares

Estão disponíveis várias bases de dados de vectores comerciais e de código aberto, incluindo

  • Pinecone: Um serviço popular de base de dados vetorial gerida.
  • Milvus: Uma base de dados vetorial de código aberto concebida para ser escalável.
  • Weaviate: Uma base de dados vetorial de código aberto, nativa da IA, com capacidades gráficas.
  • Chroma DB: Uma base de dados de incorporação de código aberto centrada na experiência do programador.
  • Qdrant: Uma base de dados vetorial de código aberto e um motor de pesquisa de semelhanças.

O aumento das bases de dados vectoriais reflecte a importância crescente dos embeddings e da pesquisa de semelhanças na criação de aplicações sofisticadas de IA, impulsionando um crescimento significativo no mercado das bases de dados vectoriais. São um componente crítico da infraestrutura para aproveitar eficazmente os conhecimentos captados pelos modelos modernos de aprendizagem automática.

Lê tudo