专栏名称: GiantPandaCV
专注于机器学习、深度学习、计算机视觉、图像处理等多个方向技术分享。团队由一群热爱技术且热衷于分享的小伙伴组成。我们坚持原创,每天一到两篇原创技术分享。希望在传播知识、分享知识的同时能够启发你,大家一起共同进步(・ω<)☆
今天看啥  ›  专栏  ›  GiantPandaCV

CUDA-MODE课程笔记 第12课,Flash Attention

GiantPandaCV  · 公众号  · 3D  · 2024-09-12 22:55

文章预览

我的课程笔记,欢迎关注:https://github.com/BBuf/how-to-optim-algorithm-in-cuda/tree/master/cuda-mode 第12课,Flash Attention 课程笔记 这节课的演讲者也是之前 CUDA-MODE 课程笔记 第四课: PMPP 书的第4-5章笔记 这节课的演讲者,第四课的最后介绍了一下矩阵乘法的Tiling技术,最后还提到Tiling的经典应用就是Flash Attention。所以这一节课他来讲解下Flash Attention。 这张Slides讨论了为什么在某些计算操作中使用分块(Tiling)技术,并展示了内存层次结构。 Tiling(分块)的原因: 在矩阵乘法(Matmul)中,每个输出使用2n个输入(一共n^2个输出)。 每个输入被使用n次,如果每次都从主内存中naive地读取n次,会非常低效。 解决方案:尝试重用参数(try to reuse param)。 应用场景: 类似的情况也出现在卷积(Convolution)和FlashAttention等操作中。 内存层次结构(Memory Hierarchy)和特点: ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览