Las hojas de trabajo se está convirtiendo en el estándar para la creación de prototipos y análisis para científicos de datos. Muchos proveedores de la nube ofrecen servicios de aprendizaje automático y aprendizaje profundo en forma de hojas de trabajo de Jupyter. Otros jugadores ahora han comenzado a ofrecer entornos de Jupyter alojado en la nube, con estructuras de almacenamiento, computación y precios similares. Una de las principales diferencias puede ser el soporte multilingüe y las opciones de control de versiones que permiten a los científicos de datos compartir sus trabajos en un solo lugar.
La creciente popularidad del entorno de trabajo Jupyter
Los entornos de trabajo de Jupyter se están convirtiendo en el primer destino en el camino hacia la producción de los proyectos de ciencia de datos. El entorno de las hojas de trabajo de Jupyter nos permite realizar un seguimiento a los errores y mantener el código limpio. Una de las mejores características, aunque simple, es que las hojas de trabajo dejan de compilar el código si detecta un error. Los IDE regulares no detinen la compilación incluso si se detecta un error y, dependiendo de la cantidad de código, puede ser una pérdida de tiempo volver y detectar manualmente dónde se encuentra el error.
Muchos proveedores de la nube y otros servicios de terceros ven el valor en un entorno de trabajo con Jupyter, por lo que muchas compañias ofrecen hojas de trabajo alojadas en la nube y que son accesibles para millones. A continuación presentamos algunos servicios de la nube que ofrecen servicios con las hojas de trabajo de Jupyter.
1. MatrixDS
MatrixDS es una plataforma en la nube que proporciona una experiencia de red social combinada con GitHub que esta diseñada para compartir sus proyectos de ciencia de datos. Admiten alguna de las tecnologías más utilizadas como: R, Python, Shiny, MongoDB, NGINX, Julia, MySQL y PostgreSQL.
También ofrecen niveles gratuitos y de pago. La plataforma proporciona soporte de GPU según sea necesario para que se puedan realizar tareas con mucha memoria y mucha computación cuando una máquina local no es suficiente.
Para las cuentas gratuitas se tiene una configuración de RAM y núcleos por defecto: 4 GB de RAM y una CPU de 1 núcleo.
2. Google Collaboratory
Google Colab es un entorno gratuito para hojas de trabajo Jupyter proporcionado por Google, especialmente para tareas de aprendizaje profundo. Se ejecuta completamente en la nube y le permite compartir su trabajo, así como guardarlo en Google Drive y ofrece recursos para potencia informática.
Una de las principales ventajas de Colab es que ofrece soporte gratuito para GPU. Puede revisar el siguiente artículo de Anne Bommer sobre cómo comenzar a usar Google Colab.
3. Plataforma AI de Jupyter en Google Cloud
Google Cloud ofrece una instancia administrada de JupyterLab que viene preinstalada con las últimas bibliotecas de aprendizaje automático y aprendizaje profundo como TensorFlow, PyTorch, sciki-learn, pandas, NumPy, SciPy y Matplotlib. La instancia de notebook está integrada con BigQuery, Cloud Dataproc y Cloud Dataflow para ofrecer una experiencia perfecta desde la ingesta de datos y el pre procesamiento, hasta la exploración, entrenamiento e implementación.
Los servicios integrados hacen que sea fácil para los usuarios ampliar la demanda agregando capacidad de cómputo y almacenamiento con unos pocos clics.
4. Saturno Cloud
El cloud Saturn es un nuevo servicio en la nube que ofrece hojas de trabajo Jupyter en un solo clic, las cuales estaran alojadas en la nube y se pueden escalar según los requisitos de computación y almacenamiento utilizando AWS en el back-end.
Se supone que el cloud Saturn maneja el lado DevOps de la ciencia de datos y hace que el análisis sea más fácil de reproducir al ofrecer control de versiones y oportunidades de colaboración.
La nube de Saturn ofrece infraestructura de computación en paralelo con Dask en lugar de otras herramientas de big data como Spark.
¿Cuál es el mejor entorno de Jupyter Notebook?
Todos los servicios anteriores están diseñados para satisfacer sus requisitos de aprendizaje profundo y proporcionar un entorno de reproducibilidad para compartir su trabajo y realizar su análisis con el menor trabajo posible de backend. A medida que el aprendizaje profundo alcanza nuevos hitos, los algoritmos aún requieren grandes cantidades de datos y la mayoría de los científicos de datos no tienen la capacidad en su máquina local para que esto suceda. Esto es cuando las alternativas anteriores nos permiten realizar nuestro análisis con una experiencia perfecta. El siguiente es nuestro mejor intento en un punto de vista objetivo para clasificar cuál plataforma es la mejor y cuál es la peor:
- MatrixDS es único en comparación a los demás, ya que ofrece a los usuarios diferentes herramientas para diferentes tareas. Para el análisis proporciona Python, R, Julia, Tensorboard y más, y para la visualización puede admitir Superset, Flask, Bokeh. Para almacenar datos se tiene PostgreSQL.
- Saturn, proporciona soporte informático paralelo y hace que el proceso de registro y creación de las hojas de trabajo Jupyter sea más simple en comparación con los otros proveedores en esta lista. Para los usuarios que solo desean comenzar con un mínimo de opciones y solo necesitan un servidor que pueda manejar grandes datos, esta es probablemente la mejor opción.
- Plataforma AI de Google, proporciona soporte para Python y R. Los usuarios de ciencia de datos pueden tener un lenguaje preferido y el soporte para ambos en un proveedor de nube importante es una oferta atractiva. También da acceso a otros servicios de GCP como BigQuery, lo que hace que las consultas de datos sean más eficientes y potentes.
- Google Colab, si bien es bastante potente y el único que ofrece soporte de TPU, no tiene muchas funciones para un flujo de trabajo de ciencia de datos como los demás. Solo tiene soporte para Python y funciona de manera similar a un Jupyter Notebook estándar con una interfaz de usuario diferente. Ofrece compartir las hojas de trabajo en Google Drive y también puede acceder a los datos en Google Drive.
Este artículo se encuentra basado en The 4 Best Jupyter Notebook Environments for Deep Learning.
Si conoce algún otro entorno de trabajo para las hojas de trabajo Jupyter puede compartilo en los comentarios.