Índice del contenido[Esconder][Espectáculo]
Científicos de datos y los profesionales del aprendizaje automático manejan una cantidad significativa de datos de varios tipos en un proyecto típico de ciencia de datos. Se han desarrollado numerosos modelos con varias configuraciones y características, así como múltiples iteraciones de ajuste de parámetros para obtener el rendimiento óptimo.
En tal escenario, todas las modificaciones de datos y los ajustes del proceso de construcción de modelos deben monitorearse y medirse para determinar qué funcionó y qué no. También es vital poder volver a una edición anterior y ver los resultados anteriores.
El control de versiones de datos (DVC), que ayuda a administrar los datos, el modelo subyacente y ejecutar resultados reproducibles, es una de esas tecnologías que nos permite monitorear todo esto.
En esta publicación, analizaremos de cerca el control de versiones de datos y las mejores herramientas para usar. Vamos a empezar.
¿Qué es el control de versiones de datos?
El control de versiones es necesario para todos los sistemas de producción. Un único punto de acceso a los datos más actualizados. Cualquier recurso que se modifique con frecuencia, en particular por parte de varios usuarios al mismo tiempo, necesita la creación de una pista de auditoría para realizar un seguimiento de todos los cambios.
El sistema de control de versiones es responsable de garantizar que todos los miembros del equipo estén en sintonía. Garantiza que todos los miembros del equipo estén trabajando en la versión más reciente del archivo y, lo que es más importante, que todos estén colaborando en el mismo proyecto a la vez.
¡Si tiene el equipo adecuado, puede lograr esto con un mínimo esfuerzo!
Tendrá conjuntos de datos consistentes y un archivo completo de toda su investigación si utiliza una estrategia de administración de versiones de datos confiable. Las herramientas de control de versiones de datos son fundamentales para su flujo de trabajo si le preocupa la reproducibilidad, la trazabilidad y el historial del modelo de ML.
Lo ayudan a adquirir una versión de un elemento, como un hash de un conjunto de datos o modelo, que luego puede usar para identificar y comparar. Esta versión de datos a menudo se ingresa en su solución de administración de metadatos para garantizar que la capacitación de su modelo esté versionada y sea repetible.
Las mejores herramientas de control de versiones de datos
Ahora es el momento de buscar las mejores soluciones de control de versiones de datos disponibles, que puede usar para realizar un seguimiento de cada parte de su código.
1. Git LFS
El proyecto Git LFS es de uso gratuito. Dentro de Git, los archivos grandes como muestras de audio, videos, bases de datos y fotos se sustituyen por punteros de texto, y el contenido del archivo se guarda en un servidor remoto como GitHub.com o GitHub Enterprise.
Le permite usar Git para crear versiones de archivos enormes, de hasta varios GB de tamaño, alojar más en sus repositorios Git utilizando almacenamiento externo y clonar y recuperar repositorios de archivos grandes más rápidamente. Cuando se trata de la gestión de datos, esta es una solución bastante ligera. Para trabajar con Git, no necesita ningún comando, sistema de almacenamiento o kit de herramientas adicionales.
Limita la cantidad de información que descargas. Esto implica que la clonación y recuperación de archivos grandes de los repositorios será más rápida. Los punteros están hechos de un material más ligero y apuntan al LFS.
Como resultado, cuando inserta su repositorio en el repositorio principal, se actualiza rápidamente y ocupa menos espacio.
Para Agencias y Operadores
- Se integra fácilmente en los flujos de trabajo de desarrollo de la mayoría de las empresas.
- No es necesario gestionar derechos adicionales porque utiliza los mismos permisos que el repositorio de Git.
Desventajas
- Git LFS requiere el uso de servidores dedicados para almacenar sus datos. Como resultado, sus equipos de ciencia de datos estarán comprometidos y su carga de trabajo de ingeniería aumentará.
- Muy especializado y puede requerir el uso de una variedad de herramientas diferentes para las fases posteriores en el flujo de trabajo de la ciencia de datos.
Precios
Es de uso gratuito para todos.
2. lagoFS
LakeFS es una solución de control de versiones de datos de código abierto que almacena datos en S3 o GCS y tiene un paradigma de ramificación y compromiso similar a Git que escala a petabytes.
Esta estrategia de bifurcación hace que su lago de datos sea compatible con ACID al permitir que se produzcan cambios en distintas ramas que se pueden construir, fusionar y revertir de forma atómica e instantánea.
LakeFS permite a los equipos crear actividades de lago de datos que son repetibles, atómicas y versionadas. Es un novato en la escena, pero es una fuerza a tener en cuenta.
Utiliza un enfoque de control de versión y bifurcación similar a Git para interactuar con su datos, escalable hasta Petabytes de datos. En una escala de exabytes, puede verificar el control de versiones.
Para Agencias y Operadores
- Las operaciones similares a Git incluyen bifurcación, compromiso, fusión y reversión.
- Los enlaces previos a la confirmación/combinación se utilizan para las comprobaciones de CI/CD de datos.
- Proporciona funciones complejas como transacciones ACID para almacenamiento en la nube simple como S3 y GCS, todo mientras se mantiene neutral en cuanto al formato.
- Revierta los cambios a los datos en tiempo real.
- Se escala fácilmente, lo que le permite adaptarse a lagos de datos muy grandes. El control de versiones se puede proporcionar tanto para la configuración de desarrollo como de producción.
Desventajas
- LakeFS es un producto nuevo, por lo que la funcionalidad y la documentación pueden cambiar más rápidamente que con las soluciones anteriores.
- Dado que se centra en el control de versiones de datos, deberá utilizar una variedad de herramientas adicionales para varias partes del flujo de trabajo de la ciencia de datos.
Precios
Es de uso gratuito para todos.
3. DVC
Data Version Control es una solución gratuita de control de versiones de datos diseñada para aplicaciones de ciencia de datos y aprendizaje automático. Es un programa que te permite definir tu tubería en cualquier idioma.
Al administrar archivos grandes, conjuntos de datos, modelos de aprendizaje automático, código, etc., la herramienta hace que los modelos de aprendizaje automático se puedan compartir y reproducir. El programa sigue el ejemplo de Git al proporcionar una línea de comando simple que se puede configurar en solo unos pocos pasos.
Como su nombre lo indica, DVC no se trata solo de control de versiones de datos. También facilita la gestión de canalizaciones y modelos de aprendizaje automático para equipos.
Finalmente, DVC ayudará a mejorar la consistencia de los modelos de su equipo y su repetibilidad. En lugar de usar complicados sufijos de archivos y comentarios en el código, aproveche Ramas de Git para probar nuevas ideas. Para viajar, emplee el seguimiento métrico automatizado en lugar de papel y lápiz.
Para transmitir paquetes consistentes de máquina de aprendizaje modelos, datos y código en producción, computadoras remotas o el escritorio de un colega, puede utilizar comandos push/pull en lugar de scripts ad-hoc.
Para Agencias y Operadores
- Es liviano, de código abierto y funciona con todas las principales plataformas en la nube y tipos de almacenamiento.
- Flexible, agnóstico de formato y marco, y simple de implementar.
- La evolución completa de cada modelo de ML se puede rastrear hasta su código fuente y sus datos.
Desventajas
- La gestión de canalizaciones y el control de versiones de DVC están íntimamente relacionados. Habrá redundancia si su equipo ya está utilizando otro producto de canalización de datos.
- Dado que DVC es liviano, es posible que su equipo deba diseñar funciones adicionales manualmente para que sea más fácil de usar.
Precios
Es de uso gratuito para todos.
4. deltalago
DeltaLake es una capa de almacenamiento de código abierto que aumenta la confiabilidad del lago de datos. Delta Lake admite transacciones ACID y gestión escalable de metadatos, además de transmisión y procesamiento de datos por lotes.
Funciona con las API de Apache Spark y se encuentra en su lago de datos existente. Delta Sharing es el primer protocolo abierto del mundo para el intercambio seguro de datos en las empresas, lo que simplifica el intercambio de datos con otras empresas independientemente de sus sistemas informáticos.
Delta Lakes es capaz de manejar petabytes de datos con facilidad. Los metadatos se almacenan de la misma manera que los datos y los usuarios pueden obtenerlos mediante el método Describe Detail. Delta Lakes tiene una arquitectura única que puede leer datos de secuencias y lotes.
Upserts son fáciles de hacer usando Delta. Estos upserts o fusiones en la tabla Delta son comparables a las fusiones de SQL. Puede usarlo para integrar datos de otro marco de datos en su tabla y realizar actualizaciones, inserciones y eliminaciones.
Para Agencias y Operadores
- Muchas capacidades, como las transacciones ACID y la gestión sólida de metadatos, pueden estar disponibles en su solución de almacenamiento de datos actual.
- Delta Lake ahora puede administrar sin esfuerzo tablas con miles de millones de particiones y archivos en una escala de petabytes.
- Reduce la necesidad de un control manual de la versión de los datos y otras preocupaciones sobre los datos, lo que permite a los desarrolladores concentrarse en desarrollar productos además de sus lagos de datos.
Desventajas
- Como fue diseñado para trabajar con Spark y grandes cantidades de datos, Delta Lake generalmente está sobrecargado para la mayoría de las tareas.
- Requiere el uso de un formato de datos dedicado, lo que limita su flexibilidad y lo hace incompatible con sus formularios actuales.
Precios
Es de uso gratuito para todos.
5. Imbécil
Dolt es una base de datos SQL que bifurca, clona, bifurca, fusiona, empuja y extrae de la misma manera que lo hace un repositorio git. Para mejorar la experiencia del usuario de una base de datos de control de versiones, Dolt permite que los datos y la estructura cambien de forma sincronizada.
Es una excelente herramienta para que usted y sus compañeros de trabajo colaboren. Puede conectarse a Dolt de la misma manera que lo haría con cualquier otra base de datos MySQL y ejecutar consultas o realizar cambios en los datos mediante comandos SQL.
Cuando se trata de control de versiones de datos, Dolt es único en su tipo. Dolt es una base de datos, a diferencia de algunas de las otras soluciones que solo versionan datos. Si bien el software se encuentra actualmente en sus primeras etapas, se espera que sea totalmente compatible con Git y MySQL en un futuro cercano.
Todos los comandos con los que está familiarizado con Git también funcionarán con Dolt. Archivos de versiones de Git, tablas de versiones de Dolt Utilizando la interfaz de línea de comandos, importe archivos CSV, confirme sus cambios, publíquelos en un control remoto y combine los cambios de su compañero de equipo.
Para Agencias y Operadores
- Ligero y de código abierto en parte.
- En comparación con opciones más oscuras, tiene una interfaz SQL, lo que la hace más accesible para los analistas de datos.
Desventajas
- En comparación con otras alternativas de versiones de bases de datos, Dolt es todavía un producto en desarrollo.
- Dado que Dolt es una base de datos, debe transferir sus datos para obtener los beneficios.
Precios
Todos son bienvenidos a usar la sesión comunitaria. La plataforma no proporciona precios premium; en su lugar, debe ponerse en contacto con el proveedor.
6. Paquidermo
Pachyderm es un sistema gratuito de control de versiones de ciencia de datos con muchas funciones. Pachyderm Enterprise es una poderosa plataforma de ciencia de datos diseñada para la colaboración a gran escala en entornos altamente seguros.
Pachyderm es una de las pocas plataformas de ciencia de datos de la lista. El objetivo de Pachyderm es proporcionar una plataforma que gestione el ciclo de datos completo y simplifique la duplicación de los resultados de los modelos de aprendizaje automático. Pachyderm se conoce como "el acoplador de datos" en este contexto. Pachyderm empaqueta su entorno de ejecución utilizando contenedores Docker. Esto simplifica la duplicación de los mismos resultados.
Los científicos de datos y los equipos de DevOps pueden implementar modelos con confianza gracias a la combinación de datos versionados con Docker. Gracias a un sistema de almacenamiento eficiente, se pueden mantener petabytes de datos estructurados y no estructurados mientras los costos de almacenamiento se reducen al mínimo.
A lo largo de las fases de canalización, el control de versiones basado en archivos proporciona un registro de auditoría completo para todos los datos y artefactos, incluidos los resultados intermedios. Muchas de las capacidades de la herramienta están impulsadas por estos pilares, que ayudan a los equipos a aprovecharla al máximo.
Para Agencias y Operadores
- Basado en contenedores, sus entornos de datos serán portátiles y fáciles de transferir entre proveedores de nube.
- Robusto, con la capacidad de escalar desde sistemas pequeños a extremadamente grandes.
Desventajas
- Dado que hay tantos elementos en movimiento, como el servidor Kubernetes necesario para manejar la edición gratuita de Pachyderm, la curva de aprendizaje es más pronunciada.
- Pachyderm puede ser un desafío para incorporar a la infraestructura existente de una empresa debido a sus muchos componentes tecnológicos.
Precios
Puede comenzar a usar la plataforma con la sesión comunitaria y para la edición empresarial, debe comunicarse con el proveedor.
7. Neptuno
Los metadatos de creación de modelos son administrados por el almacén de metadatos de ML, que es un aspecto importante de la pila de MLOps. Para cada flujo de trabajo de MLOps, Neptune sirve como almacenamiento centralizado de metadatos.
Puede realizar un seguimiento, visualizar y comparar miles de modelos de aprendizaje automático, todo en un solo lugar. Incluye funciones como el seguimiento de experimentos, el registro de modelos y la supervisión de modelos, así como una interfaz de colaboración. Incluye más de 25 herramientas y bibliotecas diferentes integradas, incluidas varias herramientas de entrenamiento de modelos y ajuste de hiperparámetros.
Puede inscribirse en Neptune sin usar su tarjeta de crédito. Una cuenta de Gmail será suficiente en su lugar.
Para Agencias y Operadores
- La integración con cualquier canalización, flujo, base de código o marco es simple.
- Las visualizaciones en tiempo real, la API fácil y el soporte rápido
- Con Neptune, puede hacer una "copia de seguridad" de todos los datos de sus experimentos en una ubicación, que puede recuperar más tarde.
Desventajas
- Aunque no es del todo de código abierto, una versión individual presumiblemente sería suficiente para uso privado, aunque dicho acceso está limitado a un mes.
- Hay algunos pequeños defectos de diseño que se pueden encontrar.
Precios
Puede comenzar a usar la plataforma con el plan Individual, que es de uso gratuito para todos. La sección de precios comienza desde $ 150 / mes.
Conclusión
En esta publicación, discutimos las mejores herramientas de control de versiones de datos. Cada herramienta, como hemos visto, tiene su propio conjunto de funciones. Algunos eran gratuitos, mientras que otros requerían pago. Algunos se adaptan bien al modelo de pequeña empresa, mientras que otros se adaptan mejor al modelo de gran empresa.
Como consecuencia, debe seleccionar el mejor software para sus propósitos después de sopesar las ventajas y desventajas. Le recomendamos que pruebe la versión de prueba gratuita antes de comprar un producto premium.
Deje un comentario