MLOps is just glorified DevOps?
This is a thread taken from our MLops community slack. It has been a hot topic of debate recently and we have since recorded another coffee session on the topic (link at end of thread).
Let us know what you think in the comments or jump on slack and voice your opinion there.
MLops is just glorified DevOps. Prove me wrong
I don't have to, @David Aponte and @Ryan Dawson already did.
Strong opening Alexey Grigorev
While DevOps is also not perfectly defined, I agree. There are a few significant differences compared to regular software though: code that is tested is not enough to determine if it should be pushed to production, the “build” step requires access to large amounts of data and compute and new builds and deployments should be able to happen without changes in code or manual steps because of a dependency on data that can change
I think of MLOps as a species of DevOps+. So DevOps but with extra niche skills. Like how DevSecOps is DevOps plus deeper knowledge of security concerns.
My 2c…
I largely agree that MLOps is just DevOps for ML — but definitely acknowledge there are differences in some of the actual processes that need to happen.
At its root though, DevOps is about enabling continuous delivery of valuable change. I don’t think that changes when it’s ML.
My working answer for this is: Yes, MLOps IS DevOps, it is just the “API” that is shared from DevOps to the data-science teams so they can self-serve
Thanks @Demetrios I’ll check the video. For now what I see is kubeflow is just a thing on top of kubernetes, so nobody is more qualified to take care of kubeflow than devops engineersNot sure if Sagemaker can qualify as MLOps, there are too many things we need to add around it to make it useful (but it’s quite good nonetheless)So at the end, our model is “just” a microservice, and we communicate with it using traditional things like REST or sometimes gRPC. Or, alternatively, just another step in our ETL, which takes a lot of data and produces something — another dataset or a model
The tooling is only a small part of MLOps too, right?
what else is there?
There’s all the cultural aspects I’d normally associate with DevOps… things like ownership, customer focus, continuous improvement of process, etc.
Then all the process aspects like approvals and promotions, even branching strategies when it comes to source control..
Lots of those things use the tools, but the tool isn’t the whole story.
FWIW this is definitely the point of view of a DevOps guy — that’s much more my area rather than ML
There’s all the cultural aspects I’d normally associate with DevOps
Yes this is a super important part and one that I was talking about yesterday with @Jet Basrawi
I would be weary to define MLOps in the same broad way as “Agile” because it will mean everything and nothing. MLOps is the consistent and coherent generation of productionisable models. The actual running of it is a Devops job, the monitoring of ongoing performance is a business intelligence job.
My try:
If you look at the various definitions of DevOps around the place, they’re all broad, and they all combine software development, deployment, and operation.
It definitely includes much more than just running something in production, or deploying it into production
Similarly, I don’t think MLOps should stop at the point a model is created…
I guess that’s why I have issues separating the two — MLOps and DevOps. I’ve always just thought of MLOps as “DevOps for Machine Learning projects”
Obviously all my opinion
@Luke Marsden also had these slides to say
How is devops implemented usually organisationally? Who are they reporting to?
One thing that I’d add to the above slide is an arrow from Models/metrics
->
, because most of that experimentation work gets thrown out rather than deployed. But still has to be able to be deployed if it’s good.
I wrote an article on this question that covers most of the points made in the coffee session linked above — https://www.hackernoon.com/why-is-devops-for-machine-learning-so-different-384z32f1
Why is DevOps for Machine Learning so Different? | Hacker Noon
The term ‘MLOps’ is appearing more and more. Many from a traditional DevOps background might wonder why this isn’t just called ‘DevOps’. In this article we’ll explain why MLOps is so different from mainstream DevOps and see why it poses new challenges for the industry. (Not automatically expanded because 3 MB is too large. You can expand it anyway or open it in a new window.)
@Demetrios this is a nice slide, but “traditional” software also have metrics and parameters. What’s different though is a model — we have it only for ML
But probably this slide alone is not enough, I should watch the actual presentation =)
if we agree that machine learning is just software then 100%
How is devops implemented usually organisationally? Who are they reporting to?
I could talk for hours on this, but in summary — If DevOps is a department or a role, your company doesn’t understand DevOps
The idea is to have cross-functional teams that all work together to deliver great software. So organisationally, that might include teams with people specialising in product, dev, test, ops, security, even marketing and sales.
I think it makes things easier if the reporting chain is project/product-based and fairly flat. That way you don’t have people with multiple managers, and you don’t have silos (which end up being bottlenecks).
All that’s not to say you can’t have a “DevOps department”, but they shouldn’t be doing all the DevOps. They should be an enablement team to help individual projects with tooling, skills and knowledge to own the process themselves.
Great article @Ryan Dawson, thanks!
Big thanks to all the community members that participated in the conversation to check out the more recent conversation around this topic you can watch our coffee sessions on MLOps vs DevOps #2 here.
The MLOps community is an open and equal space where all are welcome to teach and learn from each other. We share best practices, tips, pains, and questions in slack and have live meetups to talk with some of the leading innovators in this field. If you would like to get involved please join slack and reach out. To hear all of our recorded past meetups check out our youtube channel or listen to our podcast.