Nowadays, there is a lot of buzz around AI, with many trending terms like ‘data science’, ‘machine learning’, ‘deep learning’, ‘big data’, and ‘ethics’, ‘explainability’ and so on. Because of this buzz, many people want to apply this new “magic” within their projects. With this blog post, we want to help you identify which skills will help you to apply AI in practice. The skills required to be a full-on Machine Learning Engineer are very broad, which can be quite overwhelming when first starting. The first important guideline is to think about which context you want to work in. Not all skills are needed for all projects, and always keep in mind, it is ok to ask someone else for their expertise instead of learning it all yourself.
The first big question you need to ask yourself is: will I be the one designing the AI solution, implementing the solution, or will I be doing research on things that have not been done in the past? Thinking about this is very important since the necessary skills will be totally different.
Let’s examine these three scenarios in more detail...
I will be designing the solution
Are you interested in learning how to lead an AI project? Do you want to know the possibilities, advantages, challenges and pitfalls when using AI in your projects? Then the following skills are key:
AI model basics: Although AI models and techniques can become quite mathematical, understanding how they work at a high level will give you an advantage when leading an AI project. You will be able to spot opportunities and understand why specific problems arise and how to solve them.
AI use cases: This skill is related to the previous one but not altogether the same. Some AI techniques can be used for various applications, and thinking outside the box will broaden your possibilities. When designing an AI solution, a big part will be understanding what has already been done in your domain in the past. Another aspect of this skill is knowing in what use cases AI can bring added value and what is needed to achieve this. In some cases, traditional non-AI methods will give you better results for less effort. So understanding the power but also the limits of AI will provide you with the ability to achieve the best results in your projects.
AI project management: Dealing with AI projects can be more challenging than dealing with other IT projects. Identifying these challenges upfront to tackle them before they become a problem will result in better and faster results. Examples of challenges you might need to tackle are: bias, GDPR, security, explainability, but also: expectation management. Since AI’s value depends on the performance of the model on the data, it is really difficult to know upfront how useful the solution will be. Therefore, very often, AI projects start with a Proof Of Concept phase. Thinking about deploying the solution will not be the focus at this stage, but keeping deployment in the back of your mind will help you make sure the Proof Of Concept is developed in the right way. Knowing how to bring a solution from PoC to production will enable you to do this.
User Experience: In designing an AI solution, it is crucial to know how the output of the model is going to be used. This can influence your design process a lot. Are people going to interact with it through a user interface? Will it be visualised on a dashboard? Is it clear to the user that the results are statistical predictions and they might be wrong? Is there some way to know how certain the AI is of its prediction? Thinking about these things in the design phase will make sure your model is accurate and useful.
I will be implementing the solution
Within this category, there are still a lot of possible different options. Will you be working with tabular data or will your application lie in the more advanced domains of Natural Language Processing (NLP) or Computer Vision (CV)? Before starting your training, you should think about this since all AI domains have their best practices and common approaches. On the other hand, before specializing in one of these domains, I would advise you to make sure you have all of the three skills listed below. They provide you with a strong fundamental basis, necessary within each AI domain:
Basic coding: Although the number of platforms that give you an interface to do simple data modeling is rising, you will quickly see that the possibilities with these platforms for your data are too strict. You will probably end up needing some custom components to achieve the best results. Because of this, coding skills and algorithmic knowledge are essential to start implementing AI solutions. A good starting point would be to learn basic programming and immerse yourself in learning, for example, pandas in Python, to learn how to manipulate your data.
Basic statistics: All AI models are based on statistical methods. Since many of these methods have been implemented and can be used quite easily, you don’t need to be a statistical expert before using them in your solution. But, it is still important that you have a basic understanding of what is happening to interpret the results, know how to improve a solution and know which method to use for your specific problem.
Domain knowledge: Every domain has their own specific use cases, techniques and ways the AI is integrated within the workflow. Understanding this context, and also understanding your data, will help you identify which data to use and how the output should be shown.
Once you have mastered these skills and want to start working on more challenging projects, some other skills are key to becoming a good machine learning engineer.
Advanced coding: The skills relevant for common IT projects, will also be relevant for a good machine learning engineer. You might ask yourself why this is the case. Well, very often your AI solutions still have to be integrated with IT tools and infrastructures. Examples are version control, databases, using the command line, testing, logging, prototyping… These are the skills that are often disregarded in common AI courses but will be necessary for any AI implementation.
Knowledge of tools, models and packages: The good news is, a lot of the work has been done for you! The bad news is, you need to know where to find it. This skill, you will mostly learn by experience, because there is A LOT out there. There is no exhaustive list of things to know, and the landscape is continuously changing. You can stay up-to-date by browsing the web, checking other people’s solutions, experimenting yourself… An important first step is to start thinking about your AI domain again (NLP, CV, ...) and start researching this domain first.
Basic data engineering and big data: You will often work with a lot of data, and knowing how to handle this will be key. An important aspect here is knowing where and how to store data and learning about distributed systems to be able to scale up from single servers to many machines. Of course, for the more advanced stuff you can work together with a data engineer, but knowing the basics will make your job easier.
Deploying your solutions: When you are writing new code, running it on your local computer is often an option. But what when your solution is ready, and you want to integrate it with for example a website? You can deploy your solution to the cloud, making it accessible over the internet. Knowing about containers, APIs, cloud platforms … will help you do this.
I will be doing research
Basic coding: As you are doing research, it will often be less important to have a deployed, integrated, ready-to-be-used solution. Therefore the advanced skills listed above are not always necessary. On the other hand, knowledge of basic scripting will be needed. In case you are using some Neural Networks, you will also need a good understanding of software libraries like Tensorflow, keras or Pytorch.
Advanced statistics: All AI models are based on statistical methods. As you want to research this, a solid statistical background is necessary.
Domain knowledge: Last but definitely not least, knowing your domain very well will be key. You need to know which data is relevant and how you need to present it to the model for it to be as valuable as possible.
How can Superlinear help?
At Superlinear, we have a lot of experience designing and implementing AI solutions and we want to use this knowledge to help others. As you can see, there are a lot of skills you can learn to become successful in AI. Because this skills landscape is so broad and dependent on the AI domain and sector, it is very difficult to have a fit-for-all training package. Because of this, we at Superlinear have decided to work with customised training. We analyse which skills you or your team already has, and we focus on filling the gaps, also keeping your goals and business context in mind.
For people interested in learning about designing AI solutions, we can support you in achieving all the skills listed above: Understanding basic AI models and use cases, knowing how to lead an AI project and learning about user experience basics.
For people interested in learning how to implement AI solutions, we can start supporting you from the moment you have a basic understanding of coding and statistics. But, don’t panic if this is not the case at the moment, since there are already good training programs online for these skills. There are a lot of online training courses which will help you learn basic coding. For example, an ‘Introduction to Python’ course combined with an introduction to data science (where you will learn pandas and seaborn) on DataCamp or Udemy would be a good start. For the basic statistics part, any statistics course you followed during your studies will do. Once this is fulfilled, we can support you or your team in learning how to specialize in an AI domain, for example:
Introduction in NLP (Natural Language Processing)
Introduction in CV (Computer Vision)
Introduction in deep learning
We will give you not only a basic introduction but also a direction. We can show you the most important tools and packages to filter some of the content you find online.
Besides this, we can help you in learning how to productionize your code.
To sum up
When you are first starting out in AI, it can be difficult to know where to start training yourself. After reading this blog post, I hope it is more clear to you which skills might be relevant for you, depending on how your relation to the AI project is.
If you would like to find out more about our training offer, you can book a slot with me here.