AI Engineering
Open up the model and tune the knobs yourself.
Tokens, attention and sampling show how the model reads and writes. Then the context window, search and retrieval decide what it sees, and evals tell you if it worked.
Sessions
Go in order. Each session is one idea you can drag, step and break.
01Machine learning foundations
3 live · 2 comingWhat a model is and how it learns.
Interactive
Coming soonWhat a model is
Parameters in, prediction out: a model is a function you tune.
Interactive
LiveTraining: loss and gradient descent
Nudge every parameter downhill until the error stops falling.
Open session →
Interactive
LiveOverfitting and train/test splits
A model that memorizes the training set and fails on new data.
Open session →
Interactive
LiveNeural networks, layer by layer
Weights, activations and how stacking layers learns features.
Open session →
Interactive
Coming soonSupervised, unsupervised and reinforcement learning
Learn from labels, from structure, or from rewards.
02How LLMs work
10 live · 0 comingInside the model, one piece at a time.
Interactive
LiveHow text becomes tokens
Train a tiny BPE tokenizer merge by merge, then type your own text and count the tokens.
Open session →
Interactive
LiveToken embeddings and positions
Look up each token's row, add a vector for its position, and see why “dog bit man” needs it.
Open session →
Interactive
LiveAttention, one head
Pick a word and see which words it looks at: score, scale, mask, softmax, blend.
Open session →
Interactive
LiveA transformer block
LayerNorm, attention, feed-forward and residual adds on real numbers. Turn residuals off and the tokens blur together.
Open session →
AI #02
LiveHow an LLM picks the next token
Drag temperature, top-k and top-p. Watch the odds move, then sample.
Open session →
Interactive
LiveThe KV cache
Why the first token is slow, the rest are fast, and long chats cost memory.
Open session →
Interactive
LivePretraining
Clean the text, guess every next token, measure the loss, nudge the weights. Train a tiny model batch by batch.
Open session →
Interactive
LiveInstruction tuning and RLHF
One prompt through pretraining, SFT and RLHF. Loosen the KL leash and watch reward hacking set in.
Open session →
Interactive
LiveScaling laws
More data, parameters and compute: what improves, and how fast.
Open session →
Interactive
LiveWhy models hallucinate
Rare facts get thin probabilities but fluent answers. Try retrieval, “not sure”, and grading that stops rewarding guesses.
Open session →
03Prompting
2 live · 4 comingGetting the model to do what you mean.
Interactive
Coming soonSystem, user and assistant messages
What each role is for, and what the model actually sees.
Interactive
Coming soonZero-shot and few-shot prompting
Show a few examples and watch the output format lock in.
Interactive
Coming soonChain of thought and reasoning models
Let the model think before answering, and when that helps.
Interactive
Coming soonPrompt patterns
Delimiters, checklists, personas and asking for a plan first.
Interactive
LiveThe context window, turn by turn
Play a long chat and watch the prompt fill the window. Then trim it, and see what it costs.
Open session →
Interactive
LiveLong context vs retrieval
Paste the whole document, or fetch only the relevant parts?
Open session →
04Embeddings and retrieval
5 live · 1 comingFinding the right information to give the model.
Interactive
LiveEmbeddings and similarity search
Move a query in vector space and see which notes come back.
Open session →
Interactive
LiveChunking strategies
Fixed size, overlap or by heading: see which one cuts the answer in half.
Open session →
Interactive
LiveHybrid search and reranking
Keyword search, vector search, rank fusion and a reranker. See which one finds the right note.
Open session →
Interactive
LiveRAG, step by step
Chunk, retrieve and prompt, and see what the model actually gets.
Open session →
Interactive
LiveQuery rewriting and HyDE
Rewrite a vague question before searching, so retrieval finds more.
Open session →
Interactive
Coming soonGraphRAG and knowledge graphs
Retrieve through relationships, not just similar text.
05Agents
2 live · 3 comingModels that decide what to do next.
Already live in other tracks: Call a tool, then answer, MCP: tools the model can call
Interactive
LiveAgent patterns: workflow or agent?
Chaining, routing, parallel calls, orchestrator-workers, evaluator loops and a true agent, side by side.
Open session →
Interactive
LiveThe ReAct loop
Think, act, observe, repeat, until the task is done.
Open session →
Interactive
Coming soonReflection and self-correction
The model checks its own work and tries again.
Interactive
Coming soonComputer-use and browser agents
An agent that clicks, types and reads screens.
Interactive
Coming soonWhy agents fail
Loops, drift, wrong tools and errors that compound over steps.
06Evaluation
3 live · 2 comingKnowing whether it got better.
Interactive
LiveEvals: is the new prompt better?
Grade two prompt versions with code checks and an LLM judge, then check the judge against people.
Open session →
Interactive
LiveEvaluation metrics
Exact match, similarity scores, faithfulness and when each misleads.
Open session →
Interactive
LiveLLM-as-judge and its biases
A model grading a model: position bias, length bias and self-preference.
Open session →
Interactive
Coming soonBenchmarks
What MMLU-style scores measure, and why they stop meaning much.
Interactive
Coming soonRed-teaming
Try hard to make the model fail before users do.
07Adapting models
1 live · 4 comingChanging what the model knows or how it behaves.
Interactive
Coming soonFine-tuning
Train on your own examples to change style, format or behavior.
Interactive
LiveLoRA and parameter-efficient tuning
Train a small add-on instead of the whole model.
Open session →
Interactive
Coming soonPreference tuning: RLHF and DPO
Teach the model which of two answers people prefer.
Interactive
Coming soonDistillation
A big model teaches a small one to be nearly as good, much cheaper.
Interactive
Coming soonSynthetic data
Use a model to generate training and test data, and its traps.
08Choosing and running models
0 live · 7 comingWhich model, where, and for what.
Interactive
Coming soonOpen vs closed models
API models or open weights: quality, cost, control and privacy.
Interactive
Coming soonReasoning models and thinking budgets
Spend more tokens thinking for harder problems, and when not to.
Interactive
Coming soonSmall and on-device models
Fast, cheap and private, if the task is narrow enough.
Interactive
Coming soonRunning models locally
Download a model and run it on your own machine.
Interactive
Coming soonMultimodal models
Images, audio and video in the same prompt as text.
Interactive
Coming soonSpeech to text and text to speech
Transcription and voices, and the latency of a voice conversation.
Interactive
Coming soonHow image generation works
Diffusion: start from noise and remove it step by step.
09Responsible AI
0 live · 4 comingUsing AI without causing harm.
Interactive
Coming soonBias and fairness
Where bias comes from, and how to measure it.
Interactive
Coming soonAlignment basics
Getting a model to do what people actually want, safely.
Interactive
Coming soonPrivacy and training data
What models can memorize, and keeping personal data out.
Interactive
Coming soonAI regulation
What laws like the EU AI Act require from teams shipping AI.
In production
Tools you can use
95 technologies across 26 live sessions. Same names in any language — pick a session to see how the idea maps to the real world.
Services, platforms, protocols and standards — not one stack.
Every framework trains models with this same loop; they compute the gradients for you.
- PyTorchSoftware
Autograd computes every gradient; optimizers take the step.
GitHub ↗ - JAXSoftware
Gradients of plain numerical functions, compiled for GPUs and TPUs.
GitHub ↗ - TensorFlow PlaygroundSoftware
Train a small neural network in the browser and watch the loss.
Official site ↗ - scikit-learn SGDSoftware
Linear models trained with stochastic gradient descent.
Official site ↗
Every training tool reports train and validation loss for this reason.
Neural network libraries do this arithmetic at enormous scale.
Every model ships with its own tokenizer; you count tokens to budget prompts and estimate cost, whatever your stack.
- tiktokenSoftware
OpenAI's fast BPE tokenizer for GPT models.
GitHub ↗ - Hugging Face TokenizersSoftware
Train and run BPE, WordPiece and Unigram tokenizers.
GitHub ↗ - SentencePieceSoftware
Language-independent subword tokenizer used by Llama, Gemma and T5.
GitHub ↗ - TiktokenizerSoftware
Paste a prompt and see its tokens for many models.
GitHub ↗ - Anthropic token countingService
Count tokens for a Claude request before you send it.
Documentation ↗
Every transformer starts with an embedding lookup; models differ mainly in how they encode position.
- Attention Is All You NeedStandard
The paper that introduced sinusoidal position encodings.
Official site ↗ - RoPE (RoFormer)Standard
Rotary position embeddings, used by Llama, Mistral and Qwen.
Official site ↗ - Hugging Face TransformersSoftware
Inspect any open model's embedding table and position settings in its config.
GitHub ↗ - Embedding ProjectorSoftware
Explore word embeddings in 3D and find nearest neighbours.
Official site ↗
Every transformer runs this same score, mask, softmax and blend, in every head and every layer.
- Attention Is All You NeedStandard
The 2017 paper that introduced the transformer and scaled dot-product attention.
Official site ↗ - Transformer ExplainerSoftware
Interactive GPT-2 in the browser, from Georgia Tech's Polo Club.
GitHub ↗ - BertVizSoftware
Visualize attention heads of real models.
GitHub ↗ - nanoGPTSoftware
A small, readable GPT you can train yourself.
GitHub ↗ - FlashAttentionSoftware
The fast, memory-efficient attention kernel most inference stacks use.
GitHub ↗
GPT-2, Llama and nearly every LLM since stack this same block; the configs only change its size and count.
- nanoGPTSoftware
A GPT whose whole block fits on one screen of code.
GitHub ↗ - LLM VisualizationSoftware
A 3D walk through every matrix in a small GPT.
Official site ↗ - Transformer ExplainerSoftware
GPT-2 running in the browser, block by block.
GitHub ↗ - Llama modelsSoftware
Meta's reference code and configs: width, layers, heads and feed-forward size.
GitHub ↗ - Pure attention loses rankStandard
Dong et al., 2021: why stacks without residual connections collapse.
Official site ↗
Inference stacks all implement the same scoring → filter → sample loop for each token.
- OpenAI Chat CompletionsService
Hosted models with temperature, top-p, and logit bias.
Documentation ↗ - Anthropic Messages APIService
Claude with temperature and sampling controls.
Official site ↗ - OllamaSoftware
Run open models locally with the same sampling knobs.
GitHub ↗ - Hugging Face TransformersSoftware
Load models and call generate() with temperature and top-k.
GitHub ↗ - vLLMSoftware
High-throughput GPU inference server.
GitHub ↗ - llama.cppSoftware
Local CPU/GPU inference for open weights.
GitHub ↗
Every serving stack keeps a KV cache; the differences are in how they store and share it.
- vLLMSoftware
PagedAttention stores the KV cache in pages to fit more users per GPU.
GitHub ↗ - Hugging Face TransformersSoftware
Cache classes for generation, including quantized and offloaded caches.
Documentation ↗ - llama.cppSoftware
Local inference with a configurable context size and cache type.
GitHub ↗ - Prompt cachingService
Providers reuse the cached prefix of a repeated prompt and charge less for it.
Documentation ↗
Open pretraining runs share the same parts: a web crawl, a cleaning pipeline, a tokenizer and a distributed trainer.
- Common CrawlPlatform
The open web crawl behind most pretraining datasets.
Official site ↗ - FineWebPlatform
15T tokens of filtered, deduplicated web text, with the recipe published.
Official site ↗ - datatroveSoftware
Filtering and deduplication pipelines for large text datasets.
GitHub ↗ - Megatron-LMSoftware
NVIDIA's framework for training large transformers across many GPUs.
GitHub ↗ - torchtitanSoftware
PyTorch's reference for large-scale LLM pretraining.
GitHub ↗
The same three stages, SFT, preference data and a KL-leashed optimizer, sit behind every chat model.
- TRLSoftware
SFT, reward modelling, PPO and DPO trainers for open models.
GitHub ↗ - OpenRLHFSoftware
RLHF at scale with PPO, DPO and reward models.
GitHub ↗ - InstructGPT paperStandard
Ouyang et al., 2022: SFT, a reward model and PPO.
Official site ↗ - DPO paperStandard
Rafailov et al., 2023: preference tuning without a separate reward model.
Official site ↗ - Constitutional AIStandard
Bai et al., 2022: AI feedback guided by written principles.
Official site ↗ - Reward model overoptimizationStandard
Gao et al., 2022: reward keeps rising while real quality falls.
Official site ↗
Labs plan training runs with fitted scaling curves.
No setting turns hallucination off; teams ground answers in sources, measure faithfulness, and reward “not sure”.
- Why Language Models HallucinateStandard
Kalai et al., 2025: rare facts and guess-rewarding grading.
Official site ↗ - Claude citationsService
Answers that point to the exact passages in your documents.
Documentation ↗ - RagasSoftware
Faithfulness and answer-relevance scores for RAG outputs.
GitHub ↗ - Vectara hallucination leaderboardPlatform
How often popular models invent facts when summarizing.
GitHub ↗ - simple-evals (SimpleQA)Software
Short factual questions graded right, wrong or not attempted.
GitHub ↗
Every hosted model bills per token and caps the window; prompt caching and trimming are the levers in any stack.
- Anthropic prompt cachingService
Cache a long, unchanged prefix and pay a fraction to reuse it.
Documentation ↗ - OpenAI prompt cachingService
Automatic discount on repeated prompt prefixes.
Documentation ↗ - Gemini context cachingService
Store a large context once and reference it across calls.
Documentation ↗ - vLLMSoftware
Self-hosted inference with automatic prefix caching.
GitHub ↗
Long context and retrieval are both standard features now.
Embedding models plus a vector index power similarity search in any application stack.
- OpenAI EmbeddingsService
Hosted embedding API for text.
Documentation ↗ - Cohere EmbedService
Multilingual embedding models as an API.
Official site ↗ - sentence-transformersSoftware
Open embedding models you can run yourself.
GitHub ↗ - ChromaSoftware
Embeddings + vector store in one open-source package.
GitHub ↗ - pgvectorSoftware
Vector similarity inside PostgreSQL.
GitHub ↗ - PineconeService
Managed vector database for similarity search.
Official site ↗ - WeaviateService
Open-source vector store with hybrid search.
Official site ↗
Every RAG pipeline has a splitter; most offer the same three choices: size, overlap and structure.
- LangChain text splittersSoftware
Character, recursive, Markdown-header and token splitters.
Documentation ↗ - LlamaIndex node parsersSoftware
Sentence, semantic and hierarchical chunking.
Official site ↗ - UnstructuredSoftware
Parse PDFs, slides and HTML into titled elements before chunking.
GitHub ↗ - ChonkieSoftware
A small chunking library with token, sentence and semantic chunkers.
GitHub ↗
Search engines and vector databases now ship BM25, vectors and fusion together; rerankers sit on top as a service.
- ElasticsearchSoftware
BM25 plus dense vectors, with reciprocal rank fusion built in.
GitHub ↗ - OpenSearchSoftware
Open-source search with hybrid queries and normalization.
Official site ↗ - WeaviateService
Vector database with a hybrid (BM25 + vector) query.
Official site ↗ - QdrantSoftware
Vector database with sparse + dense vectors and fusion.
GitHub ↗ - VespaPlatform
Search and ranking engine with multi-phase ranking.
Official site ↗ - Cohere RerankService
Hosted cross-encoder reranker for search results.
Official site ↗
RAG pipelines chunk documents, retrieve vectors, and inject context — usually with off-the-shelf pieces.
- LangChainSoftware
Retrieval chains, loaders, and prompt templates.
GitHub ↗ - LlamaIndexSoftware
Connectors, chunking, and query engines over your data.
GitHub ↗ - HaystackSoftware
Open-source RAG and search pipelines.
GitHub ↗ - UnstructuredSoftware
Parse PDFs and HTML into clean chunks for indexing.
GitHub ↗ - ChromaSoftware
Persist retrieved chunks with embeddings.
GitHub ↗ - Azure AI SearchService
Hybrid keyword + vector retrieval in one index.
Official site ↗
Most RAG frameworks can rewrite or expand the query before retrieval with one setting.
Agent frameworks are mostly ways to wire these patterns; the patterns work with a plain model API too.
- Building effective agentsStandard
Anthropic's write-up of these six patterns (Dec 2024).
Official site ↗ - LangGraphSoftware
Graphs of model calls with loops, branches and state.
GitHub ↗ - OpenAI Agents SDKSoftware
Agents, handoffs and guardrails.
GitHub ↗ - AutoGenSoftware
Multi-agent conversations and orchestration.
GitHub ↗ - TemporalSoftware
Durable execution for long-running agent workflows.
GitHub ↗
Most agent frameworks run a version of this loop.
Eval tools all do the same three things: run a test set, grade it with code and models, and compare versions over time.
- promptfooSoftware
Test prompts against cases with assertions and model graders, from the command line.
GitHub ↗ - OpenAI EvalsSoftware
Framework and registry of evals for language models.
GitHub ↗ - InspectSoftware
The UK AI Security Institute's open evaluation framework.
GitHub ↗ - RagasSoftware
Metrics for RAG: faithfulness, answer relevance, context recall.
GitHub ↗ - BraintrustPlatform
Hosted evals, scoring and experiment comparison.
Official site ↗ - LangSmithPlatform
Tracing, datasets and evaluators for LLM apps.
Official site ↗
Classification metrics apply to LLM features too.
Eval tools ship LLM judges; the bias fixes (swap order, rubrics, human spot checks) are up to you.
LoRA is the default way to fine-tune open models, and many hosted APIs fine-tune with adapters too.
- Hugging Face PEFTSoftware
LoRA, QLoRA and other adapters for Transformers models.
GitHub ↗ - UnslothSoftware
Faster, lower-memory LoRA fine-tuning on one GPU.
GitHub ↗ - vLLM multi-LoRASoftware
Serve one base model with many adapters loaded per request.
Official site ↗ - LoRA paperStandard
Hu et al., 2021: Low-Rank Adaptation of Large Language Models.
Official site ↗
Roadmap
Coming soonA step-by-step path through the track, with sessions and practice at each stage.
- Stage 1
Foundations and how LLMs work
- Stage 2
Prompting and retrieval
- Stage 3
Agents and evaluation
- Stage 4
Adapting and choosing models
- Stage 5
Responsible AI
Projects
Coming soonBuild something real to lock in the skill.
- Build a RAG chatbot over your docs
- Build a tool-using agent
- Write an eval harness