MLOps Overview of Tools and Processes For Modern Deep Learning
May 19, 2020
TOOLS FOR MODERN DEEP LEARNING
- A high-level overview of the deep learning pipelines and tools
- Discussion on what a training loop is, tools and approaches for implementing
Typical ML pipeline
Collect and store raw data
- Done with labeling tools wrapped in a neu.ro job
Write scripts to store data on the storage in the correct format
- Use jupyter notebook wrapped in neu.ro job
Write and debug the code for training loop from scratch or import an existing solution
- Start a neu.ro a job, connect to it via IDE with remote interpreter to work on the code
Train the model
- Training can also be done with additional options like hyper parameters search and distributed training via neu.ro
Serve the demo
- Deploy the model as a neu.ro job with a simple Web UI
The following steps are very dependent on the project and may include model hosting and monitoring, triggers for retraining a model, data versioning etc.
You can use crowdsourcing platforms for labeling, some of them have special tools for labeling. For example:
Another option is to start the labeling tool as a neu.ro job and serve independently hiring people directly. It can be useful if you work with secure data or want to optimize costs and quality directly. Neu.ro will be happy to set you up with an instance and get your process going through our remote MLOps service. Example tools:
After labeling is done, data is processed and stored, it is time to start the development process.
The main language for developing deep learning models is python. Other languages usually can be used for deploying pipelines into production.
Initial data analysis can be done with useful python-based jupyter notebook.
The development of large code fragments is conveniently can be done in an IDE (PyCharm, Visual Studio Code and so on). Since the calculations are massive, usually the code is developed in the IDE locally, but it is runs remotely via a remote interpreter (remote debugging).