Oliver
Perrin

I’m a machine learning engineer on the founding team of a stealth startup, where I lead the ML technical direction across model development, evaluation, inference, and integration.

Outside that work, I build LiminalML and explore NLP, multi-task learning, and post-training. I also write about the models I build and the ideas behind them.

Read my writing
Oliver standing on a rocky overlook in the mountains
Located in Charlotte, North Carolina

My work

Stealth startup

I’m the only ML engineer on the team. Starting from the CEO’s product ideas, I work out the ML approach and build it, along with the backend and data infrastructure it depends on. The company is pre-launch and most of this work is proprietary, so I keep the details private.

Experience

I founded LiminalML to build software for learning and explaining machine learning. I design, build, and run the company myself.

Study works through intuition, maths, code, and recall.

Studio lets you create and share interactive technical visuals. Try a few of the ones I’ve built below.

LoRA update space

Change the adapter rank to see its outputs expand from a line to a plane to a volume.

A three-output toy model with fixed synthetic inputs. It shows the adapter correction, not trained model activations.

Open in Studio

Preparing the interactive visual…

Writing

Implementation notes, explanations,
and things I learned the hard way.

Tokenization

Byte Pair Encoding From Scratch and the Tradeoffs the Tutorials Skip

Read essay
Architecture

Pre-LN, RMSNorm, and Why Normalization Placement Matters More Than You Think

Read essay
Transformers

Relative Position Bias: The Detail Most Transformer Tutorials Skip

Read essay
All writing on Substack

LexiMind

My open-source research project, started as an undergraduate. With a custom PyTorch transformer, I’m testing whether merging task-specialist models beats joint training once you count the cost of training the specialists.

The repository also has a book-discovery app. Its content-based recommendations run separately from the research model.