DevOps in AI, the mastery of ML technology

 

Author: Klaus Puchner (Program Manager AI & Team Lead)

 

Presentation of the role of AI DevOps Engineer

Welcome to the world of Machine Learning Operations (MLOps). In this second part of our mini-series, we want to give you some insights into the role of an AI DevOps Engineer in our team. We explain what this so-called MLOps is, which role the AI DevOps Engineer plays in the AI team in this context and why this role is so important for successful AI projects. To give you the full picture, Michi will share his experience as AI DevOps Engineer in our team at the end of this blog post.

What is MLOps?

MLOps is basically a collection of methods and tools having the goal of making the deployment and maintenance of machine learning solutions reliable and efficient throughout their entire life cycle. The similarity between the terms DevOps and MLOps is not a coincidence, since DevOps serves as a basis for MLOps in many regards (ideologically as well as partly technologically). The difference originates from the characteristics of machine learning projects as well as the challenges it brings both on an organisational and technical level.

 
 

The MLOps (Machine learning operations) life cycle, source: https://blogs.nvidia.com/blog/2020/09/03/what-is-mlops

 
 

Why does the AI team need MLOps?

MLOps is the critical success factor when it comes to making theoretical business benefits of ML models usable in practice (especially in the long run). In addition to the (further) development and maintenance of fundamental elements of an AI product deployment (of the infrastructure as well as other software parts of the solution), it is also necessary to actively manage the quality of the AI portion of the solution throughout the entire life cycle. 

Not doing so may have a negative impact on the performance of the AI solution: An AI product that had an excellent predictive power at the time of deployment, may lose so much in performance that it becomes completely useless. In such a case, the data and/or concept drift (the slow transformation of the data characteristics) will slowly outrun you. It can get even worse when the AI product is integrated in automated business processes and the decreasing predictive power negatively impacts business success.

When properly designed, MLOps is the key to compensating the negative impact of a drift on an ML solution’s performance throughout the entire life cycle in the best possible way (in an automated manner). Based on this insight, we are constantly driving the implementation of MLOps methods, practices and tools.

 
 

Visualization of the basic AI DevOps workflow aka “Why MLOps is awesome”.

 
 

Which tasks does an AI DevOps Engineer have within the AI team?

The AI DevOps Engineer has two positions within the team, both of which are closely connected. On the one hand, they are part of a product team, and on the other hand, they are part of the AI DevOps team. 

As part of their role in the product team, they support the Data Scientist by providing the required framework. In close collaboration, they ensure that all project tools are available to the Data Scientist. The AI DevOps Engineer brings the need for new tools that are not yet part of the standard portfolio, but also insights and developments to the AI DevOps team meeting. 

The AI DevOps team consults about the requirement and the next steps. For example, it could be possible that already existing solutions can be used for a use case or that a new tool has to be added to the standard portfolio. Depending on the case and its complexity, AI DevOps projects driven by one or more engineers may result from this requirement. Of course, the AI DevOps Engineer can also contribute topics and ideas for improvement that are then handled in the same way.

Which skills and experiences does an AI DevOps Engineer need within the AI team?

The AI DevOps Engineer covers a wide spectrum of professional areas. Therefore, it is very important in this role to be a team player who acts as a consultant and service provider within the team. In this context, the AI DevOps is always interested in and open to learning about new tools (and features) and data science topics.

An AI DevOps Engineer is usually experienced in Linux and Kubernetes administration and the containerisation of software with Docker. Here, they are able to automate tasks using shell and Python scripts. Ideally, they have already used or even implemented these tools in a CI/CD setting (Continuous Integration/Continuous Deployment). They should also have experience with source code management (e.g. via Git/GitHub).

Since we use a hybrid, three-tier system architecture (mobile rapid prototyping on laptops, development and testing on-premises in a dedicated AI cluster, deployment on the Google Cloud platform), experience with cloud technologies is also an important factor.

During the first weeks on the job, new AI DevOps Engineers in our team receive an onboarding tailored to their prior knowledge. This onboarding helps the new colleague to quickly navigate technologies and tools which they haven’t used (much) before. 

How would an AI DevOps Engineer describe their job within the AI team?

As mentioned earlier, our Senior AI DevOps Engineer Michael Mach has agreed to describe his job in the AI team:

“As an AI DevOps Engineer, I cover a wide spectrum of professional areas. From providing the basic infrastructure that is needed in almost every project to AI-specific system components, I enjoy gaining broad and profound knowledge in this position. I especially enjoy working on this team because I was given such a warm welcome by my colleagues and have found my place.

My main goal is always to provide a working infrastructure platform to the Data Scientists which enables them to focus on their core tasks. Through the automation of processes and components, I create the necessary framework for that. This way, I ensure a coordinated and targeted quality assurance (stability, robustness, back-up) and enable the smooth operation of the entire AI platform as ‘AI as a service’. 

During the close collaboration with the Data Scientists, I receive valuable insights into their specific problems and challenges, which makes it possible to implement solutions and workflows that are suited for the respective purpose. Overall, my job is an exciting combination of technical work, interdisciplinary tasks and creative problem solving.”

Curious?

We still have many aspirations. That’s why we are looking for people to support us with their personalities and skills as well as their courage to learn new things and their motivation to help shape the future with us. We look forward to getting to know you during a personal interview.

More interesting articles

You also want to read the other parts of this AI mini-series? Here’s the article overview for you:

 

* Die deutsche Version findest du hier.