0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Transformer的出现让专用AI芯片变得岌岌可危

佐思汽车研究 ? 来源:佐思汽车研究 ? 作者:佐思汽车研究 ? 2022-08-10 14:35 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文将分析CNN,还有近期比较火的SwinTransformer以及存内计算对AI芯片发展趋势的影响,Transformer的出现让专用AI芯片变得岌岌可危,命悬一线。 所谓AI芯片算力一般指INT8精度下每秒运作次数,INT8位即整数8比特精度。AI芯片严格地说应该叫AI加速器,只是加速深度神经网络推理阶段的加速,主要就是卷积的加速。一般用于视觉目标识别分类,辅助驾驶或无人驾驶还有很多种运算类型,需要用到多种运算资源,标量整数运算通常由CPU完成,矢量浮点运算通常由GPU完成,标量、矢量运算算力和AI算力同样重要,三者是平起平坐的。AI算力远不能和燃油车的马力对标,两者相差甚远。 AI芯片的关键参数除了算力,还有芯片利用率或者叫模型利用率。AI芯片的算力只是峰值理论算力,实际算力与峰值算力之比就是芯片利用率。

baa4c488-1851-11ed-ba43-dac502259ad0.png

图片来源:互联网

上表为英伟达旗舰人工智能加速器T4的芯片利用率,芯片的利用率很低,大部分情况下93%的算力都是闲置的,这好比一条生产线,93%的工人都无所事事,但工资还是要付的。实际上芯片利用率超过50%就是非常优秀,利用率低于10%是很常见的,极端情况只有1%,也就是说即使你用了4片英伟达顶级Orin,算力高达1000TOPS,实际算力可能只有10TOPS。 这也就是AI芯片主要的工作不是AI芯片本身,而是与之配套的软件优化,当然也可以反过来,为自己的算法模型定制一块AI芯片,如特斯拉。但应用面越窄,出货量就越低,摊在每颗芯片上的成本就越高,这反过来推高芯片价格,高价格进一步缩窄了市场,因此独立的AI芯片必须考虑尽可能适配多种算法模型。 这需要几方面的工作:

首先主流的神经网络模型自然要支持;

其次是压缩模型的规模并优化,将浮点转换为定点;

最后是提供编码器Compiler,将模型映射为二进制指令序列。

早期的AI运算完全依赖GPU,以致于早期的神经网络框架如Caffee、TensorFlow、mxnet都必须考虑在GPU上优化,简单地说就是都得适应GPU的编码器CUDA,这也是英伟达为何如此强的原因,它无需优化,因为早期的神经网络就是为GPU订做的。CUDA为英伟达筑起了高高的城墙,你要做AI运算,不兼容CUDA是不可能的,所有的程序员都已经用习惯了CUDA。但要兼容CUDA,CUDA的核心是不开源的,无论你如何优化,都不如英伟达的原生CUDA更优。车载领域好一点,可以效仿特斯拉。 卷积运算就是乘积累加,Cn=A×B+Cn-1,A是输入矩阵,简单理解就是一副图像,用像素数字矩阵来表示一副图像,B是权重模型,就是深度学习搜集训练数据,经过几千万人民币的数据中心训练出的算法模型,也可以看做是一种特殊的滤波器,右边的C是上一次乘积的结果。左边的C就是本次计算的输出结果。卷积运算后经过全连接层输出,画出Bounding Box并识别。用代码表示如下。

bab84774-1851-11ed-ba43-dac502259ad0.png

bae43000-1851-11ed-ba43-dac502259ad0.png

图片来源:互联网

这些计算中有大量相同的数据存取,如下表。

baf88302-1851-11ed-ba43-dac502259ad0.png

图片来源:互联网

每一次运算都需要频繁读取内存,很多是重复读取,这非常耗费时间和功率,显然是一种浪费,AI芯片的核心工作就是提高数据的复用率。 AI芯片分为两大流派,一是分块矩阵的One Shot流派,也有称之为GEMM通用矩阵乘法加速器,典型代表是英伟达、华为。二是如脉动阵列的数据流流派,典型代表是谷歌、特斯拉。还有些非主流的主要用于FPGA的Spatial,FFT快速傅里叶变换。

华为AI芯片电路逻辑

bb105c66-1851-11ed-ba43-dac502259ad0.png

图片来源:互联网

以华为为例,其将矩阵A按行存放在输入缓冲区中,同时将矩阵B按列存放在输入缓冲区中,通过矩阵计算单元计算后得到的结果矩阵C按行存放在输出缓冲区中。在矩阵相乘运算中,矩阵C的第一元素由矩阵A的第一行的16个元素和矩阵B的第一列的16个元素由矩阵计算单元子电路进行16次乘法和15次加法运算得出。矩阵计算单元中共有256个矩阵计算子电路,可以由一条指令并行完成矩阵C的256个元素计算。 由于矩阵计算单元的容量有限,往往不能一次存放下整个矩阵,所以也需要对矩阵进行分块并采用分步计算的方式。将矩阵A和矩阵B都等分成同样大小的块,每一块都可以是一个16×16的子矩阵,排不满的地方可以通过补零实现。首先求C1结果子矩阵,需要分两步计算:第一步将A1和B1搬移到矩阵计算单元中,并算出A1×B1的中间结果;第二步将A2和B2搬移到矩阵计算单元中,再次计算A2×B2 ,并把计算结果累加到上一次A1×B1的中间结果,这样才完成结果子矩阵C1的计算,之后将C1写入输出缓冲区。由于输出缓冲区容量也有限,所以需要尽快将C1子矩阵写入内存中,便于留出空间接收下一个结果子矩阵C2。 分块矩阵的好处是只计算了微内核,速度很快,比较灵活,编译器好设计,增加算力也很简单,只要增加MAC的数量即可。成本低,消耗的SRAM容量小。

bb22093e-1851-11ed-ba43-dac502259ad0.png

图片来源:互联网

上图为一个典型的脉动阵列,右侧是一个乘加单元即PE单元的内部结构,其内部有一个寄存器,在TPU内对应存储Weight,此处存储矩阵B。左图是一个4×4的乘加阵列,假设矩阵B已经被加载到乘加阵列内部;显然,乘加阵列中每一列计算四个数的乘法并将其加在一起,即得到矩阵乘法的一个输出结果。依次输入矩阵A的四行,可以得到矩阵乘法的结果。PE单元在特斯拉FSD中就是96*96个PE单元。

bb38cb06-1851-11ed-ba43-dac502259ad0.png

图片来源:互联网

不过最后还要添加累加器,需要多个SRAM加入。 脉动式优点是流水线式,不依赖一次一次的指令,一次指令即可启动。吞吐量很高。算力做到1000TOPS易如反掌,单PE占硅片面积小。但是其编译器难度高,灵活度低,要做到高算力,需要大量SRAM,这反过来推高成本。 在实际应用当中,情况会比较复杂,完整的深度学习模型都太大,而内存是很耗费成本的,因此,模型都必须要压缩和优化,常见的压缩有两种,一种是Depthwise Convolution,还包括了Depthwise Separable Convolution。另一种是Pointwise Convolution。Depthwise层,只改变feature map的大小,不改变通道数。而Pointwise层则相反,只改变通道数,不改变大小。这样将常规卷积的做法(改变大小和通道数)拆分成两步走。

bb6131b8-1851-11ed-ba43-dac502259ad0.png

图片来源:互联网

常规卷积,4组(3,3,3)的卷积核进行卷积,等于108。

bb749992-1851-11ed-ba43-dac502259ad0.png

图片来源:互联网

Depthwise卷积,分成了两步走,第一步是3*3*3,第二步是1*1*3*4,合计是39,压缩了很多。 谷歌TPU v1的算力计算是700MHz*256*256*2=92Top/s@int8,之所以乘2是因为还有个加法累积。高通AI100的最大算力计算是16*8192*2*1600MHz=419Top/s@int8,高通是16核,每个核心是8192个阵列,最高运行频率1.6GHz,最低估计是500MHz。

性能最大化对应的模型要求

bb9dcd30-1851-11ed-ba43-dac502259ad0.png

图片来源:互联网

对谷歌TPU v1来说,其最优性能是输入为256,而不少Depthwise是3*3,其利用率为9/256,即3.5%。对高通AI100来说,如果算法模型输入通道是256,那么效率会降低至16/256,即6.3%。显然对于精简算法模型,TPU非常不适合。对于精简模型来说,高通AI100非常不适合。 以上这些都是针对CNN的,目前图像领域的AI芯片也都是针对CNN的。近期大火的Swin Transformer则与之不同。2021年由微软亚洲研究院开源的SwinTransformer的横扫计算机视觉,从图像分类的ViT,到目标检测的DETR,再到图像分割的SETR以及3D人体姿态的METRO,大有压倒CNN的态势。但其原生Self-Attention的计算复杂度问题一直没有得到解决,Self-Attention需要对输入的所有N个token计算N的二次方大小的相互关系矩阵,考虑到视觉信息本来就是二维(图像)甚至三维(视频),分辨率稍微高一点就会暴增运算量,目前所有视觉类AI芯片都完全无法胜任。

Swin Transformer的模型结构

bbc96850-1851-11ed-ba43-dac502259ad0.png

图片来源:互联网

从图上就能看出其采用了4*4卷积矩阵,而CNN是3*3,这就意味着目前的AI芯片有至少33%的效率下降。再者就是其是矢量与矩阵的乘法,这会带来一定的浮点矢量运算。 假设高和宽都为112,窗口大小为7,C为128,那么未优化的浮点计算是4*112*112*128*128+2*112*112*112*112*128=41GFLOP/s。大部分AI芯片如特斯拉的FSD和谷歌的TPU,未考虑这种浮点运算。不过华为和高通都考虑到了,英伟达就更不用说了,GPU天生就是针对浮点运算的。看起来41GFLOP/s不高,但如果没有专用浮点运算处理器,效率也会急速下降。

bbf9153c-1851-11ed-ba43-dac502259ad0.png

图片来源:互联网

与CNN不同,Swin Transformer的数据选择与布置占了29%的时间,矩阵乘法占了71%,而CNN中,矩阵乘法至少占95%。

bc1c4106-1851-11ed-ba43-dac502259ad0.png

图片来源:互联网

针对Swin Transformer的AI芯片最好将区块模型与数据流模型分开,指令集与数据集当然也最好分开。

bc456d38-1851-11ed-ba43-dac502259ad0.png

图片来源:互联网

针对Swin Transformer,理论上最好的选择是存内计算也叫存算一体,上图是存内计算架构与传统AI芯片的冯诺依曼架构的功耗对比,存内计算架构在同样算力的情况下,只有冯诺依曼架构1/6的功耗。

冯诺依曼架构与存内计算架构对比

bc752618-1851-11ed-ba43-dac502259ad0.png

图片来源:互联网

典型的存内计算架构芯片

bc8ab9ce-1851-11ed-ba43-dac502259ad0.png

图片来源:互联网

不过目前存内计算离实用距离还非常遥远:

第一,内存行业由三星、美光和SK Hynix三家占了90%的市场,行业门槛极高,这三家极力保持内存价格稳定。

第二,目前AI模型都是越来越大,用存内计算存储大容量AI模型成本极高。三星的存内计算芯片测试用的是二十年前的MNIST手写字符识别,这种AI模型是kb级别的。而自动驾驶用的至少也是10MB以上。

第三,精度很低,当前存内计算研究的一个重点方法是使用电阻式RAM(ReRAM)实现位线电流检测。由于电压范围,噪声和PVT的变化,模拟位线电流检测和ADC的精度受到限制,即使精度低到1比特也难以实现,而辅助驾驶目前是8比特。

第四,电阻式RAM可靠性不高。经常更新权重模型,可能导致故障。

最后,存内计算的工具链基本为零。最乐观的估计,存内计算实用化也要5年以上,且是用在很小规模计算,如AIoT领域,自动驾驶领域十年内都不可能见到存内计算。即使存内计算实用化,恐怕也是内存三巨头最有优势。

Transformer的出现让专用AI芯片变得非常危险,难保未来不出现别的技术,而适用面很窄的AI专用芯片会完全丧失市场,通用性比较强的CPU或GPU还是永葆青春,至于算力,与算法模型高度捆绑,但捆绑太紧,市场肯定很小,且生命周期可能很短。 声明:本文仅代表作者个人观点。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4814

    浏览量

    104462
  • AI芯片
    +关注

    关注

    17

    文章

    1994

    浏览量

    36049
  • 算力
    +关注

    关注

    2

    文章

    1231

    浏览量

    15807

原文标题:Transformer挑战CNN,AI芯片需要改变

文章出处:【微信号:zuosiqiche,微信公众号:佐思汽车研究】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    网站备份架构深度解析

    凌晨3点,监控报警疯狂响起。主数据库磁盘故障,30万用户数据岌岌可危。这一刻,我才真正理解什么叫"备份是运维工程师的生命线"。
    的头像 发表于 07-29 16:52 ?242次阅读

    【免费送书】AI芯片,从过去走向未来:《AI芯片:前沿技术与创新未来》

    最重大的技术变革无疑就是大模型的横空出世,人类的时间仿佛被装上了加速器,从ChatGPT到DeepSeek,大模型应用密集出现、频繁升级,这作者意识到有必要撰写一本新的AI芯片图书,
    的头像 发表于 07-29 08:06 ?188次阅读
    【免费送书】<b class='flag-5'>AI</b><b class='flag-5'>芯片</b>,从过去走向未来:《<b class='flag-5'>AI</b><b class='flag-5'>芯片</b>:前沿技术与创新未来》

    【书籍评测活动NO.64】AI芯片,从过去走向未来:《AI芯片:科技探索与AGI愿景》

    、频繁升级,这作者意识到有必要撰写一本新的AI芯片图书,以紧跟时代步伐、介绍新兴领域和最新动向。 这就是《AI芯片:前沿技术与创新未来》的
    发表于 07-28 13:54

    里程碑!亚马逊第 100 万个机器人上岗!人类员工岌岌可危

    电子发烧友网报道(文 / 吴子鹏)亚马逊宣布在全球部署 100 万台机器人,这一里程碑标志着全球物流行业迈入智能化与自动化的新阶段。第 100 万个机器人被送往日本东京的运营中心,加入覆盖全球 300 多个设施的机器人军团。从 2012 年收购 Kiva Systems 起步,亚马逊用 11 年时间实现了机器人数量的指数级增长。 亚马逊机器人持续进化 2019 年,亚马逊(Amazon)创始人杰夫?贝索斯(Jeff Bezos)预测,在未来十年内,机器人系统将先进到足以像人手一般灵活
    的头像 发表于 07-08 09:22 ?5222次阅读

    Transformer架构概述

    由于Transformer模型的出现和快速发展,深度学习领域正在经历一场翻天覆地的变化。这些突破性的架构不仅重新定义了自然语言处理(NLP)的标准,而且拓宽了视野,彻底改变了AI的许多方面。
    的头像 发表于 06-10 14:24 ?453次阅读
    <b class='flag-5'>Transformer</b>架构概述

    【免费工具】abg欧博AI电路识别助手:电路设计与分析变得轻松高效!

    电子工程师注意!还在为熬夜解析电路图崩溃?AI黑科技电路设计与分析变得轻松高效!如果你还在为电路分析感到头疼,那么一定要试试这款超好用的工具——abg欧博AI电路识别助手小程序!这是一款由
    的头像 发表于 06-05 18:18 ?693次阅读
    【免费工具】abg欧博<b class='flag-5'>AI</b>电路识别助手:<b class='flag-5'>让</b>电路设计与分析<b class='flag-5'>变得</b>轻松高效!

    苹果正研发用于AI服务器的专用芯片

    据外媒报道,苹果公司正研发用于AI服务器的专用芯片;据苹果公司知情人士透露;苹果芯片设计团队正在加速研发新芯片,面向的主要领域包括智能眼镜
    的头像 发表于 05-09 11:25 ?629次阅读

    首创开源架构,天玑AI开发套件端侧AI模型接入得心应手

    Studio提供了最优解。Neuron Studio针对模型到应用,提供一站式、全链路、自动化的开发协助,不仅AI应用开发的全流程可视化,更带来整个多种工具的一站式开发能力,还支持神经网络自动化调优和跨
    发表于 04-13 19:52

    重新定义智能安防边界——SSD2351如何边缘计算更高效

    置的智能处理单元(IPU)支持Transformer网络,灵活部署轻量化AI模型。例如,在工业场景中,结合RGB/YUV数据DMA传输功能,实时检测生产线上的微小零件缺陷,并通过M
    发表于 02-27 16:14

    如何使用MATLAB构建Transformer模型

    LanguageProcessing, NLP)中的序列到序列任务,如机器翻译。Transformer 通过引入自注意力机制使得处理长距离依赖关系时变得高效。因此 Vaswani 等人的论文强调“注意力是所需的一切”。
    的头像 发表于 02-06 10:21 ?4482次阅读
    如何使用MATLAB构建<b class='flag-5'>Transformer</b>模型

    OpenAI计划开发替代手机的生成式AI专用终端

    近日,据日经报道,人工智能研究公司 OpenAI 的 CEO Sam Altman 在接受采访时透露,OpenAI 计划开发一款替代手机的生成式 AI 专用终端。 据了解,OpenAI 在生成式
    的头像 发表于 02-05 14:50 ?574次阅读

    transformer专用ASIC芯片Sohu说明

    2022年,我们打赌说transformer会统治世界。 我们花了两年时间打造Sohu,这是世界上第一个用于transformer(ChatGPT中的“T”)的专用芯片。 将
    的头像 发表于 01-06 09:13 ?1283次阅读
    <b class='flag-5'>transformer</b><b class='flag-5'>专用</b>ASIC<b class='flag-5'>芯片</b>Sohu说明

    恒玄科技研发AI眼镜专用芯片

    诞生于5至6年前,并非针对AI眼镜这一新兴消费电子产品的特殊需求而专门设计的。因此,在性能、功耗以及适配性等方面,这些芯片可能无法完全满足AI眼镜的发展需求。 针对这一现状,恒玄科技决定投入研发力量,打造一款真正适合
    的头像 发表于 12-31 14:42 ?1928次阅读

    TB1801线性车灯专用芯片完美替代LAN1165E

    TB1801线性车灯专用芯片完美替代LAN1165E1、产品概述TB1801 是一款专为 12V 灯珠设计的汽车灯专用的低压差恒流芯片,输
    发表于 12-31 10:00

    Transformer模型的具体应用

    如果想在 AI 领域引领一轮新浪潮,就需要使用到 Transformer
    的头像 发表于 11-20 09:28 ?1695次阅读
    <b class='flag-5'>Transformer</b>模型的具体应用