Explicación de la tecnología de almacenamiento: bases de datos vectoriales en el centro de la IA

El procesamiento de 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 pueden utilizarse para obtener información, buscarlos y manipularlos.

Las bases de datos vectoriales están en el centro de esto, porque así es como se almacenan los datos creados por el modelado de IA y desde donde se accede a ellos durante la inferencia de la 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 datos de alta dimensión, incrustación de vectores, los desafíos de almacenamiento de 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 llamados datos de alta dimensión. Se trata de datos (para simplificar significativamente) en los que el número de características o valores de un punto de datos supera con creces las muestras o puntos de datos recopilados.

Históricamente, los datos de baja dimensión (es decir, no hay muchos valores para cada punto de datos) han sido más comunes. 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 voz o imágenes con muchos atributos, contextos, etc. posibles es un buen ejemplo.

¿Qué son los vectores?

Los vectores son uno de varios tipos de datos en los que se hace referencia a cantidades mediante disposiciones de números únicas o más complejas.

Entonces, 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 en dos dimensiones, como por ejemplo:

[[0.5, 5],

[5, 0.5],

[0.5, 5]].

Finalmente, los tensores amplían este concepto a tres o más dimensiones. Un tensor 3D podría representar colores en una imagen (basado en valores de rojo, verde y azul), mientras que un tensor 4D podría agregar la dimensión del tiempo encadenando o apilando 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. Por eso 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 de vectores?

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 con ellos.

Por ejemplo, una solicitud ChatGPT en lenguaje natural se analiza y procesa en busca del significado de las palabras, el contexto semántico, etc., y luego se representa en formato tensorial multidimensional. En otras palabras, el sujeto del mundo real se convierte en algo sobre lo que se pueden realizar operaciones matemáticas. Esto se llama incrustación de vectores.

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, datos ya integrados en vectores) y se puede proporcionar una respuesta. Puedes 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 básicos con datos comerciales relevantes.

Mientras que las bases de datos relacionales tradicionales se basan 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.

Mientras tanto, las bases de datos vectoriales pueden manejar 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: tonos de colores, la disposición de los píxeles en una imagen y lo que pueden representar cuando interpretado 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 obtener los resultados que desea.

La búsqueda vectorial representa datos de una manera menos precisa. Puede que no haya una coincidencia exacta, pero si se modela de manera eficaz, arrojará resultados relacionados con lo que se busca y pueden resultar de patrones y relaciones ocultos que una base de datos tradicional no sería capaz de inferir.

¿Cuáles son los desafíos de almacenamiento de las bases de datos vectoriales?

El modelado de IA implica escribir incrustaciones de vectores en una base de datos de vectores para cantidades muy grandes de datos, a menudo no matemáticos, como palabras, sonidos o imágenes. Luego, la inferencia de IA compara los datos incorporados en vectores utilizando el modelo y las consultas recién proporcionadas.

Esto se lleva a cabo mediante procesadores de muy alto rendimiento, sobre todo mediante unidades de procesamiento gráfico (GPU) que descargan grandes cantidades 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 escalarse masivamente y potencialmente ofrecer portabilidad de datos entre ubicaciones para permitir el procesamiento más eficiente.

Las bases de datos de vectores se pueden indexar para acelerar las búsquedas y pueden medir la distancia entre vectores para proporcionar resultados basados ​​en la similitud.

Que facilita tareas como sistemas de recomendación, búsqueda semántica, reconocimiento de imágenes y tareas de procesamiento del lenguaje natural.

¿Quién suministra las bases de datos vectoriales?

Los productos de bases de datos patentados y de código abierto incluyen los de DataStax, Elastic, Milvus, Pinecone, Singlestore y Weaviate.

También hay 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 de vectores en Apache Cassandra y capacidad de base de datos de vectores en Redis.

También existen plataformas con capacidades de bases de datos vectoriales integradas, como IBM watsonx.data.

Mientras tanto, los proveedores de nube hiperescaladores (AWS, Google Cloud y Microsoft Azure) proporcionan bases de datos vectoriales y búsquedas en sus propias ofertas, así como de terceros a través de sus mercados.

Exit mobile version