LogoCookLLM文档
LogoCookLLM文档
首页CookLLM

原理精讲

词元化
Tokenization 基础BPE 算法详解GPT 系列 TokenizerBPE 训练工程化
模型架构
Attention 机制详解
Engram
GPU 编程基础
GPU 架构基础张量布局Triton 入门:向量加法
FlashAttention
Flash Attention 原理详解从朴素实现到 Auto-TuningBlock Pointer 与多维支持Causal Masking 优化Grouped Query Attention反向传播实现

动手训练

系统工程FlashAttention

Flash Attention 原理详解

会员专享

通过交互式可视化,深入理解 Flash Attention 的核心技术:内存瓶颈、Online Softmax、与分块矩阵乘法。

登录以继续阅读

这是一篇付费内容,请登录您的账户以访问完整内容。

Flash Attention

深入理解 Flash Attention 的原理与 Triton 实现

从朴素实现到 Auto-Tuning

编写第一个 Flash Attention Kernel,并利用 Auto-Tune 进行性能优化。

目录

标准 Attention 的内存瓶颈
GPU 内存层级:SRAM 与 HBM
标准实现的逻辑陷阱
SRAM 与 HBM 的带宽差异
速度差异对比
瓶颈本质:IO 受限 (IO-bound)
SRAM 的容量限制
物理制约与成本
容量极限
核心思路:IO 复杂度优化
避免中间矩阵落盘
Online Softmax 原理
离线算法的局限性
在线算法与动态修正
修正公式推导
数值演示:以序列 [3, 2, 5, 1] 为例
Flash Attention 的数学原理总结
分块矩阵乘法 (Tiling)
为什么要进行“分块”?
可视化演示:分块计算流程
观察重点
Tiling 与 Attention 的结合
循环策略对比:V1 vs V2
图解交互指南
分块 Attention 的 Softmax 修正
朴素实现:局部 Softmax 的局限
解决方案:在线重缩放 (Online Rescaling)
初始化
内循环: 遍历 K-Blocks
最终步骤: 归一化
完整算法伪代码
算法全貌
总结