Jeffrey Erickson | Estrategista de Conteúdo | 29 de outubro de 2024
Um tipo de dados menos conhecido, os vetores, ganhou destaque recentemente como um viabilizador da IA generativa. Mas os vetores (e os bancos de dados capazes de armazená-los e analisá-los) já trabalham nos bastidores há muitos anos. Eles são usados em mapeamento e análise geoespacial para planejamento urbano, logística de transporte e análise ambiental. Mais recentemente, os vetores têm sido usados em mecanismos de recomendação para produtos de varejo e em sites de streaming de música e vídeo.
A IA generativa baseia-se nesses casos de uso e abre as portas para novas inovações usando vetores e bancos de dados vetoriais, além de tecnologias complementares, incluindo geração aumentada de recuperação (RAG).
Um vetor é simplesmente um conjunto de números que representa as características de um objeto, seja esse objeto uma palavra, uma frase, um documento, uma imagem ou um arquivo de vídeo ou áudio. Os vetores são necessários porque comparar ou pesquisar esse tipo de conteúdo não estruturado é difícil para os computadores. Comparar ou pesquisar vetores, por outro lado, é muito mais fácil e é baseado em matemática bem compreendida.
Os vetores são armazenados em um banco de dados com, ou com um link para, os objetos de dados nos quais eles se baseiam. Os vetores matematicamente próximos uns dos outros tendem a descrever objetos com características semelhantes, para que você possa compará-los ou pesquisá-los rapidamente e retornar objetos semelhantes. Você também pode formar um vetor de consulta com apenas determinadas características identificadas. Uma pesquisa retornará objetos com características semelhantes às especificadas no vetor de consulta.
Um banco de dados vetorial é qualquer banco de dados que pode armazenar e gerenciar nativamente incorporações vetoriais e processar dados não estruturados que eles descrevem, como documentos, imagens, vídeo ou áudio.
Com a importância da pesquisa vetorial para IA generativa, o setor de tecnologia gerou muitos bancos de dados vetoriais independentes e especializados, que as empresas podem adicionar às infraestruturas de dados. Enquanto isso, as versões dos favoritos estabelecidos, como o Oracle Database e o banco de dados MySQL de código aberto, incorporaram vetores como um tipo de dados nativo, além de muitos outros tipos de dados. Isso permite que as pesquisas em uma combinação de dados de negócios e semânticos sejam mais rápidas e precisas, uma vez que ambos os tipos de dados estão disponíveis em um único banco de dados. Essa abordagem também evita os problemas de consistência de dados introduzidos ao usar um banco de dados vetorial separado e especializado, além do banco de dados principal da empresa.
Os índices vetoriais e os bancos de dados vetoriais são projetados para armazenar e recuperar com eficiência vetores, ou seja, conjuntos de números que representam as características de um objeto, como um documento, imagem ou arquivo de vídeo ou áudio. No entanto, eles têm características e casos de uso diferentes. Os índices vetoriais são usados principalmente para pesquisa de “vizinho mais próximo”, que envolve encontrar o vetor mais próximo de um determinado vetor de consulta. Os índices são ótimos para aplicações que requerem pesquisas de similaridade rápidas e precisas, como um mecanismo de recomendação. Por outro lado, os bancos de dados vetoriais são onde as organizações armazenam os vetores para recuperação e análise. Um banco de dados vetorial de classe empresarial oferece recursos úteis além da pesquisa do vizinho mais próximo, como armazenamento de metadados, controle de versão de dados e integração com outros sistemas.
A principal diferença entre um índice vetorial e um banco de dados vetorial é que os índices vetoriais armazenam informações sobre os atributos de dados não estruturados, como texto, imagens ou arquivos de áudio. Essas informações são representadas por um conjunto de números chamados de vetor. O índice vetorial contém esses dados e os “indexa” de maneira que ajuda um banco de dados a identificar e fazer a correspondência de objetos rapidamente.
Um banco de dados vetorial armazena esses índices e os objetos que eles descrevem. No entanto, a forma como um banco de dados organiza os índices vetoriais e os objetos de dados varia. Os bancos de dados habilitados para vetores, como o Oracle Database, separam o armazenamento de objetos de dados de como os dados e vetores são pesquisados. Isso permite que eles combinem o poder de consulta maduro do SQL para metadados e dados de negócios atualizados com a velocidade e a relevância contextual da pesquisa vetorial. Essa abordagem significa, por exemplo, que uma pesquisa vetorial de produtos de varejo relevantes também pode retornar preços e disponibilidade atualizados.
Principais conclusões
Em vez de assumir o custo e o esforço de ajustar modelos de IA generativa, as empresas estão selecionando os dados que os LLMs usam para gerar as saídas. Elas estão usando bancos de dados vetoriais que contêm informações corporativas atualizadas. Essa abordagem arquitetônica, chamada geração aumentada de recuperação, permite que um LLM que foi treinado em grandes quantidades de dados generalizados aprimore sua resposta usando dados privados encontrados em um banco de dados vetorial.
Por exemplo, se um chatbot com tecnologia de LLM puder acessar registros de clientes e comunicações por email de um varejista em vez de mensagens genéricas, ele poderá fornecer respostas mais úteis e personalizadas a consultas como “Meu pedido foi enviado?”
A RAG também pode aumentar a confiabilidade dos modelos de IA generativa citando quais documentos no banco de dados vetorial informaram a saída.
Não é surpresa: o uso de bancos de dados otimizados para armazenar e analisar vetores está aumentando. Outrora usados principalmente para mapeamento e análise de dados, os bancos de dados vetoriais tornaram-se uma tecnologia fundamental para os mecanismos de recomendação comumente usados pelos varejistas mais populares e provedores de streaming de música e vídeo, bem como assistentes virtuais, reconhecimento de padrões biométricos, detecção de anomalias e muito mais. E agora, os bancos de dados vetoriais encontraram um uso inédito e espetacular: armazenar grandes volumes de dados não estruturados que podem ser acessados para informar as saídas de modelos de IA generativa.
Uma tendência crescente é que bancos de dados estabelecidos, como MySQL e Oracle Database, incorporem dados vetoriais como um tipo de dados nativo juntamente com o restante dos dados de uma organização, como JSON, gráfico, espacial e relacional. Essa convergência elimina a necessidade de mover dados para um banco de dados separado para operações de IA generativa, o que simplifica o processo e deixa dados valiosos em repositórios confiáveis.
O crescimento dos casos de uso de IA generativa significa que há muitos bancos de dados vetoriais novos no mercado, além dos bancos de dados NoSQL e relacionais estabelecidos que adicionaram o gerenciamento do tipo de dados vetoriais.
Os bancos de dados vetoriais funcionam armazenando e processando dados como vetores, que são representações matemáticas de características de objetos no espaço multidimensional. Isso permite que tipos de dados complexos, como imagens, áudio, vídeo e dados de sensores, sejam armazenados e consultados com eficiência, tornando os vetores ideais para casos de uso como sistemas de recomendação, processamento de linguagem natural e reconhecimento de imagem.
As operações acontecem em várias etapas:
Os bancos de dados vetoriais podem ser categorizados em vários tipos, seja por estrutura de armazenamento, como colunar, ou classificados com base na implementação, como bancos de dados na memória. Cada tipo tem vantagens; a escolha do tipo deve se basear nos requisitos específicos e casos de uso.
Um banco de dados colunar armazena dados em colunas e os agrupa em um disco. Essa disposição acelera a análise de dados porque a análise geralmente envolve filtragem e combinação de dados de colunas de tabelas. Os bancos de dados também podem armazenar registros em formato de linha, o que é útil para transações em que você deve atualizar um único item no registro. Para análise de dados, no entanto, um banco de dados colunar permite que os analistas digitalizem qualquer coluna de milhares ou milhões de registros com muita rapidez.
Um banco de dados de armazenamento de documentos, ou banco de dados orientado a documentos, é um programa e sistema de armazenamento de dados que gerencia, recupera e armazena informações orientadas a documentos. Os bancos de dados de documentos armazenam dados em documentos flexíveis semelhantes a JSON, adequados para estruturas de dados variadas e dinâmicas. Eles diferem dos bancos de dados relacionais, que usam tabelas para organizar dados com um esquema fixo.
A análise de gráfico é o processo de analisar dados em um formato de gráfico, usando pontos de dados como nós e relacionamentos como arestas. Olhar para os dados dessa maneira pode ajudar a descobrir conexões e relações que não eram óbvias antes. A análise de gráfico requer um banco de dados que possa aceitar formatos de gráfico. Pode ser um banco de dados gráfico dedicado ou um banco de dados convergente que aceita vários modelos de dados, incluindo gráfico.
Os bancos de dados na memória armazenam e manipulam dados na camada de memória de uma aplicação, em vez de em um disco de armazenamento. Esse tipo de estrutura geralmente é combinado com a funcionalidade de armazenamento colunar e planos de consulta vetorizados para acelerar consultas analíticas. Esse tipo de armazenamento de dados é bom para apoiar operações extremamente rápidas em telecomunicações globais e empresas que precisam tomar decisões com base em dados em tempo real.
Os armazenamentos de chave/valor, às vezes também chamados de bancos de dados de chave/valor, são uma maneira rápida de armazenar e consultar dados que geralmente estão mudando, como itens em uma loja online. O armazenamento de chave/valor é um banco de dados do tipo NoSQL que usa um valor de chave para identificar um registro específico para consulta ou atualização.
Um banco de dados espacial armazena e gerencia dados espaciais, que representam informações sobre a localização física e as propriedades geométricas dos objetos no espaço. Eles fazem isso com técnicas de indexação e operações de consulta. Os bancos de dados espaciais são usados para mapeamento e análise online, bem como em operações de logística de transporte.
Um banco de dados de séries temporais é usado para armazenar e analisar com eficiência dados com registro de hora e data, em que cada ponto de dados é associado a um registro de hora e data ou intervalo de tempo específico. Esses bancos de dados são comumente usados em sistemas de monitoramento de TI que dependem da análise de log e em finanças.
Os bancos de dados vetoriais aprimoram grandes modelos de linguagem comerciais ou de código aberto ao dar a eles acesso a informações atualizadas fornecidas por uma organização ou empresa local. Isso ajuda a tornar a saída do LLM mais relevante e personalizada para as pessoas associadas a essa organização.
Os bancos de dados vetoriais são usados por várias aplicações e organizações que processam grandes quantidades de dados espaciais e geométricos, como nos setores de varejo e logística e para sistemas que pilotam veículos autônomos. E agora, as empresas que exploram IA avançada e machine learning também estão adotando os bancos de dados vetoriais. Os modelos de IA generativa, por exemplo, dependem de bancos de dados vetoriais para melhorar as saídas usando dados locais atualizados.
Outros casos de uso específicos incluem:
Os casos de uso dos bancos de dados vetoriais são tão variados quanto as organizações e as aplicações que dependem deles. Além de análise de dados em tempo real, sistemas financeiros e mecanismos de recomendação, os bancos de dados vetoriais são otimizados para lidar com as complexas estruturas de dados comumente necessárias para tarefas como reconhecimento de imagem e processamento de linguagem natural.
Ao armazenar e processar dados de forma eficiente, os bancos de dados vetoriais permitem que as empresas aproveitem estruturas de dados complexas para uma ampla gama de aplicações, incluindo:
Os bancos de dados vetoriais oferecem muitas vantagens, incluindo pesquisa rápida de similaridade. Eles são otimizados para buscas eficientes de vizinho mais próximo, permitindo a recuperação rápida de itens semelhantes mesmo em grandes conjuntos de dados. Isso os torna ideais para aplicações e setores que requerem processamento e análise em tempo real de dados não estruturados e para casos de uso emergentes de IA generativa.
Outras vantagens incluem:
Quer você esteja usando IA generativa ou praticamente qualquer outra operação que utilize vetores, a Oracle pode ajudar.
O Oracle Database, o banco de dados empresarial mais popular do mundo, fornece uma única plataforma de dados para vetores e todos os seus dados de negócios. Aproveite sem esforço a capacidade de pesquisa de similaridade para os dados de sua empresa sem a necessidade de supervisionar e sincronizar bancos de dados diversos. O AI Vector Search permite realizar pesquisas em dados estruturados e não estruturados ao entender sua semântica ou significado e valores.
A combinação de dados relacionais, documentos JSON, gráficos, dados geoespaciais, texto e vetores em um único banco de dados permite que você crie rapidamente novos recursos em suas aplicações. O AI Vector Search no Oracle Database também pode ser usado em um pipeline de RAG junto com qualquer serviço de GenAI. Além disso, o serviço de banco de dados HeatWave MySQL da Oracle lida com vetores de forma nativa para permitir a pesquisa vetorial e outros casos de uso. Por exemplo, você pode usá-lo junto com o serviço RAG na Oracle Cloud Infrastructure (OCI) para trazer uma interface de IA generativa para seus documentos proprietários, dando a você uma IA especialista nos dados operacionais de sua organização.
Quer você esteja usando vetores para análise de dados, aplicações geoespaciais, recomendações de produtos ou como uma tecnologia que viabiliza a IA generativa, a Oracle pode ajudar. O Autonomous Database da Oracle e o Oracle HeatWave MySQL gerenciam vetores como um tipo de dados nativo, juntamente com muitos outros tipos de dados, para uma experiência de desenvolvimento mais simples. Os dois bancos de dados são executados na Oracle Cloud Infrastructure. A OCI foi projetada com os processadores e a arquitetura de supercluster mais recentes para processar as cargas de trabalho de IA mais exigentes, incluindo IA generativa, visão computacional e análise preditiva. Não importa se você construirá com o Oracle Database ou com o banco de dados MySQL de código aberto, você pode começar a utilizar a pesquisa vetorial hoje mesmo.
Na era da IA generativa, os bancos de dados vetoriais se tornaram mais importantes para as empresas do que nunca. À medida que mais equipes de desenvolvimento buscam armazenar e gerenciar o tipo de dados vetorial, elas terão uma decisão a tomar: trazer um banco de dados vetorial especializado e específico ou usar bancos de dados de vários modelos, como o Oracle Database, compatíveis não apenas com vetores, mas com muitos outros tipos de dados também.
Os bancos de dados vetoriais são fundamentais para casos de uso empolgantes de IA, incluindo chatbots que revolucionam o atendimento ao cliente e algoritmos que transformam a assistência médica. Veja como as empresas estão colocando o poder dos vetores para funcionar agora.
Quando usar um banco de dados vetorial?
Um banco de dados vetorial pode ser usado para uma ampla variedade de casos de uso, incluindo aplicações geoespaciais, como logística de remessa ou pesquisa ambiental, recomendações para opções de entretenimento de varejo ou online ou, mais recentemente, como um repositório principal para dados que suportam IA generativa por organizações individuais.
A Netflix usa bancos de dados vetoriais?
A Netflix anunciou que usa bancos de dados vetoriais para apoiar seus mecanismos de recomendação populares. Ela aplica incorporações vetoriais a cada tipo de entretenimento no catálogo e o banco de dados vetorial permite a pesquisa em tempo real de títulos semelhantes.