ben (@benbye) header
ben (@benbye) profile picture

understanding intelligence through video games @uwaterloo prev @tensormesh @databricks @vercel @meta

Toronto & SF
Joined June 2025
Photo by ben (@benbye)Photo by ben (@benbye)Photo by ben (@benbye)Photo by ben (@benbye)Photo by ben (@benbye)Photo by ben (@benbye)Photo by ben (@benbye)Photo by ben (@benbye)Photo by ben (@benbye)Photo by ben (@benbye)
I trained a 750K-parameter world-model agent on my M5 Pro to play video games! Presenting NanoDreamer: a tiny Dreamer-inspired agent that learns game dynamics and trains an actor–critic in latent imagination. Write-up: benjamin-bai.com/projects/na…
23
23
1
349
11,781
A lot of inspiration for this project came from @danijarh's Dreamer papers, @PimDeWitte and @gen_intuition's work on embodied intelligence through video games, and @karpathy's nanochat! And thanks to @kwu4578 and @bryzhao for reading early versions of the blog and giving feedback!
5
368
For this project, I also wanted a deeper understanding of all the components I was using, so I also wrote my own autograd engine, tensor library, neural network layers, AdamW optimizer, autoencoder, and causal transformer from scratch. The blog has two paths: a shorter version focused on NanoDreamer and the interesting experiments, and a deep dive into building everything from first principles.
2
7
653
and as a cool side note, by the end, NanoDreamer was even better than me at some of these games 😭
3
388
Very cool stuff!
fine-tuned qwen on my 16gb gpu to respond without the letter e what i learned: > simply masking the 'e' tokens out produces gibberish > you can just RL a model to speak coherently writeup here: kevin-wu.ca/blog/qwn/
7
519
Mini-projects 7–9: building a tiny transformer world model and training an actor–critic through imagined rollouts on MinAtar. This has been driving me crazy, but it’s finally learning from random weights. here’s a 15-point Space Invaders run! Now, training across more games now, with final benchmarks, tweaks, and performance improvements underway. Full write-up, post, and repo coming soon.
Mini-Project 6/10: Training a Visual Encoder and Decoder for MinAtar Space Invaders with My Own Neural Network Engine
2
1
16
412
Mini-Project 6/10: Training a Visual Encoder and Decoder for MinAtar Space Invaders with My Own Neural Network Engine
Mini-project 5/10: Actor-Critic RL on a smaller version of Pac-Man.
2
1
1
16
811
Truly believe video games will be the key to general physical intelligence
there is a massive market at the intersection of fun video games and generating datasets for frontier labs
3
9
344
Mini-project 5/10: Actor-Critic RL on a smaller version of Pac-Man.
Project 4/10: Built a tiny GPT on top of my MiniNN. Trained it on Shakespeare.
1
1
9
716
Very very cool
DINOv2 has never seen a caption, and Qwen3 has never seen an image. We still aligned their embedding spaces without a single image-caption pair. It even works when the images and the captions come from different datasets. Project page: dominik-schnaus.github.io/un… ⬇️
4
176
Project 4/10: Built a tiny GPT on top of my MiniNN. Trained it on Shakespeare.
Project 3/10: built MiniNN, a bare-bones ML framework, on top of my TensorGrad autodiff engine. Trained a 101,770-parameter network on MNIST and reached 95.56% test accuracy after 30 epochs. MiniNN supports: - Trainable parameters and reusable modules - Vectorized linear layers with Xavier initialization - Sigmoid, Tanh, SiLU, and stable Softmax - Sequential model composition - Mean squared error loss - Mini-batch training with SGD
2
1
16
527
Project 3/10: built MiniNN, a bare-bones ML framework, on top of my TensorGrad autodiff engine. Trained a 101,770-parameter network on MNIST and reached 95.56% test accuracy after 30 epochs. MiniNN supports: - Trainable parameters and reusable modules - Vectorized linear layers with Xavier initialization - Sigmoid, Tanh, SiLU, and stable Softmax - Sequential model composition - Mean squared error loss - Mini-batch training with SGD
Project 2/10: extended MiniGrad into TensorGrad - NumPy tensor autograd - Broadcasting-aware gradients - Reductions, slicing, and shape operations - Vector, matrix, and batched matrix multiplication - Exp, log, sigmoid, and SiLU - Stable softmax and logsumexp - Finite-difference gradient checks Used it to recover y = 2x₁ − 3x₂ + 1 with gradient descent.
7
1
22
1,180
Project 2/10: extended MiniGrad into TensorGrad - NumPy tensor autograd - Broadcasting-aware gradients - Reductions, slicing, and shape operations - Vector, matrix, and batched matrix multiplication - Exp, log, sigmoid, and SiLU - Stable softmax and logsumexp - Finite-difference gradient checks Used it to recover y = 2x₁ − 3x₂ + 1 with gradient descent.
Built MiniGrad from first principles - scalar autograd - computation graphs - reverse-mode backprop - gradient accumulation - SiLU, neurons, layers, MLPs, and SGD Used it to train an MLP on XOR end-to-end Inspired by @karpathy's micrograd Project 1/10
9
1
1
23
2,535
Built MiniGrad from first principles - scalar autograd - computation graphs - reverse-mode backprop - gradient accumulation - SiLU, neurons, layers, MLPs, and SGD Used it to train an MLP on XOR end-to-end Inspired by @karpathy's micrograd Project 1/10
10
3
2
29
2,637