科技开讲:谷歌每秒赚1000美元背后的技术

时间:2016-09-24 12:19:44 

【点击图片进入下一页或下一篇】

谷歌全球研发总监郄小虎

我们想知道,一个念头是如何破茧而出,最终发展成为优秀的产品。在这背后又有着怎样的技术与思考?我们想知道,成长道路上的合作、碰撞与收获。为此新浪科技推出《科技开讲》系列访谈,希望能远离喧闹纷繁的商战,寻找IT企业的灵魂。

访谈主题:

作为全球市值最高的互联网公司,Google每秒钟获取的收入超过1000美元。这其中Google广告系统起到至关重要的作用。Google广告系统如何发展而来,又靠什么技术支撑?本期《科技开讲》就来谈谈Google广告技术和背后的工程师。

做客嘉宾:

谷歌全球研发总监郄小虎

本期精彩看点:

- Google一个季度的营收近百亿美元,每秒钟产生1000美元以上的收入。而这家公司的绝大多数产品都是免费提供,赚钱全靠Google广告系统。

- Google最初设计出的广告系统,从亚马逊赚的钱只够买几瓶啤酒。

- 2002年,Google广告系统的发展出现历史性转折,包括1.采用按展示付费 2.第二价格密封竞拍 3.引入质量得分系统。Google广告排名=最高点击成本×广告质量得分。

- 不少Google广告工程师都是百万富翁俱乐部成员。获得这个称号意味着,这位工程师因为犯错给Google带来百万美元以上的损失。不过没人因此被解雇。

- 防错机制:救火队员+验尸报告。

- 海量存储系统、机器学习系统、实时匹配系统,Google广告系统的三大模块。

- Google现在有上万台机器进行海量存储,但在还不“富裕”的时候,曾经用卡车去买大量废弃内存条,组建大量廉价硬件+高质量软件的解决方案。

以下是本期《科技开讲》的文字实录:

Google广告排名=最高点击成本×广告质量得分

新浪科技孟鸿:大家好,这里是新浪科技,今天我们讲一讲关于Google的话题。Google大家比较熟悉,是一家非常赚钱的公司,第二季度财报收入90多亿美元,市值逼近2000多亿美元。提供免费服务的公司怎么会这么赚钱?今天就谈谈这家公司背后赚钱的秘密。我们请到的公司是谷歌全球研发总监郄小虎,我们欢迎tiger。

郄小虎:非常高兴和大家交流。

新浪科技:正如刚才提到的Google为什么会赚钱呢?

郄小虎:Google这家公司给大家提供了很多免费的服务,如搜索、地图、电子邮件等等。同时Google也提供非常强大的网络营销平台。Google有超过97%的营业收入由广告平台做成的,主要是广告来源。

新浪科技:Google在广告上到底有什么样的产品?

郄小虎:Google的产品分为关键字广告、联盟广告,关键字广告是大家熟悉的产品,在Google引擎上搜索时,会看到搜索相关的广告,当用户点击时会被引导到广告商页面上。

广告商引导是拓展到非搜索页面的产品,用户会花时间浏览页面阅读电子邮件,包括换上视频等。08年进一步完善了展示产品的产品线,移动互联网平台是非常重要的发展方向,在去年Google完成了对AdMob公司的收购,很看好移动互联网作为广告发展平台的前景。

新浪科技:我们会想到广告中排名的问题,对Google来讲,他们广告中排名是怎么计算的?

郄小虎:这是非常好的问题,是Google的核心机密。不能把所有机密透露给你,可以简单概括一下。Google排名是基于质量得分的第二价格密封竞拍系统。举个简单的例子,Google的竞拍系统,按照用户愿意付的最高点击成本作为排名的因素。

大家知道,在通常的拍卖过程中,如果我对一件物品很感兴趣,愿意出一个价格把这件物品买下来。在广告的营销平台上,这里的物品可以想象成某一个关键字,如我是鲜花店鲜花对我来说是产品,我愿意把产品和服务展示到搜索面前,每一次点击愿意付费,每一次点击愿意出价比如说2块钱。

你也是另一家卖鲜花的公司,你对这个关键字很感兴趣你愿意出一块钱,传统上的竞拍是按照价格高低排名。Google的竞拍过程,最大的区别是引入竞价质量得分的机制,排名广告质量得分在里面是重要因素,质量得分由多种因素衡量。包括它文字,和关键字匹配程度,广告商网页的质量,以及用户在广告商网站上浏览的结果转换率都会排在其中。最后的排名是以最高点击成本和广告质量得分综合得出,是机器得出的结果,没有任何人工的成功在里面,是非常公正的系统。

刚才举的例子,我们两家是花店竞价,我们出的价格比你高,引入质量得分之后,我卖塑料花的网站,当用户点击鲜花之后,到我网站后发现不是卖鲜花的全部是塑料花,不是他想要的,他点击之后用户体验不是很好,我们系统会把这些学习下来,并且对这个广告的质量得分进行修改。再经过一段时间之后,系统发现我的广告质量得分是1分,你的广告质量得分是3分,你卖的是鲜花用户想要的东西。

用非常简单的公式,我出价两块我的质量得分是1分,你出价三块,我综合质量是3分,我会排名你的前面。

最初的Google广告盈利只够买几瓶啤酒

新浪科技:Google广告体系比较成熟,Google的体系不可能一开始就是成熟的。tiger很早加入Google团队做这个体系,对这个广告体系比较了解,最开始怎么想到做这么一个体系的?

郄小虎:Google的广告产品到今天是非常完善的商业模式,它不是第一天就成型。Google也经过了非常长的不断探索和改进的过程,其实从一开始,Google对于怎么样在互联网上赚钱没有清晰的想法,开始的阶段Google也是进行了大量的摸索,也有很多失败的例子。

从1999年成立之后,Google在2000年开始着手设计广告平台这样一个产品,在那个年代互联网上充斥的大部分是展示类的弹窗广告,你浏览网站时可以看到有跳动的图画等。Google没有采取这种形式,因为这种广告形式对用户体验很差,因为他没有和用户浏览的网页内容相关,弹窗很难被关掉。

Google采取非常简单的文本广告形式,显示在搜索页面窄窄的搜索页面之内。开始广告定向,广告内容和搜索关键字相关,这是第一步。

但是在当时,对于这样一个复杂的系统,怎么样能够让它成功我们没有十分清晰的想法。第一个例子,第一次尝试我们实际上是在搜索网站上,对亚马逊网站的书籍进行了一些推荐。当用户搜索的关键字和某本书籍相关,我们自动指向亚马逊网站的链接,用户完成购买过程之后,我们可以在亚马逊中得到分成,这个系统不是很成功,最后挣到的钱,只能买几瓶啤酒喝。

这个广告系统受到很大挑战,2000-2001年互联网进入大规模泡沫,很多广告预算大幅度削减,我们销售团队给大客户打电话,对购买的广告位置、关键字,每千字广告的价格进行协商,最后签订合同。

互联网泡沫破灭之后这些广告商受到很大影响,这个时候Google把中心转移到中小客户上,2000年推出自助服务。当时在Google主页上发布很小的信息,如果你有信用卡有5分钟的时间,你可以在Google显示你的广告。这个产品自助式服务是成功的产品,发布一段时间发现有很多的中小客户使用这个产品。我们的广告客户群体越来越大,直到今天中小客户以及个人客户还是我们构成Google广告系统上最大的收入来源。

新浪科技:您说2002年时转向中小企业为主,当时这个机制是现在的AdWords的吗?

郄小虎:这个问题很好,我们付费排名方式没有完全成型,采用的是传统的按展示付费,会按每千次展示付一定的费用。同时对每一个位置进行出价。我们工程师意识到这个系统有很大的缺陷,最大的问题是广告的相关性不够好,一个广告商愿意出很高的价格,可以占据热门的关键字页面上很好的位置,对于用户来说不是他们想要的信息。

2002年由我们天才的工程师主导,对广告系统进行了巨大的改进,这是Google的AdWords系统在历史上重大的转折点,包括三个方面。第一方面是按展示付费,转移到按点击付费。

第二个改动采用了第二价格密封竞拍的竞拍系统。

我要补充一点,第二价格竞拍指的是,我每个广告商会出他愿意为每一个点击付的最高成本,但他真正每一次点击付的价格排在他后一位广告商高一点,保证广告商不用去猜其他人出价多少,他给出他愿意承受的最高成本就可以。

第三个改进,引入质量得分系统,这是非常核心的改进。

新浪科技:刚才我们谈到过去的事情,tiger能否回忆一下,Google广告最初的客户大概是什么样的群体。

郄小虎:第一个客户很难想起,因为广告系统经历了很多的转变。2001年推出自助服务之后,第一批的客户其中有一家是波斯顿地区一家卖龙虾的小商户,在我们网页上发布了你有信用卡5分钟时间来Google做广告之后,很快发现在Google上搜索龙虾之后,你看到这家小商户的广告,会看到新鲜的龙虾送货上门。

新浪科技:它是最贵的关键字吗?

郄小虎:我们使用这个系统看到有趣的现象,初期我们发现有生僻的关键字,有非常高的出价,这个字叫做“肺尘病” 出价的广告商是很大的律师行。这个好像很难想象,后来我们做了一些研究,发现原因是这样的。肺尘病是属于由恶劣的工作环境造成的工伤的慢性病,当这些受害者他们一般如果要诉讼公司的话,会有很大胜诉的几率,律师行愿意为这些客户代理,对他们来说是潜在的客户,如果他们胜诉他们会得到非常大的回报。所以律师行愿意为肺尘病的每一次点击出非常高的出价。

广告工程师:救火队员+百万富翁俱乐部

新浪科技:刚才tiger也跟我们分享了,Google广告系统过去的一些情况,我们想知道Google是一家以技术安身立命的公司,在Google广告系统背后Google的工程师们是怎么工作的?

郄小虎:我觉得在Google的广告系统团队工作,是我人生中最值得回忆的一段经历。可以这样讲,Google广告团队的每一个工程师是超人是superman。他们是技术专家的同时,还要有钢铁般的一致,以及在高压下保持清醒头脑的能力。

很多人都有两个绰号,一个是救火队员,一个是百万富翁俱乐部。救火队员不是我们的全职工作,但是我们每个人要进行这样一个兼职工作,扮演救火队的角色。Google的广告系统,对我们的广大广告客户和公司重要的客户,承载了大量的客户请求。这个系统有任何问题,或者说我们人为的犯了某些错误,对用户和公司的影响相当大。这个系统要24小时全天候有人客户,这是我们的兼职工作。

每个人每个季度要扮演救火队长的角色,所有人没有豁免权。包括从高级副总裁开始,我们有很长的排表,这周我是救火队长,下周副总裁是救火队长,当你是救火队长时24小时随时待命,要戴两到三个呼机,呼机一响说明现在系统有问题,着火了,必须去救火。这时我们要放下手头的工作,看系统出现什么问题,在最短的时间内把问题找到并修复。

因为这个系统产生了大量的收入,上个季度Google的收入已经超过了100亿。

新浪科技:差不多90亿。

郄小虎:差不多90亿美元,每秒钟产生的收入是平均1000美元以上,回答你这个问题花了一分钟的时间,大概是六万美元没有了,大概一个工程师一年的工资。我们的压力相当大,你要24小时待命。问题经常出现在深夜里,比如半夜2、3点钟你的呼机会响,要马上爬起来出现什么问题。

睡觉前,要做大量准备工作,电脑打开连到公司内网上,所有窗口工具都打开,旁边经常需要打电话人的电话号码放在那里,这样可以保证当我听到呼机响的时候,第一时间爬起来可以投入工作。

这个过程可以想像压力非常大,虽然它是一个技术活,经常让我想起医院的急救室,你是急救室的医生,医院推进病人,病人呼吸衰竭,你要诊断出出现什么问题。有的时候我自己不能把所有问题解决掉,这个人比如是脑部的问题,我要找脑部的专家,他是心脏的问题找心脏科的专家。

“验尸报告”——出错后的流程

新浪科技:似乎听起来这个系统很脆弱是这样吗?

郄小虎:软件是人写的,人都会犯错误,这个是不可避免的,Google的广告系统背后是非常复杂的。上百万的原代码,而且我们的用户是从世界各地,每天的访问量大概有超过数十亿,不同的用户会用你难以想象的方式请求我们的系统,你很难把这些情况都考虑到。

当然我们的系统,一开始的确我们犯过一些愚蠢的错误,开会的时候有一位工程师突然脸部变得惨白,原来是他误操作把我们数据库格式化掉了,这样愚蠢的操作我们Google曾经出现过,但我们的系统逐渐完善,到今天我们有逐渐完善的流程,这样的错误不会再发生。因为这个系统的复杂性很多错误无法避免,我们能做到的是,当系统有问题出现时,我们能在最短时间内把问题修复。

新浪科技:我们更关心脸色惨白的同事,最后是什么下场?

郄小虎:大家可能猜到,一般的公司如果你给公司造成上百万的损失,一定会被解雇,这个在Google没有发生过。

新浪科技:上百万损失没有被解雇。

郄小虎:我刚才提到百万富翁俱乐部,不是说你很有名,而是说你给Google造成了百万以上的损失,就得到百万富翁俱乐部的头衔,Google很多人得到过这个称号。

新浪科技:您本人是吗?

郄小虎:这个属于商业机密我不能透露,Google的文化是创新的,创新一定会犯错误。我们当系统出现问题之后地我们重心放在尽快找到这个问题,从这次的经验中吸取教训,怎么样避免下次发生同样的错误。

新浪科技:是怎么找到的,我们的机制是什么样的?

郄小虎:每次大的系统问题之后都要做验尸报告,验尸报告中包括问题是怎么发生的,我们是怎么处理的,问题当中哪些我们可以做的更好,哪些可以避免,如果可以避免,我们会把它作为工作流程的一部分,使我们工作流程越来越完善。

中国网民浏览习惯与众不同

新浪科技:因为是全球化产品,您比较熟悉中国团队的事情,中国团队我们会做些什么事情,对Google广告系统的支持?

郄小虎:我们团队和Google广告进行平台开发的,我们开发的是同一个系统,不管中国客户美国客户,他使用的系统是同一个系统,我们是上千、上万人开发系统,而不是几十人几百人,我们站在巨人的肩上,我们享受前面天才工程师搭建的系统。

中国的团队对中国市场有更深的了解,他们经常看到中国用户的特殊需求。我们会在进行核心系统系统开发之外,把这些用户的需求反馈到我们全球团队,我们会把这些功能实现出来。

我可以举一个例子,在世界上大多数国家,当用户浏览一个页面的时候,他们的注意力会集中在页面的某些区域,这个区域大概呈现出英文字母的“F”型,主要在页面最上面和最左边,这些是页面关注度很高的区域。

我们发现中国用户浏览习惯不一样,他们关注焦点是均匀分布在页面所有位置,他们哪儿都看。因为由于页面设计的特点,用户会跳过页面上面的位置,页面上面经常出现不太相关的细节他们经常跳过,到页面的后半部,发现这个用户行为之后,我们对系统做了调整。我们意识到作为这样的产品,如果我们只关注页面的上部和左部是不够的对中国的用户来讲,我们对页面的底部加入大量的信息,对于关键字的建议等等。这是中国团队为全球广告团队作出贡献的例子,这不仅让中国广告系统收益,发现其他国家用户也有这样的浏览习惯。

新浪科技:您说的工程师是全球部署的是吗?各个不同的地方的改动,都会影响产品的形态是吗?

郄小虎:是。我们是在同一个系统上进行开发,可以开发出针对每个国家地区的用户需要的特殊功能,针对这个功能,可以只对这个国家用户开放。在不适用的国家,会把这个功能关掉是可以选择的。

Google广告核心系统:海量存储、机器学习、实时匹配

新浪科技:刚才tiger给我们讲了工程师在做Google广告系统的时候,会面临的一些问题,我们想了解工程师在技术上面,会面临什么样,除了之前说的资金压力,他们在技术上会面临什么样的问题呢?

郄小虎:广告系统是非常大型的分布式系统,对完成每一次用户请求这个过程并不复杂,我们想象需要一个数据库存储所有广告信息,需要一个截面给广告商使用,他们通过页面他们购买的关键字,对于每一个关键字的售价和广告信息等。数字信息会被传到全球所有浏览器上去,用户在搜索时,会提供给相应匹配的广告信息展示给用户,会被回传下来,用户月底会收到帐单。

对Google最大的挑战是,我们如何相应海量的广告商数据、用户数据,每天超过十亿的客户访问量。每一次的用户请求,要进行非常复杂的竞拍过程,这里需要牵涉到上千台机器的协同工作。

相比其它部来说,搜索来讲,广告系统对搜索同步性非常高。如果搜索一个网站,网站会进行更新如果我经过一段延迟看到广告最新的内容,大家都是可以接受的。对于广告平台上的应用来讲,广告商他们经常会把一个新的广告上线,或把已有的广告下线他们会买新的关键字和进行调整,这些改动需要在新的时间内生效。

新浪科技:您能给我们总结出什么样的机制,在支撑Google的正常运转吗?

郄小虎:这个系统简单分成三大模块,首先要海量存储系统,这个系统需要存储所有用户广告商的广告数据,包括关键字、出价、预算、广告创意。同时它要记录所有的用户行为,包括每一次广告展示,每一次广告的点击、转换等等。

对于这个数据库来讲,它需要处理大量的海量数据,我们的系统中现在有超过上百万的广告客户,如果你假设每一个广告客户购买一千个关键字数据量是相当大的。

经常我们的系统需要完成一些我们的分析工作,比如说我们想知道最多的关键字是哪一个,或者说这段时间内用户搜索的关键字是哪些,这些请求是传统数据库不能完成的,是由我们工程师开发的超大容量的数据库进行支持。

第二个模块是机器学习系统。这个系统对我们记录下来的所有事件分类、分析、处理。比如我们对广告和一个关键字的相关性进行处理,我们会对一个页面上面的概念进行抽取,我们会对用户的点击,以及转换机器学习。机器学习系统会建立非常大数学模型,这是支持我们广告质量的分的核心系统。

最后一个是实时匹配系统,这个系统完成了我们竞拍过程,每一个客户请求到来之后,我们会从机器系统中找到可以匹配的广告,从当中提取的模型对请求进行预算,对每个广告进行评分,最终完成竞拍的过程,把排名前面的广告展示在前面。

廉价硬件支撑起海量存储系统

新浪科技:Google有多少机器可以用来作为存储?

郄小虎:这个属于商业机密,可以告诉你超过上万台。

新浪科技:一开始Google还穷的时候不会有上万台机器,一开始怎么解决这个问题的?

郄小虎:这个是很有趣的问题,Google一开始走的路线是以大量廉价硬件和高质量软件结合解决这个问题。

新浪科技:廉价硬件。

郄小虎:刚刚提到数据库的问题,可以从市场上买最高端的服务器和数据库,但这些数据库没有办法处理Google的访问量。我们采用的办法是用大量的廉价的机器,构成大规模的机群,这些机群用的硬件,都是你可以在市场上找到最廉价的硬件。

在早期,我记得当时Google,曾经用卡车去买来了大量废弃的内存条,我们高质量的内存条可以保证,储存数据和读出来的数据是一致的,这些低水平的内存条是不能保证这点。你写进去的是1,出来的可能是0。像这样低质量的内存条,一般人家不会要的,但Google会要,我们可以检测到,从这样的错误中如何会恢复。

新浪科技:大家比较关心的是,一个错的信息我们为什么要?难道把错的信息提供给用户吗?

郄小虎:当我们有一百台机器之后,如果有一台机器跟其它九十九台不一致,不能避免每一台都给出正确的答案,大部分给出同一个答案的应该是正确的。

新浪科技:多个机器一块来算。

郄小虎:对。很多时候是多台机器对同一个请求进行计算,进行投票的机制。在早期没有足够的资金购买高端硬件的情况下,我们工程师想到非常聪明的解决方法。

新浪科技:现在不会再做这种?

郄小虎:有一些理念直到今天被应用。我们一直相信,大规模的机群通过协同工作,可以达到高端机器不能达到的行动。

新浪科技:刚才讲到机器学习系统,机器是通过什么样的原理学习的,通过我们自己编的软件,是有归纳还是什么过程,可以做到机器的学习呢?

郄小虎:这个是数学的建模过程,简单的讲它是根据历史来预测将来。如果说,我们看到在过去大部分用户的广告请求中,我们能够发现一些模式,那么我们会把这种模式,用来对未来进行预测。

支付原则:接纳山羊作为广告费

新浪科技:我们今天实际上在最后,也想问tiger一个问题,我们看到Google今天新的CEO上任之后,有很多改变,我们想知道在最开始的时候,Google的创始人包括在现在为止,对这个系统怎么看,他们当中有好玩的小故事没有?

郄小虎:我们两位创始人对系统要求相当高,对每一个产品来讲都要求我们能打造出非常优秀的广告平台。在一开始在我们广告平台没有完全搭建之前,他们已经有了非常长远的宏伟规划,其中有一个有趣的小故事。我们在广告平台建立时需要先设计一个系统,使广告商支付他们产生的费用。

在这个系统设计开始,Google创始人提出,在电子商务不发达的国家,我们必须支持以当地接受的形式进行支付的过程。比如说你在中亚的某个地区,大部分的交易是以物异物的交易,你必须允许广告商用他养的山羊来支付广告费用。

新浪科技:现在没有人给Google交羊是吧?

郄小虎:我们希望将来有一天是会实现的。

新浪科技:今天我们和tiger回忆了Google最赚钱的体系和发展,他有哪些失败怎么走向成功,他有很多经验,希望将来Google有更多的故事跟各位分享,我们今天的活动就到这里,谢谢tiger,谢谢大家!

看不过瘾?点击下面链接!
本站微信公众号:gsjx365,天天有好故事感动你!

相关电脑知识

美图欣赏

电脑知识排行榜