PigeonColumba compressa

Flight School

Today Flight School is a reading map: 12 chapters in order, plus 10 coding lessons where you build the algorithms yourself, checked against tests in your browser. 11 of the 12 chapters point to the Field Guide sections that teach them and 6 have a coding lesson; the 6 that aren't fully written yet say what's missing.

The course

A chapter lists the Field Guide sections to read, then the lesson that codes the idea when it has one (6 of 12 do), then a preset that loads the idea onto Pigeon's real weights in the Coop where one fits (5 of 12).

  1. Chapter 1: What a weight is

    FP32, FP16 and BF16: bits, range and precision

    Not written yet: how FP32, FP16 and BF16 lay out their bits, and how they trade range for precision.

  2. Chapter 2: Scale and zero-point

    The one formula behind all quantization

  3. Chapter 3: Bits and rounding

    INT8, INT4, INT2 and binary

  4. Chapter 4: Granularity

    Per tensor, per channel, per group: how many scales a tensor gets

  5. Chapter 5: Outliers

    Why a few huge values ruin everything

  6. Chapter 6: Activations and calibration

    Weight-only vs W8A8, static vs dynamic

  7. Chapter 7: Sensitivity and mixed precision

    Not every layer is equal

    Not written yet: how to measure each layer's sensitivity, and how to pick bit widths that fit a size budget.

  8. Chapter 8: Codebooks

    Non-uniform levels and palettes

    Not written yet: fixed non-uniform grids such as NF4 and FP4, and how they compare with learned palettes.

  9. Chapter 9: Pruning

    Unstructured, 2:4 and structured, and the cliff

  10. Chapter 10: Recovery

    Fine-tuning and quantization-aware training

  11. Chapter 11: Distillation

    A big teacher trains a small student

  12. Chapter 12: Low-rank

    One big matrix becomes two thin ones

Build it yourself

Write the pieces of compression in plain numpy, from softmax to GPTQ's error-compensation loop. Each lesson gives you starting code and runs hidden tests against yours: gradient checks, comparisons with the lab's own implementation, or a model that has to reach an accuracy.

Your code runs in your own browser (Python compiled to WebAssembly), with a 30-second limit per check. Nothing is sent to a server: your drafts and the lessons you pass are kept in this browser only.