听说你也是做AI的,我把我走过的坑告诉你

2017年3月24日 | By News | Filed in: News.

http://ift.tt/2mTrEOz

编者按:本文来自微信公众号“金沙江创投”(ID:GSR-Ventures)推荐人:林仁俊(Richard Lim),金沙江创投管理合伙人;分享阅读:So your company wants to do AI?/ Eder Santana;分享自:medium.com。

观点摘要:人工智能开发者艾德•桑塔纳(Eder Santana)近日撰文,用自己的亲身经历为有意开发人工智能的团队和创业公司提出了几条建议。

推荐理由:昨天,我们分享了来自投资人的观点,今天来听听开发者是怎么说的。在这一领域,哪些是可以避免的坑?哪些是可以汲取的经验?也欢迎与我们交流你在AI领域的创业经。

机器学习热到不行,甚至有很多人认为它就是人工智能的全部。深度学习更是如此。你的创业公司或许刚刚融资成功,你的团队或许刚批了一笔预算。那么,恭喜你!你现在也要来做深度学习了。

到了现在这时候,你应该已经从Keras、Imagenet等技术中找到了乐趣,这确实很令人振奋!但要把技术变成一盘生意,让你的创业公司真正起步,你还需要考虑一些实际的问题。而我,应该可以算是半个过来人了。我会结合自己在comma.ai与乔治•霍兹(George Hotz)一起合作开发无人驾驶汽车的经历,来试图为你提供一些建议。

别因为加载数据让工程师干瞪眼

深度学习是一门看重数据的科学。你的团队或创业公司存在的意义就是为这些数据赋予意义。想想看,只有首先为文本赋予意义,才能开发真正有用的人工智能比特币聊天机器人。只有首先理解图片、视频等元素,才能在模仿Snapchat Stories时实现自动化多媒体拼贴。

不能轻视数据处理,一定要在该领域表现优异。例如,如果你只需要花15分钟来准备和加载数据集,那么每当你找到更好的模型决策,或者在Tensorflow代码中找到漏洞,都应该稍等片刻。

原则其实很简单。确定好数据库,然后一次性预处理所有内容,之后反复使用。Celery和Luigi这样的工具会是你的朋友。如果你在一个大团队里工作,所有的任务都要提交到一个群集里,那就考虑开发一套数据解决方案,向负责模型训练的员工分批提供数据。千万不要让团队成员非要等到整个数据集下载完毕后,才有可能发现他们的模型里面存在漏洞。

我踩过的坑:

comma.ai或许拥有当今第二或第三大的驾驶数据库。在comma.ai的每一天,为了训练驾驶模型,都要向一台拥有700多Gb内存的大机器里加载好几个小时的视频。每当需要更多训练数据时,乔治都会立刻增加100Gb内存。我加入进来的任务是为这个模型开发更好的版本,但我不想等待15分钟来加载数据。因此,我从开源项目里吸收了一些内容,开发了简单的ZMQ服务器。这样我们就不必因为数据而干等着了,我们可以开展更大规模的训练,还可以使用更便宜的机器。唯一能束缚模型训练的只有GPU和他的研究人员。

从你能形象化的东西开始

幸运的是,对深度学习而言,可以使用Tensorboard、最近推出的Visdom以及其他工具帮助我们对结果进行形象化。我相信,DataScience整体而言可以很好地服务于形象化驱动的开发流程。应该考虑在每个阶段都与你的问题相一致。你不必非要学习d3.js,也可以获得有用的形象化效果,除非你过分迷信javascript。

我踩过的坑:

我在离职谈话中向乔治征求意见,希望了解如何才能成为更有效率的工程师。(相信我,他是我见过的最有效率的人,我总会抓住每个机会向他学习。)他建议先开发一些东西,把我正在做的事情形象化。乔治本人之前就一直践行这条建议。另外,乔治所有的IPython Notebook都有一些滑动小工具,可以在开发原型时快速将各个参数对最终结果产生的影响进行形象化。

早点确定你的范例数据集

如果你对数据准备感到崩溃,最好先休息一下,其次才是使用有趣的视觉化内容。但如果你不想变成打印机上的猴子,只是盲目地在神经网络上随机增加更多层次,就必须确定如何衡量进步。应该探讨哪些指标与更好的交付效果关联性更强,以及你应该追踪哪些数据。这或许不仅局限于简单的“随机拿出10%的数据用于验证”。验证数据集最好能与最终的产品拥有相同的统计特征。同样的产品也可以用于追踪范例和失败案例,从而制作未来的验证集。因此,你的验证集或许可以不断进化,并像训练集一样调整。

我踩过的坑:

我发现,对于无人驾驶汽车范例和验证集而言,可以考虑那些你必须夺回控制权的时刻。但最好的验证集是让一名经验丰富的控制工程师在路上详细判断无人驾驶系统的质量。如果你在这个行业,最好从特斯拉挖人。

过早规模化是早期创业公司完蛋的主要原因

你可能会说:“别跟我说教,我看的创业专栏比你还多!”没错,但新常态在于,你应该把GPU和训练硬件当做与员工相同的因素来看待。一旦你聘用/购买了超出需求的东西,就需要花费很多精力为你的过剩资源寻找用途。管理群集会很困难,而大规模的深度学习HPC本身是一个科研话题。我的建议是确保你所有的GPU都能始终得到利用,然后再考虑新买一个。等到你的效率和盈利能力一样的时候,才可以像谷歌那样。

如果你的团队和公司已经很大,那就在招聘基础设施相关工作时认真对待。如果你招聘了10倍的研究人员,但却让他们无事可做,最好的情况是他们开发对自己足够好的基础设施,最差的情况则是他们直接退出。但这肯定不是你想要的。

我踩过的坑:

每当我离开办公室但却没有让所有的GPU忙碌起来时,尼尔(comma.ai的手机应用副总裁)就对我很失望,我甚至因此变得有点神经质,总是担心有GPU空闲下来。这如今已经成为一个普遍问题。

人工智能是一个既富有挑战,又趣味十足的领域。一定要在处理资源和形象化时深思熟虑,这样就不会有大问题。

我们是金沙江,助力人工智能领域的下一个独角兽!BP通道:businessplan@gsrventures.cn

IT.数码

via 36氪 http://36kr.com

March 23, 2017 at 10:40AM


发表评论

电子邮件地址不会被公开。 必填项已用*标注