There is a strange asymmetry in machine learning education. An enormous amount of material teaches you how to train a model, and very little teaches you how to make one small enough, fast enough and cheap enough to actually deploy. That second problem is what kills projects. This course is the best public answer to it that I know of.
The first half deals with the classical toolkit for shrinking neural networks. Pruning, both structured and unstructured. Quantisation, from the basic idea of using fewer bits through to the awkward practicalities of where accuracy goes when you do. Knowledge distillation.
Neural architecture search. Song Han's own research sits underneath a lot of this, which shows in how the material is taught, because you get the reasoning behind the techniques rather than a summary of the papers. The second half is where the course has stayed relevant. It moves into efficient inference for large language models, long context handling, post training acceleration, multimodal models, and efficiency for generative image models.
This is exactly the material people are scrambling for right now, as teams discover that serving a large model at production traffic costs more than developing it did. The labs are the part I would insist on. Quantising a model yourself and watching the accuracy fall in ways you did not predict teaches something that reading about quantisation error does not. Pruning a network and discovering that the theoretical speed up does not materialise on your hardware teaches you the difference between parameter count and latency, which is one of the most commonly confused things in this field.
There are five assignments spanning quantisation, pruning, architecture search, and compression and deployment for language models, and they build in a sensible order. The prerequisites are where people should be honest with themselves. This assumes you have trained models and understand how they work, and it also asks for a degree of systems thinking, since the questions here are about memory bandwidth, cache behaviour, kernel support and throughput as much as they are about accuracy. Someone who has only used high level APIs will find the second half hard going.
Compute is a mild practical barrier too, because some labs want a GPU and the ones on language model compression want a reasonable one. Hardware specificity is the durability problem. Efficiency work is closely tied to what accelerators and kernels support at a given moment, and that moves quickly, so some numbers, formats and tooling references in any given offering are already stale by the time you watch it. The concepts have a much longer shelf life than the specifics, and you should read the specifics as illustrations rather than instructions.
Finding the current version of things can also be mildly annoying, since material is spread across offerings and mirrors. My 4.6 is a rating of unusually high value applied to a topic with almost no competition. It is free, it is taught by the right person, and the skills transfer directly into work that companies pay for. It is also a second course, not a first one, and anyone arriving without deep learning fundamentals should build those before showing up.