Hello everyone! :B I hope you're all doing well. I'm Gonzalo Romero, and I work primarily in software engineering, AI, and pentesting :) . I'm new to the Dev.to community, so please forgive me in advance if I make any mistakes.
I'd like to share a course on ML, DL and AI that I've been putting together for the past year and a half. It's called No Shortcuts, it's free, and the whole thing is on GitHub.
BlueRingsLabs
/
no-shortcuts
Free Course : Data, Machine Learning, Deep Learning and AI Engineering, the long way round: the math, the code, the systems and the security. 173 lessons, 166 runnable labs, no shortcuts. Free under CC BY-NC 4.0.
No Shortcuts
Data, Machine Learning, Deep Learning and AI Engineering, the long way round
by Gonzalo L. Romero (DeepRat)
Every week somebody on the internet promises to turn you into an "AI Engineer" in six weeks. You watch the videos, you copy the notebook, you call model.fit(), you get 97% accuracy on a dataset that has been solved since before you were born, and you put "AI" on your CV. Then you get your first real job, somebody hands you a table with 400 million rows, a label that is wrong 8% of the time, a latency budget of 50 ms and a security team that wants to know why your chatbot just emailed the customer database to a stranger. And the six-week course has nothing to say about any of that.
This course is my answer to that problem. It is long. It is not easy. It hasโฆ
The idea is to have the whole path in one place, from the math to a model running in production, and to build the important pieces yourself along the way. It's split in ten parts, more or less in this order.
- Part 0 is orientation. What the job titles really mean, setting up your machine, how to study.
- Part I is the foundations, Python and all the math you need (linear algebra, calculus, probability, statistics, information theory) plus some computer systems.
- Part II, data engineering, with SQL, modeling, Spark, orchestration, streaming and governance.
- Part III goes through classical ML, from learning theory to boosting, forecasting and recommenders.
- Part IV is deep learning. You derive backprop and build a small autograd engine before touching PyTorch, and by the end you're working with transformers, generative models and training at scale.
- Part V is language models. You write a GPT from scratch, train it on the text of the course itself, and then fine-tune it with LoRA and align it with DPO.
- Part VI is AI engineering, meaning RAG, agents, MCP, evals and LLM security.
- Part VII, reinforcement learning up to PPO.
- Part VIII is MLOps and ML systems.
- Part IX has four capstones and some notes on getting hired.
In total it's 173 lessons and 166 labs, and I estimate a bit over 1,800 hours if you actually do the labs. It's a lot, I know.
The labs are plain Python files with # %% cells, not notebooks, so you can run them cell by cell in VS Code, PyCharm or Jupyter (with jupytext). I didn't want notebooks as the source mostly because of hidden state, and because they're impossible to review in a diff.
Every lab ends with assertions and CI runs all of them on each change, which is also where the numbers in the lessons come from. I learned that they have to check conclusions and not exact numbers the day I made the repo public, when the profiling lab failed in CI. It asserted that batch 256 gives at least a 3x speedup, which held on my 4-core machine (7x) and not on GitHub's runner with 2 physical cores (2.8x), so it passed or failed depending on which machine CI got. Now it checks that the ordering holds, and lesson 33.3 explains why the size of the speedup depends on the machine.
You don't need a GPU. 8 GB of RAM is enough for almost everything (16 is comfortable), and every lab from Part IV on has a CPU-sized version.
Because of the pentesting side of my work there is a lot of security in it, mainly prompt injection and the OWASP LLM Top 10, red teaming, adversarial ML, the ML supply chain and securing data platforms. In the last capstone you build a RAG agent and then attack it yourself.
Each module starts with a short self-check, and if you pass it you can go straight to the lab.
To follow it you need to know how to program in some language and not be scared of a terminal. Any math beyond high school is taught inside the course.
git clone https://github.com/BlueRingsLabs/no-shortcuts.git
cd no-shortcuts
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python tools/run_labs.py --part 1
I'd start with Part 0 even if you already have experience, it's only three short lessons.
It's licensed CC BY-NC 4.0, so you can use it, translate it or teach with it as long as you credit me and don't make money with it. If you want to use it commercially, ask me first.
With 173 lessons written by one person there will be mistakes. If you find one, an issue on GitHub or a comment here helps a lot.
And if you take the course and get stuck, my Discord is glromero write me there, or to my mail (deeprat.tec@gmail.com) mentioning "no-shortcuts" on the mail subject :B
Thanks for the space!

Top comments (0)