BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

郑泽宇:从学生时代起接触机器学习,人工智能尚待技术突破
录制于:

| 受访者 郑泽宇 关注 25 他的粉丝 作者 InfoQ 关注 9 他的粉丝 发布于 2017年2月7日 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。
34:23

个人简介 郑泽宇,谷歌高级工程师。从 2013 年加入谷歌至今,郑泽宇作为主要技术人员参与并领导了多个大数据项目,拥有丰富机器学习,数据挖掘工业界及科研项目经验。2014 年,他提出产品聚类项目用于衔接谷歌购物和谷歌知识图谱(Knowledge Graph)数据,使得知识卡片(Knowledge Card)形式的广告逐步取代传统的产品列表广告(Product Listing Ads),开启了谷歌购物广告在搜索页面投递的新纪元。谷歌因此项目使得知识卡片形式的广告每日触发上亿次,获得上千万美元年收入。此项目由郑泽宇带头开发,现已成为谷歌购物的新趋势。他于 2013 年 5 月获得美国 (CMU)大学计算机硕士学位, 期间在顶级国际学术会议上发表数篇学术论文,并获得西贝尔奖学金(Siebel Scholar),于 2011 年毕业于北京大学信息科学与技术学院,本科期间获得北京大学程序设计竞赛第一名。

QCon是由InfoQ主办的全球顶级技术盛会,每年在伦敦、北京、东京、纽约、圣保罗、杭州、旧金山召开。自2007年3月份首次举办以来,已经有包括传统制造、金融、电信、互联网、航空航天等领域的近万名架构师、项目经理、团队领导者和高级开发人员参加过QCon大会。

   

1. 大家好,这里是QCon全球软件开发大会上海站2016的采访间,请到了来自才云的郑泽宇,我想问一下您曾经在谷歌从事大数据与机器学习,负责广告和购物业务,当时是基于怎样的思考回来参与创业的呢?

郑泽宇:创业这个想法主要来自两个方面,第一个方面就是想把谷歌的东西带出来,让谷歌外面的公司也能享受到谷歌技术的福利,这是非常好的事情。我们当时创业的方向是kubernetes+大数据平台,回来之前了解到国内的大数据基本上是把大数据集群和传统业务集群分开的,和谷歌的存在相反的趋势。谷歌为什么要把这两个东西和起来,就是为了提高资源利用率,之前我们也了解到国内某些大数据厂商的平均资源利用率在15%到20%左右,大数据集群的利用率在百分之八九十,如果能够把这两个集群合起来,那对成本缩减和效率的提升非常有好处,是非常有利的事情。第二从人员讲,我们团队是从CMU、谷歌这些非常大的公司回来的,我们公司CEO也是让我非常佩服的人,我之前也有过创业经验,见识过非常多牛人,我觉得我们老大是非常适合创业、情商智商都高的人,他的招募也起到非常重要的作用。

   

2. 能具体谈谈才云的云平台运维管理系统和大数据的结合点与应用吗,包括机器利用率最后希望达到百分之多少?

郑泽宇:刚刚也提到大致的主体方向是希望能够通过把大数据和云平台结合一起,使得利用率提高,通过我们在谷歌的经验,达到50%、60%的水平基本上不是特别困难的程度。除此之外,把整个大数据业务和其他的传统业务混合在一个集群之后,能够更加方便企业对所有资源进行统一管理和调度,包括在大数据之上提供的一些大数据服务,能够使更多的企业,特别是传统企业享受到大数据带来的福利。之前我们也提到,目前传统企业很少能够拥有大数据的实力,他们谈到大数据时很多停留在BI和统计层面,很多传统行业甚至没有机房、计算机,没有服务器,光卖一个算法,根本没有办法使用,结合底层平台能够很好的解决他们的完整的需求,而不是给你一个算法其他东西自己去攒。针对这个情况,包括我们发现目前合作的商业伙伴他们的服务器比较少,IT技术能力相对来说比较早期,需要一套完整的服务体系。这套体系也是从google借鉴出来,包括集成云平台,包括中间的像hadoop、spark、tensorflow这样一些大数据平台,甚至包括上游的算法服务,这一整套的解决方案提供给企业,使得企业能够真正的运用到大数据,服务到他们的生产价值中。

   

3. 才云是2015年7月成立的,TensorFlow是2015年11月开源的。当时决定成立的时候,是怎么考虑的深度学习模型呢?如果TensorFlow没有开源的话,你们会怎么做?

郑泽宇:我们在创业初期并没有非要走深度学习这样的想法,更多的是往spark、hadoop这些传统的平台,使之和传统业务结合这样一种技术路线,但就创业公司来讲,方向永远是在调整的阶段。在11月份TensorFlow开源后我们发现,我们在google内部也使用过这个系统,叫google brain,用它做过一些深度学习的模型,了解这个技术。TensorFlow开源之后,我们发现深度学习在某一些领域内是有突破性进展的,是非常领先的技术,我们不仅要把hadoop,spark从传统的独立式集群转移到综合集群的模式,更加可以提供深度学习的计算能力,所以在今年差不多2、3月份,我们决定把tensorflow加到解决方案里面来,现在它更加是我们的一个主打的路线,因为做hadoop和spark的公司比较多,我们如果能做深度学习对竞争力有很大的提升。我们的方向和路线不是创业一开始就有完整蓝图,更多是根据当前情况的发展,包括当前技术的发展随时调整策略。

   

4. 当时选择TensorFlow是因为你们曾经在谷歌用过,你们在选择的时候有没有评估其他的模型,比如DMTK与SystemML?

郑泽宇:这是一个非常的好问题,选择tensorflow是一个综合的考虑,最大的一个层面是tensorflow和kubernetes跟谷歌的关系,是完整有机的一套体系,对我们来讲存在天然的偏好。除了这个偏好之外,对社区、对技术、对整个的接受度来讲也有考察,在tensorflow开源之前,MXnet、Torch这样一些深度学习工具已经存在,其中的一些已经被广泛使用了。为什么我们不支持其他的深度学习模型,唯独选择了Tensorflow,最重要的一点是它的灵活性,它支持不同的平台,支持分布式集群,支持GPU,支持最完整的情况。第二是它在社区的接受度,之前有很多深度学习的开源框架,不一一去谈,后来跟同学聊天发现他们有很多从Torch都转向了Tensorflow,包括CMU的同学以及在北大的同学,他们在学术研究的第一线,用过不同的工具都愿意转向Tensorflow,这是一个非常clear的signal,Tensorflow是有发展前景的,包括谷歌对它的支持。无论是从哪方面来讲Tensorflow都比其他的平台更有发展前景,其他平台在技术上也非常好,我们说不定在以后也会陆续支持,但对于一个创业公司来讲一定要有一个focus。

   

5. 你们的学习训练的数据来自哪里,包括数据的清洗,才云的数据研发人员情况是怎样的?

郑泽宇:首先数据来源,我们目前更多的是在数据积累阶段,会和行业内的领先公司建立一些合作,通过帮他们对数据的分析,建立起我们之间共享的数据库,从中获得数据,包括我们现在和国内一家做的非常不错的网红公司共享一些数据,和视频公司共享视频相关的数据。我们的数据在慢慢积累,主要的来源还是通过合作伙伴的方式获取,我们为他们提供服务。数据清洗这个问题非常专业,在数据分析里面,很多的工作都是在数据清洗或者数据整理过程之中。创业公司如果要把所有的数据通过自己做清洗再给他们提供服务的话这是一个非常长的过程。目前我们有两种解决方案,第一种是和合作伙伴进行合作,因为合作伙伴会对自己的数据有更加深刻的了解,包括对数据的格式、用途以及从数据挖掘出可能价值的特征,他们会更加了解,他们辅助我们完成数据特征提取的工作。另外一方面也会做一些统一化的工作,比如像视频、图片有很多问题格式是比较统一的,当我们定义好统一的数据格式之后,其实就把数据格式转化了,这个工作会由我们的合作伙伴来完成,我们也会给一些技术能力相对比较弱的合作伙伴提供一些帮助,帮他完成清洗和挖掘的工作,但对于绝大部分合作伙伴来讲,这个部分是他们来完成的。

目前我们团队是比较小而美的团队,有我加上我之前北大的室友,在美团、百度、腾讯做过很多年的数据分析的工作,有比较深的数据分析背景,我们团队主要是这样的成员构成的。

   

6. 大数据现在很多人都开始关注,大数据科学家、工程师在你看来根据内容还有经验可以划分成哪些类别?

郑泽宇:我觉得无论是大数据也好还是数据分析,或者数据挖掘、机器学习,无论名字怎么叫,最终的目的是从数据中挖掘价值,哪怕是做传统的BI或者统计,虽然你把他叫做大数据有些人会觉得滥用名词,但我觉得最关注的还是完成这样一个任务,无论采用哪种手段。从任务的情况出发,主要分为三种人,第一种是平台搭建和维护,要去挖掘大数据,首先需要把大数据集群搭建起来,包括数据存储,运维和优化,这群人是工作于大数据的基础。在这个基础之上刚刚也提到数据清洗和整理的过程,这类可能是需求量最大的一类人,因为这个过程比较复杂,花的时间比较多,大部分任务是数据来了整理完之后统计一下,包括生成前端的一些BI报表,这类人可能是比较大的群体。除了做清洗、整理和统计工作,再往上做挖掘的人,目前来讲我觉得国内还是比较缺少,特别是BAT之外的公司,或者传统公司,他们在数据挖掘、数据分析的能力还是比较薄弱的,这类人对于整个大数据的分析和对高层的挖掘我觉得是一类非常重要的工程师。

   

7. 您曾经在采访中说过您已经写了20年程序了,写程序对您就像打游戏。写程序是给您带来快乐的事情吗?这中间从没有让你沮丧和怀疑自己的时候吗?让你感觉最痴迷的东西是什么?

郑泽宇:都有,作为小孩来讲贪玩可能是一种天性,随着你慢慢的长大,包括这一方面能力变强,其实就是不断发现问题寻找问题解决问题的一个过程,享受的是一种解决问题的快乐。搞过竞赛或者做过网上题库的很大一部分人会有上瘾的感觉,就跟打游戏一样,打游戏有的时候无非就是打装备升级,也是一个重复劳动的过程,我们当年搞竞赛的时候也是不断的做题、整理的过程,打游戏你得到的快感可能是变强了,做题也是类似的快感,知识得到了积累,取得一些成绩,对你来讲都是比较正向的反馈。

遇到挫折是无可避免的,有两种种类的挫折,我是在湖南长大的,湖南搞竞赛搞的非常厉害,在我早期的时候有一半的国际金牌出自于湖南。我见到很多国际金牌或者世界第一,见到这样的人,你会觉得你怎么不能成为那样的人,他们写程序怎么写那么快,会有一些怀疑,但是之后会慢慢理解,不是所有人都能够达到那样的高度。第二个其实在很多其他人眼里你已经达到他们觉得很高的高度,既有你往上看得到的一些压力也好打击也好,或者看到比你更高的人,但同时你也知道你已经达到一个还不错的状态,这也是鼓励你往前走的动力。

   

8. 如果单纯从您个人角度来回顾您的程序成长之路,有没有一个让你记忆犹新的突破提升点,从什么时候开始走向机器学习这个道路?

郑泽宇:突破点很多,小学初中对一个人来讲,可能三五年或者十年的东西到后面一年就理解了。像我读到过学数据结构应该是从小学开始学习,很多人从大学开始,我是小学、初中、高中、大学都学过,一遍一遍的去学,你会发现在每一遍的学习过程中,对他的理解都会有不同。随着经验积累、年龄增长,理解能力在进步,对这些东西的理解会更加深化。这个时候你会发现原来不知不觉已经了解了很多东西,包括之后在本科的时候学习编译、操作系统这些计算机核心课程的时候,虽然以前没有学过这些东西,但通过之前的技术积累,你能够举一反三,一通百通。第一个突破点可能在高中,发现对这些东西有更深的理解,第二个是大学的时候发现通过对计算机整个知识面,除了算法之外,对于操作系统、网络有一个更加全面的全局观,对这些东西有更深的了解。

我是从大二开始进入实验室,大三在微软亚洲研究院实习,都是做机器学习方面的东西,为什么会进入这个领域,是源于我北大实验室的导师,当时在上数据结构与算法设计这门课,介绍了一些关于机器学习、数据挖掘基本的知识。以前我们写程序,要通过人全部给他写出来,一步一步去走,现在可以通过机器学习的方式改变,让机器自己写程序,对我来说是非常有吸引力的。第一个研究的领域是自动回答,我之前从算法的角度想,无论是动态规划也好图论也好,他不是一个非常经典的算法问题,更加是偏向于实际应用或者偏向于真的需要解决的问题,算法可能和实际应用还差那么一点。像自动问答就可以完全很快的应用到实际当中,这也是我进入这个行业的开始,之后进入CMU的项目也是做自然语言相关的研究,最开始的那个点就是感觉这是一个真的能够解决问题的东西。

   

9. 当年您大二是几几年?

郑泽宇:2008年吧,我们当时用SVM、VCA,主要的机器学习包是这两个,也有些别的工具包,当时神经网络机器学习基本还没有起来,大部分逻辑回归、支持向量机主要也都是基于这些工具包来做的。

   

10. 大家往往对学术大咖、技术大牛有一些刻板的印象,你除了专业之外有什么个人兴趣爱好?怎样看待工作和家庭的关系?

郑泽宇:业余爱好还是挺多的,我之前在北大加入了自行车协会,从格尔木骑到过拉萨,也去过户外、也去打球等等,偏户外、体育方面的爱好比较多一些。我之前每年会出去2,3趟旅游,到过很多地方,也不完全只是一天到晚在机房里写代码,还是比较喜欢户外相关的运动的。平衡工作和家庭的关系是一个比较具体的,或者是对于创业公司来讲有些困难的地方,我小孩也是刚刚出生,家庭方面会有些压力。对于创业公司你有多少时间就可以消耗多少时间,这个平衡真的是自己去找,包括家庭之间的协调,有的时候老人也会帮忙带小孩,是尽量协调的关系,我觉得抛开家庭去创业,这不是一个很好的方向,但完全把两边照顾到可能也有困难,所以我觉得是折中,不影响家庭的情况下最大力度投入创业是一个很好的态度。

   

11. 你会考虑教你小宝宝编程吗?

郑泽宇:我跟我老婆都是学计算机的,孩子完全不懂编程很困难,但也不是非得让她走到这个道路上,根据她的兴趣爱好更加重要。教她肯定会教她,这个东西无法避免,夫妻之间谈话包括潜移默化的影响,她肯定会,只是愿不愿意往这个方向发展是她自己的选择。

   

12. 您怎样看待短期、长期、很久以后的AI发展?还有对计算机AI与人类智慧博弈的看法。

郑泽宇:首先说短期,在AlphaGo战胜李世石的时候微信全都被刷屏了,有懂技术的不懂技术的,懂技术的人在分享深度学习的技术贴,不懂技术的人在担心机器战胜人类、人工智能复兴,这些文章非常多。在我看来目前人工智能的水平远远达不到文章中所说的,无论是人工智能复兴还是机器人毁灭人类,完全达不到,AlphaGo是个非常强的系统,但它设计出来就是下围棋的,你不能让他去打星际也不能让它去操作机器人,是非常专的东西,可以做到非常非常深,但是要让人工智能通过图灵测试,真正达到人类的智慧,还有非常长的路要走,短期之内可以通过人工智能解决很多问题,但他远远达不到人的智慧能力,在短期内完全不会实现。

对于长期来讲,人工智能会往前发展,有新的技术突破,完成更加多的事情,可能在某一些层面挑战到人类。但我觉得无论是从长期还是更远期,更远期更多是信仰,比如一百年之后会是什么样,对于我来讲很难判断。从我带小孩的过程,对人工智能的理解有一些新的体会,为什么这样说,因为小孩出生什么都不会,感官发育也是慢慢培养起来的,对于机器或者深度学习是一个非常类似的过程,通过不断的训练,使得他能够完成一些工作,可能随着科技的发展,训练的通用度会越来越高,越来越接近人类的智能。和小孩的成长是一个类似的过程,无论智能再高,小孩的智能就是人类智能,假如你要把他推向一个坏的方向,比如恐怖分子或极端分子,环境是非常重要的因素,对人工智能也是类似的,和创造他的人以及他接触到的环境和数据非常相关,比如要现在创造一个毁灭世界的机器人,技术上是可行的,但基本不会有人这么做,所以我觉得机器和人类智能的博弈更多的是由人来主导这个方向。

   

13. 到容器这一块,才云容器技术会考虑其他的开源项目和技术选型吗?您怎样看待阿里云和Docker官方合作的问题?

郑泽宇:对于创业公司来讲选型是在持续变化的,包括公司的战略也会实时调整,目前是Docker+kubernetes的状态。kubernetes对我们来讲是非常明确的技术选型,在未来可预见的时间内会坚定走这样一个技术选型。容器是一种技术,Docker是提供容器技术的一家公司,docker和谷歌之间也存在一些矛盾,谷歌可能也在考虑往其他的容器技术转型,或者做一些铺垫。对于我们来讲,我们会跟随谷歌的脚步,其他一些容器相关的技术肯定也会做一些储备,我们不排斥其他任何的技术,会去关注,包括kubernetes相关的技术,也都会保持关注,底层技术选型还是比较固定的。

往上走,包括像刚刚提的Tensorflow,也不是在我们公司初创时就能预知到他要开源。我们会基于kubernetes搭建一些SAAS的服务,基于kubernetes之上的开源软件如何走,这个我觉得是非常动态的,会根据最新的一些学术界也好,业界也好,根据最新的技术的走向,我们会保持非常高的关注度。

回到Docker和阿里的合作,我觉得对业界的影响非常大,对我们来讲是有好有坏,利大于弊的状态。首先说一说坏的地方,不好的地方大家很容易看到,比如说阿里的竞争,主要是阿里的势力、Docker的势力对中小型公司产生的竞争上的压力,这非常显而易见的。好的地方在哪儿,第一,阿里和Docker合作证实了这个技术的可靠度,阿里愿意和Docker公司进行合作,证明容器技术包括Docker技术是受到认可的,我们之后宣传技术,企业对技术的接受度会更高,阿里在这方面会做一些铺垫,帮我们培养这个市场,对我们来说是非常好的地方。第二,刚刚也提到docker这个技术选型在我们看来还是有一些不足之处,相比谷歌这样的成熟大公司还是会有一些短板。kubernetes是从谷歌运营了15年的Borg项目中开源出来的,它在谷歌经过15年的验证,经过非常非常多的技术沉淀在里面。Docker原生态支持的是swarm,是Docker公司自研的集群管理工具,我觉得在设计理念包括技术选型上和kubernetes会存在一定的差距,从这个方面来讲,我们选择kubernetes会更加有发展的空间,阿里和Docker的结合反而束缚了他们空间,对我们来讲这也是一个有利的方向。第三就是竞争对手,和我们相关的竞争对手的市场空间也会有一些影响,从市场运作和市场竞争的角度来讲,对我们也是一个至少不坏的情况。主要是这样几点,综合这样几点来看,阿里和Docker的合作对我们来讲是比较有利的。

InfoQ:好的,谢谢。

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT