LLM之makeMoE:makeMoE的简介、安装和使用方法、案例应用之详细攻略
目录
makeMoE的简介
1、对比makemore
2、相关代码文件
makMoE_from_Scratch.ipynb文件
makeMoE_Concise.ipynb文件
makeMoE的安装和使用方法
1、基于Databricks使用单个A100进行开发
makeMoE的案例应用
makeMoE的简介
2024年1月23日,AviSoori1x发布了makeMoE。makeMoE是一个从头开始实现的稀疏专家混合语言模型,灵感主要来自(并且在很大程度上基于)Andrej Karpathy的https://github.com/karpathy/makemore
GitHub地址:https://github.com/AviSoori1x/makeMoE/tree/main
HuggingFace社区博客地址:https://huggingface.co/blog/AviSoori1x/makemoe-from-scratch
1、对比makemore
简介 | 这是一个从头开始实现的稀疏专家混合语言模型。灵感主要来自Andrej Karpathy的项目'makemore',并借用了该实现的可重用组件。与makemore一样,makeMoE也是一个自回归的字符级语言模型,但使用了前述的稀疏专家混合架构。 |
对比 | 与makemore一样,pytorch是唯一的要求(所以希望从头开始的说法是合理的)。 与makemore架构相比的重要变化: >> 稀疏专家混合代替独立的前馈神经网络。 >> Top-k门控和有噪声的Top-k门控实现。 >> 初始化 - 这里使用了Kaiming He初始化,但这个笔记本的目的是可黑客化的,所以你可以替换为Xavier Glorot等,并试试效果。 |
与makemore相同的部分: >> 数据集、预处理(标记化)和Andrej最初选择的语言建模任务 - 生成类似莎士比亚的文本。 >> 因果自注意力实现 >> 训练循环 >> 推理逻辑 | |
引用 | >> "Outrageously Large Neural Networks: The Sparsely-Gated Mixture-Of-Experts layer":https://arxiv.org/pdf/1701.06538.pdf >> "Mixture of Experts":https://arxiv.org/pdf/2401.04088.pdf |
2、相关代码文件
makMoE_from_Scratch.ipynb文件
makMoE_from_Scratch.ipynb详细介绍了整个模型架构的直觉以及所有组件如何配合。建议从这里开始。
makeMoE_Concise.ipynb文件
makeMoE_Concise.ipynb是一个简洁的、可修改性的实现,我鼓励你去修改,理解,改进并使其成为你自己的。
makeMoE的安装和使用方法
1、基于Databricks使用单个A100进行开发
该代码完全在Databricks上使用单个A100进行开发。如果你在Databricks上运行这个代码,可以在你选择的云提供商上轻松地将其扩展到任意大的GPU集群上。
我选择使用MLFlow(在Databricks中预先安装)。这是完全开源的,你也可以在其他地方轻松pip install。我发现使用它来跟踪和记录所有必要的指标非常有帮助。这是完全可选的。
请注意,该实现强调可读性和可修改性而不是性能,因此有许多方法可以改进。请尝试并告诉我!
makeMoE的案例应用
更新中……