大家好啊, 我是董董灿。
好久没写技术文章了,自从上次写了1.8万字的《图像识别和resnet50算法拆解》之后,一直在忙,周末也有其他事情,还要看房子,抽空还搬了个家。
长文解析Resnet50的算法原理_董董灿是个攻城狮的博客-优快云博客_resnet50原理
不过忙里偷闲,这篇文章收到了一些小伙伴们的反馈,也一一都阅读回复了。比如有咨询算法应用的——
有想了解算法细节的——
也有鼓励型的——
没想到的是,还收到了小伙伴的赞赏——
惊喜之余,感觉自己的文章瞬间有了价值。
其实,很早就想写一写AI加速方面的文章了,之前写了一个开头,由于有些忙就搁浅了:AI加速(一)| 游戏光追!比特币挖矿!AI计算!GPU为什么这么牛?
想写AI加速主要有以下几个原因:
第一个原因,在人工智能算法由研究转为实际产品的过程中,也就是我们俗称产品落地的时候,除了算法本身能够work,功能正常运行之外,工程化更加专注的是一个AI模型的延时和吞吐。说白了就是模型的性能。
性能为什么这么重要。
举个例子,在自动驾驶场景下,摄像头捕捉车辆前方有障碍物,AI算法做出决策是急停还是转弯。高速运动的汽车从识别到决策再到车辆执行决策,这之间留有的时间是几秒甚至毫秒级别的,否则,车辆撞了,方向盘才开始打弯,功能上是做对了决策,但又有什么用呢?
AI加速,聊的便是同样的一个AI算法,在大家都能计算出正确结果的时候,谁算的更快(延时更低),谁一次可以处理的数据更多(吞吐更高)。
第二个原因,目前大火的AI芯片赛道,很多公司之所以做专用芯片,就是为了做AI加速,从硬件底层到编译器指令再到算法,做全流程的系统级优化,使得整个AI模型运行系统有最优的性能。
第三个原因,当然就是我目前正在从事AI加速方面的工作,对这一块更加熟悉一些,也借此机会,整理下工作中的知识点。
其实AI加速这个话题很广,大概会涉及到硬件架构(比如存储、计算等)、编译器优化(指令调度、图优化等)、算法优化(比如img2col算法等),限于个人水平有限以及文章科普性的定位,某些内容会点到为止,有希望了解细节的小伙伴可以私信我一起讨论啦。
不过还是希望能写出一个对大家有所帮助的AI加速系列。
这个系列同样不打算写过多细节,但是该涉及到的都会涉及。提纲大致为:
-
计算机存储,指令和指令流水线,IO相关
-
冯诺依曼架构与存算一体(存内计算)
-
多核并行、异构计算
-
Tops、MAC、吞吐、延时等评价性能的指标介绍
-
编译器优化,tiling和调度
-
常见AI算法的优化,如卷积,矩阵乘算法的优化等
列好了提纲,国庆节后见,祝大家国庆节快乐。
v v v v v v
**本文为作者原创,请勿转载,转载请联系作者。**
**点击下方卡片,关注我的公众号,有最新的文章和项目动态。**
v v v v v v