楼主: ucom
422 1

[休闲其它] AI的训练与推理,会往哪个方向发展? [推广有奖]

大师

15%

还不是VIP/贵宾

-

威望
1
论坛币
22632 个
通用积分
3229.4799
学术水平
314 点
热心指数
396 点
信用等级
189 点
经验
314207 点
帖子
3816
精华
0
在线时间
4981 小时
注册时间
2009-9-7
最后登录
2024-4-20

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

Graphcore公司CEO Nigel Toon先生多年前曾经专门撰文提过,训练和推理的问题。Graphcore的IPU同时支持训练和推理,不过“如果你根据训练和推理来看IPU,那么你可能对机器学习硬件有些误解。”“对于IPU是针对训练还是推理的问题,我的回答可能会让很多人惊讶。”


去年我在与英国Graphcore公司联合创始人兼CEO Nigel Toon先生的沟通中,他有数度谈到AI的“训练(training)和推理(inference)技术本质上没有什么区别”。似乎在多番探讨中,Nigel Toon都有意无意地提及,训练和推理不应做过分严格的区分。

当时Graphcore高级副总裁兼中国区总经理卢涛也谈到:“未来的应用,是在不停地训练和发展这个模型。有客户之前提到online training或者streaming training的说法。一般大家讲的训练都是离线的,数据拿来,训练好之后再拿到线上进行推理。但现在,很多应用可能会转为online training和inference。就是一边在用,同时又有新的数据进来,一边同时更新知识库。”

这两段话,是什么意思呢?


[color=rgba(255, 255, 255, 0.5)]广告




Graphcore去年针对IPU芯片的宣传资料中也提到了这么一段:“用户可以用相同IPU芯片进行推理或训练;从架构的角度来看,这对我们非常重要,因为随着机器学习演进,系统将能够从经验中学习。推理性能表现的关键包括低延迟、能使用小模型、小批次(small batches),以及可能会尝试导入稀疏性(sparsity)的训练模型;IPU可以有效地完成所有这些事情。”

“因此在一个4U机箱中,16颗IPU共同合作协作进行训练,每颗IPU可以执行独立的训练或者推理任务,并由一个CPU上执行的虚拟机来控制,最终你会得到一个可用于训练的硬件。因此一旦模型被训练、布署,随着模型演进且我们开始想要从经验中学习时,就可以采用相同硬件。”

AI的训练与推理

消费用户知道AI或者“深度神经网络”,应该是从当代手机产品上,手机SoC内可能会有个专门的AI单元——Arm和华为称其为NPU,苹果则称其为NE。通常我们说,执行神经网络任务有两个关键点,分别就是神经网络模型的执行与推理(也译作推论)。

训练过程,就和神经网络学习的过程一样。而训练后的神经网络,投入使用,就是将其所学应用到具体的场景中,比如说识别图片、语音——这个过程,就是推理的过程。有了训练才有了推理。

在训练神经网络的过程中,会有训练数据首先加入到网络第一层,单个神经元基于执行的任务,为输入分配权重。比如说在图片识别的网络中,第一层会去找画面对象边缘;随后查看边缘构成的形状——长方形或圆形;第三层再去发现特定的特征,比如画面中的眼睛、鼻子......直至最后一层,最终输出是由所有产生的权重决定的。

比较典型的例子是猫图片的识别:给神经网络输入海量的训练图片,神经网络需要做是不是猫的判断——训练算法的响应仅有“正确”和“错误”两种。如果算法告诉神经网络某判断“错误”,则这个错误会通过神经网络层级回传,网络就需要做其他的尝试了。每次尝试,都需要考虑其他属性;并给每层检查的属性加权重。直到最终有了正确的权重,每次都能取得正确答案。

那么这样一来就有了数据结构和所有的权重,是通过“学习”的过程获得的。整个过程的最大特点,就是算力需求非常大。

而将小批量、真实世界的数据,交给神经网络,并得到非常快速的回答——这就是推理的过程。在上例中,就是给一张全新的照片,让已经训练过的神经网络来判断这张图中是否有猫。但通常,推理部分在应付巨型的神经网络时,在应用中要确保速度和延迟,就需要有一些方案来对其做“修剪”,比如说一部分神经网络不激活;或者将神经网络多层级融合成单独的计算步骤。

推理过程,通常以更为简单、优化的运行时性能,来获得相近的预测精度。手机上的NPU,以及许多带ADAS系统的汽车所携的AI芯片,如果按照这样的划分来看,担纲的角色就是做本地推理。推理也是进行高度并行计算,但算力、精度要求通常会比训练低很多。

说推理,可能太狭隘了

Nigel Toon多年前曾经专门撰文提过,训练和推理的问题。Graphcore的IPU同时支持训练和推理,不过“如果你根据训练和推理来看IPU,那么你可能对机器学习硬件有些误解。”“对于IPU是针对训练还是推理的问题,我的回答可能会让很多人惊讶。”

Graphcore官方比较喜欢提“机器智能”这个词,称其IPU产品为机器智能硬件,以及“我们设计IPU,帮助变革者们开发新一代机器智能系统”。此前我没能很好地理解这个词,基本将其与传统机器学习方案划等号。或许针对这个词,一个优解就在Graphcore对于训练和推理的理解上。

Toon当时曾提到:“如今的机器学习系统,相对而言仍然太过简单。”常规的方案如卷积神经网络,前文所述比如训练一个分类系统,那么系统就能相对精准地识别图片、文字等对象了。整个过程需要大量标记数据,而且更为重要的是,由于训练和推理的分开,系统并不会从新的经验中有所学习。

而Graphcore理想中的“机器智能”硬件,是能够学习,并且使用已习得的知识来构建系统的。这样“机器智能系统才有可能提升,并且提供越来越好的结果。”Toon表示,“这些系统不应当只是训练,而应当是即便在部署之后,都仍然能够快速进化,成为学习系统。”

“推理,是比较狭隘的一种表达方式;推理实际上可以快速发展成复杂得多的机器学习系统。”“比如说,在自动驾驶领域,我们期望汽车能够持续学习,我们在路上遭遇的各种新状况。如果有辆自动驾驶汽车,发现有个球滚到了马路上,后面还跟着个孩子,我们期望自动驾驶系统能够学习到,在马路上出现一个皮球,是极有可能意味着后面跟着个孩子的。”

“而这个新知识不应当只是放在一辆车上,我们期望能够分享这个知识,比如说可能当天晚上就连接到云端的学习系统,知识系统就获得了更新。如此一来,第二天所有的汽车都能更新模型,获得最新的理解。理想情况下,我们期望其他的汽车,也能在看到一辆玩具拖拉机突然出现在马路上的时候,也能够意识到后面可能跟着一个孩子——跟它看到一个球的时候,做出的反应一样。”

这番描述实际上就相当清晰地表明了,为什么Toon认为“推理”在机器智能应用上,是个比较片面、狭隘的词汇,因为在他看来部署机器智能才是正确的方向。

机器智能的理想硬件形态

那么如果不谈推理,而用像上面这种概念的机器智能系统,那么实际的硬件部署是什么样的呢?Toon此前同样有给出自己的答案。在理想情况下,机器智能计算应当是在云端进行的,而边缘位置则进行“智能处理”,可以是嵌入到端侧产品的,也可以是边缘服务器上的——针对某些特定的任务,做本地的支持。

云需要支持许多不同的用户和不同的智能任务——并且在云端高度并行运作。在更为具体的设备部署上,算力需要具备相当的弹性——相信这应该也是现如今二代IPU,具备相当程度弹性扩展能力的重要原因。有兴趣的可以参见电子工程专辑官网的文章《二代IPU:怎样做一颗秒杀超算的芯片?》

而在边缘和端侧,为了确保实时响应,系统仍然要求“智能处理”的硬件部署。比如自动驾驶汽车,“L5自动驾驶需要大量的本地智能处理。通过移动互联网连接到云是不实际的。系统需要作出实时响应,处理一些突发状况,比如在发生危险时快速决策。那么车内本身就需要相当的智能处理算力。

但如前所述,作为机器智能系统的组成部分,本地仍然参与学习的过程,并且也能从云获取更多的知识。

“创新,还在以相当快的步伐继续,我们很快也会有全新的硬件平台,让机器学习领域的革新者们推进边界。现如今训练,并在此后推理的方式,会让位于机器智能系统。机器智能系统在部署之后,能够学习并持续进化。机器智能将戏剧性地改变计算。”Toon写道。

实际上,我们现如今看到越来越多的AI系统,本身就在朝着这个方向发展,即便可能在称呼上不叫“机器智能”或者延续了训练与推理的说法传统。不过当现在回顾开头那几段文字,是否感觉已经十分明朗?尤其是“系统将能够从经验中学习”,以及同时支持训练和推理。



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Qualcomm 世代交替 天作之合 平起平坐 Comm

沙发
edmcheng 发表于 2020-6-11 08:49:07 |只看作者 |坛友微信交流群
Thanks

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加JingGuanBbs
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-20 11:58