百度和 Google 的搜索技术是一个量级吗?
著作权归作者所有。 商业转载请联系作者获得授权,非商业转载请注明出处。 作者:Kenny Chao 链接:http://www.zhihu.com/question/22447908/answer/21435705 来源:知乎
- 搜索引擎需要对抓取到的结果进行管理。当索引结果越来越多时,保证存储和查询速度,保证数万台服务器内容一致的难度越来越高。Google于03至06年左右公布了三篇论文,描述了GFS、BigTable、MapReduce三种技术以解决这些问题。由于Google并没有公布算法细节,因此由雅虎牵头,在06年左右建立了开源项目Hadoop,目的是根据Google的三篇论文,实现一个大规模的管理计算系统。但直到08年,Hadoop同Google公布的一些关键指标仍有几倍的差距。百度曾经由王选院士的一个博士带领,想基于Google论文独立实现(金字塔计划)一个自己的系统,但开发难度过大项目夭折,最终也转向了Hadoop。如今,Amazon、Facebook、Yahoo包括百度都在大规模应用Hadoop,而Google已经从2010年开始迁移到新的三驾马车Caffeine、Pregel、Dremel上了。单就搜索技术而言,Google不是领先百度,而是领先全世界。
- 2009-2012年,Google公布了世界上第一个全球化的数据库系统Spanner,这套系统将分布在全球各地的数据中心连接到一起,利用原子钟和GPS,打破了地理间隔,实现了全球规模具有一致性和实时性的数据库。在Google之前,很多人认为这种系统不可能做出来,但Google做到了[1]。
另外,除了搜索,Google在深度学习和机器人方面也是全球领先的,尤其是后者。尽管百度也有深度学习研究院,但在这两方面跟Google比起来完全是空白。
事实上,让百度来和谷歌比是很不公平的,搜索只是Google的一个部门,但却是百度一整个公司。Google的竞争对手是Apple、Amazon、Facebook和Microsoft,百度的竞争对手是360、搜狗。Google没了搜索,还有Chrome、Android、Youtube,百度没了搜索,那就什么都没有了。
----------------------------------------------------------------------------------------------------------------------------------------------------
作者:布丁 链接:http://www.zhihu.com/question/22447908/answer/21532527 来源:知乎
2014.06.23:不知为什麽这个答案下突然多了很多讚和评论,来补充信息答谢观众。 关于繁体字问题,我是广*人,看香港电视长大,简繁体对我阅读没有什麽影响,在我眼裡更无高下之别,我用繁体字写这篇回答的唯一原因就是当时输入法的状态是繁体…… 为保持一致正文补充依然为繁体,盼见谅。
前百度员工,现 Google 员工,在两个公司做的都不是搜索相关项目。
先一句话回答:在与搜索相关的基础技术方面,百度距离 Google 仍有很大的差距,但今天是否还存在量级上的差距存疑。
开头先扯个不相干的领域,苏联 1960 年代装备的 Mig-25 [1] 截击机,这是世界上第一款能飞双三(三倍音速,30000米升限)的战斗机。西方世界面对这变态的性能参数惊诧莫名,推断苏联在航空技术上已全面超越西方。直到别连科驾驶 Mig-25 叛逃西方,他们终于有机会接触真机,才发现它使用的技术其实没那麽先进,变态的性能指标都是用普通的技术基础硬干上去的,飞机非常笨拙以至有「直线战斗机」的称号,可怜的发动机要真飞一次三倍音速落地就得报废。苏联的航空技术并没有他们想象的这麽逆天。
2009 年我在百度,面对 Google 公开的技术资料和百度的内部系统,我首先想起的就是 Mig-25. 就跟这台战机一样,当时的百度,在中文搜索结果质量的各项指标上,对比 Google 还是有优势。百度的工程师非常聪明,也非常努力,在某些点上也做得很细很出色,但是在与搜索相关的基础技术上,百度还是全面落后。百度的搜索质量提高,有很大部分是依靠人工做大量细緻的策略调整硬拉上去的。
用普通技术飞上双三,Mig-25 本身是个了不起的工程成就。下一代战机,不管是苏联的 Su-27 还是美国的 F-15, 乃至四代机 F-22, 都没有能飞出双三来的,但这些下一代战机在技术水准和整体性能上,无疑远胜 Mig-25, 这应该能算得上题主所说的量级差异。技术的量级差异不能拿某个特定指标或孤例评估(Mig-25 还曾击落过 F/A-18 呢),也不能只比较某些技术点上的优劣,而往往是决定于基础技术水平。
在 2009 年,我可以很肯定地说百度搜索相关的基础技术对比 Google 有量级差距。据我了解,这些年百度在基础技术方面进步很快,当然同时 Google 也在快速进步。它们在今天是否有量级的差异,我不确定。
下面列几个重要的而且公开资料较多的基础技术:
•大规模机群建设与管理。Google 的情况可以参见 [2] The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines, Second Edition. Google 拥有世界上最大的计算机集群,论机器数量的话能在量级上超过所有其他公司。同时,它有一整套自动化管理软件,以便工程师申请和使用这些硬件资源(大致可以理解成一套 Amazon EC2)。就我的了解,现在在普通工程师使用机群硬件资源的方便程度和可以使用的量上,百度还是远远不及。 •大规模计算与存储。Google 论文老三篇 GFS, MapReduce, BigTable 不再赘述,近年 Google 在这些方面的研发和进步没有停滞甚至在加快。当然百度也在努力追赶,百度不仅使用 Hadoop, 而且基于 Hadoop 做了大量改进和扩展,并贡献回 Hadoop 开源社区。百度在 SSD 存储技术等方面也很有心得,比如 flash 存储方面最近中了的一篇 ASPLOS '14 SDF: Software-Defined Flash for Web-Scale Internet Storage System. •机器学习和人工智能。被吹得神乎其神的 deep learning 和 Google Brain 等等。在 deep learning 这个相对较新的领域,百度追赶的更快,水平也更接近。
机群管理的技术水平决定你能拥有和有效使用多少硬件资源,大规模计算与存储决定你能在这些硬件上做多大规模的事情 —— 而最后,搜索引擎本身就是一套大规模机器学习系统。
在纯技术之外,我想特别提一点极大影响技术进步,而至少在 2009 年百度与 Google 差距巨大的因素:普通工程师所能使用的工具水平。我在 Google 感觉最爽的事情是我可以很容易获得大量的计算资源,做以前无法想象的大规模数据分析。要验证一个想法,我可以基于一整天的搜索记录做分析,只需几分钟就能得到结果(参见 [3]),进行调整和下一步分析;而如果没有这套基础软件和可以随意使用的硬件资源,我可能得等一整天才能有结果,或者只能分析小规模的抽样数据。在我自己的知识和技术水平不变的前提下,Google 这套系统极大地提高了我的工作效率,让我能做到以前完全无法想象的事情。
我觉得作为一个技术人员,黑或者捧哪个公司毫无意义,技术的事情很直接的,身在哪个公司都无法影响基本判断。还在百度的时候,我就经常想,Mig-25 的故事是个很好的警示,人很容易为类似「双三」这样的成就沾沾自喜,而对实打实的基础技术差距视而不见,不图进步,那前景就相当危险了。幸好据我所知的情况,百度可没有这麽不争气。
2014.06.23: 补充一个实际例子来说明不同技术条件下两个公司做事思路的区别。
评论中有朋友提到百度的分词技术,这确实是「百度更懂中文」的一个集中体现。百度当年做分词的时候很可能是这样的:先从一个人工编辑好的字典开始,用这个字典跑一些网页,观察分析裡面的 bad case —— 可能是分词过细,或者是中文人名没分出来,然后就尝试根据中文语法规律加入规则或添加词表解决这些 bad case, 如此往复,直到有满意的结果。上线应用,发现有新的 bad case 就再研究加规则,当然也有自动流程发现和确认如「人艰不拆」之类的新词。
Google 做分词的话就是把问题看成一个概率问题:如果中文网页中哪些字经常一起出现,那麽它们很有可能就是一个词。看哪些词后面会跟的地得,的地得后面有常跟哪些词,语法结构也就出来了。(具体的模型参见吴军《数学之美》)。解题思路就是把所有抓到的中文网页往 MapReduce 裡一丢,参数算出来就好了。评估分词质量的方法也很简单,就拿新模型放到网页检索的模型裡,做个实验看质量有没提升就行。这套方法结果之好,基本把中文分词做成了一个没有多少悬念的简单问题,而且基本不需要中文语言专家的参与(自然也没有谁更懂中文的问题)。同时这也就是 Google 做 Translate 的思路。这裡面基本方法其实非常简单,没什麽祕密可言,但是你得先有这麽多的网页数据,还得有大机群,有分佈计算框架,还有可复用的模型……
我认为在技术受限的条件下,人工微调优化结果是一个恰当的产品思路,但这个产品思路会与技术发展路线相互影响。对于长尾头部的一千个热词,完全可以用人工编辑的方法做出非常好的结果,而短期内改进通用的机器模型达到人工编辑的效果几乎不可能。这时候,人工调整可能会受鼓励,而通用模型的技术改进可能就得不到足够的重视 —— 虽然即使以中国的人力成本,对所有搜索结果人工调优也绝无可能,但能搞定长尾头部也不错了不是?Google 的主流技术思路则是骨子裡不相信人工调整,什麽事情都非得弄出个自动通用可扩展的模型来不可,这种思路可能一开始在那一千个热词上怎麽都比不过勤劳接地气的编辑,但通过积累数据调整模型,假以时日,整体结果质量就会显著提升 —— 我就是这麽看 2009 年时 Google 搜索质量给我们的压力的。这种思路在具体的产品运营上不一定对,不是人人都有 Google 的资源来花时间做通用技术,但 Google 确实就在这种「技术碾压一切」的(错误?)道路上越走越快。
----------------------------------------------------------------------------------------------------------------------------------------------------
好吧,既然大家都一致鄙视百度,为谷歌欢喜鼓舞的叫好,我就来插一脚,为百度打抱不平一下吧。
声明立场:我承认谷歌在很多方面很强,这里只是说一些百度也不错的地方。给大家提供一些新的思维,希望能够对大家有启发。
1,在搜索江湖的早期历史中,李彦宏的技术创新领先于谷歌。
1994年,infoseek公司成立,其后推出搜索引擎服务,很快成为了市场上最受欢迎的搜索技术提供商。作为技术的领先者,这家公司的产品被网景浏览器设置为默认的搜索引擎。要知道,在那个年代的美国市场上,网景浏览器占有了90%以上的市场份额。于是,在网景春风得意的岁月里,搜索引擎=infoseek。
——infoseek的CTO是威廉张,曾经以“次线性文本匹配算法上的突破性成果获得了美国加州大学的计算机博士学位”,其后于2006年加入百度成为首席科学家。
——infoseek的核心研发工程师是李彦宏,其首创的“超链分析”技术是现代搜索引擎的基础发明之一。这个技术率先解决了如何将基于网页质量的排序与基于相关性的排序完美结合的问题,并获得了美国专利。
在搜索引擎的早期发展史中,李彦宏+威廉张,无疑是技术的领先者。在1998年的布里斯班世界互联网大会上,李彦宏是主讲台上的技术布道者,而谷歌的两位创始人仍是坐在台下聆听的学生而已。
infoseek的衰落,不是因为技术,而是因为商业模式,他仅仅是隐藏在网景浏览器背后的技术提供者。随着网景在与微软IE浏览器的竞争中失利,infoseek无可避免的出现了大幅亏损,贱卖给迪士尼后不适应于传统企业的官僚管理作风,更加加速了自己的末日到来。
同一年,谷歌推出自己的搜索引擎,以精准广告为商业模式,成功解决了持续成长的问题,在搜索江湖的较量中熬到了最后。谷歌今日引以为荣的网页评级机制pagerank技术,直到2001年才被授予美国专利,比李彦宏的1996年申请的超链分析专利技术晚了5年。
注意:我以上这段要说的是,李彦宏的技术水平并不输于谷歌的两位创始人。看轻百度那你就无知了。
2,百度从一开始就和谷歌走上了不同的发展方向。
谷歌在2000年就已经建立了搜索行业的统治地位,而在这一年,李彦宏才回国创业,无论在资金还是人才上都处于绝对劣势地位。
百度如果要跟谷歌比拼搜索精度,那是飞蛾扑火,李彦宏当然不会犯下这种蠢事。从一开始,百度所选择的就是一条农村包围城市,侧翼攻击的路线。
在早期的网页搜索上,百度的原则是能用就行。所以,你在百度上搜到的,几乎都是网站的首页,而谷歌的都是内页。
百度的真正重点是,提供谷歌不能提供的服务。2002年,百度率先推出mp3音乐搜索,2003年推出图片,贴吧,新闻,搜索风云榜服务。正是这些多元化的垂直服务,让百度实现了在中国市场上的后来者居上。如果你了解百度的历史,你就知道,在早期的百度流量中,mp3盗版音乐的搜索和下载,一度贡献了40-50%的用户来源。贴吧同样获得巨大成功,在2004年的超级女声热潮中,大量的音乐粉丝涌入贴吧为他们的偶像加油,这个产品一度为百度带来了超过20%的流量。
mp3,图片,贴吧,是百度早期最重要的三项服务,他们的流量贡献加起来甚至超过了网页搜索。
3,百度真正在搜索技术上开始发力,是在2009年后。这一年,百度推出框计算,在一站式生活搜索方面,开始超越谷歌。
举个例子:
判断百度和谷歌在搜索技术上是不是一个量级的标准是什么?
技术是不是一个量级,不是由一堆玄而又玄的技术名词决定的,而是由行业发展过程中对实际需求的满足变化决定的。
举个例子,
飞机时代的划分,
一代机:喷气发动机
二代机:高空高速,2倍音速
三代机:中低空机动敏捷性
四代机:隐身性能
二代机比一代机性能更好,飞的更高,速度更快,但是到了三代机的时代,即使你的飞行能够去到3万米高度又怎么样?这个时代更讲究的是低空的格斗性能。
到了四代机的时代,隐身性能才是决定性的,你机动性再好也没用了,你发现不了敌人。
到了今日,智能无人机技术又是起决定性作用的技术,其他的都不重要了。
技术的发展并不是线性的,而是理念的改变,带来了更革命性的进步。
一架性能差点的隐形机,比一架没有隐形性能的三代机,谁的作战效果更好?什么,你认为隐形技术不是技术,发动机性能才是技术?别脑残了好不好。
说回搜索引擎技术的发展,无非就是为了让人们更好的找到自已需要的信息,是搜索结果的准确性,而不是收录的网页数量,拥有的专利数量决定的。
第一代搜索引擎:以雅虎为代表,目录式结果呈现。
第二代搜索引擎:以谷歌和百度为代表,网页引用评级技术呈现结果,至于权重设置的不同考虑不能体现差距。
第三代搜索引擎:不知道各位的划分标准是什么,是什么gps和原子钟技术么?实际使用中差别有革命性变化么?反正我是感觉不出来。
谷歌的技术创新能力很强,在安卓系统、无人驾驶汽车、谷歌眼镜这些技术上都有很多创新,但在搜索引擎技术上,我的感觉是,最近5年来并没有明显的进步。
相反,百度从2008年到2013年这5年,我的使用体验感觉是进步很明显的。
在我看来,搜索引擎发展到今天这个时代,更重要的趋势是智能化的语义理解,而不是一楼答案所说的“gps和原子钟技术,打破了地理间隔,实现了全球规模具有一致性和实时性的数据库。”
收录的网页多一些,搜索的速度快0.001秒,这些微不足道的区别,就相当于IPHONE4和IPHONE4S的区别,或许是挑战了新的技术极限,但是对于普通用户的实际体验来说,区别不大。
而三星的大屏智能手机,在很多人看来并没有什么高深的技术,但是偏偏是更满足用户的使用体验和需求的,于是三星的市场份额就不断壮大了。
百度所发展的框计算技术,在我看来,恰恰是更适合搜索引擎行业发展趋势的。
让你的搜索更能理解你的问题,给你更准确的答案,
——不用跳转就将答案直接呈现在你的面前。什么?你认为百度这样违背了搜索的公平公正精神?别脑残了,搜索就是为用户服务的,谁能够在最短的时间内让用户得到最正确的答案,对于用户来说就是最好的搜索体验。将来语音搜索技术成熟了,你说告诉我王菲唱过什么流行歌?百度直接就将歌曲列表呈现出来,按热门度排列供你选择播放,谷歌先问你,我这里有**,**,**,音乐公司提供的服务,请选择,进了音乐公司的链接,音乐公司又说,请先登录会员,登陆会员后……如此一番下来,谁的服务更好,自己考量吧。
——通过知道、贴吧、百科、第三方网站的接入,综合满足你的多方位搜素需求,而不是只提供一个单一的网页。你想去某个地方,告诉你汽车、火车、飞机不同交通手段的通行方式,告诉你花费的时间,购买的费用,直接购买的入口,而不是只有一个冷冰冰的第三方链接。你输入一个名人的名字,呈现给你相关的照片、影视作品、最新的新闻、粉丝讨论的社区、与名人存在社交关系的名人链接,所有这些服务,都是非常直观的,而不是只像谷歌一样给你一个维基百科了事。
——搜索的问题不止于“等于”,而是“相当于”等类似问题都能听懂。所谓智能,不就是即使我语法用错了,也能听懂么?
在这一点上,或许谷歌在英文上也有一些应用提供,但是百度做的更加深入、更加完善,从这个角度来说,他们不但是一个量级的,百度也有领先谷歌的地方。
很多人认为百度的搜索答案都只是人工干预的结果,没有技术含量,我感到很遗憾。
或许早年是如此,但是现在应该已经有很大的改进了。
我举个例子。
前面的谢霆锋的身高的问题,为什么百度能够给我答案,谷歌给不了呢?
百度该不会无聊到这么细节的问题都专门去优化一下答案吧,当然不是了,这些答案都是依托于百科里用户自行编写的答案,百度不过是把他们的知识有机的整合起来,通过程序的设计,巧妙的呈现到你的面前。
是的,谷歌的搜索技术很先进,但他的所有答案都是依托于外部链接的,他没有自己的知识库。这就像一个人,他的逻辑思维和知识是割裂的,可以给你答案,但这答案必然是生硬的,无法做到水乳交融。
百度不同的是,他是有自己的知识库的,知道,贴吧,百科,这三个社区的知识可以跟他的思维进行有机整合,将得票最高的热门答案很直观的呈现到你的面前。
…………
正是因为有前面这些有机整合为基础,
百度可以通过逻辑思考,a推出b,b推出c,c推出d的结论,将答案d呈现到你的问题结果里。
但谷歌就做不到,他只能给你答案b,c之后的结论就只能由你自己去寻找了。
这就是为什么我问张柏芝的儿子的爸爸的身高,百度能够告诉我的原因。
所谓深度学习,不就是人类知识库的有机整合嘛,谷歌的思维和知识库的割裂,导致了在这方面的进步必然要慢于百度,原理就像是一个人的头脑指挥自己的手脚必然比两个人的合作效率更高。
因此在未来的搜索技术竞争中,我认为百度的路线是正确的。
有朋友问,为什么你问谢霆锋的身高就能搜到答案,我问陈冠西或者** *就搜不到呢?
请记住,这些类似问题的答案完全取决于用户在社区里的编写。在张柏芝的百科里有提及,儿子是谢振轩,在谢振轩的百科里有提及,老子是谢霆锋,在谢霆锋的百科里有提及,身高是174,那么你就能搜到这个答案。
如果其中任何一个环节出现了缺失,你就无法得到答案。
答案的正确与否,取决于知识库的自我完善和纠错。就像你问百度是个大SB吗?百度知道的高票答案告诉你百度就是个大SB。这能说明这个答案是百度的人工干预吗?很明显不能嘛,这只能说明SB用户太多了而已。
就像知乎的答案一样,开始问题提出的时候,高票答案是错误的,没有关系,慢慢的新的正确答案会被顶上去,错误答案会被折叠或者报错。
人类的知识库是在不断的自我完善和丰富的,百度的算法也是在不断改进的,目前这些技术仍然处于起步阶段,请以发展的眼光来看待他。
PS:那些说我偏袒百度的朋友们:
在这个提问下面,为谷歌敲锣打鼓,大声赞美的答案还不够多么?难道你们的心里就不能容忍一个不同的声音,非要我也来高呼,谷歌千秋万代,一统江湖,你才满意么?!
说我不懂谷歌关键字搜索技巧的朋友们:
我怎么会不懂呢?但是一定要懂关键字,搜索引擎才能听懂,换个字眼,换个语法,他就不懂了,这语言理解水平也太烂了吧?你确定你不是在黑谷歌?!
最后,作为一个对互联网行业观察和研究已经超过15年的投资者,我可以很明确的告诉大家:
搜索引擎行业的技术发展方向,一定是“自然语言人机对话+智能化逻辑思考”。 不要跟我说,百度是给你答案,谷歌是给你思考,人永远是懒惰的动物,希望产品适应人的需求,而不是人去适应产品的要求。
在这个方面,百度的技术发展水平与谷歌的差距是越来越接近的。
须知,技术的研发来自金钱的投资和人才的聚集,百度在2008年后才逐渐拥有一定的家底,开始加大在搜索技术的研发投入;而谷歌,她的研发重点已经转移至其他的领域了。这就是百度与谷歌在搜索技术的发展水平越来越接近的主要原因。