¿Qué es Milvus?

Primer plano de un dedo tocando la pantalla

Autores

Matthew Kosinski

Staff Editor

IBM Think

¿Qué es Milvus?

Milvus es una base de datos vectorial de código abierto desarrollada por Zilliz. Milvus es conocido por proporcionar almacenamiento de información escalable para grandes cantidades de embedadas vectoriales y por soportar búsquedas de similitud de alto rendimiento

de datos vectoriales.

Zilliz desarrolló Milvus por primera vez en 2017 y contribuyó con el proyecto a la Fundación Linux en 2020. Milvus ahora está disponible como un software de código abierto bajo la Licencia Apache 2.0 y como un servicio en la nube totalmente administrado de Zilliz.

¿Qué son las bases de datos vectoriales y por qué son importantes?

Las bases de datos vectoriales almacenan y gestionan conjuntos de datos en forma de vectores. Pueden ayudar a las organizaciones a gestionar datos no estructurados, y son críticos para los esfuerzos avanzados de inteligencia artificial (IA) y machine learning (ML).

Los vectores son conjuntos de números que representan conceptos y objetos complejos, como palabras e imágenes.  

Los datos no estructurados, como texto, video y audio, constituyen una parte significativa de los datos empresariales en la actualidad, pero las bases de datos tradicionales a menudo no son adecuadas para organizar y administrar estos datos.  

Las organizaciones pueden alimentar estos datos a modelos especializados de incrustación de aprendizaje profundo, que emiten representaciones vectoriales llamadas "incrustaciones". Por ejemplo, la palabra "cat" podría representar mediante el vector [0,2, -0,4, 0,7], mientras que la palabra "dog" podría representar mediante [0,6, 0,1, 0,5].

La transformación de datos en vectores permite a las organizaciones almacenar distintos tipos de datos no estructurados en un formato compartido en una base de datos vectorial.  

Los vectores también ayudan a las organizaciones a desbloquear el valor de estos datos para IA y machine learning (ML). Los vectores capturan las relaciones semánticas entre los elementos, lo que permite un procesamiento eficaz por parte de modelos de lenguaje grandes (LLM) y herramientas de IA generativa . La mayoría de las aplicaciones avanzadas de IA y machine learning (ML) hoy en día se basan en vectores para el entrenamiento y la generación de contenidos.

Al igual que otras bases de datos vectoriales, Milvus ofrece a las organizaciones una forma de gestionar y organizar los vectores de incrustación. El almacenamiento Escalable y las eficientes capacidades de búsqueda vectorial de la base de datos vectorial Milvus la convirtieron en una opción popular para la generación aumentada por recuperación (RAG), los sistemas de recomendación y otras aplicaciones de IA.  

Diseño 3D de pelotas rodando en una pista

Las últimas novedades e insights sobre IA

Descubra insights y noticias de expertos sobre IA, la nube y mucho más en el boletín semanal Think. 

La arquitectura de Milvus

Milvus es una base de datos vectorial nativa de la nube con una arquitectura basada en microservicios multicapa. Milvus separa los recursos de almacenamiento y de cómputo, lo que permite a las organizaciones escalar cada capa de manera independiente y horizontal

Milvus es compatible con varios modelos de integración diferentes. Las organizaciones pueden conectar sus modelos a Milvus, que Ingesta las incrustaciones junto con metadatos y otra información pertinente. Milvus admite cargas de transmisión e incrustación por lotes.

Milvus tiene 4 capas:

  • Capa de acceso: esta es la capa externa, que acepta entradas de usuarios y servicios y devuelve salidas.  

  • Servicio de coordinación: Zilliz se refiere a esta capa como el “cerebro” del sistema porque organiza el equilibrio de carga, la gestión de datos, la ejecución de consultas y otras tareas importantes. 

  • Nodos de trabajo: esta capa ejecuta consultas, actualiza datos y crea índices. 

  • Capa de almacenamiento de objetos: esta capa incluye un almacén de metadatos, un agente de registros que registra los cambios de datos en tiempo real y un almacén de objetos que contiene instantáneas de registros, archivos de índice y resultados de cálculos intermedios.

Tipos de despliegue de Milvus

  • Milvus Lite: una biblioteca de Python que permite a los usuarios ejecutar Milvus en entornos locales. Milvus Lite actualmente es compatible con Ubuntu y MacOS, pero no con Microsoft Windows.

  • Milvus Standalone: una base de datos Milvus completa empaquetada en una única imagen de Docker y ejecutada en una única máquina. 

  • Clúster Milvus: Una base de datos vectorial distribuida que distribuye servicios a través de grupos de nodos en un clúster de Kubernetes.  

  • Zilliz Cloud: la versión totalmente gestionada de Milvus.
Mixture of Experts | 12 de diciembre, episodio 85

Decodificación de la IA: Resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el revuelo de la IA para ofrecerle las últimas noticias e insights al respecto.

Características y capacidades clave de Milvus

Capacidades de búsqueda avanzadas 

Milvus soporta búsquedas de similitud vectorial de alto rendimiento, un tipo de búsqueda vectorial que devuelve resultados semánticamente similares a una consulta. El beneficio de la búsqueda de similitud es que no se limita a coincidencias exactas, como sería una búsqueda de palabras clave tradicional.  

Por ejemplo, una búsqueda por palabra clave de "best pizza restaurant" solo arrojaría resultados que contuvieran las palabras "best", "pizza" y "restaurant". Una búsqueda de similitud para la misma palabra clave encontraría resultados para pizzerías muy recomendadas, incluso si las palabras exactas "best pizza restaurant" no se utilizan en el contenido.

Milvus admite varios tipos de búsqueda de similitud, incluido el vecino más cercano aproximado (ANN) top-k y el ANN de rango.  

Milvus también admite búsquedas híbridas, que combinan búsquedas de vectores semánticos con otros criterios, como el filtrado de metadatos o la búsqueda de palabras clave.

Las búsquedas híbridas pueden hacer que las búsquedas sean más eficientes y relevantes. Considere una búsqueda que combine palabras clave y búsqueda vectorial. La búsqueda puede usar primero palabras clave específicas para filtrar los resultados en función de las coincidencias exactas y luego usar la búsqueda por similitud vectorial para buscar en esos resultados filtrados el contenido más relevante desde el punto de vista semántico.  

Indexación 

Milvus admite varios tipos de indexación, incluidos el mundo pequeño navegable jerárquico (HNSW), el archivo invertido (IVF) y los índices basados en GPU.

Los vectores de indexación pueden ayudar a acelerar las búsquedas. Por ejemplo, HNSW agrupa vectores similares durante el proceso de construcción del índice, lo que facilita la búsqueda de resultados relevantes con mayor rapidez.

Escalabilidad 

Las capas de Milvus pueden escalar independientemente unas de otras, lo que puede proporcionar a las organizaciones una forma rentable y efectiva de manejar cantidades masivas de datos vectoriales y búsquedas intensivas.

Integraciones y compatibilidad 

Milvus ofrece numerosos kits de desarrollo de software (SDK) para apoyar el desarrollo en varios lenguajes, incluidos Python (pymilvus), Java y Go.

Milvus también puede integrarse con herramientas de análisis como Apache Spark, marcos como LangChain y modelos de IA generativa como IBM watsonx, Llama de Meta y modelos de GPT de OpenAI. 

Código abierto

Una gran comunidad de código abierto contribuye con arreglos, actualizaciones y otras mejoras a los repositorios de GitHub de Milvus.

Milvus frente a otras bases de datos vectoriales

Milvus vs. Pinecone

Tanto Pinecone como Milvus ofrecen búsqueda de baja latencia y almacenamiento escalable, pero Pinecone es una base de datos vectorial patentada y solo está disponible como servicio gestionado.

Milvus vs. Weaviate

Al igual que Milvus, Weaviate es de código abierto y admite búsquedas híbridas. Una diferencia clave es que Milvus ofrece más tipos de indexación que Weaviate.

Milvus contra Qdrant

Otra base de datos vectorial de código abierto, Qdrant, es conocida por sus sólidas capacidades de filtrado de metadatos. Si bien Qdrant es adecuado para usos de escala moderada, Milvus generalmente puede manejar mayores volúmenes de datos vectoriales.

Milvus vs. Chroma

Chroma se centra en la facilidad de uso y los despliegues locales rápidos. Chroma no tiene una arquitectura distribuida, lo que la hace menos escalable. Si bien Chroma se utiliza comúnmente para la creación de prototipos y pruebas, Milvus puede admitir una gama más amplia de casos de uso.

Casos de uso comunes de Milvus

Las organizaciones emplean Milvus para dar soporte a numerosas aplicaciones de AI, entre las que se incluyen:

  • Generación aumentada por recuperación (RAG)

  • Sistemas de recomendación

  • Búsquedas en los medios 

  • Detección de anomalías y detección de fraude

Generación aumentada por recuperación (RAG)

RAG es una arquitectura que conecta los modelos de IA con bases de conocimiento externas para ayudarlos a ofrecer resultados más relevantes y precisos.  

Milvus es común en las implementaciones de RAG debido a su soporte para búsquedas híbridas eficientes. Al combinar la comprensión contextual de la búsqueda semántica con la precisión de la búsqueda de palabras clave y el filtrado de metadatos, Milvus puede ayudar a sacar a la luz documentos relevantes, fragmentos de código y otra información de fuentes RAG.

CacheGPT, una caché semántica de código abierto para LLM desarrollada por Zilliz, también ayuda a Milvus a dar soporte a las implementaciones de RAG. CacheGPT almacena las respuestas de las aplicaciones de IA generativa como incrustaciones vectoriales.

Los servicios conectados, como las interfaces RAG, no necesitan realizar una llamada API a la IA generativa para cada búsqueda. En su lugar, pueden comprobar primero la memoria caché y llamar a la IA generativa solo si la respuesta no está ahí.

Sistemas de recomendación

Milvus es popular en los sistemas de recomendación que relacionan contenido, productos y anuncios con usuarios en función de comportamientos pasados. 

Las preferencias del usuario se pueden representar como vectores, y una búsqueda de similitud puede mostrar las representaciones vectoriales de productos, anuncios y contenido que se acercan a las preferencias del usuario.

Búsquedas de medios

Las capacidades de búsqueda por similitud de Milvus pueden ayudar a agilizar la búsqueda de imágenes, audio, video y otros medios.

Detección de anomalías y detección de fraude

Milvus se puede utilizar para ayudar a detectar defectos en los productos comparando los vectores de imágenes de productos con los vectores que representan las formas adecuadas de esos productos. Las diferencias entre los vectores podrían indicar defectos.

Milvus también puede ayudar a detectar anomalías en otros contextos. En ciberseguridad, los vectores que representan la actividad de red autorizada se pueden comparar con los vectores que representan la actividad maliciosa conocida. Del mismo modo, en finanzas, se pueden analizar los vectores que representan las transacciones para identificar desviaciones que puedan indicar fraude.

Soluciones relacionadas
IBM® watsonx.ai

Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Diseñe aplicaciones de IA en menos tiempo y con menos datos.

Explore watsonx.ai
Soluciones de inteligencia artificial

Ponga a trabajar la IA en su negocio con la experiencia en IA líder del sector y la cartera de soluciones de IBM a su lado.

Explore las soluciones de IA
Consultoría y servicios de inteligencia artificial (IA)

Los servicios de IA de IBM Consulting ayudan a reinventar la forma en que las empresas trabajan con IA para la transformación.

Explore los servicios de IA
Dé el siguiente paso

Obtenga acceso único a capacidades que abarcan el ciclo de vida del desarrollo de IA. Produzca potentes soluciones de IA con interfaces fáciles de usar, flujos de trabajo y acceso a API y SDK estándar de la industria.

Explore watsonx.ai Reserve una demostración en vivo