paint-brush
Una nueva esperanza para la experimentación con MLby@yashnayak
1,589
1,589

Una nueva esperanza para la experimentación con ML

Yashaswi Nayak2022/07/04
Read on Terminal Reader
Read this story w/o Javascript

DVC VSCode Extension combina el poder de los comandos DVC para la gestión de datos, el control de versiones y la experimentación con la elegante experiencia de codificación de Visual Studio Code. DVC es una excelente herramienta para rastrear sus experimentos, modelos y artefactos relacionados, pero es una CLI, con la que muchos en la comunidad de ciencia de datos pueden no sentirse cómodos o familiarizados.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Una nueva esperanza para la experimentación con ML
Yashaswi Nayak HackerNoon profile picture


¡Hola a todos!


Considere un escenario: un científico de datos solitario trabaja en su sistema tratando de navegar a través de una gran cantidad de datos; limpiando, ordenando, procesando y luego construyendo un modelo para ejecutar la predicción en los datos recién procesados. La científica tiene un montón de herramientas a su disposición: Jupyter Notebooks, Airflow, Anaconda, Pandas, almacenamiento de datos y una máquina virtual en la nube.


Lo entrena durante horas y horas, solo para no alcanzar la perfección: el modelo no se desempeña tan bien como debería. Mira por la ventana, ya es de noche. Todavía tiene que probar su modelo con un conjunto diferente de parámetros y rastrear un conjunto de métricas diferentes de sus experimentos.


Apaga su sistema, da por terminado el día y lo intentará al día siguiente con otro modelo, un enfoque diferente con un montón de nuevos datos y parámetros. Este es un proceso largo que puede extenderse por días... semanas... y meses.


Es difícil retroceder a un punto en el que probó una combinación específica de parámetros para el experimento, a veces se pierde el conocimiento, ya que es posible que no se guarden todos los experimentos y todos los artefactos relacionados con el modelo. El seguimiento es crucial para la mejora del modelo ML.


Creo que este escenario de llanero solitario se puede evitar si tuviéramos un entorno completo de estilo IDE donde podemos ejecutar múltiples experimentos, administrar datos y rastrear nuestro código, experimentar métricas, gráficos, modelos y artefactos de datos también. ¿Qué tan genial sería eso?

Suena demasiado bueno para ser verdad, pero esto es lo que intenta hacer DVC VSCode Extension .


DVC es una excelente herramienta para rastrear sus experimentos, modelos y artefactos relacionados, pero es una CLI, con la que muchos en la comunidad de ciencia de datos pueden no sentirse cómodos o familiarizados.


Atrás quedaron los días en los que tenía que aprender un montón de molestos comandos CLI como este:


Usar DVC se volvió mucho más fácil y divertido.


Extensión de código VSC de DVC

Iterative Team le ofrece una extensión de VS Code que combina la potencia de los comandos DVC CLI para la gestión de datos, el control de versiones y la experimentación con la elegante experiencia de codificación de Visual Studio Code IDE.


La extensión en su forma actual le proporciona las siguientes características:


1. Paleta de comandos

Integrado en el menú de la paleta de comandos de VS Code. Presione F1 para abrir la paleta y escriba DVC para ver una gran cantidad de comandos relacionados con DVC a su disposición.


2. Tabla de Experimentos

Le brinda una vista detallada de los experimentos que se ejecutan en el espacio de trabajo. El equivalente del comando dvc exp show en el modo CLI.


3. Parcelas / Parcelas vivas

Puede ver los gráficos generados por la ejecución del experimento en el espacio de trabajo. Puede comparar las parcelas de diferentes experimentos. Incluso ver las parcelas actualizadas en tiempo real.


4. Gestión de control de fuentes

Puede comprobar el estado del espacio de trabajo mediante esta función. Puede realizar el pago de dvc checkout , dvc commit , dvc add , dvc push y dvc pull desde esta vista.


5. Artefactos rastreados: conjuntos de datos, modelos y tokenizadores

Una pequeña ventana para rastrear sus recursos en el espacio de trabajo. Desde aquí puede realizar acciones de archivo, push y pull recursos específicos y administrar los datos dentro de los conjuntos de datos rastreados.


6. Contenedor/bandeja de vista DVC

View Container se puede activar haciendo clic en el ícono DVC en la barra de íconos de VS Code. Da información general sobre los experimentos y recursos en el espacio de trabajo.


Aquí hay algunas ventajas en comparación con CLI solo cuando usa la extensión:

  • Oculta la complejidad de la CLI y elimina la fricción de la experiencia.
  • Mejorar las existentes y proporcionar visualizaciones adicionales.
  • Mover los flujos de trabajo de ciencia de datos al contexto de compilación: menos interrupciones inesperadas en el tiempo de enfoque.
  • Ver el rendimiento del experimento en tiempo real
  • Todo el mundo ama el Código VS ❤️🙂


Extensión DVC - Primeros pasos

El uso de la extensión DVC se puede resumir en 4 pasos

  1. Instalación - (Una vez)
  2. Configuración de su proyecto y datos
  3. Experimentación
  4. Trazado de gráficos y evaluación de modelos


Instalación

Asegúrese de tener DVC instalado en su sistema. Puedes ejecutar el siguiente comando en tu terminal:


 $ pip3 install dvc


O puede seguir la guía proporcionada aquí para la instalación específica del sistema operativo .


Vaya a VS Code y en el menú de extensiones, busque DVC. Haga clic en Instalar.


https://www.youtube.com/watch?v=INjOkuanRpc


Ahora tiene la extensión DVC lista para usar. Para familiarizarnos con el uso de la extensión, descargaremos un proyecto de ML de muestra.


Descargar proyecto de muestra

Puede descargar el proyecto de muestra desde el repositorio . Abra la carpeta en VS Code. La extensión DVC debe detectar el binario DVC y el entorno python.


Si tiene un entorno específico, puede presionar F1 y seleccionar DVC: Setup The Workspace

Proporcione la ruta del compilador y la ruta binaria del entorno de Python.


Uso de la extensión DVC

Puede ver los experimentos de DVC en el espacio de trabajo actual en la pestaña del contenedor de vista de DVC.


Extrayendo datos

Para comenzar nuestra experimentación, necesitamos extraer los datos. Presione F1 para abrir la paleta de comandos de VS Code y seleccione DVC: Pull


Puede ver la salida seleccionando DVC: Show DVC Output


Nota: A partir de ahora, el equipo todavía está trabajando en la opción de almacenamiento remoto DVC en el complemento VS Code, deberá configurar su almacenamiento remoto a través de la línea de comando o el archivo de configuración


Experimentación

Puede cambiar los parámetros en el archivo params.yaml y seleccionar DVC: Modify Experiment Param(s),Rest and Run en la paleta de comandos de VS Code.


https://www.youtube.com/watch?v=buuoKsGZvvo


Parcelas / Parcelas vivas

También puede verificar sus experimentos y ver los gráficos trazados usando la extensión.

Y la guinda del pastel es que la extensión le permite elegir sus experimentos. ¡Juego de palabras!


https://www.youtube.com/watch?v=N0VdjyQCo3Q


Eso no es todo, puede ejecutar experimentos individuales y cambiar parámetros específicos.

Si desea ver sus gráficos en vivo, para experimentos que toman mucho tiempo, digamos un modelo DL tal vez con muchas épocas.


También puede verlos en tiempo real. Simplemente ejecute su experimento y haga clic en el botón de gráficos en la bandeja de DVC.


https://www.youtube.com/watch?v=ov5ScDPV6Rw


Cuando todo esté bien y hecho, también puede confirmar y enviar sus cambios.

El equipo de Iterative agregará pronto más funciones interesantes a la extensión. Manténganse al tanto.


No dejes que te retengamos, adelante y comienza a experimentar. ¡Feliz tiempo DVC!



Un poco de filosofía de despedida.

Como practicante de ML Ops, me enfrento a varios desafíos cuando trabajo con diferentes equipos de ciencia de datos. Hay varias herramientas disponibles en el mercado, tanto de pago como de código abierto. Tiendo a inclinarme por las herramientas de código abierto, ya que existe un parentesco con una comunidad que está ayudando activamente a extraños en todo el mundo a resolver problemas similares.


Este enfoque es de gran importancia para la comunidad de ML, ya que todavía estamos en la etapa de adopción, donde una buena herramienta puede ayudarlo a resolver sus problemas más rápido y con más confianza. Una herramienta centralizada integrada con múltiples etapas de la canalización de ML contribuye en gran medida a ayudar a los equipos de ciencia de datos a resolver problemas; pueden centrarse más en la mejora del modelo que en la infraestructura y las configuraciones; esto es lo que me atrajo a la herramienta DVC.


Un agradecimiento al equipo de Iterative por crear esta maravillosa extensión, con la esperanza de ver más magia en el futuro.