Tech Explained: DeepOps
Tech Explained
DeepOps methods could help speed up the development of deep learning algorithms, such as those used in facial recognition.
Deep learning is currently at the forefront of developments in data science. Deep learning algorithms are used to power everything from social networks and facial recognition, to medical innovations and more. However, at the same time, the development of new deep learning technology is being slowed down by the use of outdated and inefficient project management tools and practices.
The process of creating deep learning algorithms is similar to designing other types of software, but with unique complications. These include dealing with vast amounts of data, and the need to continually train and test new models. As a result, data scientists working on deep learning projects must also spend a lot of time setting up machines, entering data, training algorithms and ensuring version control. All of these slow down the pace of new product development.
So, how can data scientists streamline some of this work to produce products faster and more efficiently? One way is through the use of deep learning operations, also known as “DeepOps”. So, what is DeepOps and how is it helping data scientists to better manage large projects?
A project management tool
DeepOps is an outgrowth of DevOps, which is a set of management best practices whereby product development and product operation teams work together. The goal of both DevOps and DeepOps is to achieve rapid deployment of new products. DeepOps can thus be thought of as project management tools designed specifically to build deep learning projects in a faster and more reliable way.
So, why can’t data scientists working with deep learning simply use tried and tested project management tools? The reason is that most project management tools are not equipped to handle projects with huge amounts of data and hundreds of versions of code.
To create each product, data scientists must collect huge amounts of data, clean it, tag it, and then write code to “train” a model. This process requires keeping track of a lot of information on what works and what doesn’t. DeepOps methods need to be able to guide workflow so that the results of past models and experiments can be quickly checked against new ones.
DeepOps project management practices
Some of the more important DeepOps management practices include account versioning, managing data and automation.
Versioning involves developing methods to automatically track code changes. This must also include a way to keep track of the entire history of the code and all of the changes that have been made. Keeping track of how the code has changed over time helps project teams understand how it was developed, make improvements or find bugs more easily
DeepOps also includes methods for better management of large databases. This is helpful as it allows data scientists to re-run experiments from a specific point in time, using different datasets.
A third important principle of DeepOps is the automation of both version control and deep learning infrastructure. This could include the creation of platforms that manage cloud resources as needed, so that companies do not need to purchase expensive resources they might not need.
These are just a few of the emerging elements of DeepOps project management practices. Many more will no doubt emerge as this field matures and expands into an entire industry in itself.
What’s next and what’s possible
As we can see, DeepOps is not a single technology, but an evolving set of practices. Although DeepOps is a relatively new concept, some organisations are already working to create DeepOps systems and practices. These could become mainstream within the next few years.
By incorporating basic DeepOps practices, companies could go from running just a few deep learning experiments a day to running hundreds. This would allow new products to develop faster than ever before.
28th August 2019