AI DAILY / 2026-09-15
OpenArch:现代大模型架构的简洁 PyTorch 实现合集
OpenArch – PyTorch implementations of modern LLM architectures
全文中文翻译 · AI 生成,仅供学习交流
OpenArch – PyTorch 实现现代 LLM 架构
每个架构对应一个可读的单文件实现。结构上的选择(注意力类型、归一化、层混合、MoE 路由、位置编码)都明确标出来,方便并排对比。
为什么要做这个仓库?
现代 LLM(大语言模型)架构共享同一套骨架,却在很多细小又重要的选择上各不相同。
- 注意力(Attention):MHA、GQA、MQA、MLA、滑动窗口(sliding window)、线性/DeltaNet 混合
- 归一化(Normalization):前置归一化(pre-norm)、后置归一化(post-norm)、QK-Norm、夹心归一化(sandwich norm)、RMSNorm
- 位置编码(Positional Encoding):RoPE、NoPE、partial RoPE、YaRN
- 解码器类型:稠密 vs 稀疏 MoE(专家混合),可带或不带共享专家,Mamba/注意力混合
- 训练期技巧:多 token 预测(Multi-token prediction)、潜在专家(latent experts)、门控注意力(gated attention)
官方模型的代码读起来常常让人头疼。生产仓库要的是速度、分片和向后兼容,本仓库只要一件事,可读性。
已实现的内容(截至目前)
标 ✅ 的可以做前向传播,标 🚧 的还在写。
| 模态 | 模型 | 状态 | 模型规模 | 归一化 | 位置编码 | 注意力 | 专家混合 |
|------|------|------|----------|--------|----------|--------|----------|
| 文本 | GPT-2 XL | ✅ | 1.5B | — | Absolute | Multihead Attention | No |
| | Llama 2 | ✅ | 7B | RMS Norm | RoPE | Multihead Attention | No |
| | Llama 3 | ✅ | 8B | RMS Norm | RoPE | Grouped Query Attention | No |
| | OLMo 2 | ✅ | 7B | RMS Norm & QK-Norm | RoPE | Multihead Attention | No |
| | DeepSeek R1 | ✅ | 671B | RMS Norm & QK-Norm | RoPE | Multihead Latent Attention | Yes |
| | Gemma 3 | ✅ | 27B | RMS Norm & QK-Norm | RoPE | Grouped Query Attention with Sliding Window | No |
| | Mistral 3 | ✅ | 24B | RMS Norm | RoPE | Grouped Query Attention with Sliding Window | No |
| | Llama 4 Maverick | ✅ | 400B | RMS Norm | RoPE | Grouped Query Attention | Yes |
| | Qwen 3 | ✅ | 4B | RMS Norm & QK-Norm | RoPE | Grouped Query Attention | No |
| | Qwen 3 30B-A3B | ✅ | 30B-A3B | RMS Norm & QK-Norm | RoPE | Grouped Query Attention | Yes |
| | Kimi K2 | ✅ | 1T | RMS Norm | RoPE | Multihead Latent Attention | Yes |
| | GLM 4.5 | ✅ | 355B | RMS Norm & QK-Norm | RoPE | Grouped Query Attention & Multi-Token Prediction | Yes |
| | GPT-OSS | ✅ | 20B | RMS Norm | RoPE | Grouped Query Attention with Sliding Window | Yes |
| | Grok-2.5 | 🚧 | 270B | RMS Norm | RoPE | Grouped Query Attention | Yes |
| 多模态 | PaliGemma | ✅ | 3B | RMS Norm | RoPE | Multihead Attention | No |
| | Qwen3 | 🚧 | 3B | RMS Norm | RoPE | Multihead Attention | No |
| 图像 | Dall-e | 🚧 | — | — | — | Transformer | — |完整目标列表与 Architecture Gallery 中的 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 的输出
- 修 bug、改 docstring,或者把共享组件重构一下大改动之前请先开个 issue,免得大家重复劳动。实现要把可读性放在性能前面。这是一个学习资源,学习才是第一位的。
更多细节见 CONTRIBUTING.md。
致谢
这个仓库能存在,要感谢两位很棒的教育者。
Sebastian Raschka,他的 LLM Architecture Gallery、Big LLM Architecture Comparison 系列,以及《LLMs From Scratch》一书和配套代码,是这一切的起点。画廊里的架构图、事实清单和并排对比,是本仓库里每个模型的主要参考。
Jason Brownlee 和 Machine Learning Mastery 团队,多年来一直用清晰好懂的教程,帮助无数从业者(包括我自己)从零开始搭建起对深度学习和 Transformer 架构的实操理解。
任何实现上的错误都由作者本人承担。
许可证
本项目按 Apache License 2.0 许可,详见 LICENSE 文件。各模型的实现遵循其原模型的许可证(如适用),具体见各模型文件夹。
免责声明
这些实现是作者基于公开论文、技术报告、配置文件和教学材料尽力编写的,旨在作为……