Un ángulo diferente: modelos de embedding optimizados para recuperación
En los sistemas modernos de recuperación de datos, los usuarios a menudo requieren más que un solo resultado de una consulta; esperan múltiples resultados relevantes que estén clasificados según el contexto de la consulta. Esta expectativa presenta desafíos para los modelos de embeddings tradicionales, que normalmente se centran en relaciones binarias. Recientemente, en el SF Unstructured Data Meetup, Robertson Taylor, arquitecto de soluciones en Marqo, presentó el Aprendizaje Contrastivo Generalizado (GCL). Este enfoque va más allá de los emparejamientos binarios al integrar la clasificación y la conciencia de consulta en el proceso de entrenamiento del modelo.
Robertson hablando en el Unstructured Data Meetup de agosto en SF
Este blog explorará las ideas clave de la presentación de Robertson y demostrará cómo GCL puede integrarse con Milvus, una destacada base de datos vectorial, para crear sistemas optimizados de Generación Aumentada por Recuperación (RAG). Aunque Marqo ofrece soluciones de almacenamiento y recuperación vectorial, este blog se centrará en cómo los usuarios de Milvus pueden aprovechar los modelos GCL ajustados finamente con Marqtune, una plataforma de ajuste fino de Marqo, para mejorar sus capacidades de recuperación.
Para comprender mejor cómo GCL aborda estos desafíos, primero veamos las limitaciones de los modelos de embeddings tradicionales, como CLIP.
Mira la repetición de la charla de Robertson en YouTube.
Modelos de Embeddings y Sus Limitaciones
Los modelos de embeddings tradicionales, como CLIP (Preentrenamiento Contrastivo Lenguaje-Imagen), se utilizan ampliamente para tareas como la búsqueda de imágenes. Estos modelos están diseñados para minimizar la distancia entre elementos emparejados, como un pie de foto y una imagen. Aunque este enfoque funciona bien para relaciones simples y binarias, tiene dificultades para satisfacer las demandas más complejas de los sistemas de recuperación que requieren resultados multimodales clasificados.
Robertson comenzó su presentación abordando varios desafíos asociados con los modelos existentes:
Relaciones Binarias: Modelos como CLIP aprenden de pares de texto e imágenes, lo que los hace eficientes para tareas específicas pero inadecuados cuando se clasifican múltiples resultados según las consultas de los usuarios.
Falta de Conciencia de Clasificación y Consulta: Muchos modelos de embeddings tratan todas las consultas por igual, sin ajustar los resultados según el comportamiento del usuario o los datos de interacción.
Capacidades Multimodales Limitadas: La mayoría de los modelos sobresalen al trabajar con texto o imágenes, pero tienen dificultades para combinar estos tipos de datos de manera efectiva.
Combinación Ineficaz entre Campos: Los modelos existentes a menudo no logran combinar eficazmente información de múltiples campos, por ejemplo, título, descripción y reseñas, en una única representación vectorial.
Estas limitaciones significan que, aunque los modelos tradicionales funcionan adecuadamente en entornos controlados, a menudo se quedan cortos en escenarios del mundo real donde la clasificación y las capacidades multimodales son fundamentales.
Para ilustrar cómo se entrenan normalmente los modelos CLIP, veamos el siguiente diagrama:
Figura 1: Cómo se entrena CLIP
CLIP utiliza una arquitectura de dos torres con un codificador de texto y un codificador de imágenes. El modelo se entrena para minimizar la distancia entre pares positivos (texto e imagen coincidentes) y maximizar la distancia entre todos los demás pares. Si bien este enfoque es eficaz para ciertas tareas, no tiene en cuenta las complejidades de los escenarios de recuperación del mundo real. Aquí es donde entra en juego GCL.
Aprendizaje contrastivo generalizado (GCL): una solución para la optimización de la recuperación
Para abordar las limitaciones de los modelos tradicionales, Marqo introdujo el Aprendizaje contrastivo generalizado (GCL). Este enfoque mejora los modelos de embeddings al incorporar conciencia de rango y conciencia de consulta en el proceso de entrenamiento, lo que mejora significativamente la relevancia y la clasificación de los resultados de recuperación.
GCL aborda estos desafíos mediante varias innovaciones clave:
Conciencia de rango: GCL resuelve esto incorporando datos de interacción del usuario, como clics y acciones de añadir al carrito, en el proceso de entrenamiento. Esto permite que el modelo aprenda a clasificar los resultados en función de las preferencias del usuario.
Conciencia de consulta: En lugar de tratar todas las consultas por igual, GCL ajusta finamente los embeddings para tener en cuenta el contexto de una consulta. Por ejemplo, cuando un usuario busca una cámara SLR, GCL tiene en cuenta si la consulta proviene de un fotógrafo profesional que busca equipo de gama alta o de un consumidor que busca un modelo de nivel inicial. Esta conciencia de consulta permite que el sistema devuelva resultados más relevantes.
Capacidades multimodales: GCL admite la recuperación multimodal al permitir que el sistema incruste y recupere tanto texto como imágenes de una manera unificada. Por ejemplo, en un entorno de comercio electrónico, GCL puede combinar títulos de productos, descripciones, reseñas e imágenes en un solo vector, proporcionando resultados de búsqueda más relevantes.
Combinación entre campos: GCL permite que el modelo combine eficazmente información de múltiples campos en una única representación vectorial, mejorando la calidad general de los resultados de búsqueda.
Comprensión intramodal: Al incorporar varios campos de texto durante el entrenamiento, GCL mejora la capacidad del modelo para manejar consultas de texto a texto de manera más eficaz.
Para ilustrar cómo funciona GCL, veamos el siguiente diagrama que muestra el proceso de optimización de la recuperación multimodal usando GCL:
Figura 2: Proceso de optimización de la recuperación multimodal usando GCL
El sistema comienza capturando interacciones de los usuarios, como clics en los resultados de búsqueda. Estas interacciones se agregan luego para crear una puntuación para cada par consulta-resultado. Las consultas se utilizan para entrenar el modelo con el fin de mejorar el rendimiento de recuperación, mientras que las puntuaciones agregadas se utilizan para ponderar la importancia de los distintos resultados durante el entrenamiento. Luego, el modelo se entrena utilizando estos datos ponderados, incorporando tanto información de la consulta como puntuaciones de interacción del usuario. Finalmente, el modelo entrenado se evalúa utilizando consultas y puntuaciones nuevas para valorar su rendimiento.
Este proceso permite que el modelo aprenda del comportamiento real de los usuarios y se optimice para escenarios de recuperación reales, en lugar de limitarse a minimizar distancias entre pares predefinidos. Ahora que hemos visto cómo GCL resuelve desafíos clave en la optimización de la recuperación, exploremos cómo puede ajustarse finamente para tareas específicas y aplicaciones del mundo real.
Ajuste fino de tareas con GCL
GCL es versátil y puede utilizarse para ajustar finamente modelos para diversas tareas de estilo recuperación más allá de la búsqueda básica. La siguiente imagen ilustra algunas de estas tareas:
Figura 3: Ejemplos de tareas de ajuste fino con GCL
Exploremos cada una de estas tareas de ajuste fino con más detalle:
Mejora de la búsqueda básica
GCL mejora la recuperación tradicional de consulta a documento al incorporar datos de interacción del usuario. Esto significa que cuando un usuario busca un término, el modelo no solo coincide con palabras clave, sino que también considera cómo los usuarios han interactuado con consultas y resultados similares en el pasado. Por ejemplo, si muchos usuarios que buscaron una laptop liviana hicieron clic en ultrabooks, el modelo aprende a clasificar los ultrabooks más alto para esta consulta, incluso si el término ultrabook no se menciona explícitamente.
Recomendaciones avanzadas
GCL permite recomendaciones tanto de consulta a documento como de documento a documento. Este enfoque dual permite sugerencias de productos más matizadas y contextuales. En las recomendaciones de consulta a documento, GCL puede sugerir productos en función de la consulta de búsqueda de un usuario, teniendo en cuenta no solo los términos de la consulta, sino también los patrones de comportamiento del usuario. Para las recomendaciones de documento a documento, GCL puede identificar productos relacionados basándose en similitudes en características, patrones de interacción del usuario o relevancia contextual, incluso cuando los artículos no son abiertamente similares.
Resolución de entidades y deduplicación
Las capacidades de coincidencia de documento a documento de GCL lo hacen potente para tareas de resolución de entidades y deduplicación. Puede identificar artículos similares o idénticos en un conjunto de datos, incluso cuando hay ligeras variaciones en cómo se describen o categorizan los artículos. Esto es particularmente útil en el comercio electrónico para identificar listados de productos duplicados o en proyectos de integración de datos donde la misma entidad podría representarse de manera diferente en múltiples fuentes de datos.
Búsqueda condicional
Esta característica permite a GCL incorporar información contextual en el proceso de búsqueda. Por ejemplo, una búsqueda de winter jackets produce resultados diferentes según la ubicación del usuario (p. ej., chaquetas gruesas de plumón para climas fríos, chaquetas más ligeras para inviernos más templados). GCL aprende a ajustar sus resultados en función de estos factores condicionales, proporcionando resultados de búsqueda más relevantes adaptados a contextos o mercados específicos.
Búsqueda personalizada
GCL lleva la personalización un paso más allá al tener en cuenta el contexto específico del usuario, como el historial de navegación, los artículos en el carrito de compras actual o el comportamiento de compra pasado. Esto permite resultados de búsqueda altamente personalizados que se alinean con los intereses y necesidades actuales del usuario. Por ejemplo, si un usuario ha estado navegando por equipos de cámara de alta gama, una búsqueda de un trípode ****podría priorizar opciones de nivel profesional sobre alternativas económicas.
Clasificación y mapeo de taxonomías
GCL se puede aplicar a tareas de clasificación, como categorizar automáticamente productos en una taxonomía predefinida. Esto es particularmente útil para grandes plataformas de comercio electrónico o sistemas de gestión de contenido donde la categorización manual llevaría mucho tiempo y sería propensa a errores. GCL puede aprender de categorizaciones existentes e interacciones de usuarios para tomar decisiones inteligentes sobre cómo clasificar nuevos artículos, asegurando la coherencia y mejorando la organización general de grandes conjuntos de datos.
Estas tareas de ajuste fino hacen que GCL sea altamente adaptable a diversos desafíos de recuperación. Veamos cómo se está aplicando GCL en escenarios del mundo real.
Aplicaciones reales de GCL
Robertson compartió varios ejemplos de cómo se está utilizando GCL para resolver problemas del mundo real. Un caso notable involucró a una plataforma de comercio electrónico que inicialmente había implementado una solución básica de búsqueda vectorial usando un modelo estándar. Sin embargo, la plataforma experimentó una fuerte caída en las tasas de añadir al carrito y en la interacción general, ya que el sistema no proporcionaba resultados relevantes.
Tras integrar GCL, la plataforma experimentó mejoras significativas. Los productos que estaban más alineados con las preferencias de los usuarios se clasificaron más alto, lo que condujo a una mejor interacción y a un aumento de las ventas. La plataforma pudo aprovechar datos no estructurados como reseñas de usuarios e imágenes de productos para mejorar la relevancia de los resultados de búsqueda. Al incorporar datos de las interacciones de los usuarios, como clics y comportamiento de compra, la plataforma mejoró su capacidad para ofrecer resultados de búsqueda personalizados y clasificados.
En el ámbito de la investigación académica, GCL mejoró la recuperación de artículos de investigación relevantes al incorporar metadatos como detalles de autores y citas en el proceso de búsqueda. Esto no solo aceleró el proceso de búsqueda, sino que también aumentó la relevancia de los resultados, haciendo que el sistema fuera más eficaz para los investigadores que navegan por grandes bases de datos.
Veamos ahora cómo GCL incorpora técnicas avanzadas para mejorar aún más el rendimiento en entornos de producción.
Técnicas avanzadas en GCL
Robertson mencionó varias técnicas avanzadas que pueden mejorar aún más el rendimiento de los modelos GCL. Estas incluyen métodos de entrenamiento orientados a producción, como el truncamiento y la binarización de embeddings.
Figura 4: Truncamiento y binarización de embeddings
El entrenamiento consciente del truncamiento permite la creación de embeddings Matryoshka, que pueden reducir el tamaño de los embeddings entre 2 y 4 veces sin pérdida de fidelidad. El modelo aprende a crear representaciones significativas de varios tamaños a partir de un único modelo. Aprender a binarizar es otra técnica que permite reducciones significativas en almacenamiento y latencia con una pérdida mínima de fidelidad, al aprender embeddings que son solo 0 o 1. Estas técnicas son particularmente valiosas en entornos de producción, donde los costos de almacenamiento y la velocidad de recuperación son factores críticos.
GCL también admite la creación de embeddings condicionales, que permiten un control más matizado sobre los resultados de búsqueda
Figura 5: Embeddings condicionales
Al usar prefijos o declaraciones condicionales en las consultas, el modelo puede aprender a ajustar sus resultados en función de condiciones específicas. Por ejemplo, Marketplace de EE. UU.: cámara SLR podría producir resultados diferentes a Marketplace del Reino Unido: cámara SLR. Los embeddings condicionales también pueden usarse para influir en el estilo o la calidad de los resultados, de manera similar a cómo funcionan los prompts en los modelos de generación de imágenes.
Estas técnicas avanzadas no solo mejoran los aspectos técnicos de GCL, sino que también conducen a mejoras de rendimiento en tareas de recuperación del mundo real. Veamos cómo se comportan los modelos entrenados con GCL en comparación con los enfoques tradicionales.
Mejoras de rendimiento con GCL
El uso de GCL mejora el rendimiento en varios escenarios. Veamos algunos de los compartidos por Robertson:
Figura 6: Comparación de rendimiento entre modelos de embedding entrenados con GCL frente a otros
El rendimiento dentro del dominio mostró un aumento de 6 veces en NDCG (Normalized Discounted Cumulative Gain) en comparación con los modelos preentrenados. Para consultas nuevas no vistas durante el entrenamiento, GCL aún superó a los modelos preentrenados por casi 3 veces. Cuando se aplicó a nuevos conjuntos de datos no vistos durante el entrenamiento, GCL mantuvo su ventaja de rendimiento. Incluso en escenarios zero-shot, GCL mostró mejoras en NDCG en comparación con los modelos tradicionales. Estos resultados demuestran la robustez y generalizabilidad de GCL en diversos escenarios de recuperación.
Con mejoras tan significativas en la eficacia de la recuperación, especialmente en escenarios novedosos y zero-shot, GCL está preparado para redefinir el rendimiento en los sistemas de recuperación. Ahora, veamos cómo puedes llevar estas ventajas a tus propias aplicaciones RAG aprovechando GCL con Milvus.
Aprovechar GCL con Milvus para aplicaciones RAG
Si bien Marqo proporciona una solución integral para la recuperación basada en embeddings, muchas organizaciones ya dependen de Milvus para sus necesidades de bases de datos vectoriales. Si estás usando Milvus o planeas integrarlo en tu infraestructura de datos, aún puedes beneficiarte de los modelos ajustados con GCL en tus aplicaciones de Retrieval-Augmented Generation (RAG).
Así es como puedes integrar GCL con Milvus para RAG:
Ajuste fino con Marqtune: Usa Marqtune, la plataforma de ajuste fino de Marqo, para aplicar GCL a modelos preentrenados. Este proceso optimiza el modelo para tus tareas de recuperación específicas.
Descarga del modelo ajustado: Después del ajuste fino, descarga el modelo optimizado desde Marqtune.
Integración con Milvus: Usa el modelo ajustado para generar embeddings, que luego pueden almacenarse y buscarse en Milvus.
Recuperación eficiente: Aprovecha las capacidades optimizadas de Milvus para la recuperación vectorial a gran escala y alta velocidad. Cuando se combina con los embeddings conscientes de la consulta de GCL, Milvus puede clasificar y devolver eficientemente resultados relevantes, incluso en conjuntos de datos complejos y multimodales.
Escalabilidad: A medida que tu conjunto de datos crece, Milvus puede manejar las crecientes demandas de almacenar y buscar miles de millones de embeddings, garantizando que el rendimiento siga siendo constante.
Con la potencia combinada de GCL y Milvus, los sistemas aumentados por recuperación pueden lograr una escalabilidad y un rendimiento impresionantes. Pero ¿qué hace que Milvus sea una opción tan ideal para estas aplicaciones?
¿Por qué elegir Milvus para tu sistema RAG mejorado con GCL?
Al implementar un sistema de Retrieval-Augmented Generation (RAG) usando modelos ajustados con Generalized Contrastive Learning (GCL), elegir la base de datos vectorial adecuada es crucial. Milvus destaca como una excelente opción debido a sus funciones robustas y tecnologías avanzadas. Exploremos por qué Milvus es idóneo para manejar embeddings generados por GCL e impulsar aplicaciones RAG eficientes.
Características clave de Milvus
Soporte multiinquilino: Milvus permite que múltiples usuarios o aplicaciones trabajen en el mismo sistema sin interferir entre sí. Esta función proporciona acceso a datos seguro y aislado, lo que lo hace ideal para entornos empresariales donde diferentes equipos o proyectos pueden necesitar usar la misma instancia de Milvus. En el contexto de los sistemas RAG mejorados con GCL, puedes ejecutar múltiples tareas de recuperación para diferentes departamentos o casos de uso en una sola implementación de Milvus, manteniendo la separación y seguridad de los datos.
Arquitectura escalable y elástica: Diseñado para manejar necesidades de datos crecientes, Milvus escala automáticamente para satisfacer la demanda. Esto garantiza que el rendimiento siga siendo óptimo a medida que aumenta el volumen de datos. Esta escalabilidad es crucial para las aplicaciones RAG, que a menudo tratan con colecciones de documentos en rápida expansión. A medida que ajustas más modelos con GCL y generas más embeddings, Milvus puede adaptarse sin esfuerzo al crecimiento sin comprometer la velocidad ni la eficiencia de recuperación.
Soporte para índices diversos: Milvus admite múltiples tipos de índices, incluidos HNSW (Hierarchical Navigable Small World), PQ (Product Quantization), Binary y DiskANN. Esta variedad te permite elegir el tipo de índice más apropiado para tu caso de uso específico, equilibrando velocidad de búsqueda, precisión y eficiencia de almacenamiento. Por ejemplo, HNSW podría ser ideal para búsquedas de alta velocidad en embeddings generados por GCL, mientras que PQ podría usarse para un almacenamiento más compacto de grandes conjuntos de embeddings.
Consistencia ajustable: Milvus te permite ajustar los niveles de consistencia de tus datos, lo que posibilita un equilibrio entre rendimiento y precisión de los datos según las necesidades de tu aplicación. En el contexto de los sistemas RAG, esta función es particularmente útil. Podrías priorizar la velocidad de búsqueda para aplicaciones en tiempo real, u optar por una consistencia más sólida en escenarios donde la precisión de los datos es primordial, como en aplicaciones financieras o médicas.
Cómputo acelerado por hardware: Optimizado para aprovechar hardware como GPUs, Milvus ofrece un procesamiento más rápido y eficiente para tareas intensivas en recursos. Esto es especialmente beneficioso al trabajar con modelos GCL, que pueden ser computacionalmente exigentes. La aceleración por hardware garantiza que, incluso a medida que crece tu base de datos de embeddings, los tiempos de recuperación sigan siendo rápidos, manteniendo la capacidad de respuesta de tu sistema RAG.
Tecnologías avanzadas que impulsan Milvus
Tipos de cómputo flexibles: Milvus está optimizado para diversos entornos de hardware, incluidos AVX512 (Advanced Vector Extensions), Neon para SIMD (Single Instruction, Multiple Data) y aceleración GPU. Esta flexibilidad permite a Milvus aprovechar eficazmente hardware de alto rendimiento, ofreciendo procesamiento rápido y escalabilidad rentable. Para sistemas RAG mejorados con GCL, esto significa que puedes elegir el tipo de cómputo más adecuado según tu hardware disponible y tus requisitos de rendimiento.
Capacidades de búsqueda versátiles: Milvus admite una amplia variedad de métodos de búsqueda, incluidos top-K ANN (Approximate Nearest Neighbors), range ANN y búsquedas filtradas. Estos diversos tipos de búsqueda te permiten adaptar la funcionalidad de recuperación a tus necesidades específicas. Por ejemplo, top-K ANN podría utilizarse para encontrar los documentos más relevantes para un embedding de consulta determinado, mientras que las búsquedas filtradas podrían combinar similitud semántica con filtros de metadatos para recuperaciones más precisas.
Técnicas avanzadas de indexación: Con soporte para 15 tipos de indexación diferentes, Milvus ofrece flexibilidad en la forma en que los datos se almacenan y se buscan. Esto incluye técnicas avanzadas como HNSW para búsquedas de alta velocidad y DiskANN para manejar conjuntos de datos masivos. La elección correcta del índice puede afectar significativamente el rendimiento de tu sistema RAG, permitiéndote optimizar ya sea la velocidad de búsqueda o la eficiencia de memoria, según tus prioridades.
Flexibilidad de lenguajes y API: Milvus proporciona soporte para múltiples lenguajes de programación, incluidos Python, Java, Go y Node.js. Esta versatilidad facilita la integración de Milvus en stacks tecnológicos existentes y permite a los desarrolladores trabajar con sus lenguajes preferidos. Para los sistemas RAG, esto significa que puedes incorporar Milvus sin problemas en tu base de código existente, independientemente del lenguaje en el que esté construida.
Gestión de datos robusta: Milvus ofrece capacidades sofisticadas de gestión de datos, incluida la gestión de colecciones y particiones. Esto permite una organización y recuperación eficientes de conjuntos de datos de embeddings a gran escala. Para sistemas RAG mejorados con GCL, puedes estructurar tus embeddings en colecciones lógicas (por ejemplo, por tipo de documento o dominio) y particiones, lo que permite búsquedas más específicas y eficientes.
Dada su arquitectura robusta y sus capacidades avanzadas, Milvus proporciona la infraestructura ideal para aprovechar modelos mejorados con GCL en sistemas aumentados por recuperación.
Conclusión
Robertson hizo un gran trabajo al mostrar cómo el Aprendizaje Contrastivo Generalizado (GCL) mejora la recuperación al introducir conciencia de rango y de consulta, mejorando la relevancia y la clasificación de los resultados. Este enfoque va más allá de los modelos binarios tradicionales, lo que lo hace altamente eficaz para aplicaciones como el comercio electrónico y la investigación académica.
También hemos visto cómo Milvus respalda aún más estos avances con su arquitectura escalable y su manejo eficiente de embeddings, lo que permite una recuperación de alta velocidad y un rendimiento optimizado para conjuntos de datos complejos y multimodales. Juntos, GCL y Milvus proporcionan una solución robusta para crear sistemas de próxima generación aumentados por recuperación.
Sigue leyendo

How to Install and Run OpenClaw (Previously Clawdbot/Moltbot) on Mac
Turn your Mac into an AI gateway for WhatsApp, Telegram, Discord, iMessage, and more — in under 5 minutes.

Why Not All VectorDBs Are Agent-Ready
Explore why choosing the right vector database is critical for scaling AI agents, and why traditional solutions fall short in production.

Legal Document Analysis: Harnessing Zilliz Cloud's Semantic Search and RAG for Legal Insights
Enhance legal document analysis with Zilliz Cloud’s Semantic Search and RAG. Improve accuracy, efficiency, and scalability for contracts, case law, and compliance.


