La búsqueda por similitud vectorial se esconde a plena vista
La inteligencia artificial (IA) tiene el potencial de cambiar la forma en que se hacen incluso las cosas más oscuras. Por ejemplo, cada año (antes de la COVID, en cualquier caso) más de 73,000 personas se congregan para competir en el Maratón de Hong Kong. Para detectar y registrar correctamente los tiempos de llegada de todos los participantes de la carrera, los organizadores distribuyen 73,000 temporizadores con chip RFID para colocar en cada corredor. El cronometraje con chip es una tarea compleja con desventajas evidentes. Los materiales (chips y dispositivos electrónicos de lectura) deben comprarse o alquilarse a empresas de cronometraje, y se debe dotar de personal un área de registro para que los corredores recojan los chips el día de la carrera. Además, si los sensores se instalan solo en las líneas de salida y meta, es posible que corredores sin escrúpulos recorten el recorrido.
Cronometrar a los corredores de maratón es un desafío logístico en el que pocos piensan.
Ahora imagine una aplicación de IA de video capaz de identificar automáticamente a corredores individuales a partir de imágenes captadas en la línea de meta utilizando una sola foto. En lugar de colocar chips de cronometraje a cada participante, los corredores simplemente suben una foto de sí mismos mediante una aplicación después de cruzar la línea de meta. Al instante, se proporciona un video destacado personalizado, estadísticas de la carrera y otra información relevante. Las cámaras instaladas en varios puntos a lo largo de la carrera pueden capturar imágenes adicionales de los participantes y garantizar que cada corredor recorra todo el trayecto. ¿Qué solución parece más fácil y más rentable de implementar?
Aunque el Maratón de Hong Kong no aprovecha el aprendizaje automático para reemplazar los chips de cronometraje (todavía), este ejemplo ilustra el potencial que tiene la IA para alterar drásticamente todo lo que nos rodea. Para el cronometraje de carreras, reduce decenas de miles de chips a unas pocas cámaras combinadas con algoritmos de aprendizaje automático. Pero la IA de video es solo una de las muchas aplicaciones para la búsqueda de similitud vectorial, un proceso que utiliza inteligencia artificial para analizar conjuntos de datos no estructurados masivos, a escala de billones. Este artículo ofrece una visión general de la tecnología de búsqueda vectorial, incluyendo qué es, cómo puede utilizarse, así como el software de código abierto y los recursos que la hacen más accesible que nunca.
Ir a:
¿Cuáles son algunas aplicaciones de la búsqueda de similitud vectorial?
Software y recursos de código abierto para la búsqueda de similitud vectorial.
¿Qué es la búsqueda de similitud vectorial?
Los datos de video son increíblemente detallados y cada vez más comunes, por lo que, lógicamente, parece que serían una excelente señal de aprendizaje no supervisado para crear IA de video. En realidad, este no es el caso. Procesar y analizar datos de video, especialmente en grandes volúmenes, sigue siendo un desafío para la inteligencia artificial. Los avances recientes en este campo, al igual que gran parte del progreso logrado en el análisis de datos no estructurados, se deben en gran medida a la búsqueda de similitud vectorial.
El problema con el video, como con todos los datos no estructurados, es que no sigue un modelo predefinido ni una estructura organizativa, lo que dificulta procesarlo y analizarlo a escala. Los datos no estructurados incluyen cosas como imágenes, audio, comportamiento en redes sociales y documentos, que en conjunto representan un 80-90%+ estimado de todos los datos. Las empresas son cada vez más conscientes de los conocimientos críticos para el negocio enterrados en conjuntos de datos no estructurados masivos y enigmáticos, lo que impulsa la demanda de aplicaciones de IA que puedan aprovechar este potencial no realizado.
Mediante redes neuronales como CNN, RNN y BERT, los datos no estructurados pueden convertirse en vectores de características (también conocidos como embeddings), un formato de datos numérico legible por máquina. Luego se utilizan algoritmos para calcular la similitud entre vectores mediante medidas como la similitud del coseno o la distancia euclidiana. La vectorización y la búsqueda de similitud hacen posible analizar y crear aplicaciones de aprendizaje automático utilizando conjuntos de datos que antes eran imperceptibles.
La similitud vectorial se calcula mediante algoritmos establecidos; sin embargo, los conjuntos de datos no estructurados suelen ser enormes. Esto significa que una búsqueda eficiente y precisa requiere una gran capacidad de almacenamiento y potencia de cómputo. Para acelerar la búsqueda de similitud y reducir los requisitos de recursos, se utilizan algoritmos de búsqueda de vecinos más cercanos aproximados (ANN). Al agrupar vectores similares, los algoritmos ANN hacen posible enviar consultas a los clústeres de vectores que tienen más probabilidades de contener vectores similares, en lugar de buscar en todo el conjunto de datos. Aunque este enfoque es más rápido, sacrifica cierto grado de precisión. Aprovechar los algoritmos ANN permite que la búsqueda vectorial examine miles de millones de conocimientos de modelos de aprendizaje profundo en milisegundos.
¿Cuáles son algunas aplicaciones de la búsqueda de similitud vectorial?
La búsqueda de similitud vectorial tiene aplicaciones que abarcan una amplia variedad de escenarios de inteligencia artificial, aprendizaje profundo y cálculo vectorial tradicional. A continuación se ofrece una descripción general de alto nivel de varias aplicaciones de la búsqueda de similitud vectorial:
Comercio electrónico: La búsqueda de similitud vectorial tiene una amplia aplicabilidad en el comercio electrónico, incluidos los motores de búsqueda inversa de imágenes que permiten a los compradores buscar productos usando una imagen capturada en su smartphone o encontrada en línea. Además, las recomendaciones personalizadas basadas en el comportamiento del usuario, intereses, historial de compras y más pueden ser proporcionadas por sistemas de recomendación especializados que dependen de la búsqueda vectorial.
Seguridad física y cibernética: La IA de video es solo una de las muchas aplicaciones de la búsqueda de similitud vectorial en el campo de la seguridad. Otros escenarios incluyen reconocimiento facial, rastreo de comportamiento, autenticación de identidad, control de acceso inteligente y más. Además, la búsqueda de similitud vectorial desempeña un papel importante en frustrar ciberataques cada vez más comunes y sofisticados. Por ejemplo, la búsqueda de similitud de código puede utilizarse para identificar riesgos de seguridad comparando una pieza de software con una base de datos de vulnerabilidades conocidas o malware.
Motores de recomendación: Los motores de recomendación son sistemas que utilizan aprendizaje automático y análisis de datos para sugerir productos, servicios, contenido e información a los usuarios. El comportamiento del usuario, el comportamiento de usuarios similares y otros datos se procesan mediante métodos de aprendizaje profundo para generar recomendaciones. Con suficientes datos, los algoritmos pueden entrenarse para comprender las relaciones entre entidades e inventar formas de representarlas de manera autónoma. Los sistemas de recomendación tienen una amplia aplicabilidad y son algo con lo que las personas ya interactúan todos los días, incluidas las recomendaciones de contenido en Netflix, las recomendaciones de compras en Amazon y las fuentes de noticias en Facebook.
Chatbots: Tradicionalmente, los chatbots se crean utilizando un grafo de conocimiento regular que requiere un gran conjunto de datos de entrenamiento. Sin embargo, los chatbots creados con modelos de aprendizaje profundo no necesitan preprocesar los datos; en su lugar, se crea un mapa entre preguntas frecuentes y respuestas. Usando un modelo preentrenado de procesamiento del lenguaje natural (NLP), los vectores de características pueden extraerse de las preguntas y luego almacenarse y consultarse mediante una plataforma de gestión de datos vectoriales.
Búsqueda de imágenes o videos: Las redes de aprendizaje profundo se han utilizado para reconocer patrones visuales desde finales de la década de 1970, y las tendencias tecnológicas modernas han hecho que la búsqueda de imágenes y videos sea más potente y accesible que nunca.
Búsqueda de similitud química: La similitud química es clave para predecir las propiedades de los compuestos químicos y encontrar sustancias químicas con atributos específicos, lo que la hace indispensable para el desarrollo de nuevos fármacos. Se crean huellas representadas por vectores de características para cada molécula, y luego las distancias entre vectores se utilizan para medir la similitud. El uso de la IA para el descubrimiento de nuevos fármacos está ganando impulso en la industria tecnológica, con ByteDance (la empresa matriz china de TikTok) empezando a contratar talento en el campo.
Software y recursos de código abierto para la búsqueda de similitud vectorial.
La ley de Moore, la computación en la nube y la disminución de los costos de los recursos son tendencias macro que han hecho que la inteligencia artificial sea más accesible que nunca. Gracias al software de código abierto y a otros recursos disponibles públicamente, crear aplicaciones de IA/ML ya no es solo para las grandes empresas tecnológicas. A continuación ofrecemos una breve descripción general de Milvus, una plataforma de gestión de datos vectoriales de código abierto, y también destacamos algunos conjuntos de datos disponibles públicamente que ayudan a poner la IA al alcance de todos.
Milvus, una plataforma de gestión de datos vectoriales de código abierto
Milvus es una plataforma de gestión de datos vectoriales de código abierto (también conocida como base de datos vectorial creada específicamente para datos vectoriales a escala masiva. Impulsada por Facebook AI Similarity Search (Faiss), Non-Metric Space Library (NMSLIB) y Annoy, Milvus reúne una variedad de herramientas potentes en una sola plataforma, al tiempo que amplía su funcionalidad independiente. El sistema fue diseñado específicamente para almacenar, procesar y analizar grandes conjuntos de datos vectoriales, y puede utilizarse para crear todas las aplicaciones de IA (y más) mencionadas anteriormente.
Puede encontrarse más información sobre Milvus en su sitio web. Tutoriales, instrucciones para configurar Milvus, pruebas comparativas e información sobre cómo crear una variedad de aplicaciones diferentes están disponibles en el bootcamp de Milvus. Los desarrolladores interesados en contribuir al proyecto pueden unirse a la comunidad de código abierto de Milvus en GitHub.
Conjuntos de datos públicos para inteligencia artificial y aprendizaje automático
No es ningún secreto que los gigantes tecnológicos como Google y Facebook tienen una ventaja de datos sobre los más pequeños, e incluso algunos expertos abogan por un “mandato progresivo de intercambio de datos” que obligaría a las empresas que superen cierto tamaño a compartir algunos datos anonimizados con competidores más pequeños. Afortunadamente, hay miles de conjuntos de datos disponibles públicamente que pueden utilizarse para proyectos de IA/ML:
The People’s Speech Dataset: Este conjunto de datos de ML Commons ofrece el conjunto de datos de voz más grande del mundo, con más de 87.000 horas de voz transcrita en 59 idiomas diferentes.
UC Irvine Machine Learning Repository: La Universidad de California en Irvine mantiene cientos de conjuntos de datos públicos con el fin de ayudar a la comunidad de aprendizaje automático.
Data.gov: El gobierno de EE. UU. ofrece cientos de miles de conjuntos de datos abiertos que abarcan educación, clima, COVID-19 y más.
Eurostat: La oficina estadística de la Unión Europea proporciona conjuntos de datos abiertos que abarcan una variedad de sectores, desde economía y finanzas hasta población y condiciones sociales.
Harvard Dataverse: The Harvard Dataverse Repository es un repositorio de datos gratuito abierto a investigadores de distintas disciplinas. Muchos conjuntos de datos son públicos, mientras que otros tienen términos de uso más restringidos.
Aunque esta lista no es en absoluto exhaustiva, es un buen punto de partida para descubrir la sorprendentemente amplia variedad de conjuntos de datos abiertos. Para obtener más información sobre conjuntos de datos públicos, así como sobre cómo elegir los datos adecuados para tu próximo proyecto de ML o ciencia de datos, consulta esta publicación de Medium.
Para obtener más información sobre la búsqueda por similitud vectorial, consulta los siguientes recursos:
Sigue leyendo

Zilliz Cloud Update: Tiered Storage, Business Critical Plan, Cross-Region Backup, and Pricing Changes
This release offers a rebuilt tiered storage with lower costs, a new Business Critical plan for enhanced security, and pricing updates, among other features.

Announcing the General Availability of Zilliz Cloud BYOC on Google Cloud Platform
Zilliz Cloud BYOC on GCP offers enterprise vector search with full data sovereignty and seamless integration.

1 Table = 1000 Words? Foundation Models for Tabular Data
TableGPT2 automates tabular data insights, overcoming schema variability, while Milvus accelerates vector search for efficient, scalable decision-making.



