makeMoE项目简介
makeMoE是一个从零开始实现稀疏混合专家(Sparse Mixture of Experts)语言模型的开源项目。该项目受到Andrej Karpathy的makemore项目启发,借鉴了其中的一些可重用组件,但使用了稀疏混合专家架构来构建自回归字符级语言模型。
主要特点
- 使用稀疏混合专家架构,而不是单一的前馈神经网络
- 实现了Top-k门控和带噪声的Top-k门控
- 使用Kaiming He初始化方法
- 最新更新(2024.03.18)增加了专家容量(Expert Capacity)
学习资源
-
详细教程博客:
-
核心文件:
- makeMoE.py: 完整实现的单个PyTorch文件
- makeMoE_from_Scratch.ipynb: 详细介绍模型架构直觉的教程notebook
- makeMoE_Concise.ipynb: 简洁版实现,适合修改和实验
-
参考论文:
makeMoE项目强调可读性和可修改性,非常适合学习和实验。项目使用Databricks平台和单个A100 GPU开发,也可以轻松扩展到更大规模的GPU集群。
如果你对稀疏混合专家模型感兴趣,makeMoE是一个很好的入门项目。欢迎克隆代码,进行修改和改进!