摘录自公众号「@跟我学机器学习」
GQA 原理与从零实现:MHA、MQA、GQA 演进与 LLaMA 2 选择 GQA 的原因
本文是 LLaMA 大模型推理优化系列的第2篇,系统讲清 Grouped Query Attention GQA 这种介于 MQA 与 MHA 之间的折衷注意力方案。先回溯 MQA 的痛点(单一 K/V 损失表达力),再以 MHA→MQA→GQA 结构对比图讲清「Queries 分组、每组共享一个 K/V」的核心做法,并把它类比 LayerNorm 与 …
多查询注意力MQA动机原理与实现
本文是 LLaMA 大模型推理优化系列铺垫篇,系统讲清 Multi-Query Attention MQA 这种改造自多头注意力 MHA 的注意力变体。核心做法是把 Q 仍按 head 数完整保留,但 K 和 V 在 head 维度上只保留一份,多个 Query 头共享同一份 Key/Value,从而在大模型推理 + KV Cache 场景下大幅降低缓存占用 …
大模型为什么需要KV缓存?为什么Q不用缓存?
本文是 LLaMA 2 模型原理铺垫篇,从大模型自回归解码的「重复计算」动机讲起,对比不采用 KV Cache 与采用 KV Cache 两套推理流程的算力开销,重点解答两个常见疑问:一是为什么只缓存 K 和 V 而不缓存 Q(Q 与当前位置相关无法复用);二是在 Column/Row 张量并行场景下 KV Cache 应当如何拆分到不同 GPU、跨 …
LLaMA1 动机原理与实现之我们不需要大力出奇迹
本文是 LLaMA 大模型系列正文第一篇,系统讲清 Meta LLaMA 1 论文的两个核心动机:一是打破「参数越大越好」的 Scaling Law,提出算力固定时小模型 + 更多数据更划算;二是把推理成本拉到与训练成本同等重要的位置,LLaMA 13B 即可超越 GPT-3 175B 但推理开销仅约其十分之一。同时完整介绍 LLaMA 的模型架构(基于 …
RoPE 旋转编码原理与从零实现
本文系统讲清 RoPE 旋转位置编码 Rotary Position Embedding 的提出动机、数学推导与工程实现。先回顾绝对位置编码与相对位置编码在 Transformer 中的差异,并通过 BERT 文本分类实验展示位置编码的边际收益,随后通过复数乘法与旋转矩阵给出 RoPE 的完整推导:f(q,m)=R_m·q、相对位置 m-n 仅依赖相对偏移, …
复数及欧拉公式介绍
本文是旋转位置编码 RoPE 系列的数学前置篇,系统讲清复数与欧拉公式这两个 RoPE 推导必备工具。从复数 z=a+bi 的实部虚部、复平面坐标表示、共轭复数 inner product 写法讲起,逐步推导出欧拉公式 e^{iθ}=cosθ+i·sinθ,并给出复数的两种等价表示(几何形式与指数形式)。配套可视化的复平面坐标图与公式推导,为读者阅读后续 …
从零实现基于张量并行的多头注意力机制
本文是详细讲解如何用上一章实现的 ColumnParallelLinear、RowParallelLinear 拼装出真正可运行的多头注意力机制 Multi-Head Attention。系统覆盖多头注意力的 Q/K/V/O 四个线性变换如何拆分到不同 GPU、头维度 head dim 整头分配而非拆分、Concat 输出重建与 AllReduce 通信时机 …