ML Engineering is Not What You Think - ML jobs Explained

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
how much machine learning really is in ml engineering it's so confusing there are so many different data and machine learning related jobs but what actually are the differences between a data engineer data scientist ml engineer research engineer research scientist or an applied scientist it cost me way too much time and confusion to figure all this out so in this video I want to do my best to clearly explain what each of those ml jobs mean so back when I got my first ml job I had to work on a lot of different stages of a classical ml pipeline starting with data engineering data engineering is the foundation of all ml pipelines there's literally no reason to even think of ml without thinking of the necessary data one of my first tasks was to find one or rather multiple data sources that we could connect to I then had to build and maintain the whole infrastructure that allows data to flow from our sources to its destination this included writing code in Python to automate the data collection process which returned ugly XML files that then had to be pre-processed to extract all the information that was relevant to us and to have our desired format now the extracted and transform data had to be prepared to be sent to the next stage of data engineering data where warehousing the data we collected over time grew every minute from a few megabytes to multiple 100 megabytes and even terabyt I here had to come up with an intelligent design with which we could easily access and filter each data point that was then stored in a database such as poql which I also had to maintain we now had our fundamental data dump finally I had to do some basic data analysis to then Implement another pipeline that would pre-process this data for machine learning models I had to ensure the data was actually somewhat clean because when it comes to real words data there are a lot of missing values and mistakes I had to develop and apply methods that handle those cases before I could then again correctly format the data for the actual data analysis and potential model training so the data engineer is responsible for building data collection pipelines and managing the flow of data within an organization from here on there are different ways that data can be leveraged so let's look at what a data scientist would do with this data now that we have the data we can actually get to work with it as a data scientist the fundamental goal of a data scientist is to extract business insights from the data this means a data scientist will analyze sometimes manually the data using established statistical methods to find patterns and Trends in the data set that can give insights and can inform business decisions this is called exploratory data analysis or for short Eda they need to figure out which variables are actually useful depending on the data and problem setting this might already be enough but ideally data scientists want to use the data to actually predict outcomes and future Trends since we are mainly working on business problems common examples could be segmenting customers into to different groups based on purchasing Behavior which can then be used for targeted marketing campaigns or predicting customer turn or fraud detection and since machine learning is particularly good at learning patterns from data and doing predictions data scientists often use fairly simple ml algorithms to do the segmentation or prediction tasks most of this requires decent programming and SQL skills but will often not significantly exceed a jupter notebook and since this work will often involve rather simple ml data scientists often use existing Auto ml tools that automatically train different ml models and see which perform the best but that's not all as mentioned data scientists work closely with business stakeholders and need to understand their goals to make the correct modeling decisions and have strong communication skills to actually present their findings to non-technical team members and Senior staff in an understandable way so data scientists mainly work on business problems need to explore the data to find patterns and be able to predict certain outcomes to generate valuable business insights but if the data is more complex and requires more sophisticated machine learning then we might be looking at the next job the applied scientist okay so what if your data is not just a normal tabular data set what if a simple autom ml tool won't work on your problem setting what if you are dealing with for example complex biomedical data like 3D pathology images or molecules represented as graphs coming back to my first ml job I was an applied science student researcher working in a small team that's why I had to also do the data engineering myself but I worked with graph data representing Street networks and traffic flow to predict traffic flow in future which was a decently complex problem setting now with that data what was my job as an applied scientist I had to apply my scientific knowledge and research methods to solve real world practical problems I had to be able to think like a researcher read papers and build on existing research but the important part is I was way more concerned with making the theoretical research methods that were applied to rather clean and Flawless toy data sets onto real world problems my goal was not to develop new models that perhaps slightly improve the performance on some of the respective benchmarks but apply and adjust the model accordingly to work for my real world setting this doesn't mean I don't develop anything new an applied scientist still has to come up with a novel hypothesis as well as develop ideas on how to validate it but it's just the fact that an applied scientist works on real world data which comes with a slightly different set of challenges and since your job is to apply machine learning to a real world problem in a specific industry for example Healthcare you will need to have cross disciplinary expertise in both machine learning and Healthcare or simply be very good at quickly acquiring this expertise and collaborating across disciplines it's the intersection between research and production but often still requires the actual expertise of people working close to production meaning people that know how to develop and maintain large software systems for production and potentially even large scale training so let's look at the ml engine we are getting more and more into the territory of uncertainty and diverse definitions of ml roles what really is a generic ml engineer and what does he do if you recall what a data scientist does is that not really ml engineering well to an extent it can be yes modern day data scientists also use machine learning in their workflow but there is a key difference as mentioned the goal of a data scientist is to generate business insights and the goal of an ml engineer is to turn data into products that means ml Engineers tend to be better Engineers which makes sense because ml engineering is really considered a subfield of software engineering in most companies the hiring process for ML Engineers is pretty much the same as for software Engineers perhaps swapping out a few software engineering questions for ML specific ones generic ml Engineers are expected to know how to use software engineering tools to develop and deploy machine learning applications as mentioned they often need to be very familiar with the Software System architecture for production this can of course mean a lot this can mean they may ask you to Simply develop an endpoints to handle requests to their ml application and make it scalable or actually develop training pipelines or develop and maintain a highly complex distributed computing infrastructure for large scale training I think it is fair to consider an ml engineer to be the generic job title for other related roles that don't even necessarily require ml knowledge for example the mentioned ml infrastructure engineer or an ml accelerator or Hardware engineer to name a few and with the increasing number of pre-built and pre-trained models that can work off the shelf the job will very likely require even less actual ml knowledge but overall when it comes to the generic ml engineering candidate a famous ml engineer said that hiring managers would rather have a great engineer that doesn't know too much ml because it's easier for great Engineers to pick up ML than the other way around ml Engineers are a specialized form of software Engineers so let's look at the final confusing definition of the last two ml heavy roles now we are at the Forefront of state-ofthe-art machine learning research people working in research are those that actually develop models like the transformer architecture and published the famous paper attention is all you need and who are now developing llms like Chad GPT 4 but those are only the hyped and viral research developments these researchers in practice do the same work a normal researcher does and what is that in general the fundamentals of being a research scientist are solid knowledge of machine learning and deep learning these roles really require a solid understanding of details after that a research scientist explores different domains of machine learning and more or less commits to one specific domain of expertise once that domain is found they read even more papers to see what the current state-of-the-art approaches do how well they perform and where they could be improved in short they come up with a hypothesis Implement their idea and design experiments to test and verify their hypothesis all this involves a lot of back and forth and going into detail of what a researcher does could be a whole separate video but ideally in the end research scientists then publish a paper and attend cool conferences now I've been speaking a lot about the research scientist role but what about the research engineer well that's the confusing part the role is actually fairly rare and often only appears in major research labs in the industry Loosely speaking the job there of a research scientist is to come up with the original idea as already discussed and the role of a research engineer is to then use their engineering skills to take over the implementation of these ideas and set up and run the necessary experiments in practice the boundary between these roles is really blurry because research scientists should still be Engineers themselves and both roles come up with ideas and Implement those it's also not uncommon to see research science scientists and research Engineers be equal contributors to papers the most famous example being the attention is all you need paper the main difference is that entry-level research scientist roles usually get a bit more money because they require a PhD and or first author papers at top tier conferences and research engineering roles generally don't although papers always help in the end the different job titles are mainly a product of bureaucracy the funny thing is all these role descriptions are useful for career orientation but they still often poorly reflect what you will really do on the job it's way too often the case that two people with the same title on the same team might do very different things and two people doing similar things at different companies might have different titles the best way to see what a role expects from you is to look at the actual description in the listing but the role that in most cases probably deals with ML the most is the research scientist SL engineer which is why I love it the most nevertheless it is not for everyone so if you want to know what the harsh reality of being a machine learning researcher can look like then you might want to watch this video next bye-bye
Info
Channel: Boris Meinardus
Views: 82,647
Rating: undefined out of 5
Keywords:
Id: SizM-sau8F0
Channel Id: undefined
Length: 13min 23sec (803 seconds)
Published: Tue Apr 09 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.