5 answers
Asked
774 views
What does a day in the life of a ML/AI engineer look like?
I'm curious as to how a genuine day in the life of a ML/AI engineer. I do have presumptions such as gathering data and cleaning data. However, it would be insightful to hear the most transparent experience of a ML/AI engineer from themselves. #engineering #engineer #AI #computer-science
Login to comment
5 answers
Updated
Benjamin’s Answer
Cleaning data, then cleaning a little more data, and then hours of hunting down data sources and begging the owner of that data to give you access.
Depends how large your company is how far your responsibilities grow. In some really large companies you might have a very specific task of model testing and validation, in other companies, you could go from data gathering, to model development, to production coding.
Depends how large your company is how far your responsibilities grow. In some really large companies you might have a very specific task of model testing and validation, in other companies, you could go from data gathering, to model development, to production coding.
Updated
Dhairya’s Answer
Hi Engoron,
Great question and hopefully this response is not too late. I am an AI research scientist at fintech startup and I have also previously worked as a Data Scientist. I'll talk about both my role and our team broadly as there is wide range of work that is done.
I am part the NLP (natural language processing) team and my company develops conversational AI solutions for banks and credit unions. Our team has many different responsibilities and expertise. We recently grew and now consists of consist of NLP engineers, Research Scientists, Data Analysts and a Data Manager. At any given point however we all have had to do the following: data collection, annotation, cleaning, software engineering and data analysis. Now that we have grown and specialized here's a quick breakdown of the roles and responsibilities on our team:
NLP Engineer: This role primarily works with developing the model deployment architecture and developing API services that sit in front of our models. This role is almost like a mix of traditional devops engineer and backend software engineer and but with specific understanding how to train models, build deployment infrastructure, and manage the servers/services that host our models. This roles spend much of their days working setting up Kubernetes instances, ensuring our API services are functional, and looking for opportunities to optimize model inference times.
Data Analysts: This role spend time looking at customer logs in order to understand the types of questions customers ask our bots, where our bots struggle or are successful. They are primarily focused on understanding what is happening, where there may be issues and what is causing the issues in our product so that we can address them. Some of the work though is also forward looking in terms of identifying opportunities for new features.
Data Manager: This role is responsible for managing the data and annotations used for model development and analysis. They manage all the annotation efforts, working with customer success to get new data or ensure the quality of our annotations, and thing proactively about how the data we need is collected and managed.
Research Scientists: We actually two different types of scientists. One is product focused and they spend most of their time understanding the current model we have in production, managing the quality of the training data and prediction quality of that the model. They also are closely integrated with customer success team work to ensure that any bugs or odd behavior in the product is investigated and taken care of. The other research scientist (me) is more research oriented.
My work primarily deals with researching and developing deep learning models for various natural language understanding problems and features in our conversational AI product. I spend my time focusing on both identifying and researching solutions to solve existing challegnes and strategically thinking about the future our product. At a high level my work tends to be about 60% research, analysis and development and 40% software engineering / development.
Each day tends to be different for me but there are several common types of activities I tend to do.
- keep track of recent conferences and academic papers coming out. figure out which research is aligned with our goals and can be used to solve problems we have. So basically reading lots of research papers.
- develop proof of concepts that implement deep learning models and other approaches that can be used to solve various problems we have (these range from things like building classification models, trying to calibrate model prediction scores, optimizing existing models to many other problems). This boils down to writing research implementations and running experiments to evaluate the efficacy of these implementations.
- evaluate if these proofs of concepts can scale out and be viable for production usage. This then is expanding experiments to consider production data and ensuring the implementation is actually reliable, accurate and useful for the product through robust testing and evaluation.
- Convert research code into production code that support inference at scale and meet production quality standards. This is the final step which ends up being basically software engineering. Writing optimized code, documenting functionality, and writing tests that ensure the behavior is consistent and reliable.
Hopefully that is helpful. Happy to answer any specific question on CV.
Great question and hopefully this response is not too late. I am an AI research scientist at fintech startup and I have also previously worked as a Data Scientist. I'll talk about both my role and our team broadly as there is wide range of work that is done.
I am part the NLP (natural language processing) team and my company develops conversational AI solutions for banks and credit unions. Our team has many different responsibilities and expertise. We recently grew and now consists of consist of NLP engineers, Research Scientists, Data Analysts and a Data Manager. At any given point however we all have had to do the following: data collection, annotation, cleaning, software engineering and data analysis. Now that we have grown and specialized here's a quick breakdown of the roles and responsibilities on our team:
NLP Engineer: This role primarily works with developing the model deployment architecture and developing API services that sit in front of our models. This role is almost like a mix of traditional devops engineer and backend software engineer and but with specific understanding how to train models, build deployment infrastructure, and manage the servers/services that host our models. This roles spend much of their days working setting up Kubernetes instances, ensuring our API services are functional, and looking for opportunities to optimize model inference times.
Data Analysts: This role spend time looking at customer logs in order to understand the types of questions customers ask our bots, where our bots struggle or are successful. They are primarily focused on understanding what is happening, where there may be issues and what is causing the issues in our product so that we can address them. Some of the work though is also forward looking in terms of identifying opportunities for new features.
Data Manager: This role is responsible for managing the data and annotations used for model development and analysis. They manage all the annotation efforts, working with customer success to get new data or ensure the quality of our annotations, and thing proactively about how the data we need is collected and managed.
Research Scientists: We actually two different types of scientists. One is product focused and they spend most of their time understanding the current model we have in production, managing the quality of the training data and prediction quality of that the model. They also are closely integrated with customer success team work to ensure that any bugs or odd behavior in the product is investigated and taken care of. The other research scientist (me) is more research oriented.
My work primarily deals with researching and developing deep learning models for various natural language understanding problems and features in our conversational AI product. I spend my time focusing on both identifying and researching solutions to solve existing challegnes and strategically thinking about the future our product. At a high level my work tends to be about 60% research, analysis and development and 40% software engineering / development.
Each day tends to be different for me but there are several common types of activities I tend to do.
- keep track of recent conferences and academic papers coming out. figure out which research is aligned with our goals and can be used to solve problems we have. So basically reading lots of research papers.
- develop proof of concepts that implement deep learning models and other approaches that can be used to solve various problems we have (these range from things like building classification models, trying to calibrate model prediction scores, optimizing existing models to many other problems). This boils down to writing research implementations and running experiments to evaluate the efficacy of these implementations.
- evaluate if these proofs of concepts can scale out and be viable for production usage. This then is expanding experiments to consider production data and ensuring the implementation is actually reliable, accurate and useful for the product through robust testing and evaluation.
- Convert research code into production code that support inference at scale and meet production quality standards. This is the final step which ends up being basically software engineering. Writing optimized code, documenting functionality, and writing tests that ensure the behavior is consistent and reliable.
Hopefully that is helpful. Happy to answer any specific question on CV.
Updated
Bjorn’s Answer
As a data scientist, I work very closely with ML engineers. At my company, the ML Engineers' core responsibility include deploying and maintaining all cloud-based ML/AI models. They enable data scientists with powerful, easy-to-use code-based utilities & libraries. They ensure that production models are statistically sound and test that all models are working right.
ML Engineers need to have a strong programming background and understand complex data structures and be agile enough to create functionality that other analytical-driven business units request. These engineers aren't just coding 24/7 either, they need the social skills to be able to present findings and new utilities to the company.
ML Engineers need to have a strong programming background and understand complex data structures and be agile enough to create functionality that other analytical-driven business units request. These engineers aren't just coding 24/7 either, they need the social skills to be able to present findings and new utilities to the company.
Updated
Thomas’s Answer
There's no one answer to this question because the day-in-the-life of a ML/AI engineer can vary quite a bit depending on the company, project, and team. However, in general, a typical day might involve working on algorithms and code, debugging and troubleshooting software, meeting with team members or clients to discuss progress or issues, attending conferences or workshops to stay up-to-date on the latest technology and techniques, and so on.
Updated
Mark’s Answer
I'm not an ML/AI engineer, but I do have a computer science degree and have worked with teams that use ML/AI to solve business problems.
Gathering and cleaning data or building models are the tools of an ML/AI engineer. ML/AI engineers use this data to identify correlations in the data that would not be possible to identify without computers . But these tools are always used to solve a particular problem. There is usually a question you are trying to answer or an approach you are trying to develop when using these techniques.
So understanding the problem you are trying to solve is a key component of the day to day life of an ML/AI engineer. In my examples we were trying to understand the attributes of people that purchased our products (which types of people purchased which products), and also which marketing techniques worked the best to get people to buy our products. I think you'll find you spend just as much time understanding the problem domain as you do working with data in this field.
Gathering and cleaning data or building models are the tools of an ML/AI engineer. ML/AI engineers use this data to identify correlations in the data that would not be possible to identify without computers . But these tools are always used to solve a particular problem. There is usually a question you are trying to answer or an approach you are trying to develop when using these techniques.
So understanding the problem you are trying to solve is a key component of the day to day life of an ML/AI engineer. In my examples we were trying to understand the attributes of people that purchased our products (which types of people purchased which products), and also which marketing techniques worked the best to get people to buy our products. I think you'll find you spend just as much time understanding the problem domain as you do working with data in this field.
This answer is simple, insightful and helpful Mark. Thank you
Deborah Yayra Nutsugah