从代码角度学习和彻底理解 DeepSeek MLA 算法从代码角度深入理解 DeepSeek MLA 算法。从代码角度详细解析 MLA(Multi-head Latent Attention)算法的核心思想、ROPE 位置编码的兼容性问题,以及如何通过矩阵吸收来优化 KV Cache。chaofa2025年2月5日大约 5 分钟hands-on-codetransformerLLM
LLM MOE的进化之路,从普通简化 MOE,到 sparse moe,再到 deepseek 使用的 share_expert sparse moe本文详细介绍了三种不同版本的混合专家模型(Mixture of Experts, MoE)实现,从基础到进阶,帮助读者全面理解 MoE 在大语言模型中的应用。主要内容包括:1. 基础版 MoE:使用简单的线性层作为专家,理解 MoE 的基本工作原理; 2. SparseMoE:大模型训练中常用的稀疏 MoE 实现,基于 Switch Transformers 的设计;3. SharedExpert SparseMoE:参考 DeepSeek 的改进版本,引入共享专家机制。文章提供了完整的 PyTorch 实现代码,包括模型定义、路由机制、负载均衡损失计算以及训练流程。同时设置了扩展性练习,帮助读者深入理解 MoE 的工作机制和优化方向。chaofa2025年1月27日大约 7 分钟hands-on-codellms-zero-to-herotransformerLLM
LLM activate function激活函数的进化之路,从 ReLU,GELU 到 swishGLU主要介绍了从基础的 ReLU 到 GELU,再到现代大语言模型中广泛使用的 SwishGLU 的发展过程, 介绍了深度学习中激活函数演进历程。文章详细讲解了各个激活函数的数学原理和实现方式,并重点分析了 SwishGLU 如何结合 Swish 激活函数和 GLU 门控单元的优点。同时,文章还提供了完整的 PyTorch 代码实现,展示了如何在神经网络中使用这些激活函数,特别是在大语言模型的 FFN(前馈神经网络)层中的应用。对于想要深入理解现代深度学习模型架构的开发者和研究者来说,这是一份很有价值的参考资料。chaofa2025年1月27日大约 7 分钟hands-on-codellms-zero-to-herotransformerLLM
手写大模型组件之Group Query Attention,从 MHA,MQA 到 GQA了解注意力机制变体,包括MHA(Multi-Head Attention)、MQA(Multi-Query Attention)和GQA(Group Query Attention)。通过手写代码实现,探讨三种注意力机制的异同,以及GQA在推理性能优化方面的优势。chaofa2024年12月8日大约 3 分钟hands-on-codetransformerLLM
LoRA 原理和 PyTorch 代码实现用 PyTorch 实现从零实现 LoRA, 理解 LoRA 的原理,主要是为了展示一个 LoRA 实现的细节chaofa2024年11月9日大约 4 分钟hands-on-codetransformerLLM
手写 transformer decoder(CausalLM)手写一个 Causal Language Model,或者说简化版的 transformer 中的 decoder。chaofa2024年8月18日大约 3 分钟hands-on-codetransformerLLM
手写 Self-Attention 的四重境界,从 self-attention 到 multi-head self-attention在 AI 相关的面试中,经常会有面试官让写 self-attention,但是 transformer 这篇文章其实包含很多的细节,因此可能面试官对于 self-attention 实现到什么程度是有不同的预期。因此这里想通过写不同版本的 self-attention 实现来达到不同面试官的预期,四个不同的版本,对应不同的细节程度。chaofa2024年8月18日大约 7 分钟hands-on-codetransformerLLM