Breaking into AI

Published on
-
7 mins read
Authors

Disclaimer:

This breakdown is based on my experience and the things that I have seen over the last couple of years. Your mileage may vary.

Myths:

  • You need a PHD or a Masters; Reality: NO.
  • You do a lot of Math; Reality: NO.
  • You need a lot of money; Reality: NO.

Understanding the Field:

It all really depends on the kind of role that you are looking for and where you want to look for it. Since some places are more credentialist than others, you may need to be more careful about your approach. Chris Olah is a Machine Learning Researcher that doesn't even have a undergraduate degree, he talks about his experience here.

The Roles:

Since the field of AI/ML is fairly new we don't have a very concrete list of roles that are available. However in my experience they can broadly be divided into the following categories:

  • Researcher/Research Scientist
  • Machine Learning Engineer/ Research Engineer/ ML Scientist
  • Data Scientist
  • Software Engineer

Researcher/Research Scientist:

These roles are the kinds of roles that PhD Graduates end up working in out of the gate. Their main focus is to produce publications and to come up with novel ideas. Here you would be doing more math and thinking of new ways of approaching problems.

Machine Learning Engineer/ Research Engineer/ ML Scientist:

These are the sorts of roles that are focused on building. Their main focus is to build machine learning models and to translate ideas into code. They may also be tasked with figuring out the solutions to technical problems such as how do you train a machine learning model in an efficient manner, how do you set up the distributed computing environment, how do you deal with the data, etc. You definitely will need to know about machine learning to know what is going on.

Data Scientist:

They are the ones that are most likely to be working with data. They will be working with data and trying to figure out how to use it to make predictions, as well as to understanding the issues with the data that you have access to for example biases that exist inherit to the data or dealing with class imbalance. You might be tasked with creating presentations and reports on the data.

Software Engineer:

In this role you won't need to know about machine learning as that is not the primary expectation. You might mostly be focused on building tools or integrations to make the rest of the AI project work. This might include building a web application, creating an API, creating data scrapers, creating data pipelines, etc.

The Job Market:

There are not yet a lot of strict conventions in regards to roles in the AI/ML field. This means that in some companies the only people that build and deplot AI/ML models are the Data Scientists and the software engineers worry only about the integrations with other systems. In other companies there are ML Engineers that take care of the ML model building and development while the Data Scientist focus primarly in understanding the data and coming up with insights. Sometimes you don't even need to build a new model because something that is off the shelf will work just fine! Some companies might not have research positions but might have engineers figure things out. It can really be a mess so it's always important to read the job descriptions and see if the role better fits what you are looking for.

At the end of the day the most important thing is the skillset that you bring to the table, the rest is mostly window dressing. There are multiple ways to be working in the AI industry, it's a matter of finding the opportunity that matches what you are looking for.

Some questions to ask yourself when considering a role are:

  • What is the balance between theory/research and practical application?
  • How much do you want to work with data?
  • What is the balance between buiding and training new models vs using existing models?

The Skills:

Once you have an understanding of what kind of role you are looking for you can make a more directed plan of action to select between opportunities and skill development.

Coding

Virtually all the different roles will require some level of doing abilty. If you don't yet know how to code this would be a good first step.

Machine Learning:

Since we are looking at the ML/AI industry it would be good to develop experties in the field. The common "advice" is to start with a machine learning course that will show you ML techniques that have been around since 30 years ago and then slowly progress into more modern techniques while also always explaining the theory behind each the technique. In my opinion this approach while effective it is very time consuming and something that makes you work through so much before being able to experience what real world problems look like, how they are solved, and how much fun the field is.

It is because of this that I would highly recommend that you start with a more practical course something like 'Fast AI', this is how I got started. If you watch the lectures you should now be caught up to a good part of the state of the art in machine learning on top of that you could idenify common problem archetypes and how to solve them. This course should already be giving you ideas on projects that YOU would be interested in building!

Following that course you can then continue to learn about Transformers; as of the time of writing they are the model architecture that is taking the field by storm and producing state of the art results. To get started with building with transofrmers the course by huggingface is a great place to start!

My recommendations are mostly around getting you to build projects that will push you to learn new things, demonstrate your knowledge, and add things to your resume.

Research:

If you are primarly interested in doing research then you might want to think if you would want to be more of an academic or an industry researcher. In either way you might benefit from going into a masters or PHD program. If you were working on the previous steps you could have also applied to research labs in order to land research engineering positions and then try and transition internally. You could also try and find a local university that is doing work in AI/ML and try to volunteer there if you can't do a graduate degree. Companies like Huggingface also do a lot of open source AI research so you could consider becoming a contributor in order to eventually be employed by them.

If you are currently an undergraduate you want to consider doing AI research under the researchers and graduate students in your university. This would give you valuable research experience that you can leverage for future opportunities! Do also consider applying to AI Research internships at the big companies!

Other Resources: