当前位置: 首页 > article >正文

flash attention

Flash Attention 优化注意力计算原理解析

Flash Attention 通过分块处理和增量更新的方式优化注意力计算,有效减少内存占用。其核心在于逐步更新归一化因子并调整输出,确保结果正确性。具体步骤如下:

一、无最大值处理

1. 初始化

  • 设置局部归一化因子 D_i=0
  • 初始化输出累加值 O_i=0

2. 逐块处理

对每个键值块执行以下操作:

2.1 计算当前块的指数值

  • 计算查询与当前块键的点积 e_ij,并求其指数 exp(e_ij)

2.2 更新归一化因子

  • 累加当前块的指数和至 D_i,即:
    D n e w = D i + ∑ j exp ⁡ ( e i j ) D_{new} = D_i + \sum_j \exp(e_{ij}) Dnew=Di+jexp(eij)

2.3 修正历史输出并累加当前贡献

  1. 调整之前的输出 O i O_i Oi 的比例:
    O i ← O i × D i D n e w O_i \leftarrow O_i \times \frac{D_i}{D_{new}} OiOi×DnewDi

  2. 计算当前块的注意力权重:
    α i j = exp ⁡ ( e i j ) D n e w \alpha_{ij} = \frac{\exp(e_{ij})}{D_{new}} αij=Dnew


http://www.kler.cn/a/551579.html

相关文章:

  • k8s集群如何赋权普通用户仅管理指定命名空间资源
  • 【Cesium学习(十)】Cesium 中对 3D 瓦片集进行样式化(Cesium3DTileStyle)
  • 使用vue2 脚手架 结合 Element UI 写一个电商商城前端静态网站模板-前端项目练习
  • 【生产变更】- 集群中配置SCAN ip的不同端口应用
  • 单点登录(SSO)与单例登录(Single Login)学习笔记
  • 北京海百川科技有限公司:以智能体技术助力特殊教育行业
  • 当机器人遇见艺术:春晚机器人舞蹈,一场科技与艺术的完美邂逅
  • 知识篇 | DeepSeek企业部署模式主要有6种
  • C语言之函数封装技巧
  • 无人设备遥控器之视频回传篇
  • Cursor历史记录导出完整指南
  • blender笔记2
  • kafka消费能力压测:使用官方工具
  • Effective Objective-C 2.0 读书笔记——大中枢派发
  • 火锅店点餐系统的设计与实现(ssm论文源码调试讲解)
  • 2.18日学习总结
  • Redis 监视器:深入解析与实战指南
  • resnet与yolo
  • 算法【贪心经典题目专题3】
  • 配置Api自动生成