OpenArch – 现代LLM架构的PyTorch实现
摘要
OpenArch 是一个 GitHub 仓库,提供现代 LLM 架构的手工 PyTorch 实现,以提高教学清晰度,并支持对结构选择进行并排比较。
查看缓存全文
缓存时间: 2026/09/14 11:45
anuj0456/OpenArch 源代码:https://github.com/anuj0456/OpenArch
OpenArch
用Python从零开始实现现代开源大语言模型架构——逐个模型,独立编写。
本仓库包含手写的PyTorch实现,对应Sebastian Raschka的“LLM架构画廊”(https://sebastianraschka.com/llm-architecture-gallery/)中收录的模型架构。
每个模型的实现都基于我对原始论文、技术报告、参考config.json文件,以及Sebastian Raschka和Machine Learning Mastery优秀文章的理解,力求忠于原貌。
目标不是与transformers或其他生产级库竞争,而是注重清晰度与学习价值:每个架构对应一个可读性强的单文件,其中的结构选择(注意力类型、归一化、层组合、MoE路由、位置编码)都明确呈现,便于并列比较。
为何建立这个仓库?
现代LLM架构共享基本骨架,但在数十个细微而关键的选择上有所不同:
- 注意力机制:MHA、GQA、MQA、MLA、滑动窗口注意力、线性/DeltaNet混合注意力
- 归一化:预归一化、后归一化、QK-Norm、夹心归一化、RMSNorm
- 位置编码:RoPE、NoPE、部分RoPE、YaRN
- 解码器类型:密集型 vs 稀疏MoE(是否包含共享专家)、Mamba/注意力混合架构
- 训练时技巧:多token预测、潜在专家、门控注意力
阅读官方模型代码可能困难,因为生产仓库需优化速度、分片和向后兼容性。而本仓库优化目标是可读性。
已实现内容(截至目前)
标记为✅的实现可用于前向传播;标记为🚧的尚在开发中。
| 模态 | 模型 | 状态 | 模型规模 | 归一化 | 位置编码 | 注意力机制 | 混合专家模型 |
|---|---|---|---|---|---|---|---|
| 文本 | GPT-2 XL | ✅ | 1.5B | - | 绝对位置编码 | 多头注意力 | 无 |
| Llama 2 | ✅ | 7B | RMS Norm | RoPE | 多头注意力 | 无 | |
| Llama 3 | ✅ | 8B | RMS Norm | RoPE | 分组查询注意力 | 无 | |
| OLMo 2 | ✅ | 7B | RMS Norm & QK-Norm | RoPE | 多头注意力 | 无 | |
| DeepSeek R1 | ✅ | 671B | RMS Norm & QK-Norm | RoPE | 多头潜在注意力 | 是 | |
| Gemma 3 | ✅ | 27B | RMS Norm & QK-Norm | RoPE | 滑动窗口分组查询注意力 | 无 | |
| Mistral 3 | ✅ | 24B | RMS Norm | RoPE | 滑动窗口分组查询注意力 | 无 | |
| Llama 4 Maverick | ✅ | 400B | RMS Norm | RoPE | 分组查询注意力 | 是 | |
| Qwen 3 | ✅ | 4B | RMS Norm & QK-Norm | RoPE | 分组查询注意力 | 无 | |
| 30B-A3B | RMS Norm & QK-Norm | RoPE | 分组查询注意力 | 是 | |||
| Kimi K2 | ✅ | 1T | RMS Norm | RoPE | 多头潜在注意力 | 是 | |
| GLM 4.5 | ✅ | 355B | RMS Norm & QK-Norm | RoPE | 分组查询注意力与多token预测 | 是 | |
| GPT-OSS | ✅ | 20B | RMS Norm | RoPE | 滑动窗口分组查询注意力 | 是 | |
| Grok-2.5 | 🚧 | 270B | RMS Norm | RoPE | 分组查询注意力 | 是 | |
| 多模态 | PaliGemma | ✅ | 3B | RMS Norm | RoPE | 多头注意力 | 无 |
| Qwen3 | 🚧 | 3B | RMS Norm | RoPE | 多头注意力 | 无 | |
| 图像 | Dall-e | 🚧 | - | - | - | Transformer | - |
完整目标列表对应架构画廊中的72个架构。欢迎贡献其中任何一个的实现。
仓库布局
OpenArch/
├── text/
│ ├── gpt2/
│ │ ├── model.py
│ │ └── README.md
│ ├── llama3/
│ ├── qwen3/
| ├── grok2.5/
│ └── deepseek_v3/
├── multimodal/
│ └── pali-gemma/
│ ├── model.py
│ └── README.md
├── README.md
└── requirements.txt
每个模型位于独立文件夹中,包含相应的model.py和简短的README.md,说明所用架构选择与参考文献。
贡献指南
我正在积极寻找贡献者。 如果你喜欢阅读模型论文、比较config.json文件,或只是想加深对现代LLM构建方式的理解,这里是一个友好的起点。
好的首次贡献包括:
- 从画廊中选择一个未实现的模型,并为其添加
model.py - 为现有模型添加
README.md,记录其架构选择 - 添加前向传播测试,加载官方权重并在几个token上验证输出一致性
- 修复错误、改进文档字符串或重构共享组件
开始大规模工作前请先开issue,以避免重复劳动。
实现应优先考虑可读性而非性能——这首先是一个学习资源。详见CONTRIBUTING.md。
致谢
本仓库得益于两位杰出教育者的工作:
- Sebastian Raschka (https://sebastianraschka.com/) — 感谢其LLM架构画廊(https://sebastianraschka.com/llm-architecture-gallery/)、大型LLM架构对比系列文章(https://magazine.sebastianraschka.com/p/the-big-llm-architecture-comparison)以及《从零开始构建LLM》(https://github.com/rasbt/LLMs-from-scratch)书籍与代码库。画廊中的架构图、概览表和并列对比是本仓库每个模型的主要参考。
- Jason Brownlee与Machine Learning Mastery团队 (https://machinelearningmastery.com/) — 感谢多年清晰易懂的教程,帮助无数从业者(包括我自己)从基础建立对深度学习和Transformer架构的理解。
本仓库中的任何实现错误均由我个人负责。
许可证
本项目采用Apache License 2.0 — 详见LICENSE。
各模型实现遵循原始模型的适用许可证;具体信息请查看各模型文件夹。
免责声明
这些实现基于公开可用的论文、技术报告、配置文件和教学材料编写,力求忠于原意。它们旨在作为学习资源,与原始模型作者无关联或背书。如需生产用途,请使用官方实现或transformers库。
相似文章
@rasbt: A little talk on what we can learn from implementing LLM architectures from scratch in Python and PyTorch. And how I ap…
Sebastian Raschka discusses the value of implementing LLM architectures from scratch in Python/PyTorch, sharing his workflow for understanding new open-weight models by dissecting configs, coding, and layer-by-layer debugging.
从零开始开发开源大语言模型:从预训练到RLHF(PPO/GRPO)
一位开发者分享了从零开始训练一个70亿参数开源大语言模型的进展,该模型基于DeepSeek架构并针对低显存进行了优化,目标是推动AI开发的民主化,并最终超越大型专有模型。
@_rohit_tiwari_:用PyTorch从头构建类似GPT的LLM > 将LLM架构拆分为简单部分 > 对初学者友好 > Fu…
一个对初学者友好的动手GitHub仓库,将类似GPT的LLM架构拆分为简单部分,包含10个Jupyter笔记本,涵盖分词、注意力机制、Transformer块以及用PyTorch实现的微型GPT。
Ornith-1.0:用于智能代理编码的自我构建型大语言模型
Deep Reinforce发布了Ornith-1.0系列开源自我改进大语言模型,专为智能代理编码设计,参数规模从9B到397B,在SWE-Bench Verified和Terminal-Bench 2.1等基准测试中取得了最先进的性能,超越了Claude Opus 4.7及其他领先的开源模型。
@_avichawla:8种AI模型架构的视觉解析:人们往往把LLM视作整个领域,但它们只是其中一员……
对8种主要AI模型架构的可视化解析,包括LLM、VLM、MoE、SLM等,外加来自MIT的递归语言模型的额外介绍。