如何利用昇腾算子融合技术优化大模型推理延迟:从图优化层减少 HBM 与计算单元交互
1. 为什么大模型推理会受限于 HBM? 在大模型(LLM)推理过程中,Transformer 架构中存在大量的逐元素(Element-wise)操作,如 Add、LayerNorm、Mul 和 Silu 等。在标准的执行流中,每个算子都需...
1. 为什么大模型推理会受限于 HBM? 在大模型(LLM)推理过程中,Transformer 架构中存在大量的逐元素(Element-wise)操作,如 Add、LayerNorm、Mul 和 Silu 等。在标准的执行流中,每个算子都需...
如何利用 Ascend C 手写高性能算子:解决昇腾模型不支持算子的终极方案 在将深度学习模型部署到昇腾(Ascend)昇腾 AI 处理器时,经常会遇到某些算子在 CANN 算子库中不存在或者性能不达标的情况。这时,使用 Ascend C(...
随着汽车智能化进程的加速,国产化NPU(神经网络处理器)在车载平台中扮演着越来越重要的角色。然而,许多新兴的国产NPU平台在提供模型部署SDK时,往往缺乏成熟的、细粒度的性能分析工具(Profiler)。当遇到模型推理延迟过高,特别是当延迟...
Warp Divergence(线程束分化)是CUDA编程中一个极其重要的概念,它直接关系到核函数(Kernel)的执行效率。对于追求极致性能的高性能算子来说,理解并消除Warp Divergence是提升速度的关键。 1. 什么是Warp...
别只知道 FlashAttention 的效果好,理解其背后的原理——解决显存带宽瓶颈——对于优化深度学习模型至关重要。标准 Self-Attention 机制在序列长度 $L$ 较大时,其性能瓶颈并非是计算量(FLOPs),而是显存的读写...
在移动端进行 AI 推理时,我们通常依赖 TFLite, MNN 或 NCNN 等成熟框架。然而,当模型引入了高度定制化的层(如新型激活函数、特定的数据重排或融合操作)时,这些框架可能缺乏相应的优化实现,甚至根本不支持。这导致模型必须回退到...
在AI模型的推理加速领域,显存带宽往往是性能瓶颈的关键。模型计算图中的许多操作,如卷积(Conv)和随后的激活函数(ReLU),虽然逻辑上是独立的步骤,但在执行时,需要将中间结果从计算单元(如GPU或NPU)写入显存,再由下一个操作读取。这...
在传统的操作系统(OS)中,计算的最小单位是进程(Process)或线程(Thread)。应用程序通过调用系统API,由进程负责资源的分配(CPU时间片、内存空间、I/O访问)。这种模型在处理通用计算任务时非常高效,但面对现代AI和大数据的...
循环分块(Loop Tiling),也称为循环阻塞(Loop Blocking),是高性能计算中优化内存局部性(Temporal and Spatial Locality)的关键技术。通过将大型计算任务分解为可放入缓存(Cache)的小块,...
在将复杂的 TensorFlow 模型部署到端侧(如移动设备或嵌入式系统)时,我们通常需要使用 TensorFlow Lite (TFLite) 转换器。然而,当模型中包含自定义层、复杂的控制流或某些非核心 TensorFlow 算子时,转...