OpenArch: PyTorch-implementaties van moderne open-source LLM-architecturen

Deze repository bevat implementaties van de modelarchitecturen die zijn gecatalogiseerd in de LLM Architecture Gallery van Sebastian Raschka. Elk model is naar beste weten geïmplementeerd op basis van de originele papers, technische rapporten, referentie config.json-bestanden en de uitgebreide analyses van Sebastian Raschka en Machine Learning Mastery.

Het doel is niet om te concurreren met transformers of andere productielibraries. Het doel is duidelijkheid en leren: één leesbaar bestand per architectuur, waarbij structurele keuzes (zoals het type attention, normalisatie, layer-mix, MoE-routing en positional encoding) expliciet zijn gemaakt en eenvoudig naast elkaar kunnen worden vergeleken.

Waarom deze repository?

Moderne LLM-architecturen delen een gemeenschappelijk skelet, maar verschillen in tientallen kleine, belangrijke keuzes:

  • Attention: MHA, GQA, MQA, MLA, sliding-window, linear/DeltaNet-hybrides.
  • Normalisatie: pre-norm, post-norm, QK-Norm, sandwich norm, RMSNorm.
  • Positional encodings: RoPE, NoPE, partial RoPE, YaRN.
  • Decoder-type: dense versus sparse MoE (met of zonder shared experts), hybride Mamba/attention.
  • Training-time tricks: Multi-token-prediction, latent experts, gated attention.

Het lezen van officiële modelcode kan lastig zijn, omdat productie-repositories zijn geoptimaliseerd voor snelheid, sharding en achterwaartse compatibiliteit. Deze repository is geoptimaliseerd voor leesbaarheid.

Geïmplementeerde modellen

Implementaties gemarkeerd met � zijn bruikbaar voor forward passes; implementaties gemarkeerd met 🚧 zijn in constructie.

ModaliteitModelStatusModelgrootteNormalisatiePositional EncodingAttentionMixture of Experts
TextGPT-2 XL
1.5B-AbsoluteMultihead AttentionNee
TextLlama 2
7BRMS NormRoPEMultihead AttentionNee
TextLlama 3
8BRMS NormRoPEGrouped Query AttentionNee
TextOLMo 2
7BRMS Norm & QK-NormRoPEMultihead AttentionNee
TextDeepSeek R1
671BRMS Norm & QK-NormRoPEMultihead Latent AttentionJa
TextGemma 3
27BRMS Norm & QK-NormRoPEGrouped Query Attention with Sliding WindowNee
TextMistral 3
24BRMS NormRoPEGrouped Query Attention with Sliding WindowNee
TextLlama 4 Maverick
400BRMS NormRoPEGrouped Query AttentionJa
TextQwen 3
4BRMS Norm & QK-NormRoPEGrouped Query AttentionNee
Text30B-A3B--RMS Norm & QK-NormRoPEGrouped Query AttentionJa
TextKimi K2
1TRMS NormRoPEMultihead Latent AttentionJa
TextGLM 4.5
355BRMS Norm & QK-NormRoPEGrouped Query Attention & Multi-Token PredictionJa
TextGPT-OSS
20BRMS NormRoPEGrouped Query Attention with Sliding WindowJa
TextGrok-2.5🚧270BRMS NormRoPEGrouped Query AttentionJa
MultimodalPaliGemma
3BRMS NormRoPEMultihead AttentionNee
MultimodalQwen3🚧3BRMS NormRoPEMultihead AttentionNee
ImageDall-e🚧---Transformer-

De volledige doellijst weerspiegelt de 72 architecturen in de Architecture Gallery. Bijdragen aan deze modellen zijn welkom.

Structuur van de repository

OpenArch/
├── text/
│   ├── gpt2/
│   │   ├── model.py
│   │   └── README.md
│   ├── llama3/
│   ├── qwen3/
│   ├── grok2.5/
│   └── deepseek_v3/
├── multimodal/
│   └── pali-gemma/
│       ├── model.py
│       └── README.md
├── README.md
└── requirements.txt

Elk model bevindt zich in een eigen map met een bijbehorend model.py en een korte README.md waarin de architecturale keuzes en gebruikte referenties worden beschreven.

Bijdragen

Ik ben actief op zoek naar bijdragers. Als je graag model-papers leest, config.json-bestanden vergelijkt of je begrip van hoe moderne LLM's zijn gebouwd wilt verdiepen, is dit een goede plek om te beginnen.

Goede eerste bijdragen zijn:

  • Kies een niet-geïmplementeerd model uit de gallery en voeg een model.py toe.
  • Voeg een README.md toe voor een bestaand model waarin de architecturale keuzes worden gedocumenteerd.
  • Voeg een forward-pass test toe die de officiële gewichten laadt en de output vergelijkt op een aantal tokens.
  • Los bugs op, verbeter docstrings of refactor gedeelde componenten.

Open a.u.b. een issue voordat je aan een groot stuk werk begint, zodat we dubbel werk kunnen voorkomen. Implementaties moeten prioriteit geven aan leesbaarheid boven prestaties — dit is in de eerste plaats een leermiddel. Zie CONTRIBUTING.md voor meer details.

Erkenningen

Deze repository zou niet bestaan zonder het werk van twee uitstekende educatoren:

  • Sebastian Raschka — voor de LLM Architecture Gallery, de Big LLM Architecture Comparison-serie, en het boek en de codebase LLMs From Scratch. De architectuurdiagrammen, fact-sheets en zij-aan-zij vergelijkingen in de gallery zijn de primaire referentie achter elk model in deze repo.
  • Jason Brownlee en het team van Machine Learning Mastery — voor jaren van heldere, toegankelijke tutorials die talloze beoefenaars (mijzelf inbegrepen) hebben geholpen om een werkend begrip van deep learning en transformer-architecturen vanaf de basis op te bouwen.

Eventuele fouten in de implementaties zijn volledig op mijn eigen verantwoordelijkheid.

Licentie en Disclaimer

Licentie

Dit project is gelicentieerd onder de Apache License 2.0 — zie LICENSE voor details. Individuele model-implementaties volgen de licenties van de originele modellen waar applicable; zie de map van elk model voor details.

Disclaimer

Deze implementaties zijn naar beste weten geschreven op basis van publiek beschikbare papers, technische rapporten, configuratiebestanden en educatief materiaal. Ze zijn bedoeld als leermiddel en zijn niet verbonden met of onderschreven door de oorspronkelijke model-auteurs. Voor productiegebruik wordt aangeraden de officiële implementaties of transformers te gebruiken.