图灵访谈之四十一:专访《大数据》作者Jeffery Ullman教授

英文版
完整无修订英文版
Jeffrey David Ullman是一位计算机科学家,现任斯坦福大学的教授。他编写的关于编译器的教科书(各种版本非常流行被称为“龙书”)、关于计算理论的书(被称为“灰姑娘书”),以及数据结构和数据库的相关书籍都被视为是业界的规范。1995年,他成为美国计算机协会(ACM)的院士,2000年被授予 Knuth奖。他还和John Hopcroft一起获得2010年IEEE颁发的冯诺依曼奖章。详细信息。

图灵社区:“大数据”现在在中国炒得很热,在各种技术会议、书、讨论中都有空前得热度。你认为“大规模数据挖掘”(massive dataset mining)在其中的角色是什么?

我认为“大规模数据挖掘”根本上和“大数据”是一个意思。但这并不意味着MMDS(《大数据》)这本书包含了关于大数据的一切。我和Anand Rajaraman博士对我们所挑选的算法可谓是精挑细选。具体说来,就是我们避开了现在被称作“机器学习”的部分。现在有一些非常强大的研究者,组成了他们称为“机器学习”的社区,虽然他们所研究的算法——包括聚合和梯度下降——在“机器学习”开始火热的很长时间以前,就已经很出名而且被很多人认真地研究过了。实际上,“机器学习”就是给一些特定算法加上的一个标签,而且,也存在其他一些算法,在有效分析数据方面,这些算法的重要性有过之而无不及。其中最为突出的例子就是“局部敏感哈希”(LSH),它并不被认为属于机器学习,也不是由“机器学习”研究者发明的。我在全世界各地演讲,倾听人们关于计算挑战的讨论,我认为很多人普遍缺失对于LSH技术的知识。所以我们决定在《大数据》这本书中给予LSH以足够的重视。

图灵社区:作为一名学者同时也是教育者,您是如何应对“大数据”热的?您为什么要持续更新《大数据》这本书,又为什么把它免费分享给大家?

“大数据”说的是一组真正意义上重要而且有挑战性的问题。它和很多现在流行的热门词有很大不同,那些概念流行了数年之后就会消失,什么也留不下,而我认为大数据算法的研究值得调动一切可以调动的力量。但是接下来好像是两个问题,一个是为什么要对这本书持续更新,另一个是它为什么是免费的。

首先,我为什么要持续更新。几年前,我们很幸运地邀请到Jure Leskovec加入到斯坦福大学,现在他已经撑起了数据挖掘这门课的很大部分。Jure在一定程度上和我与Anand的观点有所不同,他对机器学习算法更感兴趣,他的个人研究包括了社交网络及其相关的图问题。所以现在,Jure作为另一位作者加入到这本书中来,在书中另外开辟了一个章节,关于社交网络分析的算法。在不远的未来,我们打算加入大规模机器学习算法,以及大规模降维算法。另外,我在Google、斯坦福,以及其他地方从事的个人研究,让我加深了对于Map-Reduce算法的理解。所以我最近把这些知识融入到第二章中去了。

然后是,这本书为什么是免费的。有几个原因。其中最重要的原因就是,我和Anand都不需要通过出版这本书得到的那点版税。剑桥大学出版社愿意在有免费电子版的情况下出版此书,我们感到很高兴,他们以这种方式出版也不是第一次了。他们的编辑David Tranah告诉我,他们也希望能通过书来赚钱,但是几百年来,他们认识到,作为一家非盈利性的大学出版社,他们的首要任务是要传播知识。

于是这也就引发了第二个原因:盈利性的出版社变得越来越贪婪,他们在美国把书价抬得极高,可以说比那些书应有的价值高出很多。所以,没有人买书,或者买了看完了就要再卖掉,所以书的整体销量比七八十年代的时候还要少。所以,与其通过盈利性出版社赚取一点小钱,作者们越来越有理由选择让自己的书免费,让更多的人读到它。举例来说,《大数据》这本书每年会被下载25万次左右。这比我所有出版过的纸版书都要多十倍以上。对于Anand和我的工作来说,没有比这更令人欣慰的了。

其实对于这本书的免费,还有一个真实原因,那就是非法文件分享系统已经完全不尊重我们的知识产权了,所以买我们书的人其实都是诚实的人,他们不愿意和盗版同流合污。而这些人的钱,我们是不愿意拿的。

图灵社区:Map-Reduce框架更主要用于离线处理,如果在线处理有什么计算框架值得推荐?除了Map-Reduce计算框架外,还有什么大规模数据挖掘的框架值得关注?

我认为“在线处理”有两个意思。第一个是事务处理。数据挖掘总体来说不需要事务处理,所以“大数据”应用也不需要事务处理。第二个是特定查询,你键入你想到的任 何查询,然后在几秒钟后检查结果,如果不满意就重新键入查询。大数据应用需要较长的执行时间,所以不太适合特定查询。有一些新系统,在这方面超过了Map-Reduce,在真正的大数据面前只需要几秒钟就能给查询以反馈。你可以看一看Dremel 系统 http://www.wking-china.com/xpjylc/pubs/pub36632.html,这个系统据我理解,其实是模仿了一个开源系统,叫做Dream。

图灵社区:很多读者反映这本书中有很多实例应用,都是干货,Rajaraman博士对此贡献不少吧?也有读者反映这本书对于有实践经验的人来说更好理解,您对此有什么建议?

Anand对整本书都有很大贡献。他对特定的应用很感兴趣,因为他曾经在Kosmix有创业背景,而Kosmix和这些应用都有关系,其中包括广告和协同过滤等。我很同意的一点是,在这个学科以及任何计算机科学的学科里,好的教育都应该包括实践的内容。在我和Anand共同教授的课程中,我们要求学生自己组成小的团队,一起应用所学的知识完成一个项目。这件事并没有像我们所期望的那样顺利进展,因为学生们大部分时间都用在研读学习材料上,来不及应用。Jure加入以后,我们把课程分成了两个部分。在上学期,Jure教授课程,在下学期,我们选拔学生团队来完成项目,这些项目是他们应用学到的知识而设计的。我、Anand, 以及Jure,我们每个人都会带4支团队。

图灵社区:你有那么多出色的学生,有些人和你共同写书,有些人开创了Google。你最喜欢的学生是谁呢?在教他们的时候有什么趣事吗?

我可不能说我最喜欢哪个学生。我们都认为Sergey Brin是我的学生中最成功的一个。但是我真的没有教给他什么。Anand Rajaraman和 Venky Harinarayan以及Ashish Gupta(他们三个共同创立了Junglee,然后Anand和Venky又一起成立了Kosmix)也很成功。但是我帮到他们的也不多。有两个学生在确定我的研究方向上帮助了我。Matt Hecht让我开始了代码优化的研究,而Allan Van Gelder帮我进入了逻辑编程领域,这是数据库研究的一大分支,数据记录领域。但是我认为最好的学生,是那些如果我没有横加干预把他们送上一条崭新的道路,他们就永远都无法博士毕业的学生。很明显,我可不能说具体是誰。

图灵社区:你认为美国大学中存在一种黑客文化吗?这样的文化在学业上产生了什么影响?

对于黑客有几种解读。第一种,是善于攻入其他人电脑系统,窃取数据的人。从这种意义上说,很少有学生参与这样的活动。

另外一种意思是具有编程和科技知识的人。我们在斯坦福会经常会看见这样的人,但是也不是特别多,软件学院的最好的学生也有自己的兴趣。斯坦福甚至不允许学生们只关注一门学科!要在斯坦福取得学士学位,你的学分只能有三分之一是来自于本专业的。这在美国学校中是比较普遍的现象。

但是斯坦福的文化中确实有与众不同的成分,那就是大家都能开公司。甚至比应该鼓励的数量还要多,也有很多不成功的例子。但是令人惊奇的是很多学生毕业之后都不想去已经存在的公司上班,他们都想开创自己的公司。这里有几门课专门讲如何“创业”,这样的文化确实在斯坦福校园里薪火相传。

图灵社区:从一位教师的角度上看,你觉得你班上的中国学生怎么样?你对他们有什么建议吗?

你可能觉得这件事很有趣,那就是我教授的班级里通常有一半学生是中国人。他们有很多都是在美国出生的硕士学生,但是也有很多是从中国,以及其他亚洲地区来的。我的建议不只送给他们,也送给所有的学生。

第一,相信你自己,而不是长辈;放眼望去,有多少伟大的计算机公司(微软, Oracle, 苹果, Google, Yahoo!, 亚马逊, Facebook)是由年轻人创立的。第二,不要害怕失败。如果你失败的次数没有成功的多的话,说明你想搞定的问题根本就不值得解决。

图灵社区:我们计划出版中文版的《计算机科学的基础,C版》,我注意到您对这本书很是推崇,您觉得这本“老书”在今天的存在意义何在?

当这本“基础”由Freeman出版公司出版的时候,卖的并不好,最后绝版了。阿霍和我一直认为用这种方式来展示计算机科学理论是最好的:把数学和编程看作是同一个硬币的两面。比方说,我们会解释,其实归纳证明和递归程序是源于同一个概念。但是这本书的影响力在我们把它免费开放在互联网上之前并不大。我认为这并不是个巧合。在美国的高校都很不情愿让学生买昂贵的教科书,尽管学生学费加上损失的机会成本(学生在学校的时间是没法挣钱的)要100倍于教科书的价格。这样的观点很愚蠢,但是我责怪的是在美国把书价定得过高的出版商,这样做损失了他们的市场。

图灵社区:是谁设计了《大数据》的封面?后面有什么故事吗?

《大数据》和“龙书”的封面都是我的儿子Scott设计的。

图灵社区您认为面向数据集的操作系统应该具备什么特征?

我没看出来数据挖掘在操作系统上也是个问题。也许选取合适的数据库管理系统是个问题,比如说传统的关系型系统和"no-SQL"相比较。我确实注意到SQL并没有消失,人们正努力把它融入不同平台上以管理大规模数据。


更多精彩,加入图灵访谈微信!