Jeffrey Erickson | Estratega de contenido | 29 de octubre de 2024
Un tipo de datos menos conocido, los vectores, ha acaparado recientemente la atención como facilitador de la IA generativa. Pero los vectores, y las bases de datos capaces de almacenarlos y analizarlos, han estado trabajando entre bastidores durante muchos años. Se utilizan en mapeos y análisis geoespaciales para la planificación de la ciudad, la logística de transporte y el análisis ambiental. Más recientemente, los vectores se han utilizado en motores de recomendación para productos minoristas, así como en sitios de streaming de música y video.
La IA generativa se basa en estos casos de uso y abre la puerta a nuevas innovaciones utilizando vectores y bases de datos vectoriales junto con tecnologías complementarias, como la generación aumentada de recuperación (RAG).
Un vector es simplemente un conjunto de números que representa las características de un objeto, ya sea una palabra, una frase, un documento, una imagen o un archivo de video o audio. Los vectores son necesarios porque comparar o buscar este tipo de contenido no estructurado es difícil para las computadoras. Comparar o buscar vectores, por otro lado, es mucho más fácil y se basa en matemáticas bien entendidas.
Los vectores se almacenan en una base de datos con los objetos de datos en los que se basan o con un enlace a ellos. Los vectores que están matemáticamente cerca unos de otros tienden a describir objetos con características similares, por lo que puedes compararlos o buscarlos rápidamente y devolver objetos que sean parecidos. También puedes formar un vector de consulta con solo determinadas funciones identificadas. Una búsqueda devolverá objetos con funciones similares a las especificadas en el vector de consulta.
Una base de datos vectorial es cualquier base de datos que puede almacenar y gestionar de forma nativa incrustaciones de vectores y manejar los datos no estructurados que describen, como documentos, imágenes, video o audio.
Con la importancia de la búsqueda de vectores para la IA generativa, la industria tecnológica ha generado muchas bases de datos vectoriales especializadas e independientes, que las empresas pueden añadir a sus infraestructuras de datos. Mientras tanto, las versiones de favoritos establecidas, como Oracle Database y la base de datos MySQL de código abierto, han incorporado vectores como tipo de dato nativo junto con muchos otros tipos de datos. Esto permite que las búsquedas en una combinación de datos empresariales y semánticos sean más rápidas y precisas, ya que ambos tipos de datos están disponibles en una sola base de datos. Este enfoque también evita los problemas de coherencia de datos que surgen cuando se utiliza una base de datos vectorial especializada e independiente, además de la base de datos principal de la empresa.
Los índices vectoriales y las bases de datos vectoriales están diseñados para almacenar y recuperar vectores de manera eficaz, es decir, conjuntos de números que representan las funciones de un objeto, como un documento, una imagen o un archivo de video o audio. Sin embargo, tienen diferentes características y casos de uso. Los índices vectoriales se utilizan principalmente para la búsqueda de "vecinos más cercanos", que consiste en encontrar el vector más cercano a un vector de consulta determinado. Los índices son excelentes para aplicaciones que requieren búsquedas de similitud rápidas y precisas, como un motor de recomendaciones. Por el contrario, las bases de datos vectoriales son donde las organizaciones almacenan vectores para su recuperación y análisis. Una base de datos vectorial de categoría empresarial ofrece funciones útiles más allá de la búsqueda de vecinos más cercanos, como el almacenamiento de metadatos, el control de versiones de datos y la integración con otros sistemas.
La diferencia clave entre un índice vectorial y una base de datos vectorial es que los índices vectoriales almacenan información sobre los atributos de datos no estructurados, como texto, imágenes o archivos de audio. Esta información está representada por un conjunto de números llamado vector. El índice vectorial contiene estos datos y los "indexa" de una manera que ayuda a una base de datos a identificar y hacer coincidir objetos rápidamente.
Una base de datos vectorial alberga estos índices y los objetos que describen. Sin embargo, la forma en que una base de datos organiza los índices vectoriales y los objetos de datos varía. Las bases de datos activadas por vectores, como Oracle Database, separan el almacenamiento de objetos de datos de cómo se buscan los datos y los vectores. Esto les permite combinar la potencia de consulta madura de SQL para metadatos y datos de negocio actualizados con la velocidad y relevancia contextual de la búsqueda vectorial. Este enfoque significa, por ejemplo, que una búsqueda vectorial de productos minoristas relevantes también puede ofrecer precios y disponibilidad actualizados.
Conclusiones clave
En lugar de asumir el costo y el esfuerzo para ajustar los modelos de IA generativa, las empresas están curando los datos que los LLM utilizan para generar sus resultados. Están utilizando bases de datos vectoriales que contienen información empresarial actualizada. Este enfoque arquitectónico, llamado generación aumentada de recuperación, permite que un LLM entrenado con grandes cantidades de datos generalizados mejore su respuesta utilizando datos privados encontrados en una base de datos vectorial.
Por ejemplo, si un chatbot basado en LLM pudiera acceder a los registros de clientes y las comunicaciones por correo electrónico de un minorista en lugar de a mensajes genéricos, podría proporcionar respuestas más útiles y personalizadas a consultas como "¿Se ha enviado mi pedido?"
La RAG también puede aumentar la confiabilidad de los modelos de IA generativa citando qué documentos de la base de datos vectorial informaron su resultado.
No es de extrañar que aumente el uso de bases de datos optimizadas para almacenar y analizar vectores. Las bases de datos vectoriales, que antes se utilizaban principalmente para el mapeo y el análisis de datos, se han convertido en una tecnología fundamental para los motores de recomendación que utilizan habitualmente los minoristas más populares y los proveedores de streaming de música y video, así como los asistentes virtuales, el reconocimiento de patrones biométricos, la detección de anomalías y mucho más. Y ahora, las bases de datos vectoriales han encontrado un uso nuevo y espectacular: almacenar grandes volúmenes de datos no estructurados a los que se puede acceder para informar sobre los resultados de los modelos de IA generativa.
Una tendencia creciente es que las bases de datos establecidas, como MySQL y Oracle Database, incorporen datos vectoriales como tipo de dato nativo junto al resto de datos de una organización, como JSON, grafos, espaciales y relacionales. Esta convergencia elimina la necesidad de trasladar los datos a una base de datos separada para las operaciones de IA generativa, lo que simplifica el proceso y deja los datos valiosos en repositorios de confianza.
El crecimiento de los casos de uso de IA generativa significa que hay muchas bases de datos vectoriales nuevas en el mercado, además de las ya establecidas bases NoSQL y relacionales que han añadido la gestión de tipos de datos vectoriales.
Las bases de datos vectoriales funcionan almacenando y procesando datos como vectores, que son representaciones matemáticas de las características de los objetos en un espacio multidimensional. Esto permite almacenar y consultar de forma eficaz tipos de datos complejos, como imágenes, audio, video y datos de sensores, lo que hace que los vectores sean ideales para casos de uso como sistemas de recomendación, procesamiento de lenguaje natural y reconocimiento de imágenes.
Las operaciones se realizan en varios pasos:
Las bases de datos vectoriales pueden clasificarse en varios tipos, según su estructura de almacenamiento, como las columnares, o según su implementación, como las bases de datos en memoria. Cada tipo tiene ventajas; el tipo que selecciones debe basarse en tus requisitos y casos de uso específicos.
Una base de datos columnar almacena datos en columnas y los agrupa en un disco. Esta disposición acelera el análisis de datos porque el análisis suele implicar filtrar y combinar datos de columnas de tablas. Las bases de datos también pueden almacenar registros en formato de fila, lo que resulta útil para las transacciones en las que se actualiza un único elemento del registro. Sin embargo, para el análisis de datos, una base de datos columnar permite a los analistas explorar muy rápidamente cualquier columna de miles o millones de registros.
Una base de datos de almacenamiento de documentos, o base de datos orientada a documentos, es un sistema de almacenamiento de programas y datos que gestiona, recupera y almacena información orientada a documentos. Las bases de datos de documentos almacenan los datos en documentos flexibles, similares a JSON, que son adecuados para estructuras de datos variadas y dinámicas. Se diferencian de las bases de datos relacionales, que utilizan tablas para organizar los datos con un esquema fijo.
El análisis de grafos es el proceso de analizar datos en un formato de grafo, utilizando puntos de datos como nodos y relaciones como aristas. Observar los datos de esta manera puede ayudarte a descubrir conexiones y relaciones que antes no eran evidentes. El análisis de grafos requiere una base de datos que admita formatos de grafos. Puede tratarse de una base de datos de grafos dedicada o de una base de datos convergente que admita varios modelos de datos, incluidos los grafos.
Las bases de datos en memoria almacenan y manipulan datos en el nivel de memoria de una aplicación en lugar de en un disco de almacenamiento. Este tipo de estructura suele combinarse con la funcionalidad de los almacenes columnares y los planes de consulta vectorizados para acelerar las consultas analíticas. Este tipo de almacén de datos es bueno para respaldar operaciones rápidas en telecomunicaciones globales y empresas que necesitan tomar decisiones basadas en datos en tiempo real.
Los almacenes de clave-valor, a veces también denominados bases de datos de clave-valor, son una forma rápida de almacenar y consultar datos que a menudo cambian, como los artículos de una tienda online. El almacén clave-valor es una base de datos de tipo NoSQL que utiliza un valor clave para identificar un registro concreto para consultarlo o actualizarlo.
Una base de datos espacial almacena y gestiona datos espaciales, que representan información sobre la ubicación física y las propiedades geométricas de los objetos en el espacio. Lo hacen con técnicas de indexación y operaciones de consulta. Las bases de datos espaciales se utilizan para mapeos y análisis online, así como en las operaciones de logística de envíos.
Una base de datos de series temporales se utiliza para almacenar y analizar de forma eficaz datos con registro de hora, donde cada punto de datos se asocia a un registro de hora o intervalo de tiempo específico. Estas bases de datos se utilizan comúnmente en sistemas de monitoreo de TI que dependen del análisis de registros y en finanzas.
Las bases de datos vectoriales mejoran los modelos de lenguaje grandes comerciales o de código abierto al darles acceso a información actualizada suministrada por una organización o empresa local. Esto ayuda a que los resultados del LLM sean más relevantes y personalizados para las personas asociadas a esa organización.
Las bases de datos vectoriales son utilizadas por diversas aplicaciones y organizaciones que manejan grandes cantidades de datos espaciales y geométricos, como en los sectores de retail y logística y en sistemas que pilotean vehículos autónomos. Y ahora, las empresas que exploran la IA avanzada y el aprendizaje automático también están adoptando este tipo de base de datos. Los modelos de IA generativa, por ejemplo, dependen de bases de datos vectoriales para mejorar sus resultados utilizando datos locales actualizados.
Otros casos de uso específicos son los siguientes:
Los casos de uso de las bases de datos vectoriales son tan variados como las organizaciones y aplicaciones que dependen de ellas. Además de la analítica de datos en tiempo real, los sistemas financieros y los motores de recomendación, las bases de datos vectoriales están optimizadas para manejar las complejas estructuras de datos que suelen requerir tareas como el reconocimiento de imágenes y el procesamiento del lenguaje natural.
Al almacenar y procesar datos de manera eficiente, las bases de datos vectoriales permiten a las empresas aprovechar estructuras de datos complejas para una amplia gama de aplicaciones, como las siguientes:
Las bases de datos vectoriales ofrecen muchas ventajas, como la búsqueda rápida de similitudes. Están optimizadas para realizar búsquedas eficientes por el vecino más cercano, lo que permite recuperar rápidamente elementos similares incluso en grandes conjuntos de datos. Esto las hace ideales para sectores que requieren procesamiento y análisis en tiempo real de datos no estructurados y para casos de uso emergentes de IA generativa.
Otras ventajas son las siguientes:
Tanto si utilizas IA generativa como casi cualquier otra operación que utilice vectores, Oracle puede ayudarte.
Oracle Database, la base de datos empresarial más popular del mundo, proporciona una única plataforma de datos para vectores y todos tus datos corporativos. Aprovecha la capacidad de búsqueda por similitud de los datos de tu empresa, sin necesidad de supervisar y sincronizar varias bases de datos. AI Vector Search te permite realizar búsquedas en datos estructurados y no estructurados comprendiendo su semántica o significado, así como sus valores.
Combinar datos relacionales, documentos JSON, grafos, datos geoespaciales, texto y vectores en una sola base de datos te permite crear rápidamente nuevas funciones en tus aplicaciones. AI Vector Search en Oracle Database también se puede utilizar en un pipeline de RAG junto con cualquier servicio GenAI. Además, el servicio de base de datos HeatWave MySQL de Oracle maneja vectores de forma nativa para admitir la búsqueda de vectores y otros casos de uso. Por ejemplo, puede utilizarlo junto con el servicio RAG en Oracle Cloud Infrastructure (OCI) para aportar una interfaz de IA generativa a tus documentos, proporcionándote una IA experta en los datos operativos de tu empresa.
Tanto si utilizas vectores para el análisis de datos, aplicaciones geoespaciales, recomendaciones de productos o como tecnología habilitadora de la IA generativa, Oracle puede ayudarte. Tanto la Autonomous Database emblemática de Oracle como Oracle HeatWave MySQL gestionan vectores como un tipo de dato nativo junto con muchos otros tipos de datos para una experiencia de desarrollo más sencilla. Ambas bases de datos se ejecutan en Oracle Cloud Infrastructure. OCI está diseñado con los últimos procesadores y arquitectura de superclúster para manejar de manera eficiente las cargas de trabajo de IA más exigentes, incluyendo IA generativa, visión artificial y análisis predictivo. Tanto si creas con Oracle Database como con la base de datos de código abierto MySQL, puedes empezar a aprovechar la búsqueda vectorial hoy mismo.
En la era de la IA generativa, las bases de datos vectoriales se han vuelto más importantes que nunca para las empresas. A medida que más equipos de desarrollo busquen almacenar y gestionar el tipo de datos vectoriales, tendrán que tomar una decisión: incorporar una base de datos vectoriales especializada y creada específicamente para este fin o utilizar bases de datos multimodelo, como Oracle Database, que admiten no solo vectores, sino también muchos otros tipos de datos.
Las bases de datos vectoriales son fundamentales para casos de uso de IA interesantes, como los chatbots que revolucionan el servicio de atención al cliente y los algoritmos que transforman la atención médica. Descubre cómo las empresas están aprovechando la potencia de los vectores.
¿Cuándo se debe utilizar una base de datos vectorial?
Una base de datos vectorial puede utilizarse para en amplia variedad de casos de uso, como aplicaciones geoespaciales, logística de envíos o investigación medioambiental, recomendaciones en materia de entretenimiento en locales físicos o virtuales, más recientemente, como almacén principal de datos que respalden la IA generativa por parte de organizaciones individuales.
¿Netflix utiliza bases de datos vectoriales?
Netflix anunció que utiliza bases de datos vectoriales para respaldar sus populares motores de recomendación. Aplica incrustaciones vectoriales a cada pieza de entretenimiento de su catálogo y la base de datos vectorial permite buscar en tiempo real títulos similares.