El procesamiento de la inteligencia artificial (IA) se basa en el uso de datos vectorizados. En otras palabras, la IA convierte la información del mundo real en datos que se pueden utilizar para obtener información, buscarla y manipularla. Las bases de datos vectoriales son el núcleo de esto, porque así es como se almacenan los datos creados por el modelado de IA y desde dónde se accede a ellos durante la inferencia de IA. En este artículo, analizamos las bases de datos vectoriales y cómo se utilizan los datos vectoriales en la IA y el aprendizaje automático. Examinamos los datos de alta dimensión, la incrustación de vectores, los desafíos de almacenamiento de los datos vectoriales y los proveedores que ofrecen productos de bases de datos vectoriales. ¿Qué son los datos de alta dimensión? Los datos vectoriales son un subtipo de los denominados datos de alta dimensión. Se trata de datos, para simplificar significativamente, en los que la cantidad de características o valores de un punto de datos supera con creces las muestras o los puntos de datos recopilados. Los datos de baja dimensión, es decir, no muchos valores para cada punto de datos, han sido más comunes históricamente. Los datos de alta dimensión surgen a medida que se hace posible la capacidad de capturar grandes cantidades de información. La IA contemporánea que procesa el habla o las imágenes con muchos atributos, contextos, etc. posibles, es un buen ejemplo. ¿Qué son los vectores? Los vectores son uno de los diversos tipos de datos en los que las cantidades se denominan mediante conjuntos de números simples o más complejos. Por lo tanto, en matemáticas, un escalar es un número único, como 5 o 0,5, mientras que un vector es una matriz unidimensional de números, como [0.5, 5]Luego, una matriz extiende esto a dos dimensiones, como:
[[0.5, 5],
[5, 0.5],
[0.5, 5]]. Finalmente, los tensores extienden este concepto a tres o más dimensiones. Un tensor 3D podría representar colores en una imagen (basándose en valores de rojo, verde y azul), mientras que un tensor 4D podría agregar la dimensión del tiempo al unir o apilar tensores 3D en un caso de uso de video. Los tensores agregan más dimensiones y son matrices multidimensionales de números que pueden representar datos complejos. Es por eso que se han prestado para su uso en IA y aprendizaje automático y marcos de aprendizaje profundo como TensorFlow y PyTorch. ¿Qué es la incrustación vectorial? En IA, los tensores se utilizan para almacenar y manipular datos. Los marcos basados ​​en tensores proporcionan herramientas para crear tensores y realizar cálculos sobre ellos. Por ejemplo, una solicitud ChatGPT en lenguaje natural se analiza y procesa para el significado de las palabras, el contexto semántico, etc., y luego se representa en formato de tensor multidimensional. En otras palabras, el sujeto del mundo real se convierte en algo en lo que se pueden realizar operaciones matemáticas. Esto se llama incrustación vectorial. Para obtener respuestas a la consulta, el resultado numérico (aunque complejo) del análisis y el procesamiento se puede comparar con representaciones basadas en tensores de datos existentes (es decir, ya integrados en vectores) y proporcionar una respuesta. Puede transferir ese concepto básico (ingerir y representar; comparar y responder) a cualquier caso de uso de IA, como imágenes o comportamiento del comprador. ¿Qué es una base de datos vectorial? Las bases de datos vectoriales almacenan datos vectoriales de alta dimensión. Los puntos de datos se almacenan en grupos según la similitud. Las bases de datos vectoriales ofrecen el tipo de velocidad y rendimiento necesarios para los casos de uso de IA generativa. Gartner ha dicho que para 2026, más del 30% de las empresas habrán adoptado bases de datos vectoriales para construir modelos de base con datos comerciales relevantes. Mientras que las bases de datos relacionales tradicionales se construyen en filas y columnas, los puntos de datos en una base de datos vectorial toman la forma de vectores en varias dimensiones. Las bases de datos tradicionales son la manifestación clásica de los datos estructurados. Cada columna representa una variable y cada fila un valor de esa variable. Mientras tanto, las bases de datos vectoriales pueden manejar valores sobre valores que existen a lo largo de múltiples continuos representados a través de vectores. Por lo tanto, no tienen que ceñirse a variables preestablecidas, sino que pueden representar el tipo de características que uno podría encontrar en lo que consideramos datos no estructurados: matices de colores, la disposición de los píxeles en una imagen y lo que pueden representar cuando se interpretan como un todo, por ejemplo. No es imposible transformar fuentes de datos no estructurados en una base de datos relacional tradicional para prepararla para la IA, pero no es una cuestión trivial. La diferencia es evidente en la búsqueda en bases de datos tradicionales y bases de datos vectoriales. En una base de datos SQL, busca valores explícitos y definidos, como palabras clave o valores numéricos, y confía en coincidencias exactas para recuperar los resultados que desea. La búsqueda vectorial representa los datos de una manera menos precisa. Puede que no haya una coincidencia exacta, pero si se modela de manera efectiva, devolverá resultados que se relacionen con lo que se busca y pueden resultar de patrones y relaciones ocultos que una base de datos tradicional no podría inferir. ¿Cuáles son los desafíos de almacenamiento de las bases de datos vectoriales? El modelado de IA implica escribir incrustaciones vectoriales en una base de datos vectorial para cantidades muy grandes de datos a menudo no matemáticos, como palabras, sonidos o imágenes. La inferencia de IA luego compara los datos integrados en vectores utilizando el modelo y las consultas recién suministradas. Esto se lleva a cabo mediante procesadores de muy alto rendimiento, en particular unidades de procesamiento gráfico (GPU) que descargan cantidades muy grandes de procesamiento de las CPU del servidor. Las bases de datos vectoriales pueden estar sujetas a demandas extremas de E/S, especialmente durante el modelado, y necesitarán la capacidad de escalar masivamente y potencialmente ofrecer portabilidad de datos entre ubicaciones para permitir el procesamiento más eficiente. Las bases de datos vectoriales se pueden indexar para acelerar las búsquedas y pueden medir la distancia entre vectores para proporcionar resultados basados ​​en la similitud. Eso facilita tareas como sistemas de recomendación, búsqueda semántica, reconocimiento de imágenes y tareas de procesamiento del lenguaje natural. ¿Quién proporciona bases de datos vectoriales? Los productos de bases de datos propietarios y de código abierto incluyen los de DataStax, Elastic, Milvus, Pinecone, Singlestore y Weaviate. También existen bases de datos vectoriales y extensiones de búsqueda de bases de datos para bases de datos existentes, como pgvector de código abierto de PostgreSQL, provisión de búsqueda vectorial en Apache Cassandra y capacidad de base de datos vectorial en Redis. También existen plataformas con capacidades de bases de datos vectoriales integradas, como IBM watsonx.data. Mientras tanto, los proveedores de nube de gran escala (AWS, Google Cloud y Microsoft Azure) ofrecen bases de datos vectoriales y búsquedas en sus propias ofertas, así como de terceros a través de sus mercados.