Roadmap to get into Generative AI in 2024

Roadmap to get into Generative AI in 2024

Top-down approach

This curriculum follows a top-down approach — code first, theory later.

I like to learn out of necessity. So, if I have to figure out something, a problem to solve, or a prototype to make, I will reach far and wide for the information I need, study, make sense of it, and then act on it.

For example, I aim to be an AI engineer who understands LLMs at a fundamental level, which involves having the skill to code transformers from scratch and fine-tuning LLMs on GPUs, etc. I can’t do that now because there are gaps in my knowledge, and I aim to fill in those gaps.

It is also NLP-focused; if you’re looking for other AI specializations like computer vision or reinforcement learning, DM me on Linkedin. I will pass you some recommendations.

Before I dump a bunch of links on you, I wish somebody had told me two important things before I started learning anything.

Learn in Public

There’s a lot to learn, and you will never be done learning, especially with AI, when new revolutionary papers and ideas are released weekly.

The biggest mistake you can make is to learn in private. You don’t create any opportunities for yourself if you do that. You don’t have anything to show for it besides being able to say you completed something. What matters more is what you made of the information, how you turned it into knowledge to be shared with the public, and what novel ideas and solutions came from that information.

So, you should learn in public.

That means having a habit of creating.

This can mean:

  • writing blogs and tutorials

  • join hackathons and collaborate with others

  • ask and answer questions in Discord communities

  • work on side projects you’re passionate about

  • tweeting about something interesting you discovered new

Use twitter, LinkedIn, Discord for learning in public and sharing your work

Table of contents

  • Mathematics

  • Tools
    ∘ Python
    ∘ PyTorch

  • Machine Learning
    ∘ Write from Scratch
    ∘ Compete
    ∘ Do side projects
    ∘ Deploy them
    ∘ Supplementary

  • Deep Learning
    Fast.ai
    ∘ Do more competitions
    ∘ Implement papers
    ∘ Computer Vision
    ∘ NLP

  • Large Language Models
    ∘ Watch Neural Networks: Zero to Hero
    ∘ Free LLM boot camp
    ∘ Build with LLMs
    ∘ Participate in hackathons
    ∘ Read papers
    ∘ Write Transformers from scratch.
    ∘ Some good blogs
    ∘ Watch Umar Jamil
    ∘ Learn how to run open-source models.
    ∘ Prompt Engineering
    ∘ Fine-tuning LLMs
    ∘ RAG

  • How to stay updated

  • Other curriculums/listicles you may find useful

Mathematics

Machine learning relies heavily on three pillars of mathematics: linear algebra, calculus, probability, and statistics. Each plays a unique role in enabling algorithms to function effectively.

  • Linear Algebra: the mathematical toolkit for data representation and manipulation, where matrices and vectors form the language for algorithms to interpret and process information

  • Calculus: The engine for optimization in machine learning, enabling algorithms to learn and improve by understanding gradients and rates of change.

  • Probability and Statistics: The foundation for decision-making under uncertainty, allowing algorithms to predict outcomes and learn from data through models of randomness and variability.

This is a great series on Math for ML from a programmer’s perspective: Math for Machine Learning by Weights & Biases (code)

If you want a code-first approach to Linear Algebra, do Computational Linear Algebra (video, code) by the creators of fast.ai.

Read Introduction to Linear Algebra for Applied Machine Learning with Python alongside the course.

If you want something more traditional, look at Imperial College London lecturesLinear Algebra & Multivariate Calculus.

Watch 3Blue1Brown’s Essence of Linear Algebra and Essence of Calculus.

Watch Statistics Fundamentals by StatQuest for statistics

Supplementary


Tools

Python

Beginners start here: Practical Python Programming.

If you’re already comfortable with Python, do this Advanced Python Mastery

They’re both great courses by David Beazley, author of Python Cookbook.

After that, watch some of James Powell’s talks

Read Python Design Patterns.

Supplementary

PyTorch

Videos

Official

Practice

Supplementary

Machine Learning

Read the 100-page ML book.

Write from Scratch

While you’re reading, write the algorithms from scratch.

Look at the repositories below

If you want a challenge, write PyTorch from scratch by following this course.

Compete

Apply what you learn in competitions.

Do side projects

Read Getting machine learning to production by Vicki Boykis

She also wrote about what she learned building Viberary, a semantic search for books.

Get a dataset and build a model (i.e., use earthaccess to get NASA Earth data).

Create a UI with streamlit and share it on Twitter.

Deploy them

Get the models in production. Track your experiments. Learn how to monitor models. Experience data and model drift firsthand.

Here are some excellent resources

Supplementary


Deep Learning

If you want top-down, start with fast.ai.

Fast.ai

Liked fast.ai? Check out Full Stack Deep Learning.

If you want a more comprehensive, traditional course, check out UNIGE 14x050 — Deep Learning by François Fleuret.

If you need to reach for theory at some point, these are great books.

Read The Little Book of Deep Learning on your phone instead of scrolling Twitter.

Read these while your neural networks are converging.

Do more competitions

PlantTraits2024 — FGVC11 | Kaggle (computer vision)

Implement papers

Check out labml.ai Annotated PyTorch Paper Implementations

Papers with Code is a great resource; here’s BERT explained on their website.

Below are some resources for the specializations within Deep Learning

Computer Vision

A lot of people recommend CS231n: Deep Learning for Computer Vision. It’s challenging but worth it if you get through it.

NLP

Another great Stanford course, CS 224N | Natural Language Processing with Deep Learning

Learn Hugging Face: Hugging Face NLP Course

Good articles and breakdowns

Supplementary


Large Language Models

First, watch [1hr Talk] Intro to Large Language Models by Andrej.

Then Large Language Models in Five Formulas, by Alexander Rush — Cornell Tech

Watch Neural Networks: Zero to Hero

It starts with explaining and coding backpropagation from scratch and ends with writing GPT from scratch.

Neural Networks: Zero To Hero by Andrej Karpathy

You can also look at GPT in 60 Lines of NumPy | Jay Mody while you’re at it.

Free LLM boot camp

A paid LLM Bootcamp released for free by Full Stack Deep Learning.

It teaches prompt engineering, LLMOps, UX for LLMs, and how to launch an LLM app in an hour.

Now that you’re itching to build after this boot camp,

Build with LLMs

Want to build apps with LLMs?

Watch Application Development using Large Language Models
by Andrew Ng

Read Building LLM applications for production by Huyen Chip

Refer to the OpenAI Cookbook for recipes.

Use Vercel AI templates to get started.

Participate in hackathons

lablab.ai has new AI hackathons every week. Let me know if you want to team up!

If you want to go deeper into the theory and understand how everything works:

Read papers

A great article by Sebastian Raschka on Understanding Large Language Models, where he lists some papers you should read.

He also recently published another article with papers you should read in January 2024, covering mistral models.

Follow his substack Ahead of AI.

Write Transformers from scratch.

Read The Transformer Family Version 2.0 | Lil’Log for an overview.

Choose whichever format suits you best and implement it from scratch.

Paper

Blogs

Videos

Some good blogs

Watch Umar Jamil

He has fantastic in-depth videos explaining papers. He also shows you the code.

Some more links related to LLMs that are not exhaustive. Look at LLM Syllabus for a more comprehensive syllabus for LLMs.

Learn how to run open-source models.

Use ollama: Get up and running with Llama 2, Mistral, and other large language models locally

They recently released Python & JavaScript Libraries

Prompt Engineering

Read Prompt Engineering | Lil’Log

ChatGPT Prompt Engineering for Developers by Ise Fulford (OpenAI) and Andrew Ng

DeepLearning.ai also has other short courses you can enroll in for free.

Fine-tuning LLMs

Read the Hugging Face fine-tuning guide.

A good guidebook: Fine-Tuning — The GenAI Guidebook

Check out axolotl.

This is a good article: Fine-tune a Mistral-7b model with Direct Preference Optimization | by Maxime Labonne

RAG

A great article by Anyscale: Building RAG-based LLM Applications for Production

A comprehensive overview of Retrieval Augmented Generation by Aman Chadha


How to stay updated

Combination of newsletters + podcasts + Twitter

For papers, you can follow AK (@_akhaliq)

For podcasts, the best I’ve found is Latent Space by Swyx & Alessio

Join their Discord.

They also have this newsletter, Smol Talk, which summarizes all big AI discords.

Some other newsletters I like are:

More in this article.

Other curriculums/listicles you may find useful.

My list was not meant to be exhaustive, but if you still want to find more, here are some.