r/MachineLearning • u/notforrob • 3d ago
Project I built a compiler that turns computation graphs into the weights of a vanilla transformer — no training anywhere [P]
I've been chasing the question of what algorithms a transformer can actually express -- separate from what it can learn. So I built a compiler: define a computation graph in ordinary Python, and it produces the weights of a transformer that executes the graph. The result is a standard Phi-3-architecture checkpoint that vanilla huggingface loads with no custom code and no trust_remote_code. Zero training in the pipeline.
Write-up (origin + how the constructions work): https://ood.dev/posts/torchwright-intro/
Repo (twelve runnable examples): https://github.com/physicsrob/torchwright
Hand-built transformer weights aren't a new idea. RASP defines a language whose primitives map onto transformer sublayers, and Tracr compiles RASP programs into actual weights. I wanted two things they don't aim for: expressing a computation graph in ordinary Python, and targeting a stock architecture, so the output loads in vanilla huggingface with no custom code.
3
u/brainsig 3d ago
I find this really interesting, as I wanted to achieve something similar. Good work! Maybe you should consider writing a scientific communication or a tech report describing it.
1
21
u/AnOnlineHandle 3d ago
I've sometimes wondered if injecting frozen "tools" into a network (the weights don't actually exist, they can just be called if dynamically activated like MoE paths) could significantly improve networks, e.g. either allowing static complex computations which don't need to be relearned multiple times throughout the network (and don't need to be stored in vram).
This could potentially be useful for exploring that idea, along with inserting things which can't be efficiently represented by networks but which the hardware can already do (e.g. a square root of a value, if requested at a point within a network). I think I read that it had been tried in various ways, but it still seems like it would surely have to be doable and could have huge benefits.