This is a growing collection of tech blogs, articles, research papers, practice problems, courses, lectures, illustrations, videos, books, people, repositories, and advice that I have discovered over the years. The main purpose of this repository is to share high-quality content covering everything from git to multi-head attention. Contribution is encouraged! If you add it, I'll read it.
- Machine Learning / Deep Learning
- Software Engineering
- Data Structures & Algorithms
- System Design
- Interview Prep
- People
- Productivity Tips
-
Research Papers 📜
- Papers with Code
- Handwritten Digit Recognition with Back-Propagation Network (1989)
- Product Quantization for Nearest Neighbor Search (2010)
- Mastering the game of Go with deep neural networks and tree search (2016)
- Attention Is All You Need (2017)
- ImageNet Classification with Deep Convolutional Neural Networks ()
- Improving Language Understanding by Generative Pre-Training (2018)
- Language Models are Unsupervised Multitask Learners (2019)
- Language Models are Few-Shot Learners (2020)
- An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale (2020)
- Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (2020)
- Learning to Summarize from Human Feedback (2020)
- LoRA: Low-Rank Adaptation of Large Language Models (2021)
-
Courses 🧑🏫
- Andrew Ng’s Machine Learning Specialization Course
- Andrew Ng’s Deep Specialization Course
- Machine Learning Crash Course (Google)
- Learning From Data (Caltech)
- CS 329S: Machine Learning Systems Design (Stanford, Chip Huyen)
- Hugging Face NLP Course
- Vector Similarity Search and FAISS Course (James Briggs)
- Introduction to PyTorch (PyTorch Documentation)
- PyTorch Beginner Series (PyTorch Documentation)
- Learn PyTorch For Deep Learning in a Day. Literally. (Daniel Bourke)
- Local RAG from Scratch Tutorial (Daniel Bourke)
- Learn RAG From Scratch: Python AI Tutorial from a LangChain Engineer
- Recommendation Systems Course (Google)
- LLM101n: Let’s Build a Storyteller (Andrej Karpathy)
- Neural Networks: Zero to Hero (Andrej Karpathy)
-
Concepts / Theory 💡
- Momentum
- Gradient Descent With Momentum from Scratch
- Why Momentum Really Works
- A Recipe for Training Neural Networks (Andrej Karpathy)
- Yes You Should Understand Backprop (Andrej Karpathy)
- PEFT (Parameter-Efficient Fine-Tuning)
- 3B1B Neural Networks Series
- Dropout in Neural Networks
- Making Deep Learning Go Brrrr From First Principles (Horace He)
- Residual Blocks - Building Blocks of ResNet
- Understanding LSTM Networks (Chris Olah)
- What Are Embeddings? (Vicki Boykis)
- The Illustrated Word2Vec (Jay Alammar)
- Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention) (Jay Alammar)
- The Illustrated Transformer (Jay Alammar)
- Stanford CS25: V2 I Introduction to Transformers w/ Andrej Karpathy
- Visual Guide to Transformer Neural Networks - (Episode 1) Position Embeddings
- Visual Guide to Transformer Neural Networks - (Episode 2) Multi-Head & Self-Attention
- Visual Guide to Transformer Neural Networks - (Episode 3) Decoder’s Masked Attention
- Transformer Explainer (Visualizer)
- Tesla AI Day 2021
- Designing Machine Learning Systems (Chip Huyen)
- StatQuest with Josh Starmer
- Tutorial: Learning Curves for Machine Learning in Python
- Entropy: How Decision Trees Make Decisions
- All You Need to Know about Gradient Boosting Algorithm − Part 1. Regression
- All You Need to Know about Gradient Boosting Algorithm − Part 2. Classification
- Comparing Supervised Learning Algorithms
- Automatic Outlier Detection Algorithms in Python
- Random Oversampling and Undersampling for Imbalanced Classification
- SMOTE for Imbalanced Classification with Python
- Forecasting: Principles and Practice (Rob J Hyndman and George Athanasopoulos)
- An Overview of Monte Carlo Methods
- Monte Carlo Simulation (John Guttag)
- 5 Levels of Text Splitting for Retrieval
- Bi-Encoder vs. Cross Encoder (Sentence Transformers Documentation)
- Retrieve and Re-Rank Pipeline (Sentence Transformers Documentation)
- MTEB Leaderboard
- Filterable Approximate Nearest Neighbor Search
- What Does Larger Scale Software Development Look Like?
- Git for Professionals Tutorial - Tools & Concepts for Mastering Version Control with Git
- An Introduction to Kubernetes
- Apache Kafka Illustrated Introduction
- A Programmer’s Introduction to Unicode
- Python Style Guide
- Faiss: The Missing Manual (James Briggs)
- How to Improve Machine Learning Code Quality with Scikit-learn Pipeline and ColumnTransformer
- PyTorch Cheat Sheet
- PyTorch Data Parallelism with Multiple GPUs
- Automatic Mixed Precision (PyTorch)
- PyTorch Internals (Edward Z. Yang)
- The Components of a URL
- HTTP Requests / HTTP Responses
- The Only Cloud Services You Actually Need to Know (NeetCode)
- AWS Whitepapers & Guides
- Latency Numbers Every Programmer Should Know
- GitHub Gist
- Big O Cheat Sheet
- NeetCode 150
- LeetCode 150
- AlgoMonster
- Data Structures & Algorithms (Google Tech Dev Guide)
- Software Engineer Interviews: Everything You Need to Prepare
- Coding Interview University
- Introduction to Machine Learning Interviews (Chip Huyen)
- Machine Learning Systems Design Interview Questions (Chip Huyen)
- CodeInterview
- Andrej Karpathy
- Christopher Olah
- François Chollet
- Yann LeCun
- Andrew Ng
- Chip Huyen
- Jay Alammar