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

2018 年 9 月 17 日 果壳网

友情提示:文章末尾彩蛋哦~


⬆️我们先来看段视频⬆️


0x00 引言


想象你是花木兰。你现在要替父从军。你东市买骏马,西市买鞍鞯,南市买辔头,北市买长鞭。然而,还没等到你买完,deadline已经到了,你的父亲已经被官兵拖走了。


上面这一幕这便是目前众多AI开发者所面临的困境:与AI展现的美好前景相比,开发、部署、训练一个AI实在太麻烦了。


0x01 AI开发乱局


现在,想象你是替父编程的花木兰,需要转投AI开发。你会发现,你所面临的是一个令人头晕目眩的,不亚于电脑小白走进电脑城的,一副无比庞大而又混乱的局面。


#1

框架选择


开发AI的第一步,是选择合适的开发框架。所谓框架(Framework),是指整个或部分系统的可重用设计。好比别人搭好了舞台,而我们只用关注节目本身。有无框架,做起事情来完全是两个概念。

 

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

 

对于AI开发而言,现在也有了一系列开发框架可供选择,它们来自学者、巨头厂商和开源社区。比方说最著名的几种:Google的TensorFlow、微软的CNTK、加州大学伯克利分校研发的Caffe,Facebook的PyTorch和Caffe2、Skymind公司维护的Deeplearning4j等等。

 

有成熟的框架是一件造福大众的好事儿,但问题来了:众多框架纷繁复杂,你该如何选择?


这些框架支持的语言不同,它们的速度也不同,可拓展性和易用性也不同。目前,关于各种框架的对比在维基百科上居然有了专属的页面,与之相关的文章更是可以搜出一大筐。如此琳琅满目的轮子,你选哪一家?


几大主流AI开源框架对比(数据来自维基百科)


#2

环境部署


经过了艰难困苦的框架选择,现在我们需要选择合适的部署环境。你的AI是运行在CPU上还是GPU上?甚至,对于某些工业应用而言,CPU和GPU也未必能够满足需求。要知道,Google可是为“阿尔法狗”专门研发了自己的TPU(张量处理器)芯片。此外,对于个体开发者而言,还要靠考虑一下价格问题,毕竟由于数字货币挖矿产业的带动,显卡可是涨了不少。



同时,你还要考虑你的AI是部署在本地还是部署在远程服务器上,“单机版”还是“联机版”;是在移动端还是PC端,PC端也分windows和Linux,移动端包括iOS,Android,树莓派(Raspberry Pi)等等。这种种选择,可以说又会劝退一个选择困难症患者了。


#3

训练场地


选好了合适的开发框架,完成了环境部署,还剩下最重要的一环就是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了。



0x02 解决方法


目前,无论是对于个人还是企业,想进入AI开发领域所要付出的学习成本都极其高昂。更令人沮丧的是,这种成本很大一部分是资源缺乏整合、相关标准缺失所带来的后果。



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

 

这样一个一站式平台,将会极大地提升AI开发效率。用户无需关注底层架构,只需关注应用场景,专注于解决核心问题。同时,它也会使AI开发更加普及。如同微信公众号降低了写作的门槛,这样一个平台也将降低AI开发的门槛,使个体的创造力能够得到充分的展现。通过工具解放并且放大个人的生产力,让AI在未来成一种基本生产力,这或许是我们这个时代最伟大的事情。最后,即使对于非开发者来说,也是一个好消息。因为AI的应用将会更加丰富。这方面可以类比Steam,虽然每年都有无数的玩家高呼“G胖还钱”,但不可否认的是,Steam的出现促进了游戏行业的整体繁荣,游戏开发者专注做好游戏(AI)即可,打杂的事交给平台去做;而用户也可以享受更为舒适的游戏体验。可以说,这样一个平台,对于从开发到应用的整条产业链,都有巨大的价值。

 

这样的设想不是空谈,已经有巨头意识到这一点,比如Amazon就基于自家的AWS推出了类似的服务。但目前市面上的产品,离那个理想的平台都还相去甚远。并且对于国内的开发者,特别是企业而言,选择国外巨头的产品也或多或少存在一些额外的成本和隐患。

 

同时,国内巨头也开始发力,试图改变行业目前的混乱现状。华为将于10月份在上海召开华为全联接大会(Huawei Connect)。在这次的大会上,华为将首次发布其AI战略和全栈全场景的解决方案,促进AI从开发到应用整个产业链的整合。在华为云的加持之下, AI技术门槛不断降低,让企业和机构在AI应用中都可以用的起(成本低)、用的好(上手容易,一站式解决)、用的放心(数据安全,使用稳定),从而大幅提升效率,实现覆盖各行业的“普惠AI”。


0x03 结语


耶和华看见了世人所编的程序,说:“看哪,他们都是一样的人,说着同一种语言,如今他们既然能做起这事,以后他们想要做的事就没有不成功的了。”

于是耶和华打乱了天下人的编程,于是有的人用python,有的人用Java,有的人用C++。

因为耶和华在那里打乱了天下人的言语,使众人分散到了世界各地,所以那座城名叫巴别。巴别来自希伯来语balal,意思是“混乱”。



目前的AI开发,无疑则是另一座巴别城。

然而,回想人类历史上那些高光时刻,无一不是从“消除混乱”开始的。

在无数的混乱中,自会有秩序诞生。

这也是任何一个领域继续向前发展的刚性需求。

书同文、车同轨、手机充电器同接口,这些都是人类历史上极其重要的“通天塔”工程。

现在,到AI了。


彩蛋

请在评论区留言回复:

你认为普惠AI何时来临?

点赞数前五名的朋友将会得到由华为提供的全联接门票一张和精美礼品一份。(统计截止期为9月21日下午六点)


参考资料

https://en.wikipedia.org/wiki/Comparison_of_deep_learning_software

https://dzone.com/articles/progressive-tools10-best-frameworks-and-libraries

https://blog.openai.com/ai-and-compute/

https://buzzrobot.com/deep-learning-frameworks-a-review-before-finishing-2016-5b3ab4010b06

https://opensource.com/article/18/5/top-8-open-source-ai-technologies-machine-learning

登录查看更多
0

相关内容

人工智能杂志AI(Artificial Intelligence)是目前公认的发表该领域最新研究成果的主要国际论坛。该期刊欢迎有关AI广泛方面的论文,这些论文构成了整个领域的进步,也欢迎介绍人工智能应用的论文,但重点应该放在新的和新颖的人工智能方法如何提高应用领域的性能,而不是介绍传统人工智能方法的另一个应用。关于应用的论文应该描述一个原则性的解决方案,强调其新颖性,并对正在开发的人工智能技术进行深入的评估。 官网地址:http://dblp.uni-trier.de/db/journals/ai/
Python数据分析:过去、现在和未来,52页ppt
专知会员服务
99+阅读 · 2020年3月9日
《人工智能2020:落地挑战与应对 》56页pdf
专知会员服务
195+阅读 · 2020年3月8日
如何快速入门TensorFlow ?丨极客时间
InfoQ
4+阅读 · 2019年1月8日
五位专家跟你讲讲为啥Python更适合做AI/机器学习
全球人工智能
3+阅读 · 2018年3月18日
李开复为何说年底人工智能泡沫要破?
数据猿
4+阅读 · 2018年2月5日
人工智能的阴暗面
计算机与网络安全
6+阅读 · 2018年1月8日
李开复.AI 开课啦! 快来围观!
创新工场
5+阅读 · 2017年9月15日
人工智能为什么看起来像人工智障?
大数据技术
6+阅读 · 2017年9月15日
Vue.js 很好,但是比 Angular 或 React 更好吗?
程序猿
3+阅读 · 2017年8月27日
TResNet: High Performance GPU-Dedicated Architecture
Arxiv
8+阅读 · 2020年3月30日
Arxiv
6+阅读 · 2020年2月15日
Arxiv
9+阅读 · 2020年2月15日
Star-Transformer
Arxiv
5+阅读 · 2019年2月28日
Arxiv
5+阅读 · 2018年5月16日
Arxiv
10+阅读 · 2018年2月9日
Arxiv
6+阅读 · 2018年2月6日
VIP会员
相关资讯
如何快速入门TensorFlow ?丨极客时间
InfoQ
4+阅读 · 2019年1月8日
五位专家跟你讲讲为啥Python更适合做AI/机器学习
全球人工智能
3+阅读 · 2018年3月18日
李开复为何说年底人工智能泡沫要破?
数据猿
4+阅读 · 2018年2月5日
人工智能的阴暗面
计算机与网络安全
6+阅读 · 2018年1月8日
李开复.AI 开课啦! 快来围观!
创新工场
5+阅读 · 2017年9月15日
人工智能为什么看起来像人工智障?
大数据技术
6+阅读 · 2017年9月15日
Vue.js 很好,但是比 Angular 或 React 更好吗?
程序猿
3+阅读 · 2017年8月27日
相关论文
TResNet: High Performance GPU-Dedicated Architecture
Arxiv
8+阅读 · 2020年3月30日
Arxiv
6+阅读 · 2020年2月15日
Arxiv
9+阅读 · 2020年2月15日
Star-Transformer
Arxiv
5+阅读 · 2019年2月28日
Arxiv
5+阅读 · 2018年5月16日
Arxiv
10+阅读 · 2018年2月9日
Arxiv
6+阅读 · 2018年2月6日
Top
微信扫码咨询专知VIP会员