就个人的见解发表一点粗陋的看法:
目前的AI大环境下,GPU和FPGA应该是被行业拿来讨论对比最多的一对,就性能来说,各自有各自的优缺点。
首先说说GPU,早期的GPU因为其海量数据并行计算优势最先被引入深度学习,GPU 作为图像处理器,设计初衷是为了应对图像处理中需要大规模并行计算。但是,由于这类通用芯片设计初衷并非专门针对深度学习。所以,其在应用于深度学习算法时,有三个方面的局限性:
第一, 应用过程中无法充分发挥并行计算优势。深度学习包含训练和应用两个计算环节,GPU 在深度学习算法训练上非常高效,但在应用时一次性只能对于一张输入图像进行处理, 并行度的优势不能完全发挥。
第二, 硬件结构固定不具备可编程性。深度学习算法还未完全稳定,若深度学习算法发生大的变化,GPU 无法像FPGA 一样可以灵活的配置硬件结构。
第三, 运行深度学习算法能效远低于FPGA。学术界和产业界研究已经证明,运行深度学习算法中实现同样的性能,GPU 所需功耗远大于FPGA,例如国内初创企业深鉴科技基于FPGA 平台的人工智能芯片在同样开发周期内相对GPU 能效有一个数量级的提升。
另外一个代表,就是大家所熟悉的FPGA阵营了。其局限性在于:
第一,基本单元的计算能力有限。为了实现可重构特性,FPGA 内部有大量极细粒度的基本单元,但是每个单元的计算能力(主要依靠LUT 查找表)都远远低于CPU 和GPU 中的ALU模块。
第二,速度和功耗相对专用定制芯片(ASIC)仍然存在不小差距。
第三,FPGA 价格较为昂贵,在规模放量的情况下单块FPGA 的成本要远高于专用定制芯片。
但是目前,代表GPU阵营的英伟达和代表FPGA阵营的赛灵思都已开发出新一代针对AI领域的专业芯片,在性能上都提高了不少,在行业应用场景上也是一时瑜亮。(云端处理器英伟达应该就处于绝对领先的地位)。
结语:AI的上半场,应该还是GPU(代表英伟达)和PFGA(代表XILINX和ALTERA,两家占到全球FPGA产业份额的八成以上)的天下...
我开这个论题,主要目的也是让从事技术领域的各位也能稍微接触下一线,发散思维,不能只为了研发而研发,需要对市场有一点嗅觉,这样,以后不管是创业亦或是跳槽,都会有一个比较清晰的目标定位。毕竟,没几个人会愿意一辈子都只当一名程序员。周立功等传奇虽难复制,但是套用一句老掉牙的台词:梦想总该有的,万一实现了呢?
以上观点纯属个人愚见,如有不周之处,也请提点一二。
有兴趣进行更多行业交流探讨的,也可以加我QQ***