Ask HN: Why companies are not using deep learning yet?

6 points by avin_regmi ↗ HN
I've noticed most companies are using traditional machine learning such as SVM, Random Forrest..etc in production. Also, most are using PySpark ML rather than deep learning frameworks such as tensorflow and pytorch. Why people are not using deep learning in production yet? What framework are you guys using in production?

16 comments

[ 6.3 ms ] story [ 63.0 ms ] thread
Because deep learning is expensive compared to simpler methods which are sufficient for business needs.

i.e. the newest or shiniest thing is not always the best choice for the business. Or it's not about the tech, it's about the value creation

For more examples, see blockchain

Curious, what about deep learning is the expensive part? The developer time-cost for implementations? Time spent creating the model, or data collection + cleaning, or (owning/renting) the hardware? Because I have a sense that these have become a lot cheaper in the last few years (ok, maybe not the developer time-cost)
Yes, I think it has been lot cheaper and and more easier to train state of the art models such as fast ai.
Computationally cheaper, which leads to cost savings in many places for myself and my end users.
They are not using deep learning because frameworks such as tensor flow are developer tools and (until everyone can code) most work in a company is still done by non-developers.

This is why Uber’s Ludwig[1] is so interesting. With a tool like this I can have non-dev staff creating solutions (the same way that they can create solutions using a spreadsheet).

1. https://uber.github.io/ludwig/examples/

I just checked Uber's Ludwig. It looks very cool and super easy to use. Are companies using this in production? How will I serve the model once I train it on Ludwid?
Uber purport to be doing so...
Another point to note is that production code needs to meet a higher bar in terms of testing and auditability. It’s one thing to train a NN on a data scientist’s machine and show that on test data, the new system performs 10% better; and another to put what is essentially a black box in production and use that black box to make financial or business decisions which can have far-reaching consequences on data it’s never seen and which is potentially outside of the scope of what it was trained on.
In the financial industry, there are rules that require you to explain how the algorithm works. That is hard to due with neural networks.
It's not always the best solution for everything. Sometimes a dumb algorithm does the same thing more effectively.

Deep learning requires lots of data, and at best, it's about as effective as a dumb foreign worker. It's not going to replace any jobs soon and it's a very long game.

Also if you train it on garbage data, you get garbage results. Not everyone has access to clean data. When many people say data is the new oil, really they're just putting a mountain into a blender and expecting deep learning to find the oil.

To elaborate on your point, it doesn't just require lots of data, it requires lots of data with a corresponding high effective sample size. If you want to forecast sales for next Christmas, I don't care if you have 2000 terabytes of granular orders and sales data, because the effective sample size for past observed Christmases is going to be like 3-4 (Christmases further than 4 years back may no longer be representative).

In these cases nice structural time-series models, which are in spirit not so different from what existed 20 years ago, will beat deep learning.

What frameworks are you using currently in production? Do you think classical machine learning algorithms are being used more than deep learning?
Inferring the model with Flask is slow and requires custom code for caching and batching. Scaling in multiple machines using Flask also causes many complications. To address these issues, we have developed Panini. https://www.panini.ai What do you guys think?