Científicos de datos e os profesionais da aprendizaxe automática tratan un número importante de datos de varios tipos nun proxecto típico de ciencia de datos. Desenvolvéronse numerosos modelos con varias configuracións e funcións, así como múltiples iteracións de axuste de parámetros para obter o rendemento óptimo.
Neste escenario, todas as modificacións de datos e os axustes do proceso de construción do modelo deben ser supervisados e medidos para determinar o que funcionou e o que non. Tamén é vital poder volver a unha edición anterior e mirar os resultados anteriores.
Data Version Control (DVC), que axuda a xestionar os datos, o modelo subxacente e a execución de resultados reproducibles, é unha desas tecnoloxías que nos permite supervisar todo isto.
Nesta publicación, analizaremos de preto o Control de versións de datos e as mellores ferramentas para usar. Imos comezar.
Que é o control de versión de datos?
A versión é necesaria para todos os sistemas de produción. Un único punto de acceso aos datos máis actualizados. Calquera recurso que adoita ser modificado, especialmente por varios usuarios ao mesmo tempo, necesita a creación dunha pista de auditoría para facer un seguimento de todos os cambios.
O sistema de control de versións é o responsable de garantir que todos os membros do equipo estean na mesma páxina. Garante que todos os membros do equipo están a traballar na versión máis recente do ficheiro e, o que é máis importante, que todos están colaborando no mesmo proxecto á vez.
Se tes o equipo axeitado, podes facelo cun esforzo mínimo!
Terá conxuntos de datos consistentes e un arquivo completo de toda a súa investigación se utiliza unha estratexia fiable de xestión de versións de datos. As ferramentas de versión de datos son fundamentais para o teu fluxo de traballo se che importa a reproducibilidade, a trazabilidade e o historial do modelo de ML.
Axúdanche a adquirir unha versión dun elemento, como un hash dun conxunto de datos ou modelo, que despois podes usar para identificar e comparar. Esta versión de datos adoita introducirse na túa solución de xestión de metadatos para garantir que o teu modelo de adestramento sexa versionado e repetible.
Mellores ferramentas de control de versións de datos
Agora é o momento de mirar as mellores solucións de control de versións de datos dispoñibles, que podes usar para facer un seguimento de cada parte do teu código.
1. git-lfs
O proxecto Git LFS é gratuíto. Dentro de Git, os ficheiros grandes como mostras de audio, vídeos, bases de datos e fotos substitúense por punteiros de texto e o contido do ficheiro gárdase nun servidor remoto como GitHub.com ou GitHub Enterprise.
Permítelle usar Git para versiónr ficheiros enormes (de ata varios GB de tamaño) aloxar máis nos seus repositorios Git utilizando almacenamento externo e clonar e recuperar depósitos de ficheiros grandes máis rapidamente. Cando se trata de xestión de datos, esta é unha solución bastante lixeira. Para traballar con Git, non precisas de comandos, sistemas de almacenamento ou conxuntos de ferramentas adicionais.
Limita a cantidade de información que descargas. Isto implica que clonar e recuperar ficheiros grandes dos repositorios será máis rápido. Os punteiros están feitos dun material máis lixeiro e apuntan ao LFS.
Como resultado, cando empurra o repositorio no repositorio principal, actualízase rapidamente e ocupa menos espazo.
Pros
- Intégrase facilmente nos fluxos de traballo de desenvolvemento da maioría das empresas.
- Non é necesario xestionar dereitos adicionais porque usa os mesmos permisos que o repositorio de Git.
Contra
- Git LFS require o uso de servidores dedicados para almacenar os teus datos. Como resultado, os teus equipos de ciencia de datos estarán bloqueados e a túa carga de traballo de enxeñería aumentará.
- Moi especializado, e pode requirir o uso dunha variedade de ferramentas diferentes para as fases posteriores do fluxo de traballo de ciencia de datos.
prezos
É de uso gratuíto para todos.
2. LagoFS
LakeFS é unha solución de versión de datos de código aberto que almacena datos en S3 ou GCS e ten un paradigma de ramificación e compromiso similar a Git que se escala a petabytes.
Esta estratexia de ramificación fai que o teu data lake cumpra ACID ao permitir que se produzan cambios en ramas distintas que se poden construír, fusionar e revertir atómica e instantáneamente.
LakeFS permite aos equipos crear actividades de data lake que sexan repetibles, atómicas e versionadas. É un novato na escena, pero é unha forza a ter en conta.
Usa un enfoque de ramificación e control de versións como Git para interactuar co teu lago de datos, escalable ata Petabytes de datos. Nunha escala de exabytes, pode comprobar o control de versión.
Pros
- As operacións similares a Git inclúen ramificación, confirmación, fusión e reversión.
- Os ganchos de pre-commit/fusion úsanse para as comprobacións de CI/CD de datos.
- Ofrece funcións complexas como transaccións ACID para o almacenamento sinxelo na nube como S3 e GCS, mantendo o formato neutro.
- Reverter os cambios nos datos en tempo real.
- Escala facilmente, o que lle permite acomodar lagos de datos moi enormes. O control de versións pódese proporcionar tanto para a configuración de desenvolvemento como de produción.
Contra
- LakeFS é un produto novo, polo que a funcionalidade e a documentación poden cambiar máis rápido que con solucións anteriores.
- Dado que se centra na versión de datos, terás que utilizar unha variedade de ferramentas adicionais para varias partes do fluxo de traballo de ciencia de datos.
prezos
É de uso gratuíto para todos.
3. DVC
Data Version Control é unha solución gratuíta de versión de datos deseñada para aplicacións de ciencia de datos e aprendizaxe automática. É un programa que che permite definir o teu pipeline en calquera idioma.
Ao xestionar ficheiros grandes, conxuntos de datos, modelos de aprendizaxe automática, código, etc., a ferramenta fai que os modelos de aprendizaxe automática sexan compartibles e reproducibles. O programa segue o exemplo de Git ao proporcionar unha liña de comandos sinxela que se pode configurar en só uns poucos pasos.
Como o seu nome indica, DVC non é só sobre a versión de datos. Tamén facilita a xestión de pipelines e modelos de aprendizaxe automática para equipos.
Finalmente, DVC axudará a mellorar a coherencia dos modelos do teu equipo e a súa repetibilidade. En lugar de usar complicados sufixos de ficheiros e comentarios no código, aproveita Ramas de Git para probar novas ideas. Para viaxar, utiliza o seguimento métrico automatizado en lugar de papel e lapis.
Para transmitir paquetes consistentes de aprendizaxe de máquina modelos, datos e código en produción, ordenadores distantes ou o escritorio dun colega, pode utilizar comandos push/pull en lugar de scripts ad-hoc.
Pros
- É lixeiro, de código aberto e funciona con todas as principais plataformas de nube e tipos de almacenamento.
- Flexible, independente do formato e do marco e sinxelo de implementar.
- A evolución completa de cada modelo de ML pódese rastrexar ata o seu código fonte e datos.
Contra
- A xestión de pipeline e o control de versións DVC están indisolublemente ligados. Haberá redundancia se o teu equipo xa está a utilizar outro produto de canalización de datos.
- Dado que DVC é lixeiro, é posible que o teu equipo teña que deseñar funcións adicionais manualmente para facelo máis fácil de usar.
prezos
É de uso gratuíto para todos.
4. Lago Delta
DeltaLake é unha capa de almacenamento de código aberto que aumenta a fiabilidade do lago de datos. Delta Lake admite transaccións ACID e xestión escalable de metadatos, ademais do procesamento de datos por lotes e streaming.
Funciona coas API de Apache Spark e sitúase no teu lago de datos existente. Delta Sharing é o primeiro protocolo aberto do mundo para compartir datos seguros nas empresas, polo que é sinxelo intercambiar datos con outras empresas independentemente dos seus sistemas informáticos.
Os Delta Lakes son capaces de manexar petabytes de datos con facilidade. Os metadatos gárdanse do mesmo xeito que os datos, e os usuarios poden obtelos mediante o método Describe Detail. Delta Lakes ten unha única arquitectura que pode ler tanto datos de fluxo como de lote.
Os upsers son sinxelos de facer usando Delta. Estas incorporacións ou fusións na táboa Delta son comparables ás fusións SQL. Podes usalo para integrar datos doutro marco de datos na túa táboa e realizar actualizacións, insercións e eliminacións.
Pros
- Moitas capacidades, como transaccións con ACID e unha sólida xestión de metadatos, poden estar dispoñibles na túa solución de almacenamento de datos actual.
- Delta Lake agora pode xestionar sen esforzo táboas con millóns de particións e ficheiros a unha escala de petabytes.
- Reduce a necesidade de controlar manualmente a versión dos datos e outros problemas de datos, o que permite aos desenvolvedores concentrarse no desenvolvemento de produtos ademais dos seus lagos de datos.
Contra
- Como foi deseñado para funcionar con Spark e con grandes datos, Delta Lake adoita estar exagerado para a maioría das tarefas.
- Require o uso dun formato de datos dedicado, o que limita a súa flexibilidade e faino incompatible cos seus formularios actuais.
prezos
É de uso gratuíto para todos.
5. Dolt
Dolt é unha base de datos SQL que fai bifurcación, clonación, ramificación, fusión, empuxe e extracción do mesmo xeito que o fai un repositorio git. Para mellorar a experiencia do usuario dunha base de datos de control de versións, Dolt permite que os datos e a estrutura cambien de forma sincronizada.
É unha excelente ferramenta para que ti e os teus compañeiros de traballo colabores. Pode conectarse a Dolt do mesmo xeito que se faría con calquera outra base de datos MySQL e realizar consultas ou facer cambios nos datos mediante comandos SQL.
Cando se trata de versións de datos, Dolt é único. Dolt é unha base de datos, en oposición a algunhas das outras solucións que só versión datos. Aínda que o software está actualmente nas súas primeiras etapas, hai esperanzas de facelo totalmente compatible con Git e MySQL nun futuro próximo.
Todos os comandos cos que estea familiarizado con Git tamén funcionarán con Dolt. Ficheiros de versións de Git, táboas de versións de Dolt Usando a interface de liña de comandos, importa ficheiros CSV, confirma os teus cambios, publícaos nun control remoto e fusiona os cambios do teu compañeiro de equipo.
Pros
- Lixeiro e de código aberto en parte.
- En comparación coas opcións máis escuras, ten unha interface SQL, o que o fai máis accesible para os analistas de datos.
Contra
- En comparación con outras alternativas de versión de bases de datos, Dolt aínda é un produto en desenvolvemento.
- Dado que Dolt é unha base de datos, debes transferir os teus datos a ela para obter os beneficios.
prezos
Todos poden usar a sesión da comunidade. A plataforma non ofrece prezos premium; en vez diso, debes contactar co provedor.
6. Paquidermo
Pachyderm é un sistema de control de versións de ciencia de datos gratuíto con moitas funcións. Pachyderm Enterprise é unha poderosa plataforma de ciencia de datos deseñada para a colaboración a gran escala en ambientes altamente seguros.
Pachyderm é unha das poucas plataformas de ciencia de datos da lista. O obxectivo de Pachyderm é proporcionar unha plataforma que xestione o ciclo completo de datos e facilite a duplicación dos descubrimentos dos modelos de aprendizaxe automática. Pachyderm é coñecido como "o Docker de datos" neste contexto. Pachyderm empaqueta o seu ambiente de execución usando contedores Docker. Isto fai que sexa sinxelo duplicar os mesmos resultados.
Os científicos de datos e os equipos de DevOps poden implantar modelos con confianza grazas á combinación de datos versionados con Docker. Grazas a un sistema de almacenamento eficiente, pódense manter petabytes de datos estruturados e non estruturados mentres os custos de almacenamento se manteñen ao mínimo.
Ao longo das fases do pipeline, a versión baseada en ficheiros proporciona un rexistro completo de auditoría de todos os datos e artefactos, incluídas as saídas intermedias. Moitas das capacidades da ferramenta están impulsadas por estes piares, que axudan aos equipos a sacarlle o máximo proveito.
Pros
- Segundo os contedores, os teus ambientes de datos serán portátiles e fáciles de transferir entre provedores de nube.
- Robusto, coa capacidade de escalar desde sistemas pequenos ata extremadamente grandes.
Contra
- Dado que hai tantos elementos en movemento, como o servidor de Kubernetes necesarios para xestionar a edición gratuíta de Pachyderm, hai unha curva de aprendizaxe máis pronunciada.
- Pachyderm pode ser un reto para incorporarse á infraestrutura existente dunha empresa debido aos seus moitos compoñentes tecnolóxicos.
prezos
Podes comezar a usar a plataforma coa sesión comunitaria e para a edición empresarial, tes que contactar co vendedor.
7. Neptuno
Os metadatos de creación de modelos son xestionados polo almacén de metadatos de ML, que é un aspecto importante da pila MLOps. Para cada fluxo de traballo MLOps, Neptune serve como almacenamento centralizado de metadatos.
Podes facer un seguimento, visualizar e comparar miles de modelos de aprendizaxe automática nun só lugar. Inclúe funcións como o seguimento de experimentos, o rexistro de modelos e o seguimento de modelos, así como unha interface colaborativa. Inclúe máis de 25 ferramentas e bibliotecas diferentes integradas, incluíndo varias ferramentas de adestramento de modelos e de axuste de hiperparámetros.
Podes unirte a Neptune sen usar a túa tarxeta de crédito. Unha conta de Gmail será suficiente no seu lugar.
Pros
- A integración con calquera canalización, fluxo, base de código ou marco é sinxela.
- As visualizacións en tempo real, a API sinxela e o soporte rápido
- Con Neptune, podes facer unha "copia de seguranza" de todos os datos dos teus experimentos nun só lugar, que podes recuperar máis tarde.
Contra
- Aínda que non é totalmente de código aberto, unha versión individual sería presumiblemente suficiente para uso privado, aínda que o acceso está limitado a un mes.
- Hai algúns pequenos defectos de deseño que se poden atopar.
prezos
Podes comezar a usar a plataforma co plan Individual que é gratuíto para todos. A sección de prezos comeza a partir de 150 dólares ao mes.
Conclusión
Nesta publicación, falamos das mellores ferramentas de versión de datos. Cada ferramenta, como vimos, ten o seu propio conxunto de características. Algúns eran gratuítos, mentres que outros requirían o pago. Algúns se adaptan ben ao modelo de pequenas empresas, mentres que outros son máis adecuados ao modelo de grandes empresas.
Como consecuencia, debes seleccionar o mellor software para os teus propósitos despois de sopesar as vantaxes e os inconvenientes. Recomendamos que probes a versión de proba gratuíta antes de comprar un produto premium.
Deixe unha resposta