摘录自公众号「@跟我学机器学习」
从零实现张量并行 ParallelLinear
本文从工程实战角度讲清 LLaMA 等大语言模型中的张量并行原理,并用 PyTorch + FairScale 库从零实现 ColumnParallelLinear 与 RowParallelLinear。配套在 CPU 上即可运行的完整示例代码,帮助读者理解切分策略、All-Reduce 通信与权重初始化细节,作为大模型分布式训练入门到实践的桥梁教程。
大模型中的 ParallelLinear 张量并行计算原理
本文以 LLaMA、GPT-3 等千亿参数大模型为什么无法用单卡训练为出发点,系统讲清数据并行、模型并行与张量并行的动机与区别,重点图解 ColumnParallelLinear、RowParallelLinear 的切分与通信原理,并对比 HuggingFace Transformers、DeepSpeed 与 FairScale 三大实现方案的适用场景, …
大模型中 ReLU 是如何被 SwiGLU 取代的?
本文深度解析近年来主流大模型 LLaMA、DeepSeek、PaLM 都在使用的 SwiGLU 激活函数,从 Swish 与 GLU 门控机制讲起逐步推导 SwiGLU 数学公式,并给出可运行的 PyTorch 实现代码。通过对比 ReLU、GEGLU、SwiGLU 在同一 Transformer 小模型上的训练速度与下游任务精度,展示 SwiGLU 为何在 …
Transformer 中没全连接层行不行?
本文从自注意力机制与逐元素非线性的互补关系出发,讲清 Transformer 编码器-解码器每一层中的 Multi-Head Attention 与 Feed-Forward Network FFN 全连接层各自承担的功能,详细分析若移除 FFN 仅依赖残差与 Attention 时模型表达能力受限的原因,并对比 ReLU、GELU、SwiGLU 等激活函数 …
RMSNorm 是一个 LLaMA 、DeepSeek 模型都在用的归一化方法!为何?
本文从 LLaMA 1 论文与 DeepSeek 模型改造出发,系统讲清 RMSNorm 归一化的提出动机、数学公式、PyTorch 从零实现,以及它与 LayerNorm 在去均值操作、训练稳定性、推理速度上的关键差异,并给出机器翻译、图像分类、图文检索、问答四类任务的对比实验结果,帮助读者理解为什么 LLaMA 1/2/3、DeepSeek 等主流大模型 …
更小、更快、更便宜,DistilBERT 模型迁移与模型蒸馏的结合!
本文是知识蒸馏在 BERT 上的工程实践教程,系统讲清 DistilBERT 提出的动机、三重损失函数设计(蒸馏损失 + 学生损失 + 余弦相似损失)、Teacher-Student 初始化策略,以及如何用 PyTorch 从零实现模型结构、预训练与微调全流程,并对比 DistilBERT 与 BERT-base 在 GLUE、NER 等任务上的精度与速度表 …
模型蒸馏的原理是什么?温度有什么用?起底LLM中的蒸馏技术!
本文是 DeepSeek 系列前奏篇,系统讲清 LLM 模型蒸馏 Knowledge Distillation 算法的完整技术栈:温度 Temperature 如何软化教师模型输出的 logits、软标签 soft label 与硬标签 hard label 各自的梯度贡献、KD 蒸馏损失与学生任务损失的加权策略,并给出基于 PyTorch 与 …