我们从2011年坚守至今,只想做纯粹的技术论坛,请不要发布和技术无关的话题。  本站有两万多份高大上的PCB和原理图下载,每日更新中,欢迎常回来看看

 找回密码
 立即注册
搜索
查看: 373|回复: 6

[业界/制造] FPGA加速CNN优秀,Transformer不灵?原因是啥

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:198
  • 打卡月天数:0
  • 打卡总奖励:714
  • 最近打卡:2025-11-21 20:33:51

1940

主题

405

回帖

1712

积分

二级逆天

积分
1712
发表于 2025-6-29 23:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×

过去几年,视频图像处理的核心网络已经从CNN变成了Transformer。
大家知道ChatGPT是基于Transformer的,而Google后来又把原本用于自然语言处理的Transformer成功迁移到视频图像处理领域,这就是Vision Transformer,即ViT。
给人的感觉是CNN时代,FPGA还挺活跃的,到了Transformer时代,怎么出镜率就很低了呢。
FPGA在加速CNN上的表现优异,而在Transformer上则显得力不从心,主要是因为两种模型在计算方式和数据流模式上的差异。让我们逐一解释。
CNN
CNN叫卷积神经网络,其核心是卷积运算。卷积是一种高度重复的局部计算,有以下计算特点:> 局部计算密集:每个卷积核只需要访问局部区域的数据(如 3×3、5×5的矩阵),每次计算感受野(receptive field)很小,需要通过多层卷积网络逐步扩大感受野。> 数据重用性高:输入图像的相邻区域会被多个卷积核重复访问,适合数据缓存的优化。> 高度并行:可以同时对多个通道、多个卷积核进行计算,提高计算效率。
231806eec06c78.png
卷积核(kernel)的大小决定了视野
CNN计算主要是乘加运算(MAC),FPGA可以通过大量DSP进行并行加速。依赖小窗口的卷积计算,数据局部性好,FPGA的片上BRAM/SRAM可用作line-buffer,高效存储和复用数据,减少数据搬运成本。
FPGA天然适合流水线处理架构,擅长局部数据流并行乘加运算。

Transformer
而Transformer以自注意力计算(Self-Attention)机制为核心,开始就必须具有全局视野,特点如下:
> 计算复杂度高:Self-Attention的计算复杂度是“序列长度的平方×每个词的维度”,当序列变长时计算量激增。
> 全局计算:在 Self-Attention的全局计算中,每个Token都需要与整个序列的Key进行相关性计算,并对Value加权求和。
> 大存储高带宽: 虽然Query可由当前Token局部生成,但Key和Value是全局共享的,需从外部DRAM重复读取整段序列,带来巨量的存储和带宽需求。
2318078db0f112.png
ViT把图像分为很多个patch即Token,每个Token之间都会相互产生计算
Transformer依赖大规模矩阵乘法(MatMul),传统FPGA基本上就是LUT和DSP单元,缺乏高效的矩阵乘法加速器。GPU/TPU具有专门的矩阵乘法计算单元Tensor Core,更适合Transformer计算。
另外,FPGA片上存储也很受限。Transformer需要存储整个Query-Key-Value矩阵,FPGA的片上存储无法容纳大规模注意力计算,导致需要频繁访问外部DRAM,因而性能受限。
业界创新
一些FPGA集成了NPU如AIE,用于加速矩阵乘法和激活函数,在一定程度上缓解了Transformer 的算力压力。
而当前FPGA厂家的NPU仍以CNN为优化目标,缺乏对Self-Attention等全连接计算模式的专门适配,难以高效支持大规模Transformer模型,或许适合轻量级中小规模transformer推理工作,需看实际部署效果。
由于FPGA的片上存储容量有限,即便配合HBM,仍难以支撑Transformer在长序列、大批量计算时对Key/Value的高频、大带宽访存需求。
231807b8ed34ae.png HBM
同时,FPGA开发门槛较高,针对内嵌NPU的工具链尚不完善,开发人员需要同时精通硬件描述语言、NPU架构以及Transformer算法原理。
这使得基于FPGA内嵌NPU优化Transformer计算的效率较低,进一步限制了其在Transformer模型部署中的广泛应用。
一些研究尝试用FPGA加速Transformer,比如用量化(Quantization)减少精度到INT8/INT4计算,对权重和Token剪枝来降低计算复杂度,但会显著降低模型准确性,效果也有限。
稀疏化(Sparsity)可以减少不必要的计算,但仍然受限于访存带宽,尤其是在稀疏模式下的访存访问往往呈现出不规则、低复用率的特性,反而加剧了带宽瓶颈。
总结

显然,要对Transformer加速,有两个重要条件。第一,必须有大规模矩阵乘法加速器;第二,需要大存储HBM和高带宽互联。
CNN的计算范式刚好处在FPGA的甜蜜点上,因此应用广泛。谷歌的TPU和NVIDIA Tensor-Core进行了专门优化,更适合加速Transformer。
虽然FPGA搭载NPU和HBM显著提升了其对Transformer加速能力,但受限于Self-Attention的二次方复杂度和带宽需求,仍难以突破大规模模型和超长序列的瓶颈。
或许,未来需结合算法层面的优化和软硬件协同设计,方能充分发挥FPGA的优势。


  • 打卡等级:常住青年
  • 打卡总天数:20
  • 打卡月天数:0
  • 打卡总奖励:62
  • 最近打卡:2026-08-07 09:07:52

8

主题

139

回帖

252

积分

二级逆天

积分
252

社区居民终身成就奖

QQ
发表于 2026-3-23 07:20 来自手机 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家II
  • 打卡总天数:208
  • 打卡月天数:0
  • 打卡总奖励:779
  • 最近打卡:2026-08-07 22:02:08

9

主题

766

回帖

1340

积分

Pads250228初级班

积分
1340
发表于 2026-3-25 09:03 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家II
  • 打卡总天数:208
  • 打卡月天数:0
  • 打卡总奖励:779
  • 最近打卡:2026-08-07 22:02:08

9

主题

766

回帖

1340

积分

Pads250228初级班

积分
1340
发表于 2026-3-25 09:04 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家II
  • 打卡总天数:208
  • 打卡月天数:0
  • 打卡总奖励:779
  • 最近打卡:2026-08-07 22:02:08

9

主题

766

回帖

1340

积分

Pads250228初级班

积分
1340
发表于 2026-3-25 09:04 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家II
  • 打卡总天数:208
  • 打卡月天数:0
  • 打卡总奖励:779
  • 最近打卡:2026-08-07 22:02:08

9

主题

766

回帖

1340

积分

Pads250228初级班

积分
1340
发表于 2026-3-30 09:46 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家II
  • 打卡总天数:284
  • 打卡月天数:0
  • 打卡总奖励:986
  • 最近打卡:2026-06-26 09:16:10

4

主题

1298

回帖

2878

积分

二级逆天

积分
2878

终身成就奖特殊贡献奖优秀斑竹奖

QQ
发表于 2026-4-2 09:15 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请举报投诉

本站所有资料仅限参考学习交流,PCB原理图源码等所有资料不保证准确没问题,请不要用作生产。否则后果自负。

闽公网安备35062302000276号 | 闽ICP备2024076463号-1 | 论坛技术支持QQ群171867948 | 论坛问题,充值问题请联系QQ1308068381

平平安安
TOP
快速回复 返回顶部 返回列表