The AI Software 2.0 is already here
Deep learning’s been all the rage for the past few years, but recently, it seems the community has been sobering-up. Yes sure, deep-learning is still one of the most significant technology breakthroughs we’ve seen in the last decade. However, it sometimes feels like we’ve been lied to. Or more precisely we’ve been promised a lot, and now we’re a bit disappointed because our bus is 5 minutes late.
As a community, we’ve been focused on advancing the forefront of this brand new field. Research is at an all-time high and papers are published literally every single day with such a variety of topics that it’s hard to keep track. Today, deep learning is already being used in a lot of practical applications that generate real value, but it’s not going fast enough. We need to translate state-of-the-art algorithms into more production systems.
The opportunities are there, but we’re not seizing them. Why? First, there are too few people who have the know-how. According to stateof.ai, the most recent and thorough survey of the AI Community, there are 20k worldwide deep learning researchers and engineers, and only 3k available for work. That’s two orders of magnitude lower than what we need. Plus, you will be competing with the likes of Google, Facebook, Tesla, etc. You’d better have some really, really, deep pockets.
The solution is not there. Besides, most innovative projects don’t fail to go into production because the neural networks models are not good enough. No, quite the contrary. It’s all the other little things, especially for computer vision:
- Building your first dataset, improving it following your business needs all the while doing version control on it.
- Managing who annotates what and assisting them to be faster and smarter.
- Optimizing your neural networks to reach the best level of performance.
- Deploying your networks on a public cloud, a private cloud, on-premises, or on embedded devices and monitoring their performance in real-time.
- Detecting errors in production and retrieving them, then retraining and updating your deployed networks on the go.
I’m going to stop here, you get the idea. What we need is a complete ecosystem where your datasets, models and deployed systems all interact with each other. The premise that you can first focus on building your dataset, then tinker with your model to get maximum accuracy and finally optimise the hell out of it and deploy it, is dead. That’s how we used to do things. It doesn’t work anymore. Not when you’re out of the world of research, and you want to build a system that actually goes live into production and deals with all the issues that will come up and that you’d never thought about.
Yes, it’s hard, because fiddling with the neural network is often the fun part. Except it accounts for only 10% of the overall value. What’s more, the difference between a standard model and a model which you’ve spent countless weeks on is not that much. If you really want your system to be deployed, you need to focus on all the rest.
For some very specific use cases, you want a team of experts, but most of the time, you don’t. What you want is to enable people to use this technology and actually make it accessible to them. As Andrej Karpathy (Director of AI at Tesla) said, we need Software 2.0.
In the 2.0 stack, the programming is done by accumulating, massaging and cleaning datasets. For example, when the network fails in some hard or rare cases, we do not fix those predictions by writing code, but by including more labeled examples of those cases. Who is going to develop the first Software 2.0 IDEs, which help with all of the workflows in accumulating, visualizing, cleaning, labeling, and sourcing datasets? — Andrej Karpathy
At deepomatic, that’s our vision. We’re building the one-stop platform where you can build and manage your datasets, train and optimize your models, then deploy and monitor them in production without any line of code while leveraging the complete ecosystem. We’re building the Software 2.0.