人类“高光时刻”,无不从“消除混乱”开始,现在到AI了

作者: Bearkiii

来源: 果壳

发布日期: 2018-09-17

本文探讨了AI开发过程中面临的混乱局面,包括框架选择、环境部署和训练场地的复杂性,并提出了通过一站式平台来降低AI开发门槛的设想,同时介绍了华为在推动AI技术普及方面的努力。

人类“高光时刻”,无不从“消除混乱”开始,现在到AI了。想象你是花木兰,你现在要替父从军。你东市买骏马,西市买鞍鞯,南市买辔头,北市买长鞭。然而,还没等到你买完,deadline已经到了,你的父亲已经被官兵拖走了。上面这一幕这便是目前众多AI开发者所面临的困境:与AI展现的美好前景相比,开发、部署、训练一个AI实在太麻烦了。

现在,想象你是替父编程的花木兰,需要转投AI开发。你会发现,你所面临的是一个令人头晕目眩的,不亚于电脑小白走进电脑城的,一副无比庞大而又混乱的局面。开发AI的第一步,是选择合适的开发框架。所谓框架(Framework),是指整个或部分系统的可重用设计。好比别人搭好了舞台,而我们只用关注节目本身。有无框架,做起事情来完全是两个概念。

在编程领域,有一句广为流传的名言:“不要重复发明轮子(Reinventing the wheel)”。这句话的意思是,如果某个领域已经有成熟的解决方案了,那么除非特殊情况(知识产权、KPI、学习研究等等),我们不妨在别人已经搭好的框架上创作内容。众所周知,编程领域是一个节奏极快,竞争极其激烈的领域。当你在重新发明轮子的时候,别人可能已经用现有的轮子造出跑车了。

对于AI开发而言,现在也有了一系列开发框架可供选择,它们来自学者、巨头厂商和开源社区。比方说最著名的几种:Google的TensorFlow、微软的CNTK、加州大学伯克利分校研发的Caffe,Facebook的PyTorch和Caffe2、Skymind公司维护的Deeplearning4j等等。有成熟的框架是一件造福大众的好事儿,但问题来了:众多框架纷繁复杂,你该如何选择?

这些框架支持的语言不同,它们的速度也不同,可拓展性和易用性也不同。目前,关于各种框架的对比在维基百科上居然有了专属的页面,与之相关的文章更是可以搜出一大筐。如此琳琅满目的轮子,你选哪一家?经过了艰难困苦的框架选择,现在我们需要选择合适的部署环境。你的AI是运行在CPU上还是GPU上?甚至,对于某些工业应用而言,CPU和GPU也未必能够满足需求。

要知道,Google可是为“阿尔法狗”专门研发了自己的TPU(张量处理器)芯片。此外,对于个体开发者而言,还要靠考虑一下价格问题,毕竟由于数字货币挖矿产业的带动,显卡可是涨了不少。

同时,你还要考虑你的AI是部署在本地还是部署在远程服务器上,“单机版”还是“联机版”;是在移动端还是PC端,PC端也分windows和Linux,移动端包括iOS,Android,树莓派(Raspberry Pi)等等。这种种选择,可以说又会劝退一个选择困难症患者了。选好了合适的开发框架,完成了环境部署,还剩下最重要的一环就是AI的训练。

无论是微软的小冰,还是苹果的Siri,程序员往往喜欢给AI起一个名字。这种明显的拟人化特征并不完全是一种商业需要,还由于AI的开发过程和训练一个人类的过程极其相似。你需要提供合适的场地(计算平台)、充足的食物(数据),在亿万次的试错、修正之后,才会有真正有价值的AI。

而这个过程中,最显著的特征便是:“计算密集型”。这种密集包括数据和算力两个层面。首先是数据。

AI需要庞大的数据作为支撑,特别是自然语言处理、图像识别等领域,一个拥有充足数据量的资料库是AI训练的基础。然而这样的数据库可能未必有现成的,即使有,也需要根据自己的需求对数据进行整理,俗称“数据清洗”。例如微软的小冰,其研发团队大概花了三个月左右时间来补充小冰的整个语料库——差不多几亿条。

早在十几年前,Google为了提升自己的验证码识别技术,就从全球各地截取了无数的街道路牌和门牌号码,用于建立自己的训练库。而DeepMind在训练初代“AlphaGo”的时候,也用了几千盘人类棋手的对局棋谱。数据好比AI的食物,在某种层面上,“You are what you eat”这句话对AI来说同样成立。

其次要考虑算力。算法决定了AI的上限,但算力决定了AI能不能达到上限。

AI对于算力的需求不仅巨大,而且增速极猛。OpenAI 今年5月发表的文章表明,自2012年以来,AI训练任务中使用的算力以指数形式增长,其目前速度为每3.5个月翻一番(相比之下,摩尔定律都还要18个月才翻一番)。并且自2012年以来,这一需求增长了超过300,000倍。对于AI开发者而言,数据和算力,则是两件不仅头痛(麻烦)、而且肉痛(昂贵)的事情。

综上所述,假设我们都是替父编程的花木兰,那么,在框架选择时,我们就会被劝退一批(所以什么是最好的语言?手动doge);到了环境部署,又会难倒一批(我曾经以为游戏开发是一件很爽的事情,直到我发现测试小姐姐要买多少台手机,你们可以了解一下);等到最后的训练场地,基本上对于我这种穷人来说,就只能打出GG了。

目前,无论是对于个人还是企业,想进入AI开发领域所要付出的学习成本都极其高昂。

更令人沮丧的是,这种成本很大一部分是资源缺乏整合、相关标准缺失所带来的后果。在日益讲究效率的今天,“东市买骏马,西市买鞍鞯,南市买辔头,北市买长鞭”这样的购物体验是极其糟糕的。如果在AI领域能够出现类似“淘宝”、“亚马逊”这样的一站式综合购物平台,将会极大的降低AI准入的门槛,让更多人投身到AI浪潮中来。在此可以套用杜甫的那句诗:安得完美平台一间,大辟天下AI程序猿。

这样一个一站式平台,将会极大地提升AI开发效率。用户无需关注底层架构,只需关注应用场景,专注于解决核心问题。同时,它也会使AI开发更加普及。如同微信公众号降低了写作的门槛,这样一个平台也将降低AI开发的门槛,使个体的创造力能够得到充分的展现。通过工具解放并且放大个人的生产力,让AI在未来成一种基本生产力,这或许是我们这个时代最伟大的事情。最后,即使对于非开发者来说,也是一个好消息。

因为AI的应用将会更加丰富。这方面可以类比Steam,虽然每年都有无数的玩家高呼“G胖还钱”,但不可否认的是,Steam的出现促进了游戏行业的整体繁荣,游戏开发者专注做好游戏(AI)即可,打杂的事交给平台去做;而用户也可以享受更为舒适的游戏体验。可以说,这样一个平台,对于从开发到应用的整条产业链,都有巨大的价值。

这样的设想不是空谈,已经有巨头意识到这一点,比如Amazon就基于自家的AWS推出了类似的服务。但目前市面上的产品,离那个理想的平台都还相去甚远。并且对于国内的开发者,特别是企业而言,选择国外巨头的产品也或多或少存在一些额外的成本和隐患。同时,国内巨头也开始发力,试图改变行业目前的混乱现状。华为将于10月份在上海召开华为全联接大会(Huawei Connect)。

在这次的大会上,华为将首次发布其AI战略和全栈全场景的解决方案,促进AI从开发到应用整个产业链的整合。在华为云的加持之下, AI技术门槛不断降低,让企业和机构在AI应用中都可以用的起(成本低)、用的好(上手容易,一站式解决)、用的放心(数据安全,使用稳定),从而大幅提升效率,实现覆盖各行业的“普惠AI”。

耶和华看见了世人所编的程序,说:“看哪,他们都是一样的人,说着同一种语言,如今他们既然能做起这事,以后他们想要做的事就没有不成功的了。”于是耶和华打乱了天下人的编程,于是有的人用python,有的人用Java,有的人用C++。因为耶和华在那里打乱了天下人的言语,使众人分散到了世界各地,所以那座城名叫巴别。巴别来自希伯来语balal,意思是“混乱”。目前的AI开发,无疑则是另一座巴别城。

然而,回想人类历史上那些高光时刻,无一不是从“消除混乱”开始的。在无数的混乱中,自会有秩序诞生。这也是任何一个领域继续向前发展的刚性需求。书同文、车同轨、手机充电器同接口,这些都是人类历史上极其重要的“通天塔”工程。现在,到AI了。

UUID: 1fab035a-d941-4101-964b-591392a4069b

原始文件名: /home/andie/dev/tudou/annot/AI语料库-20240917-V2/AI语料库/果壳公众号-pdf2txt/2018/2018-09-17_人类“高光时刻”,无不从“消除混乱”开始,现在到AI了.txt

是否为广告: 否

处理费用: 0.0068 元