AI芯片是当前科技产业和社会关注的热点,也是AI技术发展过程中不可逾越的关键环节,不管有什么好的AI算法,想要最终落地,就必然通过AI芯片实现。
而AI芯片备受关注,也有许多争议,“GPU好还是TPU好”,种种断言性的结论甚嚣尘上。今天就给大家剖析三大AI芯片。
GPU
GPU(Graphics Processing Unit)就是显卡中的处理核心,早期就是用来渲染图形的,又称显示核心、视觉处理器、显示芯片、是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器。其用途是将计算机系统所需要的显示信息进行转换驱动,并向显示器提供行扫描信号,控制显示器的正确显示,是连接显示器和个人电脑主板的重要元件,也是“人机对话”的重要设备之一。
在当前的人工智能芯片领域,GPU的应用领域不容小觑。目前,包括谷歌、Facebook、微软等科技巨头公司在内的人工智能领域研究的领先者,已经在使用英伟达所提供的专门应用于该领域研究的芯片产品。GPU在“深度学习”领域发挥着巨大的作用,因为GPU可以平行处理大量琐碎信息。深度学习所依赖的是神经系统网络——与人类大脑神经高度相似的网络——而这种网络出现的目的,就是要在高速的状态下分析海量的数据。例如,如果你想要教会这种网络如何识别出猫的模样,你就要给它提供无数多的猫的图片。而GPU擅长的正是海量数据的快速处理。
TPU
TPU嘛?张量处理单元,Tensor Processing Unit,Google出品的专门用于深度学习的利器。TPU具有像GPU和CPU一样的编程,以及一套CISC指令集。作为机器学习处理器,不仅仅支持某一种神经网络,还支持卷积神经网络、LSTM、全连接网络等多种。TPU采用低精度(8位)计算,以降低每步操作使用的晶体管数量。
虽然降低精度对于深度学习的准确度影响很小,但却可以大幅降低功耗、加快运算速度。同时,TPU使用了脉动阵列的设计,用来优化矩阵乘法与卷积运算,减少I/O操作。此外,TPU还采用了更大的片上内存,以此减少对DRAM的访问,从而更大程度地提升性能。
说起TPU,可能很少人知道。但是,如果说起AlphaGo和AlphaGo Zero,应该就无人不知了。是的,打败中国围棋棋手柯洁的AlphaGo就是基于TPU计算的。AlphaGo需要48个TPU,花几个月时间才能打败人类,而AlphaGoZero只需要4个TPU,花3天时间就打败了它的哥哥AlphaGo。这个硬件神器TPU和AlphaGo Zero上了《Nature》,科研人的圣刊,膜拜一下。
Google宣称TPU在深度学习等方面效率比当前的 GPU 或 CPU 快15~30倍(除少数例子外),性能功耗比高出约30~80 倍。
FPGA
FPGA即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。作为专用集成电路(ASIC)领域中的一种半定制电路而出现的芯片,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。
目前,国内有许多创业企业,自动加入FPGA阵营,提供基于FPGA的解决方案。比如源于清华大学的深鉴科技,专注于深度学习处理器与编译器技术,深鉴科技研发了一种名为“深度压缩”的技术,它不仅可以将神经网络压缩数十倍而不影响准确度,还可以使用“片上存储”来存储深度学习算法模型,减少内存读取,大幅度减少功耗。