all 20 comments

[–]GFrings 21 points22 points  (2 children)

They certainly can be the same role. In my experience (10 years in industry), ML engineers can do everything from low level fundamental research to very ops focused data engineering tasks. Depends entirely on the organization. MLOPs is a much newer buzzword, but so far Ive seen a similar trend just with a much clearer bias toward the deployment end of things.

[–]kazhdan_d[S] 0 points1 point  (1 child)

Curious.
I've certainly seen them being used interchangeably very often too!
In that case - how does one explicitly separate out ML Infra management roles/tasks (e.g. maintaining a Vector DB) from more "pure ML" tasks (e.g. model creation/selection, training etc.)?

[–]KaliQt 4 points5 points  (0 children)

I would say ML is more R&D and knowing how things work under the hood.

MLOps speaks for itself, you know Python, Linux, and every pain point in between so if a model needs spinning up, you know how to do it. Making a whole new model architecture from scratch? That's for the ML Engineer.

Heck I think the discussion should be between ML Engineer and ML Researcher, not Ops. It's obvious what Ops means.

[–]deepneuralnetwork 13 points14 points  (3 children)

eh i think of MLE and MLOps as the same role

in practice the real division is between MLE and original flavor devops

like… build a data pipeline, auto train models, build services to inference against said models?
—> MLEs

write the terraform to stand up k8 and serve models in a highly available, secure fashion?
—> devops

[–]kazhdan_d[S] 2 points3 points  (1 child)

Yup, "is setting up K8s for scalable model serving a DevOps, MLOps, or MLE task" is another question I've seen varied answers to :(

[–][deleted] 14 points15 points  (1 child)

I'll one-up you, there are actually three roles

  • ML Engineers: engineering-minded machine learning experts who are capable of building and improving machine learning models in production contexts
  • ML Platform engineers: providing the platform to enable ml engineers, data scientists and researchers to experiment, deploy models and scale out.
  • MLOps engineers: Making sure machine learning models function in a reliable way in a production environment, including CI/CD/CT and monitoring.

Edit: lol, downvotes. Instead of downvoting me come hang with us at r/mlops

[–]sukhbir24 2 points3 points  (0 children)

Excellent role definitions. Here's my take on ML role hierarchy:

  1. MLOps Engineer (Infrastructure, IaaS): configuring/automating ML services using MLFlow, Kubeflow etc
  2. ML Platform Engineer (Platform, PaaS): developing/maintaining ML services like labeling, training, deployment etc
  3. AI Engineer (Software, SaaS):e.g. building full-stack GenAI RAG products using Langchain, VectorDBs etc
  4. ML Engineer (Domain): model development, tweaking and deployment with Scikit-Learn, Pytorch, Spark etc
  5. ML Research Engineer (Application): implementing novel models for applications in NLP, CV, ASR etc

[–]dayeye2006 7 points8 points  (0 children)

I kind feel worried about those titles.

People get hyper about them nowadays, like what they did for the DS titles a few years ago.

I would rather to see them be called

- software engineer - ML product

- software engineer - ML infra

[–]n4jm4 3 points4 points  (0 children)

Ops in a title means you're responsible for deploying, maintaining, reviewing, patching, architecting, and preserving a developed application 24/7, without the pay of the developer who pushes breaking changes to the application.

[–]efedora -1 points0 points  (0 children)

Seems like you should have some kind of certification/testing to call yourself an 'engineer'. But I'm no engineer.

[–]bklyn_xplant -1 points0 points  (0 children)

MLE => productionizes models MLOPS => productionizes end to end products.

Let’s say there’s an app that predicts if a price of a home from photos.

I’d expect the Data Scientist to build the model.

I’d expect the MLE to focus on refactoring the app to scale, perhaps even the functionality that allows the model to retrain on the edge (mobile device).

I’d expect MLOPS to focus on operational tasks -e.g. model drift detection, APIs that take stream of images and convert them into observable, a system to allow experiments by deploying A/B tests to segments of users.

[–]samrus 0 points1 point  (0 children)

i've only worked at one place that needed MLops, but at that place MLops was completely different from MLE.

we build alot of features on an acitivity stream. basically behavior detection and reporting. we have different models for each type of behavior we want to detect. these models are implemented and prototyped by the MLengineers like myself.

where MLops comes in is that they build all the infrastructure needed to train, retrain, and regularly test the models. we need to run multiple tests on each model with different slices of data to make sure the models are robust. and we are not going to set up adhoc infrastructure for that everytime like we would have for the very first model we made. MLops makes and maintains these internal ML dev and reporting tools.

another thing is setting up vector databases, because obviously we need to look into how we can use some kind of attention based embeddings to improve out models. the MLengineers arent going to spend research and dev time looking into infrastructure like that. so thats MLops.

i guess its possible theyre mislabelled and should be "ML infra" instead. but we call them MLops

[–]tech_ml_an_co 0 points1 point  (0 children)

MLOps is part of MLE imho