业界动态

自AlphaGo之后,“人工智能”成为2016年的热词,但早在1956年,几个计算机科学家就在达特茅斯会议上首次提出了此概念。他们梦想着用当时刚刚出现的计算机来构造复杂的、拥有与人类智慧同样本质特性的机器,也就是我们今日所说的“强人工智能”。这个无所不能的机器,它有着我们所有的感知、所有的理性,甚至可以像我们一样思考。

人们在电影里也总是看到这样的机器:友好的,像星球大战中的C-3PO;邪恶的,如终结者。强人工智能目前还只存在于电影和科幻小说中,原因不难理解,我们还没法实现它们,至少目前还不行。

我们目前能实现的,一般被称为“弱人工智能”。弱人工智能是能够与人一样,甚至比人更好地执行特定任务的技术。例如,Pinterest上的图像分类,或者Facebook的人脸识别。这些人工智能技术实现的方法就是“机器学习”。

2.机器学习:使人工智能真实发生

人工智能的核心就是通过不断地机器学习,而让自己变得更加智能。机器学习最基本的做法,是使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。与传统的为解决特定任务、硬编码的软件程序不同,机器学习是用大量的数据来“训练”,通过各种算法从数据中学习如何完成任务。

机器学习最成功的应用领域是计算机视觉,虽然也还是需要大量的手工编码来完成工作。以识别停止标志牌为例:人们需要手工编写形状检测程序来判断检测对象是不是有八条边;写分类器来识别字母“S-T-O-P”。使用以上这些手工编写的分类器与边缘检测滤波器,人们总算可以开发算法来识别标志牌从哪里开始、到哪里结束,从而感知图像,判断图像是不是一个停止标志牌。

3.人工神经网络:赋予机器学习以深度

人工神经网络是早期机器学习中的一个重要的算法,历经数十年风风雨雨。神经网络的原理是受我们大脑的生理结构——互相交叉相连的神经元启发。但与大脑中一个神经元可以连接一定距离内的任意神经元不同,人工神经网络具有离散的层,每一次只连接符合数据传播方向的其它层。

例如,我们可以把一幅图像切分成图像块,输入到神经网络的第一层。在第一层的每一个神经元都把数据传递到第二层。第二层的神经元也是完成类似的工作,把数据传递到第三层,以此类推,直到最后一层,然后生成结果。

我们仍以停止标志牌为例:将一个停止标志牌图像的所有元素都打碎,然后用神经元进行“检查”:八边形的外形、救火车般的红颜色、鲜明突出的字母、交通标志的典型尺寸和静止不动运动特性等等。神经网络的任务就是给出结论,它到底是不是一个停止标志牌。神经网络会根据所有权重,给出一个经过深思熟虑的猜测——“概率向量”。

这个例子里,系统可能会给出这样的结果:86%可能是一个停止标志牌;7%的可能是一个限速标志牌;5%的可能是一个风筝挂在树上等等。然后网络结构告知神经网络,它的结论是否正确。

即使是这个例子,也算是比较超前了。直到前不久,神经网络也还是为人工智能圈所淡忘。其实在人工智能出现的早期,神经网络就已经存在了,但神经网络对于“智能”的贡献微乎其微。主要问题是,即使是最基本的神经网络,也需要大量的运算,而这种运算需求难以得到满足。

4.深度学习:剔除神经网络之误差

深度学习由人工神经网络衍生而来,是一种需要训练的具有大型神经网络的多隐层层次结构,其每层相当于一个可以解决问题不同方面的机器学习。利用这种深层非线性的网络结构,深度学习可以实现复杂函数的逼近,将表征输入数据分布式表示,继而展现强大的从少数样本集中学习数据集本质特征的能力,并使概率向量更加收敛。

简单来说,深度学习神经网络对数据的处理方式和学习方式与人类大脑的神经元更加相似,比传统的神经网络更准确。

我们回过头来看这个停止标志识别的例子:深度学习神经网络从成百上千甚至几百万张停止标志图像中提取表征数据,通过重复训练将神经元输入的权重调制得更加精确,无论是否有雾,晴天还是雨天,每次都能得到正确的结果。只有这个时候,我们才可以说神经网络成功地自学习到一个停止标志的样子。

Google的AlphaGo也是先学会了如何下围棋,然后通过不断地与自己下棋,训练自己的神经网络,这种训练使得AlphaGo成功在三个月后击败了等级分数更高的李世石。

二、深度学习的实现

深度学习仿若机器学习最顶端的钻石,赋予人工智能更璀璨的未来。其摧枯拉朽般地实现了各种我们曾经想都不敢想的任务,使得几乎所有的机器辅助功能都变为可能。

更好的电影推荐、智能穿戴,甚至无人驾驶汽车、预防性医疗保健,都近在眼前,或者即将实现。人工智能就在现在,就在明天。你的C-3PO我拿走了,你有你的终结者就好。

但是正如前面提到的,人工神经网络,即深度学习的前身,已经存在了近三十年,但直到最近的5到10年才再次兴起,这又是因为什么

1.突破局限的学习算法

深度学习的实质,是通过构建具有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性。因此,“深度模型”是手段,“特征学习”是目的。区别于传统的浅层学习,深度学习的不同在于:

这种算法的差别提升了对训练数据量和并行计算能力的需求,而在当时,移动设备尚未普及,这使得非结构化数据的采集并不是那么容易。

2.骤然爆发的数据洪流

深度学习模型需要通过大量的数据训练才能获得理想的效果。以语音识别问题为例,仅在其声学建模部分,算法就面临着十亿到千亿级别的训练样本数据。训练样本的稀缺使得人工智能即使在经历了算法的突破后依然没能成为人工智能应用领域的主流算法。直到2012年,分布于世界各地的互相联系的设备、机器和系统促进了非结构化数据数量的巨大增长,并终于在可靠性方面发生了质的飞跃,大数据时代到来。

大数据到底有多大一天之中,互联网产生的全部内容可以刻满1.68亿张DVD;发出的邮件有2940亿封之多,相当于美国两年的纸质信件数量;发出的社区帖子达200万个,相当于《时代》杂志770年的文字量;卖出的手机为37.8万台,高于全球每天出生的婴儿数量37.1万倍。然而,即使是人们每天创造的全部信息,包括语音通话、电子邮件和信息在内的各种通信,以及上传的全部图片、视频与音乐,其信息量也无法匹及每一天所创造出的关于人们自身活动的数字信息量。

我们现在还处于所谓“物联网”的最初级阶段,随着技术的成熟,我们的通讯设备、交通工具和可穿戴科技将能互相连接与沟通,信息量的增加也将以几何倍数持续下去。

3.难以满足的硬件需求

骤然爆发的数据洪流满足了深度学习算法对于训练数据量的要求,但是算法的实现还需要相应处理器极高的运算速度作为支撑。当前流行的包括X86和ARM在内的传统CPU处理器架构往往需要数百甚至上千条指令才能完成一个神经元的处理,但对于并不需要太多的程序指令,却需要海量数据运算的深度学习的计算需求,这种结构就显得非常笨拙。尤其是在当前功耗限制下无法通过提升CPU主频来加快指令执行速度,这种矛盾愈发不可调和,深度学习研究人员迫切需要一种替代硬件来满足海量数据的运算需求。

或许终有一日将会诞生全新的、为人工智能而专门设计的处理器架构,但在那之前的几十年,人工智能仍然要向前走,便只能改进现有处理器,使之成为能够最大程度适应大吞吐量运算的计算架构。目前来看,围绕现有处理器的主流改进方式有两个:

将GPU或FPGA等其他处理器内核集成到CPU上。在这种架构中,CPU内核所不擅长的浮点运算以及信号处理等工作,将由集成在同一块芯片上的其它可编程内核执行,而GPU与FPGA都以擅长浮点运算著称。AMD与Intel公司分别致力于基于GPU与FPGA的异构处理器,希望借此切入人工智能市场。

三、现有市场——通用芯片GPU

在深度学习的领域里,最重要的是数据和运算。谁的数据更多,谁的运算更快,谁就会占据优势。因此,在处理器的选择上,可以用于通用基础计算且运算速率更快的GPU迅速成为人工智能计算的主流芯片。可以说,在过去的几年,尤其是2015年以来,人工智能大爆发就是由于英伟达公司的GPU得到广泛应用,使得并行计算变得更快、更便宜、更有效。

1.GPU是什么

图形处理器GPU最初是用在个人电脑、工作站、游戏机和一些移动设备上运行绘图运算工作的微处理器,可以快速地处理图像上的每一个像素点。后来科学家发现,其海量数据并行运算的能力与深度学习需求不谋而合,因此,被最先引入深度学习。2011年吴恩达教授率先将其应用于谷歌大脑中便取得惊人效果,结果表明,12颗英伟达的GPU可以提供相当于2000颗CPU的深度学习性能,之后纽约大学、多伦多大学以及瑞士人工智能实验室的研究人员纷纷在GPU上加速其深度神经网络。

2.GPU和CPU的设计区别

那么GPU的快速运算能力是如何获得的这就要追溯到芯片最初的设计目标了。中央处理器CPU需要很强的处理不同类型数据的计算能力以及处理分支与跳转的逻辑判断能力,这些都使得CPU的内部结构异常复杂;而图形处理器GPU最初面对的是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境,所以GPU只需要进行高速运算而不需要逻辑判断。目标运算环境的区别决定了GPU与CPU不同的设计架构:

CPU基于低延时的设计

GPU基于大吞吐量的设计

3.GPU和CPU的性能差异

CPU与GPU在各自领域都可以高效地完成任务,但当同样应用于通用基础计算领域时,设计架构的差异直接导致了两种芯片性能的差异。

CPU拥有专为顺序逻辑处理而优化的几个核心组成的串行架构,这决定了其更擅长逻辑控制、串行运算与通用类型数据运算;而GPU拥有一个由数以千计的更小、更高效的核心组成的大规模并行计算架构,大部分晶体管主要用于构建控制电路和Cache,而控制电路也相对简单,且对Cache的需求小,只有小部分晶体管来完成实际的运算工作。所以大部分晶体管可以组成各类专用电路、多条流水线,使得GPU的计算速度有了突破性的飞跃,拥有了更强大的处理浮点运算的能力。这决定了其更擅长处理多重任务,尤其是没有技术含量的重复性工作。

当前最顶级的CPU只有4核或者6核,模拟出8个或者12个处理线程来进行运算,但是普通级别的GPU就包含了成百上千个处理单元,高端的甚至更多,这对于多媒体计算中大量的重复处理过程有着天生的优势。

4.GPU行业的佼佼者:Nvidia

目前全球GPU行业的市场份额有超过70%被英伟达公司占据,而应用在人工智能领域的可进行通用计算的GPU市场则基本被英伟达公司垄断。

2016年三季度英伟达营收为20.04亿美元,较上年同期的13.05亿美元增长54%;净利润为5.42亿美元,较上年同期的2.46亿美元增长120%,营收的超预期增长推动其盘后股价大幅上涨约16%。以面向的市场平台来划分,游戏业务营收12.4亿美元,同比增长63%,是创造利润的核心部门;数据中心业务营收2.4亿美元,同比增长193%,成为增长最快的部门;自动驾驶业务营收1.27亿美元,同比增长61%,正在逐步打开市场。

这样的业绩创下了英伟达的历史最好季度收入,但这并非是其股票暴涨的理由,事实上,在过去的六年里,英伟达的业绩基本一直呈现上升趋势。从2012年财年至2016财年,英伟达的营业收入实现了从40亿美元到50亿美元的跨越,而其净利润也从2012财年的5.8亿美元逐步上升到了2016财年的6.14亿美元。但在此期间,英伟达的股价并未出现翻番式的增长。

真正促成英伟达股价飙升的是人工智能的新市场。在刚刚过去的2016年,英伟达的股价上涨了228%,过去的5年内累计上涨500%。500亿美元的市值将会持续给英伟达带来40倍的市场收入,这几乎是业内拥有最高收益的公司。

5.Nvidia的市场定位:人工智能计算公司

自1999年发布第一款GPU以来,GPU就成为了英伟达最为核心的产品,占到了英伟达总营业收入的八成,而英伟达也以显卡厂商的身份进入人们的视线。这些芯片最初是以板卡的形式出售给游戏玩家的,游戏玩家需要自己动手将芯片装到PC主板上,从而拥有更快的3D图形处理速度。他们的产品命名也很有讲究,用"GeForce"这样具有超能力的字眼来开辟市场。

今日的英伟达,已经不再是一家单纯的显卡技术厂商,他现在很赶时髦地称自己为“人工智能计算公司”。据英伟达官网数据显示,2016年,有近两万家机构将英伟达产品用于深度学习加速计算,相比2014年翻了13倍。医疗、生命科学、教育、能源、金融、汽车、制造业以及娱乐业等诸多行业均将得益于海量数据的分析。

谷歌、微软、Facebook和亚马逊等技术巨头大量购买英伟达的芯片来扩充自己数据中心的处理能力;MassachusettsGeneralHospital等医疗研究机构用英伟达的芯片来标记CT扫描图片上的病变点;特斯拉将在所有的汽车上安装英伟达的芯片来实现无人驾驶;June等家电公司用英伟达的芯片制造人工智能驱动的家用电器。在人工智能到来之前,英伟达从来都没有处于一个如此巨大的市场的中心,这也充分表明了一个事实,那就是英伟达在GPU的计算处理技术上无人能及。

同时,英伟达还在投资不同领域里新兴的、需要借助深度学习来构建业务的公司,使这些公司能够更好地借助其提供的人工智能平台起步,这类似于以前一些初创公司通过微软Windows来构建服务以及最近通过iTunes来发布应用。

6.Nvidia的核心产品:Pascal家族

英伟达的传统强项是桌面和移动终端的GPU,但是坚定地向着人工智能大步迈进的英伟达显然已经不满足于仅仅在单一领域做提高GPU性能的事了。相比于传统的计算密集型GPU产品来说,英伟达努力的方向是使得GPU芯片不仅仅只针对训练算法这一项起到作用,更是能处理人工智能服务的推理工作负载,从而加速整个人工智能的开发流程。目前该公司的核心产品包括基于Pascal架构的TeslaP4与TeslaP40深度学习芯片,这两款芯片均已于2016年第四季度开始投入量产。

TeslaP4为资料中心带来最高的能源效率

其小尺寸及最小50瓦特的低功率设计可安装于任何服务器内,让生产作业负载推论的能源效率达CPU的40倍。在进行视频推论作业负载时,单一服务器裡安装单颗TeslaP4即可取代13台仅采用CPU的服务器,而包含服务器及用电量的总持有成本则能节省达8倍。

TeslaP40为深度学习作业负载带来最大的处理量

一台搭载8颗TeslaP40加速器的服务器拥有每秒47兆次运算的推论性能及INT8指令,可取代140台以上的CPU服务器的性能。若以每台CPU服务器约5,000美元计算,可节省65万美元以上的服务器采购成本。

7.Nvidia的应用布局:自动驾驶

不仅仅是底层架构,英伟达在应用层面上也有非常明确的布局,其中最看重也最有领先优势的就是自动驾驶。早在2014年1月,英伟达就发布了为移动平台设计的第一代Tegra系列处理器,适用于智能手机、平板电脑和自动驾驶汽车,四个月后,DRIVEPX自动驾驶计算平台发布,可实现包括高速公路自动驾驶与高清制图在内的自动巡航功能。同年10月,搭载了TegraK1处理器并应用了DRIVEPX计算平台的特斯拉新款ModelS开始量产,英伟达成为第一个享受到自动驾驶红利的厂商。

2016年英伟达在自动驾驶领域并没有什么重大突破,基本只是从技术升级及厂商合作两个方面入手,除了特斯拉这个老朋友外,百度、沃尔沃也跟英伟达达成了合作,他们都将生产搭载DRIVEPX2的智能驾驶汽车。恰逢此时,AI概念变得更加火热,智能驾驶也逐渐成熟,这些客观因素让英伟达收割了更多的红利,也让公司站在了聚光灯之下。

从整个自动驾驶行业来看,Google、苹果、微软等科技公司都在建立自己的汽车生态体系,不过智能汽车对于他们来说都不是核心业务,更为重要的是,他们并没有真正进入汽车供应链体系。与之相反,英伟达的DrivePX系列自动驾驶解决方案,已经进入了汽车的上游供应链中,并创造了利润,这也意味着英伟达将在汽车芯片市场与英特尔、高通、恩智浦、瑞萨电子等做CPU的公司正面碰撞,自动驾驶的风口让英伟达在汽车市场从“边缘人”变成了挑战者。

随着特斯拉ModelS等备受瞩目的车型更加智能化与多媒体化,英伟达有了弯道超车的机会,并有望在汽车产业的上游供应链占据更有优势的地位。最新款的Tegra系列处理器功耗只有10瓦,几乎与同等级的FPGA产品功耗持平甚至更低,这对于车载移动芯片来说是巨大的优势。

但同样的,单移动处理器的架构和极低的功耗必然无法支撑起超大规模的运算,目前英伟达计算平台的功能定位仅聚焦于高速公路上的自动巡航,而CPU的应用可以拓展至车机娱乐信息系统层面。未来自动驾驶的发展方向必然是整车的控制中心,从目前英伟达基于Tesla架构的主流芯片来看,低功耗、极速运算与逻辑控制是可以同时实现的,英伟达公司在自动驾驶领域的优势非常明显。

8.Nvidia的产业优势:完善的生态系统

与其它芯片公司相比,带有CUDA的重点软件生态系统是英伟达占领人工智能市场的关键促成因素。从2006年开始,英伟达发布了一个名叫CUDA的编程工具包,该工具包让开发者可以轻松编程屏幕上的每一个像素。在CUDA发布之前,给GPU编程对程序员来说是一件极其痛苦的事,因为这涉及到编写大量低层面的机器码以实现渲染每一个不同像素的目标,而这样的微型计算操作通常有上万个。CUDA在经过了英伟达的多年开发之后,成功将Java或C++这样的高级语言开放给了GPU编程,从而让GPU编程变得更加轻松简单,研究者也可以更快更便宜地开发他们的深度学习模型。

四、未来市场:半定制芯片FPGA

技术世界正在迈向一个全新的轨道,我们对于人工智能的想象已经不再局限于图片识别与声音处理,机器,将在更多领域完成新的探索。不同领域对计算的需求是差异的,这就要求深度学习的训练愈发专业化与区别化。芯片的发展趋势必将是在每一个细分领域都可以更加符合我们的专业需求,但是考虑到硬件产品一旦成型便不可再更改这个特点,我们不禁开始想,是不是可以生产一种芯片,让它硬件可编程。

也就是说,这一刻我们需要一个更适合图像处理的硬件系统,下一刻我们需要一个更适合科学计算的硬件系统,但是我们又不希望焊两块板子,我们希望一块板子便可以实现针对每一个应用领域的不同需求。这块板子便是半定制芯片FPGA,便是未来人工智能硬件市场的发展方向。

1.FPGA是什么

场效可编程逻辑闸阵列FPGA运用硬件语言描述电路,根据所需要的逻辑功能对电路进行快速烧录。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者的需要而改变,这就好像一个电路试验板被放在了一个芯片里,所以FPGA可以完成所需要的逻辑功能。

FPGA和GPU内都有大量的计算单元,因此它们的计算能力都很强。在进行神经网络运算的时候,两者的速度会比CPU快很多。但是GPU由于架构固定,硬件原生支持的指令也就固定了,而FPGA则是可编程的。其可编程性是关键,因为它让软件与终端应用公司能够提供与其竞争对手不同的解决方案,并且能够灵活地针对自己所用的算法修改电路。

2.FPGA和GPU的性能差异

同样是擅长并行计算的FPGA和GPU,谁能够占领人工智能的高地,并不在于谁的应用更广泛,而是取决于谁的性能更好。在服务器端,有三个指标可供对比:峰值性能、平均性能与功耗能效比。当然,这三个指标是相互影响的,不过还是可以分开说。

峰值性能:GPU远远高于FPGA

GPU上面成千上万个核心同时跑在GHz的频率上是非常壮观的,最新的GPU峰值性能甚至可以达到10TFlops以上。GPU的架构经过仔细设计,在电路实现上是基于标准单元库而在关键路径上可以用手工定制电路,甚至在必要的情形下可以让半导体fab依据设计需求微调工艺制程,因此可以让许多core同时跑在非常高的频率上。

相对而言,FPGA首先设计资源受到很大的限制,例如GPU如果想多加几个核心只要增加芯片面积就行,但FPGA一旦型号选定了逻辑资源上限就确定了。而且,FPGA里面的逻辑单元是基于SRAM查找表,其性能会比GPU里面的标准逻辑单元差很多。最后,FPGA的布线资源也受限制,因为有些线必须要绕很远,不像GPU这样走ASICflow可以随意布线,这也会限制性能。

平均性能:GPU逊于FPGA

FPGA可以根据特定的应用去编程硬件,例如如果应用里面的加法运算非常多就可以把大量的逻辑资源去实现加法器,而GPU一旦设计完就不能改动了,所以不能根据应用去调整硬件资源。

目前机器学习大多使用SIMD架构,即只需一条指令可以平行处理大量数据,因此用GPU很适合。但是有些应用是MISD,即单一数据需要用许多条指令平行处理,这种情况下用FPGA做一个MISD的架构就会比GPU有优势。

所以,对于平均性能,看的就是FPGA加速器架构上的优势是否能弥补运行速度上的劣势。如果FPGA上的架构优化可以带来相比GPU架构两到三个数量级的优势,那么FPGA在平均性能上会好于GPU。

功耗能效比:

功耗方面,虽然GPU的功耗远大于FPGA的功耗,但是如果要比较功耗应该比较在执行效率相同时需要的功耗。如果FPGA的架构优化能做到很好以致于一块FPGA的平均性能能够接近一块GPU,那么FPGA方案的总功耗远小于GPU,散热问题可以大大减轻。反之,如果需要二十块FPGA才能实现一块GPU的平均性能,那么FPGA在功耗方面并没有优势。

3.FPGA市场前景

随着科技的进展,制造业走向更高度的自动化与智能化,对工业控制技术等领域不断产生新的需求,在未来的工业制造领域,FPGA将有更大的发展空间。目前来看,有两个领域的应用前景十分巨大:

工业互联网领域

作为未来制造业发展的方向,工业大数据、云计算平台、MES系统等都是支持工业智能化的重要平台,它们需要完成大数据量的复杂处理,FPGA在其中可以发挥重要作用。

工业机器人设备领域

在多轴向运作的精密控制、实时同步的连接以及设备多功能整合等方面,兼具弹性和整合性的FPGA,更能展现设计优势。如汽车ADAS需要对实时高清图像进行及时的分析识别与处理;在人工智能方面,深度学习神经网络也需要进行大量并行运算。

4.FPGA现有市场

FPGA市场前景诱人,但是门槛之高在芯片行业里无出其右。全球有60多家公司先后斥资数十亿美元,前赴后继地尝试登顶FPGA高地,其中不乏英特尔、IBM、德州仪器、摩托罗拉、飞利浦、东芝、三星这样的行业巨鳄,但是最终登顶成功的只有位于美国硅谷的两家公司:Xilinx与Altera。这两家公司共占有近90%的市场份额,专利达到6000余项之多,如此之多的技术专利构成的技术壁垒当然高不可攀。

2015年6月,英特尔用史无前例的167亿美元巨款收购了Altera,当时业内对于英特尔此举的解读主要集中在服务器市场、物联网市场的布局上,英特尔自己对收购的解释也没有明确提到机器学习。但现在看来,或许这笔收购在人工智能领域同样具有相当大的潜力。

5.FPGA行业的开拓者

英特尔能不能通过FPGA切入AI硬件市场要讲清楚这个问题,我们必须要把视角从人工智能身上拉远,看看英特尔的整体战略布局。最近几年,英特尔的核心盈利业务CPU同时遭到了三个因素的狙击:PC市场增长放缓、进军移动市场的尝试失败以及摩尔定律逐渐逼近极限。单纯的卖CPU固然也能赚到钱,但只有研发更高端的芯片,形成自己领导者的形象,才能赚更多的钱,支撑公司的发展。

上述三个因素的同时出现,已经让英特尔发现,如果自己仍然只是安心的守着自己的CPU业务,很快就会面临巨大的危机,事实上在过去的一年里,利润下降、裁员的新闻也一直围绕在英特尔的身边,挥之不去。

因而英特尔十分渴望不要错过下一个深度学习的潮流,不过它缺乏自己最先进的人工智能研究,所以在过去的两年中疯狂地收购。2015年,英特尔用史无前例的167亿美元拍下了FPGA制造商Altera,2016年又相继兼并了人工智能芯片初创公司Nervana与Movidius。目前的英特尔正在试图将他们整合在一起。

6.Intel的产品布局

英特尔斥巨资收购Altera不是来为FPGA技术发展做贡献的,相反,它要让FPGA技术为英特尔的发展做贡献。表现在技术路线图上,那就是从现在分立的CPU芯片+分立的FPGA加速芯片,过渡到同一封装内的CPU晶片+FPGA晶片,到最终的集成CPU+FPGA芯片。预计这几种产品形式将会长期共存,因为分立器件虽然性能稍差,但灵活性更高。

如果简单的将英特尔对于人工智能的产品布局,可以分以下几层:

英特尔下一代的FPGA和SoCFPGA将支持Intel架构集成,大致如下:代号为Harrisville的产品采用Intel22nm工艺技术,用于工业IoT、汽车和小区射频等领域;代号为FalconMessa的中端产品采用Intel10nm工艺技术,用于4G/5G无线通信、UHD/8K广播视频、工业IoT和汽车等领域;代号为FalconMesa的高端产品采用Intel10nm工艺技术,用于云和加速、太比特系统和高速信号处理等领域。

从产品线来看,包含了CPU与FPGA的异构计算处理器将是Intel盈利的重点。预计到2020年Intel将有1/3的云数据中心节点采用FPGA技术,CPU+FPGA拥有更高的单位功耗性能、更低时延和更快加速性能,在大数据和云计算领域有望冲击CPU+GPU的主导地位,而Intel的至强处理器Xeon+FPGA也将在2017年下半年量产。

7.Intel的痛点:生态不完善

FPGA对GPU的潜力在于其计算速度与GPU不相上下,却在成本和功耗上对GPU有着显著优势。当然,劣势也有,但是FPGA的潜力是非常明显的。作为一个想要推向市场的商品来说,FPGA最需要克服,也是最容易克服的问题是普及程度。

大部分PC都配有或高端或低端的独立GPU,对于个人进行的中小规模神经网络开发和训练来说,其实它们的性能已经基本足够。而FPGA却不是在电脑里能找得到的东西,而多见于各种冰箱、电视等电器设备及实验室中,因此想要搞到一块能用来开发深度学习的FPGA其实还挺麻烦的。不仅如此,FPGA的不普及还体现在以下三个方面:

OpenCL编程平台应用不广泛

即使GPU有着种种不足,它也不是能够轻易被取代的。从深度学习应用的开发工具角度,具备CUDA支持的GPU为用户学习Caffe、Theano等研究工具提供了很好的入门平台。自2006年推出CUDA以来,已有超过5亿的笔记本电脑、工作站、计算集群和超级计算机安装了支持CUDA的GPU。

如果FPGA想要攻占深度学习的市场,那么产业链下游的编程平台必不可少。目前较为流行的异构硬件编程的替代性工具是OpenCL。不同于CUDA单一供应商的做法,OpenCL对开发者开源、免费,这是一大重要竞争力。但目前来看,其获得的支持相较CUDA还略逊一筹。

实现硬件编程困难

除了软件编程的不普及之外,吸引偏好上层编程语言的研究人员和应用科学家来开发FPGA尤为艰难。虽然能流利使用一种软件语言常常意味着可以轻松地学习另一种软件语言,但对于硬件语言翻译技能来说却非如此。针对FPGA最常用的语言是Verilog和VHDL,两者均为硬件描述语言(HDL)。这些语言和传统的软件语言之间的主要区别是,HDL只是单纯描述硬件,而例如C语言等软件语言则描述顺序指令,并无需了解硬件层面的执行细节。

有效地描述硬件需要对数字化设计和电路的专业知识,尽管一些下层的实现决定可以留给自动合成工具去实现,但往往无法达到高效的设计。因此,研究人员和应用科学家倾向于选择软件设计,因其已经非常成熟,拥有大量抽象和便利的分类来提高程序员的效率。

部署环节需要定制复杂套件

FPGA需要有一个完善的复杂生态系统才能保证其使用,不只体现在软件与硬件编程平台上,更体现在部署环节中。FPGA在安装过程中需要针对不同的IP核定制一系列复杂的工具套件,相比之下,GPU通过PCI-e接口可以直接部署在服务器中,方便而快速。因此,嵌入式FPGA概念虽好,想要发展起来仍将面临十分严峻的挑战。

8.Intel的优势

目前在深度学习市场FPGA尚未成气候,谷歌这样的超级大厂又喜欢自己研发专用芯片,因此可以说对于深度学习芯片来说,个人开发者及中小型企业内还有相当大的市场。这个市场目前几乎只有英伟达一家独大,英特尔想要强势进入未必没有机会。而相比于英伟达来说,英特尔有两个明显的优势:

更熟悉CPU

尽管目前的人工智能市场几乎只有英伟达一家独大,但英伟达的芯片也不是能够自己完成深度学习训练的。或者说,英伟达的GPU芯片还不足以取代那些英特尔的CPU,大多数环境下它们暂时只能加速这些处理器。所以,GPGPU暂时只是概念上的,GPU还不足以在大多数复杂运算环境下代替CPU,而随着人工智能技术的进步,对硬件的逻辑运算能力只会更高不会降低,所以搭载强大CPU核心的多核异构处理器才是更长期的发展方向。而论对CPU的熟悉,没有一家芯片厂商能过胜过英特尔,英特尔是最有可能让搭载了FPGA与CPU的异构处理器真正实现多核心相辅相成的芯片公司。

曾涉足云计算

算法的训练应该是贯穿整个应用过程的,这样可以随时为消费者提供最好体验的服务。但是如果要将所有算法都集中于本地训练,不仅会面临计算瓶颈的问题,也容易面临从单个用户处收集到的数据量太少的尴尬。我们暂时不考虑很久以后可能出现的基于小样本的无监督学习的AI,毕竟那其实已经跟人差不多了,在目前AI的发展状况下,将所有数据集中于云端进行计算显然是更理性且有效的做法。这就对通信提出了极高的要求,而英特尔恰巧在这个领域有着相当多的积累。虽然英特尔的通信部门连年亏损,但在现在的形势下,它却意外地有了新的价值与潜力。

THE END
1.算法笔记(三)算法学习技巧从开始学习算法已经有两三个多月的时间了,从简单到深入层次展开,层层优化,对算法的理解也在逐渐加深,不在那么片面,虽然现在还是片面一些,对它的了解也仅仅知道冰山一角,还有很多的内容需要我们去学习去挖掘。 思路 在学习前我们要尽可能快速阅读一遍要学习的书籍,这样不仅仅让我们知道了有哪些内容需要学习,同时也在https://www.code456.com/article/3598351.html
2.机器学习初学者应该如何入门o edX:同样提供了丰富的机器学习课程,包括一些免费课程。 o 网易云课堂:国内知名的在线教育平台,也提供了不少优质的机器学习课程。 02 书籍 o 《机器学习实战》:这本书通过具体的项目来介绍机器学习算法,非常适合初学者。 o 《Python机器学习》:详细介绍了如何使用Python进行https://mp.weixin.qq.com/s?__biz=MzU0MTM0MTM4MQ==&mid=2247524993&idx=1&sn=e0d07b63e43a90913a79a4b8ffca1af4&chksm=fa038462a20207aa10376ded66830ee1811a98b32eb9ce8260dac5139e7c6ac75c81dcadc8df&scene=27
3.怎样高效学习数学?数学计算数学计算是数学学习中的核心技能之一,是数学学习的基础。它要求我们不仅要做对题目,还要理解算理,计算快速准确。准确的数学计算能力对于解决复杂数学问题至关重要。学生在训练中应注重提升心算和笔算的速度与精确度,同时,教师应引导学生理解计算过程中的算理,强化对算法本质的认识。此外,通过例题的多样化练习https://baijiahao.baidu.com/s?id=1818458407474987245&wfr=spider&for=pc
4.想学ai怎么样入门?从哪入手?要学习人工智能(AI),可以从以下几个方面入手: 1.基础知识: –数学基础:需要掌握线性代数、概率论和数理统计等数学知识,这些是理解机器学习和深度学习算法的基础。 –编程基础:至少要熟悉一种编程语言,如Python或C++。Python尤其在AI领域应用广泛,因为其丰富的库和框架(如TensorFlow和PyTorch)非常适合进行AI开发。 https://www.hnbyed.com/ai/4991.html
5.苏教版六年级数学上册第三单元分数乘法教案含反思(通用8篇)在学习、工作、生活中,我们要有很强的课堂教学能力,所谓反思就是能够迅速从一个场景和事态中抽身出来,看自己在前一个场景和事态中自己的表现。那么优秀的反思是什么样的呢?下面是小编精心整理的苏教版六年级数学上册第三单元分数乘法教案含反思,仅供参考,欢迎大家阅读。 https://www.unjs.com/fanwenwang/jiaoan/20110301163232_580437.html
6.从简单的方面入手讲解机器学习算法(第1部分)⊥3⊥src=“p3.toutiaoimg.com/origin/pgc-image/42f929d41fff45318049edfdcf26f18c?from=pc” img_width=“412” img_height=“241” alt=“从简单的方面入手讲解机器学习算法(第1部分)” inline=“0” class=“syl-page-img” style=“height: auto;”> 这种方法称为线性回归。 为了找到最适合数据的https://www.imooc.com/article/323487
7.初学机器学习?推荐从这十大算法入手推荐从这十大算法入手 作者| Reena Shaw,译者 | 严子怡,编辑 | Vincent,AI前线出品| ID:ai-front 一、介绍 机器学习算法的研究已经得到了广泛的关注。发表在《哈佛商业评论》上的文章称“数据科学家”是“二十一世纪最性感的职业“。所以,对于那些刚刚踏入机器学习领域的人们,我们决定重写我们非常受欢迎的“金牌https://36kr.com/p/1721961660417
8.AI算法工程师入门学习之路51CTO博客对于初次学习的人来说,先从上述经典的算法入手学习,再尝试高阶的算法模型。 算法界著名的天下没有免费的午餐准则,告诉我们,不能抛开问题场景对比哪个算法比哪个算法好。算法模型本身没有好坏之分,也没有强弱之分,只是有些算法在特定的问题上表现的性能较好而已。由此准则,也引发了我下面的一段思考: https://blog.51cto.com/u_7932852/3044886
9.小学数学2022课标培训心得体会(精选28篇)数学教育需面向全体学生,既要加强学生的基础性学习,又要提高学生的发展性学习和创造性学习,使得“人人都能获得良好的数学教育,不同的人在数学上得到不同的发展”。本人通过对新课程标准的学习,对如何让学生学好数学有了进一步的认识。 育人要有新理念,新课程标准把全面发展放在首位,强调小学生学习要从以获取知识为首https://www.ruiwen.com/word/xiaoxueshuxuekebiaopeixunxindetihui.html
10.如何学习算法云飞扬°如何学习算法 目前找工作竞争越来越大,很多大的公司都很重视应聘者的算法能力,所以掌握好算法尤为重要。 这里说一下我认为算法应该怎么刷。 1.打牢基本功 在刷算法的初级阶段,我们应该掌握好基础知识,包括常用的数据结构和算法。 数据结构:数组、栈、链表、图、散列表、队列、树、堆https://www.cnblogs.com/yunfeiyang2020/p/14088812.html
11.零基础学it从哪方面学起6.后端开发:学习服务器端编程,掌握一种服务器端编程语言和相关框架,如Node.js、Django或Spring等。了解如何处理请求、构建API和与数据库进行交互。 7.数据结构和算法:学习常见的数据结构和算法,如数组、链表、栈、队列和排序算法等。掌握这些基础知识将有助于你解决问题和优化代码。 https://wap.hxsd.com/content/33963/
12.大学四年,从小白到大神,全网最硬核算法学习攻略,不接受反驳所以,死磕入门数据结构,可以学习下一些算法思想,而递归,你必须得入门,至于动态规划、回溯,我觉得慢点学也没有,可以后面刷题遇到时在学,而枚举、贪心,相对比较简单。 二、如何刷题 终于,到了刷题这一部分了,如果要说学算法的捷径,那么刷题便是最好的捷径,如果你刷的题很少,达不到一定的量,那么再多的捷径,估https://blog.csdn.net/xxue345678/article/details/131645896
13.机器学习太难?这里有一份详细到周的入门学习计划雷峰网目前对机器学习的初学者来说,最大的问题在于面前有几十年积累的研究成果,可切入点太多,反而不知道从哪里入手开始学习。就像爱迪生做了 1000 次尝试,最终发明了电灯一样,人工智能领域的研究进程,也经历过几十年的试错过程(AI 研究的冬天),直到现在,该领域的研究才真正开始向前推进。所以你会从第一次,或者第 79 https://www.leiphone.com/category/ai/P6ztj6p2tO5IC9MY.html
14.罗振宇20192020“时间的朋友”跨年演讲精华版全文金融学家香帅会回答,我们要挣钱,钱从哪里来? 教育专家沈祖芸会回答,我们每个家庭最焦虑的教育问题,在发生什么变化? 科技产业专家王煜全会回答,中国的科技创新被美国卡住脖子了吗? 国际政治学家施展会回答,中国制造世界工厂的地位会被替代吗? 我非常荣幸地能够代表他们发布他们的研究成果。 https://www.digitaling.com/articles/247064.html
15.动手学深度学习全书的内容分为3个部分:第一部分介绍深度学习的背景,提供预备知识,并包括深度学习最基础的概念和技术;第二部分描述深度学习计算的重要组成部分,还解释近年来令深度学习在多个领域大获成功的卷积神经网络和循环神经网络;第三部分评价优化算法,检验影响深度学习计算性能的重要因素,并分别列举深度学习在计算机视觉和自然语言https://www.epubit.com/bookDetails?id=N38286
16.如何更有效的将深度学习算法部署在计算资源有限的设备?如何更有效的将深度学习算法部署在计算资源有限的设备? 深度学习已成为许多机器学习应?程序不可或缺的?部分,现在可以在?数电?设备和服务中找到,从智能?机和家?电器到机、机器?和?动驾驶汽车。随着深度学习在我们?常?活中的普及,对快速且节能的神经?络推理的需求也在增加。神经https://www.thepaper.cn/newsDetail_forward_17558183
17.Python怎么从小白变大神?这些学习技巧你一定要知道!Python是一种简单易学、功能强大的编程语言,越来越受到人们的关注和喜爱。要从小白变成Python大神,需要掌握Python的基础语法、数据结构、算法和编程思想,并进行大量的实践和探索。 下面是一些详细的步骤,帮助您从小白变成Python大神: 1.学习Python基础语法 Python的基础语法包括变量、数据类型、运算符、控制结构、函数等,https://www.yutu.cn/news_52077.html
18.读者问我怎么学算法,那就来聊点方法论腾讯云开发者社区本文借着如何学习算法这个话题,分享下我的一些思维方式,希望能给大家一些启发。 学算法也好,学技术也好,我觉得做任何事情,一定要明白自己的目标是什么。 这句话有两个关键词,第一个关键词是「目标」,可以量化的才叫目标。 你想变有钱,想学好算法,这就叫无法量化的目标,有多少钱才算有钱,学到什么程度才算学好https://cloud.tencent.com/developer/article/1880928
19.精神病学研究中如何进行中小型数据的深度学习鉴于机器学习(尤其是深度学习)的现代算法和方法在其他学科中的出色预测性能,它们为解决这些问题提供了新希望。深度学习算法的优势在于它们可以实现非常复杂的算法,并且原则上可以高效地执行任意预测结果的映射。但是,这种实现是有代价的,需要大量的训练(和测试)样本来推断(有时超过数百万个)模型参数。这似乎与迄今为止在https://www.360doc.cn/mip/955038026.html
20.第二届“应用伦理与当代社会”论坛顺利举行面对医学伦理的风险,更重要的是如何看待风险。应对医学伦理中的风险,要根据具体情形权衡和化解科技伦理原则之间的抽象对立;要与时俱进,权衡重大健康需求与有争议的医疗技术之间的内在张力;要从细节入手,全面梳理医学试验中的风险点,确定最小风险清单;要对医疗行为中不确定风险下的道德奉献精神进行判断等等。http://www.cn-e.cn/newsinfo/6548647.html
21.交大开设人工智能伦理必修课,为未来算法工程师输入伦理意识摘要:国内高校相关专业都有必要开设伦理类课程,从人才培养入手树立“科技向善”理念。 本周一是上海交通大学开学第一天,“人工智能思维与伦理”课程在闵行校区开讲,近100名本科生聆听了计算机科学与工程系教授吕宝粮的第一讲。“我还以为这门课要教编程和算法,没想到吕老师主要讲的是伦理问题,感觉更接近文科。”人工https://www.jfdaily.com/news/detail?id=405624
22.Python深度学习(一)深度学习基础与统计学不同的是,机器学习倾向于处理大型复杂的数据集(例如数百万张图像的数据集,每个数据集由数万个像素组成),对于这些数据集,传统的统计分析(如贝叶斯分析)是不切实际的。 1.1.3 从数据中学习表征(representations) 要定义深度学习并理解深度学习与其他机器学习方法的区别,首先我们需要了解机器学习算法的作用。我https://www.jianshu.com/p/6c08f4ceab4c