智东西(公众号:zhidxcom)
编 | 竭渴
智东西5月8日消息,昨天,微软在Build大会期间宣布,开发者现在可以接入微软Azure云,试用由Project Brainwave芯片计算平台提供的AI服务。同时还发布了可部署于边缘设备平台的Project Brainwave内测版。Project Brainwave计算平台是微软基于英特尔FPGA芯片打造的低延迟深度学习计算平台。
微软表示,与最流行的行业基准相比,Project Brainwave可以将实时AI计算的延迟时间降到最小,并且成本控制在可接受的范围。
(微软工程师道格·伯格举着Project Brainwave芯片)
一、Project Brainwave是什么?
Project Brainwave项目在去年8月23日于芯片行业论坛HotChips被微软提出。微软表示Project Brainwave计算平台的目标是:支持快速深度学习运算,并支持开发人员对芯片进行重构。
微软将Project Brainwave计算平台的架构分为三个层面:
1、高性能的分布式架构(架构层)
2、集成到FPGA中的硬件DNN引擎(硬件层)
3、针对训练好的模型,支持平滑部署的一套编译器及运行时环境(软件环境)
去年提出Project Brainwave时,微软表示,这个计算平台将支持微软Cognitive Toolkit和谷歌TensorFlow。。
今年3月,微软为了测试Project Brainwave计算平台的能力,让自家的Bing搜索引擎接入了这个平台,实验结果表明,Bing搜索引擎的能力提升了十倍。
昨天发布Project Brainwave试用版,是微软首次通过云端向外部用户提供FPGA AI专用芯片的能力。
二、Project Brainwave中FPGA芯片的意义是什么?
AI芯片对于AI的意义,可以看作发动机对于汽车意义。所以Project Brainwave计算平台的能力强弱,取决于这个平台所使用的芯片。
微软表示,Project Brainwave计算平台使用的FPGA芯片将使AI数据处理速度很快,相比谷歌使用的TPU芯片,FPGA芯片的处理速度快上了5倍。微软说道:“该芯片为实时AI而设计——这意味着,它能以极低的延迟在接收数据后立刻处理请求。由于云平台需要处理实时数据流,不管是搜索请求、视频、传感器数据流还是用户交互,实时AI正在变得越来越重要。”
这种芯片的另一个优势在于,客户企业将能够根据自己的需求重新对芯片系统进行设计,这是微软为客户提供更强灵活性服务策略的一部分。
三、FPGA芯片的优劣势
可见,在Project Brainwave项目中,微软大力研发FPGA AI专用芯片,其他巨头为了迎接即将到来的AI时代也进行着各自的努力,例如谷歌TPU、英伟达GPU等等。那么,他们各自都有何特点呢?
1.英伟达GPU
GPU并不是近期才出现的,其实它就是你电脑中显卡的核心部件,名字是图形处理器。
目前,GPU在AI领域的应用,都是采用“CPU+GPU”计算模型。
与CPU相比,CPU 由专为顺序串行处理而优化的几个核心组成,GPU 拥有一个由数以千计的更小、更高效的核心(专为同时处理多重任务而设计)组成的大规模并行计算架构。“CPU+GPU”计算模型能将应用程序计算密集部分的工作负载转移到 GPU,同时仍由 CPU 运行其余程序代码。从而提升运算速度。
(“CPU+GPU”运算示意图)
但这种计算模型其实就是利用现有的成熟技术提供了一种通用级的解决方法来满足AI深度学习的要求,而并不是一种针对性的专业解决方案。
2.谷歌TPU
TPU是谷歌专门为加速深层神经网络运算能力而研发的一款芯片,目前主要运用于模型建立以及定点推测。
TPU其实是一个ASIC(专用集成电路),ASIC是应特定要求和特定电子系统的需要而设计、制造的集成电路。
通常而言,ASIC的开发需要耗时数年。但谷歌TPU从设计到验证、构建和部署到数据中心里,只用了15个月。
除了开发部署时间短外,TPU在峰值性能上也较GPU有一定优势。GPU在单个时钟周期内,可以处理数百到数千次运算。而TPU可以在单个时钟周期内处理数十万次运算。
同时,确定性是TPU专用用途带来的另一个优势。CPU和GPU需要考虑各种任务上的性能优化,因此会有越来越复杂的机制,带来的副作用就是这些处理器的行为非常难以预测。而使用TPU能轻易预测运行一个神经网络并得出模型与推测结果需要多长时间,这样,就能让芯片以吞吐量接近峰值的状态运行,同时严格控制延迟。
不过,TPU的性能优势使得它的灵活性较弱,这也是ASIC芯片的常见属性。
3.灵活的FPGA
FPGA全称是Field Programmable Gate Array:现场可编程门阵列。FPGA内部集成大量的数字电路基本门电路和存储器,用户可以通过烧入配置文件来定义这些它们之间的连线,从而达到定制电路的目的。
通俗来说就是,对比TPU,TPU虽然也是基于特定需求设计的ASIC,但就好比是雕一尊雕像,雕好后不能再更改;而FPGA则是乐高积木,什么硬件电路都能模仿,而且能多次更改。
有了这个特点,FPGA的设计部署周期比TPU更短,只需要6个月左右,而且更加能灵活适应多种需求。
而且,FPGA不像GPU依赖于冯·诺依曼结构,一个计算得到的结果可以被直接馈送到下一个计算,无需在主存储器临时保存,因此不仅存储器带宽需求低,而且还具有流水处理的特点,大大减小了输入与输出的延时比。
FPGA的的架构固然带来了应用上的灵活性,但是从执行运算的效率上来说,它又远远比不上ASIC。FPGA的运算电路基于查找表,比如说,FPGA内部有1000万个自定义逻辑部件,一个4输入的查找表单元需要96个晶体管来支持,而在ASIC上来实现估计只需要10个左右。这些问题也导致了FPGA芯片的面积更大、功耗更多。
四、AI芯片热潮
看完以上各个巨头研发的AI芯片优劣势,我们可以感到,目前,尚未出现某种芯片“独步天下”的态势,各种芯片都有其优劣势。
AI是下一次科技革命的核心技术,全球企业都纷纷在AI芯片上发力,期待着自己成为这个行业的领头羊。外国企业热火朝天,中国企业也不甘人后,现在已经涌现地平线、寒武纪、深鉴科技、中天微等一批明星初创企业。数据显示,仅去年下半年,在芯片制造巨头台积电的生产线上,就有超过30家AI芯片排队等待流片。
众多企业投身这个行业,我们或许可以期待今后能有一款芯片,在GPU、ASIC、FPGA芯片的优缺点之间,找到高灵活性、强运算能力、低能耗、低成本之间的平衡。