从云到端路迢迢 AI应用开发仍有三大挑战

2018-06-07 14:00:34 来源: 老杳吧
人工智能(AI)是近几年科技产业最重要的技术发展趋势,不只芯片业者纷纷布局,许多应用开发商也正努力将AI导入自己的产品。不过,对应用开发团队而言,AI目前还是一个进入门槛很高的技术,而且相关开发环境还有很大的改善空间。
如何在自家的产品中加入人工智能元素,是许多应用开发商正在思考的问题。除了智能音箱、家用保全摄影机等消费性产品外,机器手臂、机器视觉、机台状态监控、甚至半导体设备等工业领域的应用开发商,也在尝试将人工智能导入自家产品,以创造更多附加价值。
然而,人工智能应用的开发,对许多开发者来说,仍存在极高的门槛。人工智能的应用开发可分成“云”与“端”两大部分。云指的是云端数据中心或超级电脑,具有强大的运算能力,负责执行模型训练工作;端则是指用训练好的模型进行推论的各种边缘节点设备。对应用开发者而言,模型训练是人工智能应用开发的起点,也是许多问题的根源。
传统硬件训练效率低 HPC仍然高不可攀
AI模型的训练,对运算设备来说是非常吃重的任务。为了得到更精准的识别结果,AI演算法的复杂度、数据精度持续成长,模型训练所需的运算效能需求也跟着暴增,对传统以CPU为基础的伺服器、超级电脑带来很大的挑战。
NVIDIA技术行销经理苏家兴(图1)指出,随着摩尔定律(Moore's Law)推进速度趋缓,CPU的效能成长也越来越慢。单靠CPU所提供的效能,已跟不上深度学习应用开发的需求。而这也是GPU运算之所以在最近几年广获各方关注的原因--以GPU为基础的超级电脑,能够提供更高的运算效能,给从事尖端科学研究、人工智能模型训练等需要极高运算能力的研发团队使用。
图1 NVIDIA技术行销经理苏家兴指出,以GPU为基础的超级电脑具备更高运算效能,可满足AI模型训练所需。
以NVIDIA为例,该公司除了研发GPU芯片外,为了提供完整的解决方案给对运算效能有极高需求用户,还推出以GPU为核心的DGX与DGX-2超级电脑,并采用高度客制化的系统架构跟内部互联技术,以打破传统超级电脑的效能瓶颈,而且整体拥有成本远比传统超级电脑来得低廉。
以一个由600台双核心CPU伺服器所构成的丛集(Cluster)为例,这么庞大的系统,至少需要数十个机柜才放得下,耗电量则高达360kW;采用Tesla V100 四GPU配置的伺服器,只需要30台,就能提供同等运算效能,硬件成本约为前者的五分之一,功耗与占用的空间则只有前者的七分之一。如果客户的主要需求是进行深度学习研发,则可考虑用一台DGX-2来取代整个丛集,硬件成本只需八分之一,功耗则降低到十八分之一,占用空间更只有传统丛集的六十分之一。
不过,即便DGX跟DGX-2已经让超级电脑不再是大型企业甚至国家级计算中心才能买得起的设备,对许多台湾的企业而言,DGX系列的价格还是太昂贵,负担不起。有台系业者透露,DGX目前的官方牌价为6.9万美元,相当于新台币200万元上下;但DGX-2的报价则至少是新台币1,000万元起跳。对许多厂商来说,这是一笔很难说服决策高层买单的采购需求。因此,该公司的研发团队还是用插了多张显示卡的伺服器来训练AI模型。虽然训练速度非常慢,但至少研发成本不会超过预算。
品质数据取得不易
除了高效能硬件的价格偏高,不少台厂只能土法炼钢外,训练用的数据集取得不易,也是台湾业者发展AI应用上遇到的一大难题。在进行模型训练时,数据集的品质会直接影响模型训练的结果,但数据集的收集跟建置,本身就是一件苦差事,如果要建置高品质、涵盖完整的数据集,更需投入大量人力物力。以产品检测用的机器视觉系统为例,如果开发者手上的数据集不够完整,则训练出来的模型在遇到数据集中没有的瑕疵时,很可能就会误判为良品。然而,产品瑕疵基本上是常态分布,大多数瑕疵都是少数几种特定类型的瑕疵,某些罕见瑕疵则可能几千、甚至几万笔数据才出现一次。
这种罕见瑕疵,就是数据集建置最棘手的状况。开发者必须花很长时间才有机会收集到这种数据,进而避免模型在推理时发生误判。事实上,各种人工智能应用都有类似问题,当极少数的罕见状况发生时,人工智能的判断很容易出现失误。
不过,这种问题倒也不是无法可解。耐能软件设计经理沈铭峰就指出,在模型训练的过程中,适度地在数据集添加人工杂讯,有助于提高模型判断的准确率。该公司就是采用这种技术来训练模型。
无独有偶,正在发展云端AI模型训练平台的资策会转型所,也在平台开发过程中发现,对影像进行旋转、扭曲,可以让模型在训练时,即便只用较小的数据集,也可以得到类似使用完整数据的训练结果。此外,目前业界正在发展非监督式学习、转移式学习等技术,以降低对数据集的依赖。
客制化模型往往行不通
值得一提的是,许多有AI开发经验的工程师都提到,虽然目前已经有很多开放原始码的神经网络模型,但为了满足某些特殊应用需求,这些现成的模型还是需要经过一定程度的客制化修改。
然而,在经过客制化修改后,这些模型无法执行的情况经常发生。沈铭峰坦言,这个是许多客户在开发AI应用时常遇到的问题,他本人就遇过几个案例。有时问题是出在工具本身,有时候则是客户对模型所做的修改幅度太大所导致。
针对模型进行客制化修改,能协助应用开发商实现产品差异化,或把自己的独门Know-how放进产品中,因此客制化模型对许多应用开发商而言非常关键,且相关模型跟数据集是绝对不能外流的商业机密,即便想委托给合作伙伴协助除错,都是不太可能发生的事。
因此,一个成熟的生态系以及产业标准,对于AI应用发展至为关键,而这也是安谋(Arm)推动Project Trillium的目标。安谋资深市场行销总监Ian Smythe表示,该公司在2018年2月发表了Project Trillium,其中包含能在Arm处理器运行的软件函式库、专为运行机器学习(ML)作业附载的机器学习处理器,以及让其他AI处理器得以连接Arm处理器系统的功能。
在Project Trillium中,安谋定义了自己的神经网络(NN) SDK(图2),其上承接了各种业界主流的神经网络框架,例如TensorFlow、Caffe,其下层则是运算函式库、然后是硬件底层。值得一提的是,该SDK不只可以支援Cortex-A这类高效能处理器,针对以Cortex-M系列为核心的微控制器(MCU),也有对应的CMSIS-NN。
图2 Arm NN SDK架构示意图
有业界人士认为,Project Trillium的推出,显示Arm有意利用自己在IC设计领域的主导地位,出面统合百家争鸣的硬件、韧体底层。这对于提高模型跟硬件之间的相容性,也会有所帮助。如果Arm NN能成为广获业界接受的主流标准,未来业界或学界在发展新的模型时,才有可能一并设想到该模型未来可能Port在哪种硬件上,从而在设计之初就设法减少相容性问题。
AI应用开发带来典范转移式冲击
AI为科技业界带来典范转移,但相对的也颠覆了大家习以为常的环境跟做事习惯。除了IC设计公司外,谁能想到有一天自家公司为了开发产品,得用到超级电脑等级的运算效能。至于模型的相容性问题,对于习惯做PC、行动设备的研发人员来说,想必也是以往很难想像的事情,因为x86跟Android基本上已经把应用框死了。然而,在AI当道的今天,似乎已经没有什么是理所当然的了。
责任编辑:星野
半导体行业观察
摩尔芯闻

热门评论