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

Flash Attenion算法原理

Flash Attenion算法原理

1.1 Flash Attention Step-by-Step

 

image

 

1.2 Softmax

\( \text{softmax}(x_i) = \frac{e^{x_i}}{\sum_{k=1}^{N} e^{x_k}} \)

import torch 
A = torch.randn(2, 6)
A_exp = torch.exp(A)
A_sum = torch.sum(A_exp, dim=1).unsqueeze(1)
P = A_exp / A_sum #广播
print(A)
print(P)

结果

tensor([[ 1.0668, -0.3969, -0.2226,  0.7207,  1.0509, -1.0740],[ 0.6774,  1.0916, -1.8402, -1.0806,  0.9309,  2.4612]])
tensor([[0.3016, 0.0698, 0.0831, 0.2133, 0.2968, 0.0355],[0.0999, 0.1512, 0.0081, 0.0172, 0.1288, 0.5948]])

1.3 Safe Softmax

原始softmax数值不稳定,改写成Safe Softmax版本

\( \text{SafeSoftmax}(x_i) = \frac{e^{x_i - m}}{\sum_{k=1}^{N} e^{x_k - m}} \quad \text{其中 } m = \max(x_1, x_2, ..., x_N) \)

1.3 Online Softmax

\( \begin{aligned} d_i' &= \sum_{j}^{i} e^{x_j - m_i} \\ &= \sum_{j}^{i-1} e^{x_j - m_i} + e^{x_i - m_i} \\ &= \sum_{j}^{i-1} e^{x_j - m_{i-1} + m_{i-1} - m_i} + e^{x_i - m_i} \\ &= \left( \sum_{j}^{i-1} e^{x_j - m_{i-1}} \right) e^{m_{i-1} - m_i} + e^{x_i - m_i} \\ &= d_{i-1}' e^{m_{i-1} - m_i} + e^{x_i - m_i} \end{aligned} \)

http://www.wxhsa.cn/company.asp?id=7858

相关文章:

  • 电流探头消磁失败的原因与解决策略
  • 【算法】双指针(四)-盛最多水的容器 - 实践
  • 程序设计小学期小计
  • 3dma渲染噪点成因排查及优化方案 - 详解
  • hadoop配置日志聚集
  • vxe-tree-select 树形下拉框当使用懒加载数据时如何回显
  • GPT PMBR 大小不符解决方法
  • CodeFormer一款既能图像修复、还能视频增强去码的AI软件(下载介绍)
  • PCB的导线电阻阻抗批量自动计算EXCEL表格工具 公式
  • 微信协议开发个微API
  • Milvus Lite
  • 如何解除 pip install 安装报错 ModuleNotFoundError: No module named ‘win32api’ 问题
  • hbase学习一
  • 【光照】[漫反射diffuse]以UnityURP为例
  • OI线下比赛注意事项
  • n8n实践-使用n8n搭建一个定时发送天气预报邮件的工作流
  • Cython-编程学习指南第二版-全-
  • 印度尼西亚股票数据API对接实现
  • OpenBMB 发布无分词器 TTS VoxCPM;儿童口语硬件 Dex 融资 480 万美元:拍摄真实物体,对话学习外语丨日报
  • 一天一款实用的AI工具,第1期,AI标题生成工具
  • 重组蛋白表达避坑指南
  • 易被忽略的vim中视图模式
  • 电商核心业务 - 指南
  • 一言
  • ai
  • LlamaIndex 项目深度技术分析 - 详解
  • 深入解析:css消除图片下的白边
  • linux增加网卡ip地址
  • Python 包与环境管理简史:从混乱到优雅
  • qoj853 Flat Organization