Indie Degree
← Programme

Systems for Machine Learning

AIE-207

3 credits · 60h required · after AIE-204

The hardware reality underneath everything above, and the answer to a question the rest of the programme keeps raising without settling: why do modern architectures look the way they do. They look that way because of memory bandwidth. Attention is not slow because of its arithmetic — the arithmetic is cheap — it is slow because it moves more data than it computes on, and once that is a number you have measured rather than a claim you have read, half the design decisions in a modern model stop being arbitrary.

The lab. Free-tier hosted GPU, and honesty about the constraint. There is no GPU on this laptop and the droplet is a 1 vCPU box that is not a laboratory for anything. The profiling items run on a free Colab or Kaggle session; the arithmetic items — intensity, roofline, communication volume — need no accelerator at all and are done on paper and checked in numpy. Where an item genuinely needs hardware that is not free, it says so and gives a smaller substitute rather than pretending.

By the end you can

  • Explain the memory hierarchy of a GPU and why attention is IO-bound
  • Profile a training step and identify the bottleneck
  • Describe data, tensor and pipeline parallelism and when each applies
  • Reason about the arithmetic intensity of an operation

What this builds

Next assessment. Measure the hierarchy yourself — 180 min, tier 1. Machine-checkable, so you can attempt it before reading anything and find out whether you need to.

0/17 assessed items demonstrated · 0/11 read or watched. The second number is how you close a gap; only the first is evidence that it closed.

0 of 17 demonstrated · 0/11 read

0m of 60h

M1 · The memory hierarchy, and why attention is IO-bound

0/6 · 13h

M2 · Arithmetic intensity and the roofline

0/5 · 12h
  • reading · 3h · tier 0 self-marked

    stanford-cs336/spring2025-lectures

  • assignment · 3h · tier 1 machine-verified

  • assignment · 2h 45m · tier 2 panel-assessed

  • reading · 3h · tier 0 self-marked

    karpathy/llm.c

  • retention · 15m · tier 1 machine-verified

M3 · Profiling a real training step

0/5 · 12h
  • lecture · 3h · tier 0 self-marked

    Let's reproduce GPT-2 (124M) — Andrej Karpathy

  • reading · 2h 45m · tier 0 self-marked

    pytorch/pytorch

  • assignment · 3h · tier 1 machine-verified

  • assignment · 3h · tier 2 panel-assessed

  • retention · 15m · tier 1 machine-verified

M4 · Parallelism, and what it costs to communicate

0/6 · 12h

M5 · Apply it to something you actually run

0/6 · 11h
  • assignment · 3h · tier 2 panel-assessed

  • project · 3h · tier 3 artifact

  • assignment · 2h · tier 2 panel-assessed

  • defense · 1h · tier 4 defended

  • reading · 1h 45m · tier 0 self-marked

    MIT 6.5940 EfficientML.ai — MIT HAN Lab

  • retention · 15m · tier 1 machine-verified