张量并行Tensor Parallelism
张量并行(Tensor Parallelism,TP)就是把同一层神经网络中的张量(权重或计算)拆分到多张 GPU 上,并行完成一次层计算。 张量并行并不是 LLM 时代才提出的概念,在深度学习中很早就存在。不过早期模型通常只有几百万到几千万参数,单层参数规模远小于单卡显存容量,因此几乎没有使用张量并行的需求。 训练瓶颈随着模型大小越来越大,一个 70B 的稠密模型单层就有 1B 左右,在 FP16+Adam 下面训练,则会存储这些东西 项目 字节 FP16 模型权重 2 FP16 梯度 2 FP32 master weight 4 FP32 Adam 一阶矩 $m$ 4 FP32 Adam 二阶矩 $v$ 4 有些实现会额外保留 FP32 梯度副本,1B 左右的参数需要 16-20G显存。 如果为了防止爆显存而让每个流水线 stage 只放一层 Transformer Block,那么虽然单卡能够容纳这一层,但会导致流水线 stage 数量过多,流水线 bubble 增大,吞吐下降,同时通信次数也会明显增加。 此外,这 20G 只是必...
PagedAttention原理
为什么会有 KV cache在 LLM 的 decode 阶段,需要计算当前 token 与历史 token 的注意力。 计算这些 token 注意力,实际是计算最后一个 token 的 $q_t$ 向量与前面 token 的 $K$ 矩阵转置的乘积 $q_tK^{T}$ ,通过 softmax 得到注意力 $p_t$ 然后得到 $p_tV$ 。 o_t=\operatorname{softmax}(\frac{q_tK^{T}}{\sqrt{d}})V对于之前 $[1,t-1]$ 的计算来说,$k_i,v_i$ 都是第 $h_iW_K,h_iV_k$ 得到,没有必要重复计算,因此可以缓存这一部分的值。 对于本次计算,仅需要计算$q_t,k_t,v_t$ 以及 softmax 即可。而我们缓存下来的 $K,V$ 就叫做 KV cache PagedAttention 之前对 KV cache 的处理以及问题在之前的 Orca 中,将KV cache 视为一个连续的张量处理,但是 KV cache的如下性质注定其工程上不适合用于连续存储: 动态增长,且长度不定 生命周期未知 ...
FlashAttention -1 原理
在介绍FlashAttention之前,先介绍 LLM 推理的两个阶段,一个是 prefill 阶段,一个是 decode 阶段。 假设输入为[Batch_size=1,句子长度len,模型隐藏维度d],数据类型为FP16 标准 Attention 在做什么首先,计算计算 S = Q K^{T}将结果写入 HBM ,然后应用一个 softmax P =\operatorname{Softmax}(S)从 HBM 中读取 S ,再将结果 P 写入 HBM O = PV然后从 HBM 读取 P ,再将 O 写入 P。整个过程中读入了[Q,K,S,P,V] 写入了 [S,P,O]。每次矩阵乘法是一次加乘,即两次浮点运算,一共执行了 $4{len}^2d$ 次,一共搬运了 $4{len}^2+4len \cdot d$ 的数据,即执行 $8{len}^2+8len \cdot d$次。 prefill与decode阶段的区别在 prefill 阶段,我们会把整段 prompt 交给 LLM ,此时模型得到 KV cache,输入是一个 $n*d$ 维度的向量, 显然,对于每一层都一...
面试积累 - FFN 层激活函数
在 FFN 层中,有几个常见的激活函数,这次我们尝试梳理它们。 GLU 变体公式 \text{激活} \quad \left\{ \begin{aligned} \mathrm{FFN}_{\mathrm{GLU}}(x, W, V, W_2) &= (\sigma(xW) \otimes xV)\,W_2 \\ \mathrm{FFN}_{\mathrm{Bilinear}}(x, W, V, W_2) &= (xW \otimes xV)\,W_2 \\ \mathrm{FFN}_{\mathrm{ReGLU}}(x, W, V, W_2) &= (\max(0, xW) \otimes xV)\,W_2 \\ \mathrm{FFN}_{\mathrm{GEGLU}}(x, W, V, W_2) &= (\mathrm{GELU}(xW) \otimes xV)\,W_2 \\ \mathrm{FFN}_{\mathrm{SwiGLU}}(x, W, V, W_2) &= (\mathrm{Swish}_{1}(xW) \otimes xV)\,W_2 \end{align...
LLM学习计划
本文章由 AI 辅助生成,作学习路线参考以及知识清单。 title: LLM学习计划date: 2026-07-20 20:19:03tags: LLM, AIinfra 本文章由 AI 辅助生成,作学习路线参考以及知识清单。 数学线性代数 矩阵乘法、转置、逆、行列式 矩阵分解:SVD、QR、Cholesky 特征值与特征向量 张量运算:broadcast、reshape、einsum 正交性、投影、子空间 概率与信息论 条件概率、贝叶斯定理 分布:高斯、伯努利、分类分布 KL散度、交叉熵、互信息 最大似然估计(MLE)、最大后验估计(MAP) 信息熵、互信息在特征选择中的应用 优化理论 SGD、Momentum、Nesterov Adam / AdamW:自适应学习率 + 权重衰减解耦 学习率调度:Warmup、Cosine Decay、OneCycle 凸优化与非凸优化的区别 梯度消失与梯度爆炸 二阶方法:Newton法、L-BFGS(了解即可) 数值计算 浮点表示:FP32、FP16、BF16、FP8(E4M3/E5M2)、INT8、INT4、NF4 混合精度训练:前...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment
Digital VLSI Design-lecture 7
Lecture 7: Placement 引入
Digital VLSI Design-lecture 6
Lecture 6: Moving to the Physical Domain 我们已经完成了设计流程的前端部分,现在开始完成后端部分 我们将通过绘制布局图(floorplan),为我们的设计打下物理基础。 这包括决定“重要”或“较大”的模块放置位置,比如 IP 核、I/O、供电网格、特殊布线等。 接下来,我们可以放置(place)逻辑门,同时考虑拥塞(congestion)和时序(timing)因素。 有了触发器之后,我们就可以设计时钟树(clock-tree)。 最后,我们可以根据设计规则检查(DRC)、时序(timing)、噪声(noise)等因素,对所有网络进行布线(route)。 在流片(tapeout)之前,我们还需要清理设计、验证等等。 开始物理设计为了从理论设计走向物理芯片,我们先在理论上定义了: 定义设计 .v 定义设计约束/目标 .sdc 定义工作条件/模式 (MMMC) 定义工艺和库信息 .lef 定义物理信息(Floorplan) 在之前的理论设计中,我们用的是一个理想的模型,因此忽略了以下内容: 不考虑电源供电 综合时只认为有一个完美的V...
Digital VLSI Design-lecture 5
Timing Analysis 同步设计大多数数字设计是同步的,并且使用顺序元件构建。 同步设计消除了竞争现象,并且更适合设计流水线,提高了吞吐量。 假设所有顺序元件都是边沿触发的,并使用D触发器作为寄存器。 那么出发它有三个关键的时序参数 $t_{cq}$ 时钟到输出延迟,本质上是一个传播延迟。 $t_{setup}$ 建立时间,即数据必须在时钟到来前到达。 $t_{hold}$ 保持时间,即数据在时钟到来后必须保持稳定的时间。 时序约束 在同步逻辑中,需要思考两个重要参数: 最大延迟 最小延迟 其最大延迟不能过大,以至于数据信号没有足够的时间从一个寄存器传到下一个寄存器,在下一个时钟沿到来之前还未完成。最小延迟也不能过小,以至于在同一个时钟周期内就穿过了多个寄存器。 最大延迟违例是由于数据路径过长所导致的,包括寄存器的建立时间 $t_{setup}$ ,因此它通常被称为“建立路径(Setup Path)”。 最小延迟违例是由于数据路径过短,导致数据在保持时间 $t_{hold}$ 到之前就发生了变化,因此它通常被称为“保持路径(Hold Path)”。 建...








