OpenArch: Hand-Written PyTorch Implementations of 72 Modern LLM Architectures for Learning
OpenArch – PyTorch implementations of modern LLM architectures
OpenArch is a GitHub repository with from-scratch PyTorch implementations of modern open-source LLM architectures like Llama, Qwen, DeepSeek, Gemma, GPT-OSS, and Kimi. Based on Sebastian Raschka's LLM Architecture Gallery, each model gets a single readable file that makes design choices—attention, normalization, MoE routing, positional encoding—explicit for side-by-side comparison. The goal is clarity and learning, not production performance. Contributions are welcome.
The goal is not to compete with transformers or other production libraries. The goal is clarity and learning: a single readable file per architecture, with the structural choices (attention type, normalization, layer mix, MoE routing, positional encoding) made explicit and easy to compare side-by-side.
- anuj0456
I have been studying modern LLM architectures and started implementing them from scratch in PyTorch to better understand the design choices behind each model.
OpenArch is a collection of these implementations, including Llama, Qwen, DeepSeek, Gemma, Kimi, GPT-OSS and others.
The goal is to keep the code readable and useful as a reference when going from the paper to an actual implementation.
Would be interested in feedback from people working on model architecture and training.
- gfrangakis
Really cool. I know the sauce is in the layers and weights, but its kind of mind blowing how short / simple the implementations are
- k__
I was yesterday years old when I learned that those open weight models need custom code to run.
Somehow I expected inference engines are generic LLM runtimes that can execute any weight.
So, to get this right.
Someone trains a model.
They release the weights and a reference implementation of the model architecture.
Then a provider has to host this model either by running inference via the reference implementation, an open source implementation, or build their own.
Does this mean, providers don't just differ in quantisation and configuration, but also in inference engine implementation?
- theGeatZhopa
Hey anuj
This is excellent for understanding. I'm having some trouble to get into understanding - pytorch is for me the RL which is used as gym/training. There I can chose ppo, dnq and other agents to perform some predefined actions in a predefined gym/world.
The repo you are showing - I really have problems to get it into RL understanding of mine. What's the gym? What are the agents. Can it be used to train that models with pytorch?
Sorry for the noob question. Papers are overwhelming my noob brain.
- swimwiththebeat
This is really cool, great way to reinforce our understanding of model architectures! But how is the author confirming that these model architecture implementations are correct though? I don't see any details in the README.md.