新时代的来到
我们正处于机器学习和人工智能的黄金时代。持续的算法改进、大数据集的应用以及快速并行计算技术的发展,使那些过去只能出现在科幻小说中的应用取得了重大突破。在过去五年里,语音助理功能已经十分普遍,图形识别系统已经达到人类水平,汽车自动驾驶技术正在被快速地广泛使用。基于上述成功案例,我们有理由相信机器学习会给人类带来经济上和社会上的重大转变。商界,政界和科学界都争相去了解机器学习会怎样帮助他们解决问题。
费用昂贵

尽管全新的机器学习应用令人赞叹不已,但建造费用依然昂贵。每个主流的机器学习产品,无论是苹果的Siri,亚马逊的Alexa还是特斯拉的自动驾驶系统,都需要由行业专家、数据科学家,数据工程师和大量开发运维人员这样庞大而又昂贵的队伍来实现。即使在这些成功的组织中,机器学习仍然是一种稀有而昂贵的商品。
训练数据集获取难
另外,很多应用领域需要花相当大的精力去获得训练数据。举个例子,尽管一个机器学习算法在狗的图像识别(感谢网络上百万带标注的照片)方面达到与人类相当的水平,但如果没有各类专家花上无数时间去创作新的训练数据集,则这个算法在识别癌症时就不能达到同样的识别精度。最后,一旦一个机器学习的产品被成功制造出来,人们需要付出更多的努力去进行部署、运营和大规模监控,尤其是如果有关键业务流程依赖这个产品时候。总而言之,机器学习技术正处于和早期数字计算机相似的阶段,需要技术大军穿着白色实验服去维持极少量机器的运转。机器学习技术无疑具有广阔的前景,但对大部分应用领域来说建立机器学习支撑的系统依然太过昂贵。
斯坦福大学的DAWN

为实现这个无可限量的前景,斯坦福大学的研究小组开始了一个新的五年研究计划,为更可用的机器学习设计系统基础设施和工具,该计划称之为DAWN(下一步的数据分析,Data Analytics for What’s Next)。研究小组的目标不是去改善机器学习算法,因为对大多数的重要应用来说,算法已经“足够好”了。研究小组希望让机器学习变得更可用,让没有机器学习专家组成的小团体也可以用机器学习解决他们的问题,达到高质量的成果,并部署在关键应用的产品系统中。相比于当前需要庞大和昂贵的数据科学家和工程师队伍才能成功的机器学习,研究小组将会把类似的成功带给各领域的专业人士——举例来说,医院可以优化其医疗流程,科学家可以分析仪器中百万兆的数据,或者企业可以应用机器学习解决其领域的专业问题。机器学习可用性的重大进步对于发挥机器学习潜能至关重要。于是乎,我们提出疑问:
我们该如何让任何领域的专业人士去建造他们自己的产品级数据产品?在不需要一支由机器学习、数据库和分布式系统的博士队伍同时他们并没有对最新硬件有任何了解的前提下。
DAWN变革的范例

起初,让机器学习更可用的目标看起来似乎野心太大——怎么样让一两个行业专家去做出在现在需要几十上百人的队伍才能完成的工作?通过研究发现,这样的变革在让计算技术更加“民主化”(普遍)的时候就曾实现过。举个例子,尽管文本搜索是个复杂的领域,需要用到复杂的算法和数据结构来实现,但今天,搜索无处不在。非专业用户每天都依赖于搜索引擎,而任何开发人员都可以通过链接开源搜索程序库如Lucene或者Solr把搜索功能添加到其应用程序中。这些库提供了足够好的开箱即用的结果以及简单的调整选项,可供非专家使用。同样,在七十年代,关系数据库彻底改变了数据管理。在现代数据库之前,使用者都利用低级代码构建计算机应用程序,该代码必须直接操纵磁盘数据结构,同时还要完成复杂的处理算法。数据库将这种复杂性封装在任何开发人员可以使用的简单接口之后,大多数用户甚至可以在不了解系统内部的情况下进行调整。 因此,使用者需要花费更少的精力来构建数据管理应用程序,并且许多使用者都运行着数千种这样的应用程序。
我们的研究

以史为鉴,据我们研究:工业机器学习应用中的大部分努力不用于设计新的学习算法或模型,而是花费在三个其他领域:数据准备,功能选择和产品化。数据准备意味着获取、产生和清理足够的训练数据以训练机器学习算法。没有合格的数据,机器学习算法将会完全失败。功能选择是指识别数据特性和感兴趣的行为:数据的哪些方面是最重要的?对于给定的数据点,领域专家将会明确地或含蓄地说些什么?产品化是指部署、监控和调试一个强大的产品:一个组织如何检查部署的机器学习算法是否正常运行,调试出现的问题,让系统对数据变化的反应更有效。在构建诸如Siri之类的机器学习产品的大型团队中,大多数人都致力于数据准备、功能选择、产品化和分布式系统基础架构的大规模推动,而不是培训机器学习算法。然而,到目前为止,这些机器学习产品流水线的这些关键过程受到的关注远少于模型训练和新模型的调整——两者皆来自研究团体和开源软件团体。而且基于我们此前在这方面的工作,我们看到有很大机会来大幅减少花在这些任务上的精力。