I made a 1.1M ModernBERT encoder play Doom in real time on a CPU Some time ago, VAGO Solutions released SauerkrautLM-Doom-MultiVec-1.3M, a tiny model trained to play Doom Defend the Center scenario from 31k human gameplay examples.
My first thought: cool! I love both Doom and Small Language Models.
Then another idea: I bet I can do better :-)
What I did? - evaluated the original model and found it's better than reported - changed a bit the architecture - generated SFT data with a scripted oracle - SFT + PPO refinement on consumer hardware
Got a smaller, faster and killer model Can even fit a floppy with int8 quantization 💾
I made a 1.1M ModernBERT encoder play Doom in real time on a CPU Some time ago, VAGO Solutions released SauerkrautLM-Doom-MultiVec-1.3M, a tiny model trained to play Doom Defend the Center scenario from 31k human gameplay examples.
My first thought: cool! I love both Doom and Small Language Models.
Then another idea: I bet I can do better :-)
What I did? - evaluated the original model and found it's better than reported - changed a bit the architecture - generated SFT data with a scripted oracle - SFT + PPO refinement on consumer hardware
Got a smaller, faster and killer model Can even fit a floppy with int8 quantization 💾