The Full Stack AI Engineer

Recently, I came across this old article from Stitch Fix and it set me thinking about the kind of work we do here in AI Singapore and what it takes to be an AI Apprentice and progress on to become an AI Engineer. Continuing from my previous article, I think it is time to showcase the heroes of AI Singapore, our Apprentices and Engineers.

The Need to Go Full Stack

Typically, in an organisation, there are varied roles that are involved in building an AI solution. This includes, but is not limited to, titles such as Data Scientist, Machine Learning Engineer, Data Engineer, Infra/System Engineer, etc. Teams with such varied specialisations working together to create an AI solution is a common setup in many organisations today. This need often arises due to the lack of specific skills within the individual roles. However, some of these skills are actually not that difficult to acquire as long as the person has some basic level of technical competency.

Such separation of responsibilities tend to lead to higher communication overheads and coordination which often leads to friction that slows down the team. Contrast this with a software development setup where full stack engineers work across the spectrum of the technology stack and are often responsible for almost all engineering related tasks. Collaboration with other team members, mainly the UI/UX designer and Product Manager centres around user and product issues.

At AI Singapore, we adopt the latter style and differentiate ourselves from the current market where Data Scientists are solely responsible for the AI/Machine learning model while other engineers work alongside them to provide all the other necessary components that make up the full AI solution. Creating the AI model is only part of the overall bigger piece of work that is required to realise a working solution which produces meaningful outputs consumed by end users or other systems within a larger ecosystem. In the now famous paper of Hidden Technical Debt in Machine Learning Systems, one can get a glimpse of the various important pieces of components that are required to make an AI system work within a production setup.

Our AI Engineers are not just plain vanilla Data Scientists. They are what Stitch Fix would call a Full Stack Data Scientist. And going through our AI Apprenticeship Programme is what turns them into one. If someone just wants to learn the basics and theories of AI/Machine Learning, there are abundant courses and materials around that will teach you exactly that. However, when it comes to producing AI solutions that can be used by real end users in industry, the key differentiator our programme offers is the provision of the environment and the requisite training and guidance to achieve that. The initial 8 weeks of training bootstraps the Apprentices with the knowledge and prepares them to be ready for the full works of producing such a solution in our 100E and AI Bricks projects.

The Skill Set

In AI development, the following development lifecycle is something that is often seen (from Miscrosoft’s TSDP Lifecycle)

Coupled with the earlier diagram, one can see that this is a multi faceted effort which requires varied skills for the different types of tasks involved. So what are the skills that an AI Engineer needs in order to perform these tasks effectively?

At its core, the standard Data Science skills of data acquisition, exploration and cleaning is without a doubt the essentials. Just as equally important is of course the task of training, evaluating, debugging and tuning the models coupled with feature engineering know-how. Aside from these, engineering skills related to data acquisition (e.g. technology choice and usage), running modelling experiments plus tracking them effectively, code and model testing (using CI/CD pipelines) and finally deploying and integrating the model into the larger system form the rest of what I would consider Full Stack works.

As an example on Data Acquisition, the following could be some questions an AI Engineer needs to consider when building out the solution

  • Should the data be stored in a traditional database or a Nosql one like Elasticsearch? Or would some blob storage from the Cloud suffice? 
  • And how should the data be versioned? Should I use an external tool or does my data store provide that?

While these tend to be in the domain of what a Data Engineer would usually need to figure out, they are not exclusive to them. A typical Full Stack Software Engineer will be able to take on this equally well and the same goes for a Full Stack AI Engineer.

Another key area which often eludes the Data Scientist is the deployment of the model. This includes wrapping the model with an interface such as an API, building it through some platform which enables testing of the interfaces and the underlying code. We accomplish this with Gitlab as both our Source Repository and Continuous Development and Integration (CI/CD) platform. Apprentices learn how to write tests for their code and leverage the CI/CD platform to automate continuous testing of them and also trigger builds of the models they have developed and end it off with their deployment. 

Last but not least, the solution will also usually include feedback and monitoring loops that the AI Engineer will incorporate into the final product. Borrowing from the DevOps philosophy of owning the full development chain, such an end-to-end workflow is now commonly termed AI/MLOps.

Getting Started

If you would like to learn more about building end-to-end AI/Machine Learning solutions, Building Machine Learning Powered Applications from O’Reilly would be a good introduction. What I have briefly touched on here are just some of the common aspects of the kind of work that our AI Engineers and Apprentices do at AI Singapore. All these are of course made possible by our Infra and Data Engineering teams who build and maintain the essential resources and tools that the AI Engineers and Apprentices rely on day-to-day.

Sound exciting? Then nothing beats getting your hands dirty by becoming part of our family and experiencing it yourself! Ready to kickstart your AI career with us? Then go take a look at our becoming an AI apprentice article and its companion AIAP Field Guide.