专栏名称: 机器之心
专业的人工智能媒体和产业服务平台
目录
相关文章推荐
AIGC开放社区  ·  AI ... ·  18 小时前  
AIGC开放社区  ·  AI ... ·  18 小时前  
爱可可-爱生活  ·  语言构式如何在词汇分布中显现? 查看图片 ... ·  昨天  
黄建同学  ·  你这个想法很危险……//@Transform ... ·  2 天前  
中国人工智能学会  ·  中国人工智能学会第九次全国会员代表大会将在京召开 ·  3 天前  
51好读  ›  专栏  ›  机器之心

独家专访 | 从跨国投行到开源社区,IBM Spark总工程师Nick Pentreath的传奇经历

机器之心  · 公众号  · AI  · 2016-12-04 10:57

正文

机器之心原创

作者:李泽南、杜夏德


Nick Pentreath 是 IBM Spark 技术中心的首席工程师,他专注于 Apache Spark 机器学习领域,著有一本《Spark 机器学习》。在进入 IBM 以前,他曾参与共同创立了 Graphflow,一家提供推荐系统和智能解决方案的初创公司。在进入计算机科学领域以前,他曾在高盛投行工作,亲历了利比亚卡扎菲政府 12 亿美元投资巨案。


最近,随着 2016 机器学习行业应用国际峰会的举办,Pentreath 来到了北京。机器之心受邀对他进行了独家专访,我们一起聊了聊 Spark 的新版本、IBM 的开源精神、不同平台的竞争关系,以及他在高盛的传奇经历,其中不乏爆料和精彩的观点分享。让我们看看 Pentreath 是怎么说的。




机器之心:作为 IBM Spark 的首席工程师,你最近的工作是哪些内容?


Pentreath:我最近的工作都在 Spark 的两个新版本上。Spark2.0 刚刚推出,2.1 版又将紧随其后。目前的 Spark2.0 是 Spark 自推出以来第二次重大更新,我们进行了诸多性能上的提升,改进了 API。


对于应用而言,将数据集装进框架中是很重要的流程,这也是 Spark API 的主要工作,和机器学习库功能相近。在 Spark 中,旧有的基于 RDD 的 API 形成了我们整个框架的基础。我们将在此之上开发所有的功能。我们现在的工作是提供新的 API 管道,服务于机器学习工作流。Spark 2.0 的主题是新的数据框架 API,让它的风格向基于 RDD 的 API 转变,为 Scala 建立平台,尝试加入 Python API,改善 R 语言的支持。所以,主要是向更多编程语言提供支持,进行稳定和性能的改善等工作。


所以我在 Spark2.0 上我做了很多工作,包括版本质量和说明文档的改善,我希望能让这一版本在发布时能够高效稳定。而最近由于需要发布 2.1 版本,我做了很多事,参加了很多会议,当然也少不了和 IBM 同事们的讨论,我希望尽全力把这个版本做得更好。这个版本的大部分改进仍在性能的提升上,不过也包含新的模型,如 Multi-Possible 描述等。

机器之心:你对机器学习的认识是怎样的?


Pentreath:对我自己来说,我接触机器学习已经有六七年了,虽然我的背景是金融,但现在转行进入了这个领域。我希望自己能够做一些技术上的工作。机器学习可以解决现实世界的问题,这让我非常感兴趣,我曾经废寝忘食地学习机器学习理论,解决现实问题的方法。机器学习目前可以应用在很多方面,如广告投放,社交网络,图像识别等等,主要是在这些之后的个性化推荐系统。


这些系统会在不同地方被应用到。在来到 IBM 之前我曾经创立过一个公司(GraphFlow),这家公司在 2013 年建立,提供推荐系统和各种 API。我们曾有 5 个 API 和分析视频的推荐系统,通过这些,我们可以向用户推送他们喜欢的电影。


在 GraphFlow 我们就用到了 Spark,当时还是 Spark 的早期版本,0.5 版。我们的工作都是基于 Spark 的,我们发现 Spark 可以方便地用于处理大数据工作。在三年以后,很遗憾我的公司无法实现盈利,没有足够的现金流,我只能关掉它。现在我在 IBM 的工作是一个全新的体验,新版本的 Spark 仍然是开源的,我很高兴能加入进来。

机器之心:所以,你从一名使用者变成了开发者,这是个有趣的转变。除此之外,还有什么原因让你选择 IBM 而不是其他大公司呢?


Pentreath:的确有很多其他的公司正在机器学习和大数据上努力耕耘。但我觉得 IBM 是独一无二的,我觉得我来到这里主要是因为我之前的工作,在那时我对 IBM 产生了好奇,为什么他们的服务是这样的?他们是如何做到的?他们有什么资源?后来有人告诉我 IBM 正在发起一个专门的团队做 Spark——Spark Technology Center。这个部门会完全为开源服务,推进这一事业的价值,促进开源社区的发展。我对此很感兴趣,因为我也希望献身于开源事业,作为一个贡献者,这就是为什么我选择了 IBM Spark。而且 IBM 也是我的梦想。

机器之心:你刚刚加入 IBM Spark 的时候,这个部门处在什么样的状态?


Pentreath:我来到 IBM 还不到一年,我是在 6 月份加入的,那时正值 IBM 对 Apache 加大投入,Spark 的目标是开发属于未来的数据分析系统。在这几个月里我觉得 IBM 正在逐步实现这一目标,很多事情已经做到了。这就是 IBM 成立这个部门,招募很多员工的意义——纯粹地服务于 Apache Spark 开源工具和整个生态系统。


目前我们的成果已经应用在 IBM 的一些产品中了。我们的努力也让 Spark 达到了同类产品中的顶尖水准,我是说相比整个行业内所有的数据平台。在最近发布的 Watson 机器学习产品中出现了我们的数据科学成果。同时,我们所做的一切都是在开源的基础上进行的,这也是 Spark 团队的宗旨,在开源社区中形成生态系统。提供支持,开展活动,让全世界所有人分享和交流,建立这个社区。我们的工作目前卓有成效。

机器之心:你刚才提到推荐系统,目前的在线和离线推荐系统有什么区别?


Pentreath:的确,在线推荐系统永远是很容易做的,只要能够连接网络,在移动端也可以获得很好的体验,因为在线系统可以轻易地获得数据,如果你正在运营一个网站或者手机 app,你总是会想得到实时的用户数据反馈,用户在购物车中的商品等等;你需要实时对用户行为做出反应,提供相应的推荐。你会希望用户登陆他们的账户,留下信息以供分析。这些在用户登陆网站或者手机 app 中都很容易实现。


离线推荐系统是以相似的理念建立起来的,但很难进行有效的推荐,当客人走进商店时,系统无法感知他们的到来,也无法区分不同客人的喜好。你也许可以通过识别他们携带的信用卡来读取用户身份,以发送电子邮件或用户反馈的方式收集信息,但这仍然远远不够。因为这些信息很难进入数据循环中去。首先,你需要处理这些信息,学习用户习惯;随后提取重点进行推荐。这和在线方式相似,但更具挑战性。

机器之心:IBM 目前的推荐系统中是否用上了深度学习?


Pentreath:当我刚刚加入 IBM 的时候,我们的推荐系统中还没有加入深度学习或是强化学习的内容,也不包含预先输入的特化属性,这在搜索引擎的推荐系统中经常会被用到。我认为深度学习十分重要,现在非常流行,所有人都在谈论它,深度学习也可以获得很好的结果。但深度学习目前没有应用在推荐系统中,最近一些论文中的研究正在向这方面发展,我知道 Spotify 在这上面有一些工作,他们正在用深度学习提取每首歌的风格,为用户做推荐模型,那真的很棒。


在去年末的 NIPS 上有一些很有趣的论文,谷歌发表了用神经网络模型做推荐系统的新方法。深度学习可以从图像、文字、声音中获取特征,当然也可以来做推荐系统,为什么不呢?我觉得这是一个很棒的课题,我们很快就会有新进展。

机器之心:在参加学术会议和进行技术开发之间,你如何权衡两者?


Pentreath:我必须时刻关注行业内的最新进展,阅读大量文献。我认为自己是个喜欢向前看的人,希望抢先了解会议和研究中的成果,然后思考这些成果能够如何实现,在 Spark 中实现。

机器之心:最近 Spark 社群非常活跃,有很多大公司,如因特尔和华为都对 Spark 做出了一些贡献,对于 IBM 而言,你们对开源社区的态度是什么样的,特别是对 Spark?


Pentreath:IBM 中 Spark 部门是在 Apache Project 之下的,正如其他项目,它是开源的一部分。它运行在社区贡献者的管理之下,Apache 的这种方式非常重要,它意味着在项目中没有哪家公司是具有一票否决权的,这是开源精神的一部分。Apache 中的贡献者都是独立个人,他们中的一部分是各家科技公司的员工,他们会时不时改换门庭,但不变的是对 Spark 的热爱。正是这种精神正在帮助着 Spark 社区不断成长。







请到「今天看啥」查看全文