A Busca por Similaridade Vetorial Se Esconde à Vista de Todos
A inteligência artificial (IA) tem o potencial de mudar a forma como até mesmo as coisas mais obscuras são feitas. Por exemplo, todos os anos (antes da COVID, de qualquer forma), mais de 73.000 pessoas se reúnem para competir na Maratona de Hong Kong. Para detectar e registrar corretamente os tempos de chegada de todos os participantes da corrida, os organizadores distribuem 73.000 cronômetros com chip RFID para prender em cada corredor. A cronometragem por chip é uma tarefa complexa, com desvantagens óbvias. Materiais (chips e dispositivos eletrônicos de leitura) devem ser comprados ou alugados de empresas de cronometragem, e uma área de inscrição deve contar com equipe para que os corredores retirem os chips no dia da corrida. Além disso, se os sensores forem instalados apenas nas linhas de largada e chegada, é possível que corredores desonestos cortem caminho.
Cronometrar corredores de maratona é um desafio logístico sobre o qual poucos pensam.
Agora imagine uma aplicação de IA de vídeo capaz de identificar automaticamente corredores individuais a partir de imagens capturadas na linha de chegada usando uma única foto. Em vez de prender chips de cronometragem a cada participante, os corredores simplesmente enviam uma foto de si mesmos por meio de um app depois de cruzarem a linha de chegada. Instantaneamente, um vídeo de destaques personalizado, estatísticas da corrida e outras informações relevantes são fornecidos. Câmeras instaladas em vários pontos ao longo da corrida podem capturar imagens adicionais dos participantes e garantir que cada corredor percorra todo o trajeto. Qual solução parece mais fácil e mais econômica de implementar?
Embora a Maratona de Hong Kong não utilize aprendizado de máquina para substituir os chips de cronometragem (ainda), este exemplo ilustra o potencial que a IA tem de alterar drasticamente tudo ao nosso redor. Para a cronometragem de corridas, ela reduz dezenas de milhares de chips a algumas câmeras combinadas com algoritmos de aprendizado de máquina. Mas a IA de vídeo é apenas uma das muitas aplicações para a busca por similaridade vetorial, um processo que usa inteligência artificial para analisar conjuntos de dados não estruturados massivos, em escala de trilhões. Este artigo fornece uma visão geral da tecnologia de busca vetorial, incluindo o que ela é, como pode ser usada, bem como os softwares e recursos de código aberto que a tornam mais acessível do que nunca.
Ir para:
Quais são algumas aplicações da busca por similaridade vetorial?
Softwares e recursos de busca por similaridade vetorial de código aberto.
O que é busca por similaridade vetorial?
Dados de vídeo são incrivelmente detalhados e cada vez mais comuns, então, logicamente, parece que seriam um excelente sinal de aprendizado não supervisionado para criar IA de vídeo. Na realidade, não é o caso. Processar e analisar dados de vídeo, especialmente em grandes volumes, continua sendo um desafio para a inteligência artificial. O progresso recente nesse campo, assim como grande parte do progresso feito em análises de dados não estruturados, deve-se em grande medida à busca por similaridade vetorial.
O problema com vídeo, como todos os dados não estruturados, é que ele não segue um modelo ou estrutura organizacional predefinidos, o que dificulta o processamento e a análise em escala. Dados não estruturados incluem coisas como imagens, áudio, comportamento em redes sociais e documentos, representando coletivamente uma estimativa de mais de 80-90% de todos os dados. As empresas estão cada vez mais cientes dos insights críticos para os negócios enterrados em conjuntos de dados não estruturados massivos e enigmáticos, impulsionando a demanda por aplicações de IA que possam explorar esse potencial ainda não realizado.
Usando redes neurais como CNN, RNN e BERT, dados não estruturados podem ser convertidos em vetores de características (também conhecidos como embeddings), um formato de dados numérico legível por máquina. Algoritmos são então usados para calcular a similaridade entre vetores usando medidas como similaridade de cosseno ou distância euclidiana. A incorporação vetorial e a busca por similaridade tornam possível analisar e criar aplicações de aprendizado de máquina usando conjuntos de dados anteriormente indiscerníveis.
A similaridade vetorial é calculada usando algoritmos estabelecidos; no entanto, conjuntos de dados não estruturados são tipicamente enormes. Isso significa que uma busca eficiente e precisa requer vasto armazenamento e poder computacional. Para acelerar a busca por similaridade e reduzir os requisitos de recursos, são usados algoritmos de busca aproximada pelo vizinho mais próximo (ANN). Ao agrupar vetores semelhantes, os algoritmos ANN tornam possível enviar consultas aos clusters de vetores com maior probabilidade de conter vetores semelhantes, em vez de pesquisar todo o conjunto de dados. Embora essa abordagem seja mais rápida, ela sacrifica certo grau de precisão. Aproveitar algoritmos ANN permite que a busca vetorial vasculhe bilhões de insights de modelos de aprendizado profundo em milissegundos.
Quais são algumas aplicações da busca por similaridade vetorial?
A busca por similaridade vetorial tem aplicações que abrangem uma ampla variedade de cenários de inteligência artificial, aprendizado profundo e cálculo vetorial tradicional. A seguir, há uma visão geral de alto nível de várias aplicações de busca por similaridade vetorial:
E-commerce: A busca por similaridade vetorial tem ampla aplicabilidade no e-commerce, incluindo mecanismos de busca reversa de imagens que permitem que compradores procurem produtos usando uma imagem capturada em seu smartphone ou encontrada online. Além disso, recomendações personalizadas com base no comportamento do usuário, interesses, histórico de compras e muito mais podem ser fornecidas por sistemas de recomendação especializados que dependem da busca vetorial.
Segurança Física e Cibernética: IA de vídeo é apenas uma das muitas aplicações da busca por similaridade vetorial na área de segurança. Outros cenários incluem reconhecimento facial, rastreamento de comportamento, autenticação de identidade, controle de acesso inteligente e muito mais. Além disso, a busca por similaridade vetorial desempenha um papel importante em impedir ciberataques cada vez mais comuns e sofisticados. Por exemplo, a busca por similaridade de código pode ser usada para identificar riscos de segurança comparando um software a um banco de dados de vulnerabilidades conhecidas ou malware.
Mecanismos de Recomendação: Mecanismos de recomendação são sistemas que usam aprendizado de máquina e análise de dados para sugerir produtos, serviços, conteúdo e informações aos usuários. O comportamento do usuário, o comportamento de usuários semelhantes e outros dados são processados usando métodos de aprendizado profundo para gerar recomendações. Com dados suficientes, algoritmos podem ser treinados para entender relações entre entidades e inventar maneiras de representá-las autonomamente. Sistemas de recomendação têm ampla aplicabilidade e são algo com que as pessoas já interagem todos os dias, incluindo recomendações de conteúdo na Netflix, recomendações de compras na Amazon e feeds de notícias no Facebook.
Chatbots: Tradicionalmente, chatbots são criados usando um grafo de conhecimento regular que requer um grande conjunto de dados de treinamento. No entanto, chatbots criados usando modelos de aprendizado profundo não precisam pré-processar dados — em vez disso, é criado um mapeamento entre perguntas frequentes e respostas. Usando um modelo pré-treinado de processamento de linguagem natural (NLP), vetores de características podem ser extraídos das perguntas e então armazenados e consultados usando uma plataforma de gerenciamento de dados vetoriais.
Busca de Imagem ou Vídeo: Redes de aprendizado profundo têm sido usadas para reconhecer padrões visuais desde o fim da década de 1970, e as tendências tecnológicas modernas tornaram a busca de imagens e vídeos mais poderosa e acessível do que nunca.
Busca por Similaridade Química: A similaridade química é fundamental para prever as propriedades de compostos químicos e encontrar substâncias químicas com atributos específicos, tornando-a indispensável para o desenvolvimento de novos medicamentos. Impressões digitais representadas por vetores de características são criadas para cada molécula e, em seguida, as distâncias entre vetores são usadas para medir a similaridade. O uso de IA para a descoberta de novos medicamentos está ganhando força na indústria de tecnologia, com a ByteDance (empresa controladora chinesa do TikTok) começando a contratar talentos na área.
Software e recursos de código aberto para busca por similaridade vetorial.
A lei de Moore, a computação em nuvem e a queda nos custos de recursos são tendências macro que tornaram a inteligência artificial mais acessível do que nunca. Graças ao software de código aberto e a outros recursos disponíveis publicamente, criar aplicações de IA/ML não é algo apenas para grandes empresas de tecnologia. Abaixo, fornecemos uma breve visão geral do Milvus, uma plataforma de gerenciamento de dados vetoriais de código aberto, e também destacamos alguns conjuntos de dados disponíveis publicamente que ajudam a colocar a IA ao alcance de todos.
Milvus, uma plataforma de gerenciamento de dados vetoriais de código aberto
Milvus é uma plataforma de gerenciamento de dados vetoriais de código aberto (também conhecida como banco de dados vetorial criada especificamente para dados vetoriais em escala massiva. Impulsionado pelo Facebook AI Similarity Search (Faiss), Non-Metric Space Library (NMSLIB) e Annoy, o Milvus reúne uma variedade de ferramentas poderosas em uma única plataforma, ao mesmo tempo que amplia sua funcionalidade independente. O sistema foi criado especificamente para armazenar, processar e analisar grandes conjuntos de dados vetoriais e pode ser usado para criar todas as aplicações de IA (e mais) mencionadas acima.
Mais informações sobre o Milvus podem ser encontradas em seu site. Tutoriais, instruções para configurar o Milvus, testes de benchmark e informações sobre a criação de uma variedade de aplicações diferentes estão disponíveis no bootcamp do Milvus. Desenvolvedores interessados em contribuir para o projeto podem participar da comunidade de código aberto do Milvus no GitHub.
Conjuntos de dados públicos para inteligência artificial e aprendizado de máquina
Não é segredo que gigantes da tecnologia como Google e Facebook têm uma vantagem de dados sobre os pequenos, com alguns especialistas até defendendo um “mandato progressivo de compartilhamento de dados” que obrigaria empresas que excedem um determinado tamanho a compartilhar alguns dados anonimizados com concorrentes menores. Felizmente, há milhares de conjuntos de dados disponíveis publicamente que podem ser usados em projetos de AL/ML:
The People’s Speech Dataset: Este conjunto de dados da ML Commons oferece o maior conjunto de dados de fala do mundo, com mais de 87.000 horas de fala transcrita em 59 idiomas diferentes.
UC Irvine Machine Learning Repository: A Universidade da Califórnia em Irvine mantém centenas de conjuntos de dados públicos em um esforço para ajudar a comunidade de aprendizado de máquina.
Data.gov: O governo dos EUA oferece centenas de milhares de conjuntos de dados abertos que abrangem educação, clima, COVID-19 e muito mais.
Eurostat: O escritório estatístico da União Europeia fornece conjuntos de dados abertos abrangendo uma variedade de setores, de economia e finanças a população e condições sociais.
Harvard Dataverse: O Repositório Harvard Dataverse é um repositório de dados gratuito aberto a pesquisadores de diversas disciplinas. Muitos conjuntos de dados são públicos, enquanto outros vêm com termos de uso mais restritos.
Embora esta lista não seja de forma alguma exaustiva, ela é um bom ponto de partida para descobrir a variedade surpreendentemente ampla de conjuntos de dados abertos. Para obter mais informações sobre conjuntos de dados públicos, bem como sobre como escolher os dados certos para seu próximo projeto de ML ou ciência de dados, confira esta publicação no Medium.
Para saber mais sobre busca por similaridade vetorial, confira os seguintes recursos:
Continue lendo

What Exactly Are AI Agents? Why OpenAI and LangChain Are Fighting Over Their Definition?
AI agents are software programs powered by AI that can perceive their environment, make decisions, and take actions to achieve a goal—often autonomously.

Optimizing Embedding Model Selection with TDA Clustering: A Strategic Guide for Vector Databases
Discover how Topological Data Analysis (TDA) reveals hidden embedding model weaknesses and helps optimize vector database performance.

Vector Databases vs. Time Series Databases
Use a vector database for similarity search and semantic relationships; use a time series database for tracking value changes over time.



