
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
FlashAttention 的三个子算子之间有依赖(softmax 依赖 MatMul 的输出,第二个 MatMul 依赖 softmax 的输出),所以这条路径上 fusion 空间有限——但如果 attn_mask 为 None,编译器会在这个边界上尝试把 mask 补零操作吞进融合算子里,省掉一次独立的 kernel 启动。昇腾 NPU 上的 FlashAttention 之所以能跑出那样

FlashAttention 的三个子算子之间有依赖(softmax 依赖 MatMul 的输出,第二个 MatMul 依赖 softmax 的输出),所以这条路径上 fusion 空间有限——但如果 attn_mask 为 None,编译器会在这个边界上尝试把 mask 补零操作吞进融合算子里,省掉一次独立的 kernel 启动。昇腾 NPU 上的 FlashAttention 之所以能跑出那样

MoE的核心是"分工合作":每个token只激活一小部分专家,模型容量大但计算量小。向量化路由计算:一次矩阵乘算出所有得分部分排序top-k:不排序整个数组,只找前k大的批量专家计算:把所有专家的计算打包成一个大矩阵乘一句话说清楚:MoE让大模型学会"分工",每个token找最擅长的专家处理,而不是让所有参数都参与。昇腾NPU上用MoE,关键是处理好路由和负载均衡。算子本身ops-transfor

MoE的核心是"分工合作":每个token只激活一小部分专家,模型容量大但计算量小。向量化路由计算:一次矩阵乘算出所有得分部分排序top-k:不排序整个数组,只找前k大的批量专家计算:把所有专家的计算打包成一个大矩阵乘一句话说清楚:MoE让大模型学会"分工",每个token找最擅长的专家处理,而不是让所有参数都参与。昇腾NPU上用MoE,关键是处理好路由和负载均衡。算子本身ops-transfor

MoE的核心是"分工合作":每个token只激活一小部分专家,模型容量大但计算量小。向量化路由计算:一次矩阵乘算出所有得分部分排序top-k:不排序整个数组,只找前k大的批量专家计算:把所有专家的计算打包成一个大矩阵乘一句话说清楚:MoE让大模型学会"分工",每个token找最擅长的专家处理,而不是让所有参数都参与。昇腾NPU上用MoE,关键是处理好路由和负载均衡。算子本身ops-transfor

上个月有个实习生问我,为什么昇腾CANN的ops-transformer仓库里,FlashAttention算子比标准实现快那么多。我说你先想一个问题:背四级单词,你是把整本词典摊开从头背,还是一次看一页?他说当然是看一页。我说对了,这就够了。

上个月有个实习生问我,为什么昇腾CANN的ops-transformer仓库里,FlashAttention算子比标准实现快那么多。我说你先想一个问题:背四级单词,你是把整本词典摊开从头背,还是一次看一页?他说当然是看一页。我说对了,这就够了。








