If the data and models were small and training was quick (on the order of compilation time), I'd just keep the training data in git and train the model from scratch every time I run make. But the data is huge, training requires clusters of machines and can take days, so you need a pipeline.
An industrial strength system looks like this: https://code.facebook.com/posts/1072626246134461/introducing...
I'd be curious to see if there's a legit speed up there with the "real tensorflow".
For "on prem" stuff I think "deployment" is going to depend on the actual end use case.
Eg:no one in industry will keep their "training data" in git. They'd have an actual database with other systems surrounding it.
If it's just "run the model locally to view a web page running in a docker container I wouldn't see the problem here though.
The infra will also be different for training vs inference. For training you'll want gpus, but it's not realistic to run gpus with inference yet.
I'd love someone to comment on: https://developer.nvidia.com/gpu-inference-engine
though.
There's going to be a lot of non deep learning "stuff" involved here.
Much of it will be connected to the use case. Eg: deep learning for log analytics in production will be different than a computer vision pipeline.
Warning: highly biased player in the space.
It would be interesting to compare notes since we have deployed a number of models in production, and seem to focus on a related but different set of challenges. kenny at company dot com.
We'll release in coming weeks.
Thus, this post seems immensely useful to someone like me (a PhD student, also primarily concerned with exploring new ideas and getting my next conference paper), but I can see how others doing machine learning in-the-wild or in production might see a lot of questions left unanswered. I, for one, work primarily with health care data from hospital EHRs, and I spent a lot more time with data prep pipelines than folks working with, say, MNIST.