Hasta 50 veces de ahorro en costos para crear aplicaciones de GenAI con Zilliz Cloud Serverless
Introducción
Con los avances recientes en IA generativa, el caso de uso de las bases de datos vectoriales está creciendo exponencialmente. Por ejemplo, la Generación Aumentada por Recuperación (RAG), una popular técnica de mejora de modelos de lenguaje grandes (LLM), aprovecha bases de datos vectoriales como Milvus y Zilliz Cloud (el Milvus gestionado) para almacenar, indexar y recuperar información relevante que ayude a los LLM a generar resultados más precisos.
En un reciente Unstructured Data Meetup en San Francisco, James Luan, vicepresidente de Ingeniería en Zilliz, habló sobre cómo los desarrolladores pueden aprovechar Zilliz Cloud Serverless, una nueva oferta de Zilliz, en sus aplicaciones de IA generativa. En pocas palabras, este nuevo servicio de Zilliz permite a los usuarios almacenar, indexar y consultar cantidades masivas de embeddings vectoriales a solo una fracción del costo. La buena noticia es que el rendimiento de Zilliz Cloud Serverless también es muy competitivo en comparación con las bases de datos vectoriales en memoria.
En este artículo, recapitularemos los puntos clave de James y exploraremos Zilliz Cloud Serverless con más profundidad. También puedes ver su charla en YouTube para obtener más detalles.
Por qué importan las bases de datos vectoriales en la era de la IA
Las aplicaciones y técnicas modernas de IA, como la Generación Aumentada por Recuperación (RAG), los sistemas de recomendación, los chatbots impulsados por IA y los motores de búsqueda semántica, requieren un sistema fiable para gestionar eficientemente cantidades masivas de datos no estructurados. Las bases de datos vectoriales son sistemas de almacenamiento que nos permiten almacenar, indexar y recuperar estos datos de forma eficaz.
Las bases de datos vectoriales como Milvus y Zilliz Cloud están equipadas con métodos de indexación avanzados entre los que los usuarios pueden elegir para una recuperación de datos eficiente y rápida. Muchas de ellas, en particular Milvus y Zilliz Cloud, también ofrecen integraciones sencillas con frameworks y plataformas de IA populares como LangChain, Spark, Snowflake y Hugging Face, lo que facilita a los desarrolladores de IA generativa crear aplicaciones de IA sofisticadas. Con diferentes enfoques de búsqueda semántica, como la búsqueda vectorial densa y la búsqueda híbrida de vectores densos y dispersos, los desarrolladores pueden obtener los resultados más relevantes para cualquier caso de uso.
Una encuesta reciente de 2024 a 1.000 desarrolladores de IA generativa de la comunidad de Milvus identificó siete aspectos que buscan en una base de datos vectorial antes de considerar su uso en sus aplicaciones de IA:
Calidad de búsqueda: ¿Qué tan relevantes son los resultados obtenidos para una consulta determinada?
Eficiencia de costos: ¿Qué tan económica es la base de datos en términos de gastos operativos y de mantenimiento?
Facilidad de uso: ¿Qué tan fácil de usar e intuitiva es la base de datos para que los desarrolladores la implementen y gestionen?
Rendimiento: ¿Con qué rapidez y eficiencia puede la base de datos procesar consultas y devolver resultados?
Escalabilidad: ¿Qué tan bien puede la base de datos manejar el aumento de datos e inquilinos sin comprometer el rendimiento?
Alta disponibilidad: ¿Con qué fiabilidad puede la base de datos mantener el tiempo de actividad y prevenir la pérdida de datos en caso de fallos?
Seguridad: ¿Qué tan bien protege la base de datos los datos sensibles y previene el acceso no autorizado?
Figura 1: Consideraciones clave para seleccionar una base de datos vectorial recopiladas de 1000 desarrolladores de Gen AI
Milvus es altamente valorado por su calidad de búsqueda. Permite a los usuarios elegir diferentes métodos de indexación y búsqueda vectorial para equilibrar el rendimiento y la exhaustividad, y recuperar información relevante tanto en profundidad como en contexto.
Los usuarios pueden elegir entre Flat, IVFFlat, HNSW y muchos más métodos de indexación. Cada método de indexación tiene ventajas y desventajas, y puedes ver una explicación detallada de estos métodos en este artículo sobre cómo elegir un índice vectorial.
Para las operaciones de búsqueda vectorial, se puede usar búsqueda densa, dispersa o híbrida para obtener resultados relevantes para una consulta. También podemos usar filtrado escalar con el enfoque de operación booleana durante una operación de búsqueda para refinar aún más el resultado.
La introducción de Zilliz Cloud Serverless mejora significativamente el segundo y tercer aspectos más deseables de una base de datos vectorial mencionados anteriormente: eficiencia de costos y facilidad de uso. Las siguientes secciones demostrarán cómo Zilliz Cloud Serverless mejora Milvus en estos dos aspectos.
Problemas comunes en el desarrollo de aplicaciones de IA
Al desarrollar una aplicación de IA, crear un prototipo es el siguiente paso después de decidir qué base de datos vectorial usar. En esta etapa, normalmente almacenamos todos nuestros datos o un subconjunto de ellos en la base de datos vectorial, luego elegimos un modelo de lenguaje grande (LLM) y desarrollamos los prompts. Luego, seleccionamos un LLM y un conjunto de prompts que cumplan los objetivos de calidad de nuestro caso de uso. Finalmente, desplegamos nuestra aplicación de IA en producción.
Sin embargo, a medida que crece la base de usuarios de nuestra aplicación de IA, la complejidad de mantener y escalar nuestra infraestructura se vuelve más pronunciada. Debemos considerar aspectos como el costo por usuario, la monitorización del rendimiento de la aplicación en producción, la gestión de la multitenencia, el manejo de picos de tráfico, la resolución de errores de software y más.
Cuanto mayor sea nuestra base de usuarios, más costoso se vuelve satisfacer las necesidades de los usuarios manteniendo métricas clave de rendimiento como la calidad de búsqueda, la latencia y la disponibilidad. Por lo tanto, elegir la infraestructura y la arquitectura de software adecuadas es crucial al desplegar tu aplicación de IA en un entorno de producción.
Una solución para escalar tu aplicación de IA es mediante clústeres dedicados en Zilliz Cloud.
Figura 2: La arquitectura de los clústeres dedicados de Zilliz
Los clústeres dedicados ofrecen un entorno y recursos dedicados para tu aplicación de IA, lo que te permite procesar conjuntos de datos más grandes con un rendimiento mejorado. Proporcionan funciones avanzadas como:
Separación entre almacenamiento y computación.
Grupo de recursos elástico para cargas de trabajo por lotes.
Copia de seguridad de datos en sistemas de almacenamiento de objetos como S3.
Almacenamiento en caché de datos para velocidades de recuperación aún más rápidas.
Estos clústeres están alojados en la nube, lo que elimina la necesidad de gestionar infraestructura local.
Sin embargo, una gran desventaja de los clústeres dedicados es el alto coste inicial y continuo. Incluso cuando el clúster está inactivo sin actividad de búsqueda, podría llegar a costar más de 100 $ al mes. Además, el rendimiento puede degradarse a medida que crecen la base de usuarios de los datos almacenados y el volumen. Por lo tanto, se necesita una mejor solución para construir una arquitectura que no solo sea rentable, sino que también pueda escalar a medida que nuestra aplicación de IA alcance una mayor base de usuarios.
Zilliz Cloud Serverless, hasta 50x de ahorro de costes
Zilliz Cloud Serverless representa los últimos avances arquitectónicos ofrecidos por Zilliz para minimizar los costes de infraestructura al ejecutar tus aplicaciones de IA sin problemas en producción. Ofrece hasta 50x de ahorro de costes en comparación con las bases de datos vectoriales en memoria mediante funciones como precios de pago por uso y escalado automático que se adaptan a diversas cargas de trabajo. La oferta serverless está disponible en los principales proveedores de nube, incluidos AWS y GCP, y pronto estará disponible en Azure.
Figura 3- Beneficios clave de Zilliz Cloud Serverless
Zilliz Cloud Serverless implementa cuatro tecnologías clave para optimizar el coste de tus aplicaciones de IA:
Clústeres lógicos y escalado automático
Desagregación de datos de streaming e históricos
Almacenamiento por niveles adaptado a diferentes necesidades de almacenamiento de datos
Multiinquilino y separación de datos calientes y fríos
Ahora exploremos cada una de estas tecnologías con mayor profundidad.
Clústeres lógicos y escalado automático
Zilliz Cloud Serverless introduce el concepto de clústeres lógicos y escalado automático. Un clúster lógico corresponde a una base de datos en un clúster físico. Un clúster físico consta de varios tipos de nodos, cada uno con su propia funcionalidad:
Nodos proxy: Enrutan el tráfico, limitan las solicitudes según las cuotas y escalan según la CPU y el ancho de banda de red.
Nodos de streaming: Atienden la búsqueda de datos de streaming y escalan según el tiempo de cola de escritura y el uso de CPU/memoria.
Nodos de consulta: Gestionan las solicitudes de búsqueda de datos históricos y escalan según el tiempo de cola de búsqueda y la CPU/memoria.
Nodos de índice: Construyen índices sobre los datos blob almacenados en el almacenamiento de objetos.
Figura 4: El diagrama de clústeres lógicos
El clúster lógico funciona utilizando un mecanismo de autenticación para cada inquilino mediante una clave de API. Cada inquilino tiene una clave de API única, que el sistema utiliza para enrutar las solicitudes y garantizar que se recuperen los datos correctos durante las operaciones de consulta.
Durante las operaciones de escritura de datos, todos los datos generados sobre la marcha se almacenan durante un intervalo de tiempo específico dentro de los nodos de streaming. Esto garantiza que los datos recientes se puedan recuperar con baja latencia. Después de un tiempo, estos datos de streaming se descargan en un almacenamiento blob (p. ej., S3), donde el nodo de índice construye un índice de todos los datos.
Durante las operaciones de consulta, todos los datos indexados se almacenan en caché en los discos locales de los nodos de consulta. Este método reduce significativamente los costes de almacenamiento en comparación con la indexación en memoria.
Desagregación de datos de streaming e históricos
Como se comentó en la sección anterior, Zilliz Cloud Serverless separa eficazmente los datos de streaming de los datos históricos mediante la implementación de diferentes tipos de nodos en su arquitectura.
Los datos de streaming se refieren a datos en tiempo real, generados continuamente y procesados sobre la marcha, mientras que los datos históricos se refieren a datos previamente recopilados y almacenados. Los datos de streaming contienen información reciente y actualizada, que se almacena dentro de los nodos de streaming durante un período específico, lo que garantiza una recuperación rápida durante las operaciones de consulta.
Después de un período predeterminado, los datos dentro de los nodos de streaming se vacían en un almacenamiento de blobs, convirtiéndose efectivamente en parte de los datos históricos. Esta transición es crucial porque el almacenamiento de blobs suele ser una solución más rentable para grandes volúmenes de datos que no requieren el mismo nivel de acceso inmediato que los datos en tiempo real o recientes.
Figura 5- El flujo de trabajo de diferentes nodos en un clúster lógico
Durante las operaciones de búsqueda, todos los datos históricos se almacenan en caché en los nodos de consulta. Luego, el sistema fusiona los resultados de búsqueda de los nodos de streaming y de consulta para proporcionar resultados completos.
Almacenamiento por niveles
Una razón principal de los altos costos operativos de las bases de datos vectoriales es que todos los datos se almacenan en RAM. Para abordar este problema, Zilliz Cloud Serverless introduce una tecnología de almacenamiento de datos por niveles en su arquitectura.
El almacenamiento de datos por niveles es sencillo: los datos se organizan en diferentes niveles según los requisitos de rendimiento, el costo y la frecuencia de acceso. La regla general es que los datos a los que se accede con frecuencia se almacenan en un almacenamiento más caro y de alto rendimiento, mientras que los datos a los que se accede con menos frecuencia se almacenan en un almacenamiento más barato y lento. Al implementar diferentes niveles de almacenamiento para cada categoría de datos, podemos optimizar el costo general del almacenamiento de datos.
Figura 6- Diagrama de almacenamiento por niveles
Los datos a los que se accede con frecuencia y que deben recuperarse con baja latencia se almacenan en RAM. Como se ilustra arriba, almacenar datos en RAM cuesta aproximadamente $5 por GB de almacenamiento. Sin embargo, a cambio, obtenemos resultados en aproximadamente 100 nanosegundos, lo cual es lo más rápido en comparación con otros niveles.
Por otro lado, los datos a los que se accede con menos frecuencia se almacenan en almacenamiento de blobs, como Amazon S3. Esto cuesta aproximadamente $0.023 por GB de almacenamiento, pero tarda más de 10 milisegundos en recuperar resultados.
Multiinquilinidad y separación caliente-frío
Zilliz Cloud Serverless introduce el almacenamiento en caché de datos de múltiples capas, particularmente para casos de uso de multiinquilinidad. Distingue entre el almacenamiento de datos para inquilinos "calientes" y "fríos".
Un inquilino caliente es un usuario muy activo que realiza búsquedas o consultas de datos con frecuencia. Por el contrario, un inquilino frío es menos activo y realiza búsquedas de datos con poca frecuencia.
Cuando los inquilinos se clasifican como calientes, sus datos se almacenan en la memoria local, lo que garantiza una recuperación de baja latencia. Mientras tanto, si un inquilino se clasifica como frío y desea realizar una búsqueda de datos, primero se deben cargar todos los datos desde el almacenamiento de blobs (por ejemplo, S3), lo que resulta en tiempos de recuperación más largos que los de los inquilinos calientes.
Figura 7: Separación caliente-frío en un caso de uso multiinquilino
Una aplicación puede precalentarse para mejorar la latencia cargando todos los datos desde el almacenamiento de blobs en la memoria local. Luego, cuando los usuarios acceden a su aplicación de IA, el proceso de recuperación puede completarse con baja latencia.
Zilliz Cloud Serverless también implementa agrupación de datos por claves de partición de forma interna para acelerar aún más el proceso de búsqueda de datos. Durante la recuperación de datos, el sistema busca solo datos dentro de particiones prometedoras en lugar de todos los datos disponibles.
A continuación se muestra una comparación de costos entre búsquedas calientes, templadas y frías:
| Búsqueda fría | Búsqueda templada | Búsqueda caliente | |
| 1M, 768Dim | 2.3s | 80ms | 4ms |
| 10M, 768Dim | 7s | 150ms | 7ms |
Tabla: Comparación de latencia entre búsqueda fría y caliente en un solo inquilino.
Como se ilustra, una búsqueda en frío (donde todos los datos residen en almacenamiento blob) requiere más tiempo para la recuperación de datos durante las operaciones de búsqueda. Para 10 millones de embeddings, cada uno compuesto por un vector de 768 dimensiones, el sistema necesita aproximadamente 7 segundos para completar una operación de búsqueda. Esta velocidad sigue siendo aceptable para casos de uso comunes de IA generativa como RAG. En cambio, el mismo escenario requiere solo 7 milisegundos si todos los datos residen en la memoria local.
Sin embargo, realizar una búsqueda en frío genera ahorros de costos significativos. Una base de datos para búsqueda en frío cuesta aproximadamente 915 para una búsqueda en caliente. Esto supone un ahorro de costos de 50 veces gracias a la arquitectura Zilliz Cloud Serverless.
¿Qué hay de nuevo en Zilliz Cloud?
Además de la oferta serverless, Zilliz ha anunciado recientemente nuevas funciones en Zilliz Cloud para mejorar el soporte para ejecutar cargas de trabajo de IA en entornos de producción. Aquí hay una descripción general rápida de estas nuevas incorporaciones y mejoras:
Disponibilidad general (GA) de Serverless.
Servicio de migración ****para transferir sin problemas datos vectoriales entre bases de datos y otros sistemas de datos
Fivetran Connector: una nueva integración con Fivetran que amplía significativamente las capacidades de ingesta de datos no estructurados desde más de 500 fuentes
Multi-réplica: permite la replicación a nivel de clúster, lo que mejora significativamente el rendimiento de las consultas y la disponibilidad del sistema.
Escalado automático (vista previa privada): Zilliz Cloud está implementando una función de escalado automático en la vista previa privada que aborda un desafío común en los entornos de producción: gestionar la capacidad del clúster en respuesta a demandas fluctuantes.
Una nueva región de Zilliz Cloud en línea: AWS Tokio (ap-northeast-1), lo que significa menor latencia, mejor rendimiento y mayor soberanía de datos para usuarios en Asia-Pacífico y regiones vecinas.
¡Y más! Para obtener información más detallada, lee el último blog de lanzamiento de Zilliz Cloud.
Conclusión
Zilliz Cloud Serverless representa el último avance implementado por Zilliz para optimizar la operación y el costo de los sistemas de aplicaciones de IA. Al aprovechar cuatro tecnologías clave, los usuarios pueden potencialmente operar sus aplicaciones de IA a un costo hasta 50 veces menor que con bases de datos vectoriales en memoria. Estas tecnologías incluyen clústeres lógicos, desagregación de datos de transmisión e históricos, almacenamiento por niveles y separación frío-caliente multiinquilino.
Si deseas comenzar con Zilliz Cloud Serverless, puedes probarlo gratis. Visita esta página para obtener más información!
Sigue leyendo

VDBBench Adds Cost-Aware Benchmarking for Vector Databases
Compare Zilliz Cloud, Pinecone, and turbopuffer with VDBBench cost-aware vector database benchmarks across latency, freshness, multitenancy, and cold starts.

What Is a Vector Lakebase?
A Vector Lakebase is a unified, lake-native data architecture for AI that combines vector-database-grade serving with open lake storage, reusable lake-level indexes, and a shared semantic layer.

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.


