Navegando los desafíos de la gestión de ML: herramientas e ideas para el éxito
A medida que el aprendizaje automático (ML) continúa avanzando a una velocidad vertiginosa, la complejidad de gestionar y versionar conjuntos de datos y modelos masivos ha crecido exponencialmente. Aunque los desarrolladores han confiado durante mucho tiempo en herramientas como Git para el control de versiones en el desarrollo de software, los desafíos únicos del aprendizaje automático requieren soluciones más especializadas. A diferencia del software, donde las bases de código pueden versionarse y gestionarse con relativa facilidad, los modelos de ML, los conjuntos de datos y los artefactos a menudo carecen de un estándar industrial unificado para el versionado y la gestión.
En un reciente Unstructured Data Meetup organizado por Zilliz, Rajat Arya, cofundador de XetHub (ahora adquirido por HuggingFace), habló sobre cómo él y su equipo abordaron esta brecha en el versionado y la gestión de ML. Su equipo desarrolló XetHub, una herramienta que escala Git para manejar datos a escala de petabytes. Sí, leíste bien: datos a escala de petabytes. Pero ¿por qué era necesario esto? ¿Qué beneficios aporta y cómo funciona? ¿Cómo se relaciona con las bases de datos vectoriales? Profundicemos en las ideas de Arya y analicemos los puntos clave.
Mira la repetición de la charla de Rajat
Los puntos débiles en el desarrollo de aprendizaje automático
Uno de los principales obstáculos en el desarrollo de aprendizaje automático es la ausencia de herramientas integrales que cubran todo el flujo de trabajo de ML. Aunque existen numerosas herramientas para tareas específicas, hay una brecha significativa cuando se trata de soluciones que gestionen eficientemente el proceso de extremo a extremo. Estos son algunos puntos débiles clave:
Escalabilidad
Gestionar conjuntos de datos que pueden escalar hasta 100 petabytes y más allá es un desafío enorme, especialmente cuando las herramientas tradicionales imponen limitaciones en la cantidad de archivos con los que puedes trabajar.
Gestión de datos
Crear instantáneas inmutables de repositorios es crucial para garantizar la integridad de los datos y facilitar el control de versiones. Sin esta capacidad, rastrear cambios y mantener la coherencia se vuelve difícil.
Colaboración
Facilitar una colaboración fluida entre científicos de datos e ingenieros es esencial. La revolución que trajo el control de código fuente al desarrollo de software no se ha extendido completamente a ML, donde la colaboración a menudo enfrenta obstáculos debido a la falta de herramientas estandarizadas.
Observabilidad
Entender cómo y cuándo ocurren los cambios en modelos y conjuntos de datos es crucial para depurar y mejorar los sistemas de ML. Sin visibilidad sobre estos cambios, los equipos tienen dificultades para iterar eficazmente.
De la investigación a las aplicaciones de ML en el mundo real: todo cambia
En los primeros días, el ML y la IA estaban principalmente enfocados en la investigación, con objetivos académicos que implicaban trabajar con conjuntos de datos estáticos, a menudo estructurados. El objetivo era mejorar métricas como la exactitud o las tasas de error, lo cual funcionaba bien en un entorno de investigación controlado.
Sin embargo, a medida que el ML ha pasado de la academia a la industria, el panorama ha cambiado drásticamente:
Conjuntos de datos estáticos vs. dinámicos
El ML académico a menudo trabaja con conjuntos de datos estáticos, pero el ML en la industria implica datos en constante cambio, a veces actualizados con tanta frecuencia como cada hora. Esta naturaleza dinámica requiere herramientas que puedan gestionar actualizaciones continuas sin problemas.
Datos estructurados vs. no estructurados
Si bien la investigación académica a menudo se centra en datos estructurados, las aplicaciones del mundo real con frecuencia implican datos no estructurados. Este cambio exige técnicas de procesamiento y manejo de datos más sofisticadas. Necesitamos bases de datos vectoriales diseñadas específicamente, como Milvus y Zilliz Cloud (Milvus totalmente gestionado), para el almacenamiento, la indexación y la recuperación de datos a fin de gestionar dichos datos no estructurados.
Complejidad creciente de los modelos
Los modelos de ML se están volviendo cada vez más complejos, con más parámetros y arquitecturas más profundas. Gestionar estos modelos complejos requiere herramientas que puedan escalar junto con ellos.
Integración con el código de la aplicación
En entornos industriales, los modelos de ML deben integrarse sin problemas con el código de la aplicación, lo que requiere un ecosistema cohesivo de paquetes y frameworks que funcionen juntos sin fricción.
Ampliación de las capacidades de Git para el aprendizaje automático con XetHub
XetHub aborda el desafío de la escalabilidad ampliando las capacidades de Git para gestionar eficientemente grandes conjuntos de datos y modelos. Así es como marca la diferencia:
Sin límites en el número de archivos: Git tradicional tiene dificultades para manejar una gran cantidad de archivos, pero XetHub elimina esta limitación, permitiendo un escalado fluido, independientemente del recuento de archivos.
Instantáneas inmutables: XetHub crea instantáneas inmutables, garantizando la consistencia y reproducibilidad de los datos, esenciales para un desarrollo de ML sólido.
Gestión eficiente de datos: En lugar de transferir grandes conjuntos de datos, XetHub gestiona metadatos y punteros, haciendo que el sistema sea más rápido y eficiente, ahorrando tanto tiempo como recursos.
Lograr observabilidad en proyectos de aprendizaje automático
La observabilidad es crucial para los modelos y sistemas de ML, ya que proporciona la visibilidad necesaria para depurar, iterar y mejorar los modelos. Estas son algunas sugerencias para mejorar la observabilidad en tus proyectos de ML:
Resumen de datos
Comienza con los datos. Crea un resumen aproximado, de una sola pasada, de tus datos y características. Esto es crucial porque te permite comprender los cambios en tu conjunto de datos a lo largo del tiempo. Por ejemplo, si el conjunto de datos A tiene distribuciones diferentes en distintos momentos, contar con resúmenes te permite tomar decisiones informadas en función de estos cambios.
Métricas y comportamiento del modelo
Almacena no solo las métricas de tu modelo, sino también comprende cómo se comporta tu modelo. Por ejemplo, hacer seguimiento de la importancia de las características de tus modelos de ML te ayuda a ver qué características impulsan las predicciones. Los cambios en la importancia de las características podrían indicar cambios en tus datos de entrenamiento o modificaciones arquitectónicas. Esta comprensión profunda de tus modelos garantiza que puedas depurarlos y mejorarlos rápidamente.
Cómputo y operaciones
El cómputo es integral para la observabilidad de ML. Cada operación, ya sea sobre datos, código, artefactos u otros activos, debe almacenarse para cada commit o cambio. Este seguimiento integral permite una observabilidad completa de ML, garantizando eficiencia, trazabilidad y reproducibilidad en diferentes ejecuciones del mismo proceso.
El papel de las bases de datos vectoriales en el aprendizaje automático moderno
Las bases de datos vectoriales, como Milvus y Zilliz Cloud (Milvus totalmente gestionado), son un tipo de sistemas de gestión de datos que almacenan, indexan y recuperan datos de alta dimensionalidad: representaciones numéricas (también conocidas como incrustaciones vectoriales) de datos no estructurados como texto, videos, audio e imágenes. Se utilizan ampliamente para búsqueda por similitud, búsqueda semántica, sistemas de recomendación, generación aumentada por recuperación (RAG) y muchos otros casos de uso.
A medida que los modelos de ML y los conjuntos de datos se vuelven más complejos, gestionar y recuperar enormes cantidades de datos de alta dimensionalidad se vuelve cada vez más desafiante. Las bases de datos vectoriales abordan este desafío y ofrecen soluciones que las bases de datos tradicionales no pueden igualar.
Generación aumentada por recuperación (RAG)
Una de las aplicaciones más interesantes de las bases de datos vectoriales es la Generación aumentada por recuperación (RAG). Esta técnica combina el poder de los modelos de lenguaje grandes (LLMs) con una recuperación eficiente de datos vectoriales. En una configuración RAG, una consulta de entrada se transforma en un vector mediante un modelo de machine learning como los modelos de embeddings de texto de OpenAI y se busca en una vasta colección de vectores almacenados en una base de datos vectorial como Milvus. Los resultados más relevantes se recuperan y se introducen en el LLM, lo que le permite generar respuestas más precisas y contextualmente relevantes. Este enfoque no solo mitiga los problemas de alucinación en los LLMs y hace posible aprovechar el potencial de conjuntos de datos privados o propietarios sin preocuparse por problemas de seguridad de los datos.
Cerrando la brecha entre la investigación y la industria
La transición del ML centrado en la investigación a aplicaciones del mundo real a menudo implica trabajar con datos no estructurados y dinámicos. Las bases de datos vectoriales están especialmente preparadas para manejar este desafío, lo que permite la adaptación continua de los modelos de ML a los datos más recientes. Esta adaptabilidad garantiza que los modelos sigan siendo relevantes y eficaces incluso a medida que los datos subyacentes evolucionan.
Por ejemplo, en el comercio electrónico, donde las descripciones de productos y las reseñas de clientes se actualizan constantemente, una base de datos vectorial como Milvus puede recuperar rápidamente la información más pertinente, lo que permite al modelo de ML proporcionar recomendaciones e insights actualizados.
Integración fluida con herramientas como XetHub
La capacidad de XetHub para gestionar datos a escala de petabytes complementa las fortalezas de las bases de datos vectoriales. Al crear instantáneas inmutables y gestionar metadatos de manera eficiente, XetHub garantiza que los proyectos de ML a gran escala mantengan la integridad de los datos y el control de versiones, incluso a medida que escalan. Las bases de datos vectoriales pueden integrarse con diversos modelos y herramientas de machine learning como XetHub, respaldando el desarrollo y despliegue de modelos de ML, particularmente en escenarios como RAG, donde la precisión y relevancia de la recuperación de información son fundamentales.
Conclusión
La conversación de Rajat Arya destacó los importantes desafíos en machine learning y la necesidad de mejores herramientas para gestionar y versionar modelos y datos. XetHub aborda estas necesidades ampliando las capacidades de Git para manejar conjuntos de datos masivos de manera eficiente.
A medida que el machine learning continúa avanzando, contar con herramientas sólidas para la observabilidad y la gestión de datos se vuelve crucial. Al combinar soluciones como XetHub con bases de datos vectoriales y modelos de machine learning, podemos mejorar la eficacia de los proyectos de ML, garantizando que estén bien gestionados y sean adaptables a nuevos datos. Estas combinaciones respaldan una transición más fluida de la investigación a las aplicaciones del mundo real, haciendo que el desarrollo de IA sea más práctico y fiable.
Recursos adicionales
Repetición de la charla Meetup de Rajat Arya en YouTube.
Artículo: Git is for Data
Modelos de IA de mayor rendimiento para tus apps GenAI | Zilliz
Centro de aprendizaje de IA, bases de datos vectoriales y aprendizaje automático
Sigue leyendo

Introducing Zilliz Cloud Global Cluster: Region-Level Resilience for Mission-Critical AI
Zilliz Cloud Global Cluster delivers multi-region resilience, automatic failover, and fast global AI search with built-in security and compliance.

Introducing Zilliz MCP Server: Natural Language Access to Your Vector Database
Developers can easily manage and query vector databases with natural language via Zilliz MCP Server in AI-native environments.

Building RAG Pipelines for Real-Time Data with Cloudera and Milvus
explore how Cloudera can be integrated with Milvus to effectively implement some of the key functionalities of RAG pipelines.



