logo

来自顶尖AI研究员的忠告:这四个坑千万别踩!

subtitle 雷锋网04-18 07:50 跟贴 3 条

  机器学习实在太受欢迎,以至于它都被当做了AI本身,热度更高的深度学习更是如此。令人高兴的是,你的创业团队已经获得了资金,或者你的团队预算刚刚获得了通过,现在你即将开始进入深度学习领域。

  之前,你已经从Keras, Imagenet等人工智能技术中感受到了快乐,这很令人兴奋!可是,当你真的要在商业上开始实践人工智能的时候,那么有几件事是你必须要考虑的。

  接下来,我会结合几个例子来阐述我的建议,这些例子都是我去年早些时候和George Hotz一起在comma.ai研究自动驾驶时发生的。

  救命,AI!我该往哪走?

  1、别让数据和工程师脱节

  深度学习是一项数据先行的科学。你的团队或者创业存在的全部意义就是为了让这些数据变得有意义。想想看,你只有将文字变得有意义,你才能研发你的人工智能比特币聊天机器人!你只有理解图像、视频等内容,你才能打造下一个Snapchat Stories式的自动化多媒体拼贴。

  你应该把数据处理当做你工作的一个核心。一定要在这方面做好它。例如,如果你觉得“只需要15分钟”来准备和加载数据集,那么每次当你发现了更好的模型架构或者在你的Tensorflow代码中发现了漏洞的时候,都必须要白白等待这15分钟的时间。

  规则很简单。版本化你的数据集,并且预处理一次,之后反复使用。一些类似Celery、Luigi这样的工具会是你的好帮手。

  如果你是在一个大型的团队工作,团队中的所有任务都需要提交到一个集群,这时应该考虑一个数据解决方案,向模型训练的员工批量提供数据。千万千万不要让团队中的成员在已经知道模型有漏洞的情况下,还必须等到整个数据集都加载完毕才能修改。

  小故事:comma.ai可能拥有世界上第二或第三大的驾驶数据集。在comma.ai的早期岁月,为了训练驾驶模型,需要加载时长数小时的视频到拥有700多Gb内存的大型机器上。每当George需要更多数据来训练的时候,他都会立刻增加100gb的内存。我加入的主要工作就是要为这个模型开发一个更好的版本,不过我并不想等15分钟来加载数据。相反,我从一个简单的ZMQ服务开源项目中获得了一些内容。从此,再也没有任何数据让我们干着急了,我们可以扩展我们的训练规模,并且使用更便宜的机器。现在对模型训练的限制,只剩下GPU和它的研发者了。

  2、从你能可视化的东西开始

  对深度学习而言,我们很幸运有Tensorboard、最近推出的Visdom、以及其他的一些工具来帮我们可视化结果。我相信数据科学一般来说是最适合可视化驱动开发的,因为可视化让你在研发的每一步都能正确处理你所遇到的问题。你没有必要非得学习d3.js来获得有用的可视化,除非你是JavaScript的狂热爱好者。

  小故事:在我的离职谈话中,我咨询George的意见,希望获得一些提升工程师效率的建议(相信我,他是我见过的人当中最有效率的,我会抓住每一个机会向他学习)。他的建议是先构建一些东西出来,让这些东西能够可视化我在做的事情。George本人曾经就是这么做的。此外,George 所有的IPython笔记本都有一个滑动小部件,可以在原型设计中迅速显示参数如何影响结果。

  3、尽早明确你的验证/疑难案例数据集

  我把充满乐趣的可视化内容放在第二位,是为了让你被“准备数据”吓到之后,能稍作休息。可是,如果你想避免成为一只打字机上的猴子,只会随机往神经网络上添加更多的层,你必须要学会如何衡量进度。

  问问自己哪些指标与优秀的可交付成果的相关性更好,以及你应该跟踪哪些数据。

  这或许超过了简单的“随机验证10%的剩余数据”。验证的数据库最好与产品拥有相同的统计属性。同样的产品也能被用于追踪疑难、边缘甚至失败的案例,以制作未来的验证集。因此,你的验证集或许会不断发展,而且应该像训练集一样进行版本化。

  小故事:我了解到,对于自动驾驶而言,那些在驾驶过程中你必须对车辆进行人为控制的时刻,就是疑难案例和验证集。但是,最好的验证测试是让一名经验丰富的控制工程师上路,以精确地判断自动驾驶系统的质量。如果你在这个行业之中,最好去特斯拉挖工程师过来(开个玩笑)。

  4、过早的扩张是早期创业公司倒闭的主要原因

  听到这个建议,你也许会说“别试着教我这些,我听过的创业故事肯定比你多!”诚然,但这里要告诉你的新事物是:你应该把GPU和硬件训练当成和员工同样的因素来考虑。一旦你雇佣/购买了超过你所需要的,你将花费很多的精力来安排多出来的资源。管理集群会很困难,而且深度学习的大规模HPC本身就是一个研究课题。

  我在这里的建议是:在你想买一个新的GPU之前,你应该保证你所有的GPU都被充分利用。你当然可以像Google一样大手大脚,前提是你的生产力和盈利能力能像Google一样。

  如果你的团队和公司已经足够大,要严肃认真地招聘那些在基础设施上工作的员工。如果你雇佣了10倍于硬件员工人数的研究人员,却让他们被迫等待,那么最好的情况是他们自己建立适合自己的基础设施,最坏的情况则是他们干脆直接退出。这肯定不是你想见到的状况。

  小故事:当我有一次离开办公室却没有让我所有的GPU运转的时候,Niel(comma的手机APP副总裁)给了我一个非常失望的神情,这甚至都让我有了“空闲GPU恐惧症”。在今天,这已经成为了一个非常普遍的问题。

  没错!在人工智能领域工作既富挑战性,又充满了乐趣。确保你对如何处理资源和可视化有一定的思考,那么你会没事的。

热门跟贴
大家都在看