FlashAttention 原理
在介绍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)”。 建...
Digital VLSI Design-lecture 4
Lecture 4: Logic Synthesis Part 2 在 lec3 的学习中,我们已经知晓了编译和库。我们已经将设计加载到综合器中,也加载了标准单元库和IP。 接下来我们要讨论综合过程中更核心的部分。 布尔最小化布尔最小化是综合过程中的一个关键步骤,涉及将逻辑表达式简化为最小形式,以优化电路设计。 展开和绑定和预映射优化在这个步骤中,工具将执行以下操作 将 RTL 编译为布尔数据结构 将非布尔模块绑定到叶单元 优化布尔逻辑 将设计结果映射到通用的、与技术无关的逻辑门。 这是逻辑综合的核心,自八十年代一直研究的主题。 Two-Level Logic在展开过程中,主要输入和输出(端口)被定义,顺序元素(触发器、锁存器)被推断。这导致了一组组合逻辑云: 输入端口和寄存器输出是逻辑的输入。 输出端口和寄存器输入是逻辑的输出。 输出可以描述为输入的布尔函数。 布尔最小化的目标是减少输出函数中的文字数量。 许多不同的数据结构都能用来表示布尔函数,如真值表、立方体、二元决策图、方程等。 许多研究是基于SOP或POS表示法进行的,这种表示法更为人知的是“两级逻辑”(Two...
Digital VLSI Design-lecture 3
Lecture 3: Logic Synthesis Part 1 什么是逻辑综合综合是将 RTL 转换为特定技术的门级网表的过程,并根据预定义的约束进行优化。 你将从以下内容开始 行为级 RTL 设计 标准单元库 一组设计约束 你结束时得到: 映射到标准单元库的门级网表 (对于 FPGA:查找表、触发器和 RAM 块) (有希望)在速度、面积、功耗等方面也很高效。 形式化地,给你一个有限状态自动机 $F(X,Y,Z,\lambda,\delta)$ ,目标是得到一个电路 $C(G,W)$ ,其中: $G$ :电路组件的集合,如布尔门,触发器邓 $W$ :连接 $G$ 的导线集合 在某些情况下,逻辑综合可以得到比手动设计更优的设计(例如:逻辑优化)。不过,也存在例外情况。 以上是一个例外情况,!s0 && s1 || s0 可以被优化为 s1 || s0 ,正如右边电路图所绘。 进行逻辑综合时候,尤其需要在以下方面注意: 最小化面积 最小化功耗 最大化性能 根据不同权重作为约束问题公式化 更全局的目标,如布局的反馈,实际物理尺寸等 How...










