Machine Learning is emerging as a serious technology just as mobile is becoming the default method of consumption, and that’s leading to some interesting possibilities. Smartphones are packing more power by the year, and some are even overtaking desktop computers in speed and reliability. That means that a lot of the Machine Learning workloads that we think of as requiring specialized, high priced hardware will soon be doable on mobile devices. This post will outline this shift and how Machine Learning can work with the new paradigm.
Multi-cloud is quickly becoming the de facto strategy for large companies looking to diversify their IT efforts. At Algorithmia, we deploy across multiple clouds and recommend it for Machine Learning pipelines and portfolios. This post will outline the pros and cons of a multi-cloud architecture, as well as its applicability to Machine Learning workloads.
The first thing to understand about this emerging strategy is that it’s very popular. Almost 80% of enterprises that utilize public clouds use two or more of them, and 44% of those enterprises use 3 or more. Overall, 61% of all enterprises surveyed here are using two or more cloud providers.
Source: Timo Elliott
Asking your Data Scientists to deploy their Machine Learning models at scale is like having your graphic designers decide which sorting algorithm to use; it’s not a good skill fit. The fact of the matter is that in 2018, the standard Data Science curriculum doesn’t prepare students for the low level infrastructure building that deployment requires. This post will walk through the knowledge base that most Data Scientists have and why it’s not a good fit for production models.
The most important thing to understand in the context of this topic is that Data Science is still evolving, and nothing is set in stone. Positions and their limits are still up in the air, most companies haven’t developed meaningful expertise in hiring properly, and the educational system is struggling to adjust to an increasingly volatile cutting edge. Expect variation and rapid change.
Deploying Machine Learning models at scale is one of the most pressing challenges faced by the data science community today, and as models get more complex it’s only getting harder. The sad reality: the most common way Machine Learning gets deployed today is powerpoint slides.
We estimate that fewer than 5% of commercial data science projects make it to production. If you want to be part of that share, you need to understand how deployment works, why Machine Learning is a unique deployment problem, and how to navigate this messy ecosystem.
Anyone who is interested in deep learning has likely gotten their hands dirty at some point playing around with Tensorflow, Google’s open source deep learning framework. Tensorflow has a lot of benefits like wide-scale adoption, deployment on mobile, and support for distributed computing, but it also has a somewhat challenging learning curve, and is difficult to debug. It also doesn’t support variable input lengths and shapes due to its static graph architecture unless you use external packages. PyTorch is a new deep learning framework that solves a lot of those problems.
PyTorch is only in beta, but users are rapidly adopting this modular deep learning framework. PyTorch supports tensor computation and dynamic computation graphs that allow you to change how the network behaves on the fly unlike static graphs that are used in frameworks such as Tensorflow. PyTorch also offers modularity, which enhances the ability to debug or see within the network. For many, PyTorch is more intuitive to learn than Tensorflow.
This talk will objectively look at PyTorch and why it might be the best fit for your deep learning use case. We’ll look at use cases that will showcase why you might want consider using Tensorflow instead.