MLX course / practical AI projects

Six Weeks of Building the Bits

Alongside the MSc, I worked through a six-week practical AI course and kept the projects public on GitHub. Getting a model to run teaches you very little. Implementing the pieces closely enough to see where the behaviour comes from teaches you most of it.

The projects covered embeddings, vision transformers, image captioning, audio classification, speech experiments, LoRA fine-tuning and retrieval. I have linked to my repos here, but I have not republished course PDFs, assignment briefs or third-party papers.

Original diagram summarising Daniel Bryars' MLX practical AI course projects.
Not lecture notes: a map of the practical projects and what each one exercised

Approach

Build it close enough to feel it.

I learn best when the abstraction has some exposed wiring. Several of these projects recreate model components directly: patch embedding, positional encoding, layer normalisation, attention blocks, decoders and training loops.

Practice

Training is an engineering problem

The repos include dataset handling, checkpoints, validation, experiment tracking, sweeps, masking, inference scripts and the usual tensor-shape archaeology that separates a demo from something you can reason about.

Range

Vision, language and sound

The course gave me a compact tour through modern AI systems: visual tokens, caption decoders, audio features, speech recognition, image-to-DSL fine-tuning, embeddings and two-tower search.

What stuck

Systems around the model

The valuable habit was asking what the representation is, how the loss is being created, what leakage or masking mistake might be hiding in the pipeline, and how to evaluate progress without fooling myself.

Project set

Public repos from the course and closely related follow-on experiments.

MLX3 / PyTorch / vision transformers

Vision Transformers

Implemented patch embedding, positional encoding, manual layer norm, self-attention, transformer blocks, classifier heads, MNIST training and WandB sweeps.

MLX4 / CLIP / decoder-only captioning

Decoder Visual Captioning

Built an image-captioning system with a frozen CLIP vision encoder, projection layer, custom transformer decoder and careful causal/image attention masking.

MLX5 / audio / transformers

Audio Processing

Environmental sound classification with MFCC features, Conv1D frontends and transformer models, plus speech-recognition experiments with Whisper-style tooling.

MLX6 / LoRA / multimodal fine-tuning

Image-to-DSL Fine Tuning

Fine-tuned a LLaMA 3.1 8B workflow with CLIP visual features, a projection layer, LoRA adapters and synthetic diagrams rendered from a small custom DSL.

MLX7 / Word2Vec / prediction

Predicting Hacker News Upvotes

Used a Word2Vec-style representation of Hacker News text as part of a supervised prediction task. A neat reminder that embeddings are features, not magic dust.

Embeddings / retrieval / service

Two-Tower Search

Related retrieval work using document processing, Word2Vec embeddings, a two-tower model, approximate nearest-neighbour top-k search and a small FastAPI service.

Why it belongs here

A practical bridge between the MSc and robot-learning work

The MSc gave me the structure; these gave me the reps. They cover the same ground as the taught modules - representations, training signals, masking, evaluation - but built from scratch, which is where you find out what you had only half understood.

That is the bit I care about most. Not "I used a transformer", but "I know where the patches come from, how the mask is shaped, what the loss sees, and where the experiment might be lying."

Diagram of MLX course project areas.
Academic, but still very much in the spirit of taking the cover off the machine