Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

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

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


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


DSC_0094a.jpg


机器之心:作为 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 社区不断成长。


IBM 在开源社区中的责任就是让 Spark 保持绝对的开源,在任何方面。IBM 会保持这样的策略,让社群和商业化的的产品建立在 Spark 之上,让更多兼容 Spark 的硬件驱动和性能优化出现。对于其它公司而言,IBM 只是社区中的普通一员,我们希望与所有成员共同合作开发这一生态系统,并保持它的开放。


机器之心:有关竞争者的问题,最近 CMU 教授邢波宣布 Petuum 离开了实验室,成为独立公司,并吸引了 1500 万美元的 A 轮融资,他们宣称他们的平台比 Spark 和 Hadoop 高效很多,你对此有何评论?


Pentreath:这很有趣,但我得说我不太相信。竞争总是好的,竞争让整个行业能够更快发展。这对所有人都是好的,无论是开源社区,还是 Petuum 来说。我认为对于 Spark 来说,我们的优势在于我们是一个大平台,我们的框架可以用来做很多不同的任务。Spark 还有很多特定的优势,例如它可以很好地执行感知器(Sigmoid)任务,在之前也许不够好,但在 Spark2.0 和 2.1 版本中这一部分得到了进一步加强。所以我认为 Spark 在所有新方向上是领先的。同时我认为我们的生态系统也具有优势。


对于机器学习而言,Spark 目前遇到了一些挑战,例如 Spark 目前无法使用平行学习(parallel learning),所以一些其他框架,如 Petuum,甚至 tensorflow 在分布式运算速度上具有优势。他们能支持模型的并行训练,让机器学习,特别是深度学习更快捷。


毋庸置疑,Spark 正面临这些公司的挑战,但我认为 Spark 在竞争中永远会占有一些优势,这包括生态系统上的优势。除此以外,Spark 也乐于和所有同行进行合作,这就是我们的精神,我们不寻求替代所有其他方式,这是没有必要的。我们从数据中获取信息,为整个生态系统提供生产力。


在未来你也许会看到在机器学习中 Spark 和 tensorflow 的结合,例如 tensor frame data 是我们正在进行的工作之一。所以我认为我的回答是:我们欢迎在框架内的合作与互相交流。目前我还不知道 Petuum 的计划是什么样的,他们之前是开源项目,在这次融资独立之后我就不知道了。但我认为竞争是好的,良性竞争是成就 Spark 的一大原因,我们将持续整合生态系统,对深度学习如 Tensorflow 和 Petuum 持开放态度。


机器之心:你对 IBM 的现任 CEO Ginni Rometty 印象如何?


Pentreath:关于她的情况我所知不多。但我得说是 Rometty 让 IBM 重新成为一个知名品牌。她正在做的,是把人们印象中旧 IBM 硬件供应商的形象转变为解决方案提供商的新形象。现在的 IBM 有关软件,有关人工智能的应用和云平台。我认为 Rometty 正带领 IBM 走在正确的轨道上,她做得很棒。


DSC_0035.jpg


机器之心:我们对你的经历很感兴趣,你有着商科背景,为什么会选择转行进入计算机科学呢?


Pentreath:我仍然很喜欢金融,我现在还在关注市场的动向,我经常想把机器学习应用到证券交易中去,那也许会产生意想不到的结果。


我曾经在投行工作,那是很棒的经历,但随后我希望能够退居幕后做一些技术工作,具体而言是开发解决方案的工作。至于为什么我喜欢机器学习和软件开发,我想是因为它有关创造,这让我可以在屏幕前创造新的解决方案。在金融业工作几年以后我非常想要尝试一些新东西,同时进入技术岗位,我也想回到大学获得更高的学位。于是我去学了一个(UCL)机器学习的硕士。


另外我必须提醒你,在 2008 年金融危机正如火如荼,那正是一个说「转行吧,去翻开新的一页」的最佳时间点。所以并不只是一个念想,许多事集中到了一起让我做出了这样的决定。


机器之心:你在高盛工作期间曾有一段关于利比亚的冒险,有什么特别的时刻可以分享吗?


Pentreath:在所有金融大公司里,你都会时刻处在高压环境中。时间永远不够,任务永远很多,你需要完成业绩。从某种意义上来说,每天都是新的挑战。但这也非常的刺激,我在学校中获得的知识得到了应用。在投行里工作你会感觉自己一直处在全球市场的中心,你会感受到整个市场的呼吸就在你身边。高盛的经历让我受益良多,我学会了市场是如何变化的,学会了如何完成交易,学会了团队协作,与很多人共同挑战难关,当然,还有如何在最严酷的压力下工作。


在那里我还学会了如何与客户进行互动,如何坚持自己的理想。高盛的经历令我难忘。


机器之心:高盛投行,机器学习初创公司 Graphflow 和 IBM Spark,你的背景真是很丰富。对于你来说,哪份工作挑战性更大?


Pentreath:每个工作遇到的压力都是不同的,但是在初创公司我是最累的。因为在那里我得身兼数职,我曾经和另一个人一起从零开始,开发了整个系统。那时所有事都得自己做,从 debug 到运营,同时还得管理财政。在初创公司,你得找到投资,还得做销售。那段时间我不得不将所有的精力都投入到工作中去,每天 24 小时,每周工作七天,这对你的家庭来说压力也很大,所以我认为这是最难的。


和在初创公司中的情况不同,在高盛工作你也需要每天工作很长时间,特别是对于年轻人来说,每天都要工作在压力之下。你需要完成交易,和客户保持沟通,这意味着时刻保持紧张。


在 IBM 中你会发现自己身处于一个大型科技公司,每个人都希望表现,也意味着工作在挑战之中。但我觉得这里的环境非常友好,我的同事都非常乐于帮助,他们都是很棒的人。我觉得这里和银行的工作环境有很大不同。


机器之心:你在 IBM 的工作中面临的问题更多是技术上的还是团队合作上的?


Pentreath:加入 IBM 以后,我仍在南非开展工作,那是我的家乡,所以我所面临的最大问题不在技术上,而是如何开展有效的团队合作。Spark 技术中心的成员遍布全球,他们来自不同的国家,不同的时区,我需要让所有人紧密团结在一起,距离是我面临的挑战。


当然,这种多样性也是我们的优势,但这意味着有时我需要和不同的人使用不同的交流方式。在我的工作中总是充满着交流,事实上,过多的交流(笑)。有些时候我必须得不停告诉人们事情的进展,这也许是最难的事。


机器之心:我们看到《Spark 机器学习》的中文版吸引了很多读者,什么时候能看到你的下一本书?

Pentreath:写这本书用了我很长时间,它可不像中文版看起来这么薄(笑)。下一本书肯定也要花很长时间,而且最近我还会对这本书对应 Spark 新版本进行内容的更新,我目前在审阅新版《Spark 机器学习》的内容。


我会写本新书,但是不知道需要多久才能写好,我近期就会开始准备!

理论IBM产业Nick PentreathSpark
暂无评论
暂无评论~