I’m Michael Min Wah Leung. I’m an ML Engineer at Microsoft Digital, working mostly on LLM post-training (SFT, GRPO, DPO) for domain alignment of internal expert models, and on the AI platforms that surround them. Before this I did graduate research in neuroscience at the University of Ottawa and the Ottawa Hospital Research Institute, decoding multidimensional neural activity from scalp EEG and from intraoperative microelectrode recordings of deep brain structures. That work still shapes how I think about features, interpretability, and biomarkers in modern models.
Earlier in my Microsoft career I worked on Responsible AI tooling, including adversarial benchmarking and red-teaming for LLMs, and shipped a SaaS that wrapped impact assessment in automation, CICD, and stress-testing so product teams could iterate on AI features and release them without compromising safety review. These days I am most curious about three things:
- Reinforcement learning on language models. Reward design, KL-anchored fine-tuning, and what GRPO and DPO actually do to model behaviour in production rather than on paper.
- Mechanistic interpretability. Sparse autoencoders, circuits, and the parts of neuroscience methodology that transfer to small transformers (and the parts that don’t).
- Sequence modelling beyond text. Sign language, EEG, anything where the encoder gets a stream of structured features instead of tokens.
This site is the long-form version of those notes. The posts are code-first and try to be honest about what worked, what didn’t, and why.
Beyond the modelling work the posts focus on, my day-to-day also covers production AI platforms, Big Data and MLOps tooling, and full-stack internal SaaS. A throughline across all of it is optimization at scale, in platform design, cloud infrastructure, and parallelization, because the cost and reliability of an enterprise solution usually gets decided long before the model does. I think of data engineering, ML engineering, and data science as the same job seen from different angles, but the part that gets me out of bed is still the modelling.
Get in touch: see the GitHub link for issues and PRs on any post, or LinkedIn for everything else.