内存减少3%-7%!谷歌提出机器学习框架mlgo用于编译器优化

MLGO 使用强化学习训练神经网络来作决策,是一种用机器学习策略取代复杂的启发式方法。作为一个通用的工业级框架,它将更深入、更广泛应用于更多环境,不仅仅在内联和寄存器分配。

作者 | 钱云迪、Mircea Trofin

编译 | 刘冰一

编辑 | 陈彩娴

现代计算机诞生,如何编译更快、更小的代码问题随之出现。

编译优化是成本收益比最高的优化手段,更好的代码优化可以显著降低大型数据中心应用程序的操作成本。编译代码的大小对于部署在安全引导分区上的移动和嵌入式系统或软件来说是至关重要的,因为编译后的二进制文件必须符合严格的代码大小预算。随着这一领域的进步,越来越复杂的启发式方法严重挤压有限的系统空间,阻碍了维护和进一步的改进。

最近的研究表明,机器学习可以通过用机器学习策略取代复杂的启发式方法,在编译器优化中释放更多的机会。然而,在通用的、行业级编译器中采用机器学习策略仍然是一个挑战。

为了解决这个问题,谷歌两位高级工程师钱云迪、Mircea Trofin 提出了“MLGO,一个机器学习指导的编译器优化框架”,这是第一个工业级的通用框架,用于将机器学习技术系统地集成到 LLVM(一个开源的工业编译器基础设施,在构建关键任务、高性能软件时无处不在)中。

论文地址:https://arxiv.org/pdf/2101.04808.pdf

MLGO 使用强化学习训练神经网络来做出决策,以取代 LLVM 中的启发式算法。根据作者描述,LLVM 上有两处 MLGO 优化:

1)通过内联减少代码量;

2)通过寄存器分配提高代码性能。

这两种优化都可以在 LLVM 资源库中获得,并已在生产中部署。

1 MLGO是如何工作的?

内联(Inlining)有助于通过做出能够删除冗余代码的决策来减少代码大小。在下面的示例中,调用者函数 foo调用被调用者函数bar,而bar本身又调用了baz。内联这两个调用站点将返回一个简单的foo函数,该函数将减小代码大小。

图注:内联通过删除冗余代码来减少代码大小

在实际代码中,有成千上万的函数相互调用,因此构成了一个调用图(Call graph)。在内联阶段,编译器遍历(traverses)所有调用者-被调用者对的调用图,并决定是否内联一个调用者-被调用者对。这是一个连续的决策过程,因为以前的内联决策会改变调用图,影响后面的决策和最终的结果。在上面的例子中,调用图foobarbaz需要在两条边上做出“yes”的决定,以使代码大小减少。

在MLGO之前,内联/非内联的决定是由启发式方法做出的,随着时间的推移,这种方法越来越难以改进。MLGO用一个机器学习模型代替了启发式方法。在调用图的遍历过程中,编译器通过输入图中的相关特征(即输入)来寻求神经网络对是否内联特定的调用者-被调用者对的建议,并按顺序执行决策,直到遍历整个调用图为止。

图注:内联过程中MLGO的图示,“ # bbs”、“ # users”和“ callsite height”是调用者-被调用者对特性的实例

MLGO 使用策略梯度和进化策略算法对决策网络进行 RL 训练。虽然没有关于最佳决策的基本事实,但在线 RL 使用经过培训的策略在培训和运行汇编之间进行迭代,以收集数据并改进策略。特别是,考虑到当前训练中的模型,编译器在内联阶段咨询模型,以做出内联/不内联的决策。编译完成后,它产生一个顺序决策过程的日志(状态、行动、奖励)。然后,该日志被传递给训练器以更新模型。这个过程不断重复,直到得到一个满意的模型为止。

图注:训练期间的编译器行为——编译器将源代码foo.cpp编译成对象文件foo.o,并进行了一系列的优化,其中一个是内联通道。

训练后的策略被嵌入到编译器中,在编译过程中提供内联/非内联的决策。与训练场景不同的是,该策略不生成日志。TensorFlow 模型被嵌入 XLA AOT ,它将模型转换为可执行代码。这避免了TensorFlow运行时的依赖性和开销,最大限度地减少了在编译时由ML模型推理引入的额外时间和内存成本。

图注:生产环境中的编译器行为

我们在一个包含30k 模块的大型内部软件包上培训了大小内联策略。训练后的策略在编译其他软件时可以推广,并减少了3% ~ 7% 的时间和内存开销。除了跨软件的通用性之外,跨时间的通用性也很重要,软件和编译器都在积极开发之中,因此训练有素的策略需要在合理的时间内保持良好的性能。我们在三个月后评估了该模型在同一组软件上的性能,发现只有轻微的退化。

图注:内联大小策略大小减少百分比,x 轴表示不同的软件,y 轴表示减小的百分比。“Training”是训练模型的软件,“InfraX”是不同的内部软件包。

MLGO 的内联换大小训练已经在 Fuchsia 上部署,Fuchsia 是一个通用的开源操作系统,旨在为不同的硬件和软件生态系统提供动力,其中二进制大小是关键。在这里,MLGO 显示 C++ 翻译单元的大小减少了6.3%。

2 寄存器分配

作为一个通用框架,我们使用 MLGO 来改进寄存器分配(Register allocation)通道,从而提高 LLVM 中的代码性能。寄存器分配解决了将物理寄存器分配给活动范围(即变量)的问题。

随着代码的执行,不同的活范围在不同的时间完成,释放出的寄存器供后续处理阶段使用。在下面的例子中,每个 “加法 “和 “乘法 “指令要求所有操作数和结果都在物理寄存器中。实时范围x被分配到绿色寄存器,并在蓝色或黄色寄存器的实时范围之前完成。x 完成后,绿色寄存器变得可用,并被分配给活范围t。

在代码执行过程中,不同的活范围在不同的时间完成,释放出的寄存器供后续处理阶段使用。在下面的例子中,每个“加法”和“乘法”指令要求所有操作数和结果都在物理寄存器中。活动范围 x 被分配到绿色寄存器,并在蓝色或黄色寄存器的实时范围之前完成。x 完成后,绿色寄存器变得可用,并被分配给活范围 t 。

图注:寄存器分配示例

当分配活动范围 q 时,没有可用的寄存器,因此寄存器分配通道必须决定哪个活动范围可以从其寄存器中“驱逐”,以便为 q 腾出空间。这被称为“现场驱逐”问题,是我们训练模型来取代原始启发式算法的决策。在这个例子中,它将 z 从黄色寄存器中驱逐出去,并将其赋给 q 和 z 的前半部分。

我们现在考虑实际范围 z 的未分配的下半部分。我们又有一个冲突,这次活动范围 t 被驱逐和分割,t 的前半部分和 z 的最后一部分最终使用绿色寄存器。Z 的中间部分对应于指令 q = t * y,其中没有使用 z,因此它没有被分配给任何寄存器,它的值存储在来自黄色寄存器的堆栈中,之后被重新加载到绿色寄存器中。同样的情况也发生在 t 上。这给代码增加了额外的加载/存储指令,降低了性能。寄存器分配算法的目标是尽可能地减少这种低效率。这被用作指导 RL 策略训练的奖励。

与内联大小策略类似,寄存器分配(regalloc-for-Performance)策略在 Google 内部一个大型软件包上进行了培训,并且可以在不同的软件上通用,在一组内部大型数据中心应用程序上每秒查询次数(QPS)提高了0.3% ~ 1.5% 。QPS 的改进在部署后持续了几个月,显示该模型的可推广性。

3 总结

MLGO使用强化学习训练神经网络来作决策,是一种机器学习策略取代复杂的启发式方法。作为一个通用的工业级框架它将更深入、更广泛应用于更多环境,不仅仅在内联和寄存器分配。

MLGO可以发展为:1)更深入,例如增加更多的功能,并应用更好的 RL 算法;2)更广泛,可应用于内联和重新分配之外的更多优化启发式方法。

作者对 MLGO 能够为编译器优化领域带来的可能性充满热情,并期待着它的进一步采用和研究界未来的贡献。

参考链接:

https://ai.googleblog.com/

github:https://github.com/google/ml-compiler-opt

demo:https://github.com/google/ml-compiler-opt/blob/main/docs/demo/demo.md

语言处理人工智能由谷歌地图(Google Maps)培训:每年有数亿条帖子被删除,还有大量培训样本

编辑:袁榭 拉燕

【新智元导读】从自动识别街牌、到自动删除诈骗信息,谷歌地图这个项目现在越发依赖于机器学习的工具。

遏制不良网络动态的未来,掌握在机器学习的手中。

在搜索业巨擘谷歌的手中,机器学习工具在2021年通过监管谷歌地图上的违规行为,得到了真正的锻炼。

谷歌地图团队表示:「我们的团队致力于让真人用户在地图上发布的内容尽量可靠,并基于现实世界的亲身体验。这项工作有助于保护企业免受欺凌和诈骗,并确保评论对用户有帮助。这个内容政策旨在防止我们的平台上出现误导性、虚假性和辱骂性评论。」

谷歌用机器学习一年内删除过亿次欺诈性编辑、近两亿条违规影像

谷歌公司在最近一篇关于如何保持地图信息可靠的官方博客帖子中,表示该公司结合了机器学习和人工操作员,在2021年内阻止了超过1亿次对地图应用程序上的谷歌商户页面资料进行欺诈性编辑的企图。

这得益于不断进步的机器学习模型,提升了谷歌识别机器人恶意刷屏以及可疑行为的效率。

用同样的方式,谷歌公司还删除了超过700万份地图应用程序上的假商户页面,其中有63万份删除是基于用户真人报告的。

此外,谷歌表示,它还阻止了1200万次诈骗犯假冒其他公司的尝试,并阻止了800万次索取地图应用程序上其他公司商户页面权限的欺诈行为。

机器学习工具还帮助谷歌地图团队删除了近2亿份「低清晰度或违反规则」的违规照片和视频。

最重要的是,由于这些违规操作,谷歌删除了100万个用以诈骗的用户账号。

这条关于维持谷歌地图可靠性的帖子,还提到了在2021年新冠疫情缓和、商业活动重新开张后,谷歌如何保护商家免遭地图应用程序上相关虚假评论损害所采取的措施。

超过9500万条违反谷歌相关规则的地图页面评论被删除,其中6万条在不同程度上与新冠相关的问题有关。

谷歌地图每天会收到大约200万条来自用户贡献的信息。这些信息中包括随时更新的商户经营时间、联系方式和顾客评论。

在整个2021年,用户提供的信息帮助谷歌地图完善了商户页面服务。2021年在谷歌地图上出现的商家比2020年多了30%。

谷歌地图这个大受欢迎的程序,无疑会成为吸引不当行为的磁石。因此谷歌在维持程序环境清朗上付出了巨大努力,着实令用户欣慰。

额外训练让审核的AI更智能

但是,虽然谷歌地图使用机器学习取得了很好的效果,但人工参与此过程毋宁更加令用户放心,毕竟AI的智能实在有其极限。

比如说一家披萨店的大蒜面包味道实在太糟,用户给出「炸裂」的开玩笑评论,结果被AI当成是暴力威胁给删除了。人工智能实在没有幽默感。

谷歌地图团队中,负责用户发布内容的产品经理Ian Leader在官方博客的贴文中描述了如何结合机器学习与人工审核:

机器学习在审核过程中发挥着重要作用。大量应用机器学习的审核系统是谷歌的「第一道防线,因为它们擅长模式识别」。

这个系统会检查每条评论是否存在可能违反规则的行为。例如,系统会判别评论的语言模式、用户或企业帐户的历史记录、以及是否存在与特定经营地点相关的任何异常活动(例如一星或五星评论数量的突然剧增)。

Leader称,机器学习模型在任何用户看到之前就消除了「绝大多数虚假和欺诈性内容」。这个过程可能只需要几秒钟,如果模型在评论中没有发现任何问题,它会极快通过之、让其他用户读到。

不过,这些系统并不完美。Leader举例:「有时「男同性恋」这个词被用作贬义词,这在谷歌应用程序的评论栏中是不被允许的。

但如果机器学习模型在训练时只使用了仇恨言论的数据集,我们可能会错误地删除那些同性恋企业主的广告、或关于性少数人群安全空间的评论。」

因此,谷歌地图团队经常对AI进行质量测试并进行额外的训练,以教授系统特定单词和短语的各种语境背景,以此完善机器学习模型、减少偏见值、保证让AI在删除有害内容和保护有用评论之间取得平衡。

谷歌地图还有一组人在人工评估企业和用户标记的评论。在某些情况下,除了删除违规评论外,谷歌还会暂停用户帐号并提起诉讼。

机器学习为谷歌地图读街牌

谷歌地图的业务,仰赖于机器学习算法的部分其实远不止审核。可以说,没有机器学习,现在一大半谷歌地图的业务都开展不下去。

图像和审查过的数据是静态的,跟不上用户周遭不断变化的世界。机器学习算法可以分析即时图像和数据,并识别新数据的变化。

如此,地图应用可以仅根据真实环境最晚近的更改进行更新。这提高了地图内容生成的速度、并保证生成过程自动化的同时保持准确性。

谷歌地图项目利用深度神经网络自动执行图像信息读取过程。算法可通过TensorFlow在GitHub上公开获得,TensorFlow是谷歌自己的开源机器学习软件库。

谷歌地图项目早已在用机器学习来识别汽车牌照,现在还在使用相同的技术从路牌中获取信息。

谷歌旨在使用这项技术,改善地图应用中全球约三分之一地址的位置数据。在法国的几个比较有识别难度的街道标志上进行测试时,最新的机器学习算法实现了84.2%的准确率,性能优于以前。

谷歌地图项目现在应用的机器学习工具,改进了过去读取街道编号和街道名称的软件套装。新算法可以去掉图片中任何不相关的文字,并用全名替换之前无法判读的缩写。

算法为谷歌地图识别建筑物轮廓

建筑物是地标,是用户在查看地图时如何知道自己所在位置的关键部分。

过去的旧算法在试图猜测图片的一部分是否是建筑物时,常会生成形状不规则的斑快。当这些图片叠合在地图上时,就看起来全不是真实的建筑物了。

为了解决这个问题,谷歌数据运营团队持续手动标记常见的建筑轮廓,然后使用这些标注过的数据,训练机器学习算法,让AI学会哪些图像与建筑边缘和形状相对应。

依靠谷歌的技术力、资金,与人力,现在如此流程让AI在一年内于地图上标绘的建筑物,与过去十年标绘的同样多。

现在,当某个区域出现新建筑物或商铺时,谷歌的机器学习算法会识别变化并更新现有地图,而不是重新绘制整个区域的地图。这为服务的供需双方都节省了大量的时间和精力。

算法为谷歌地图更新实时公交数据

谷歌公司正在构思新的方式,让用户实时了解他们乘坐公交车的状态。

谷歌地图将通过机器学习实现预测能力,提前通知用户他们要乘坐的公共班次是否会遇到阻碍延误。谷歌地图现在的算法能实时获得跟踪数据,试运行中已能预测全球数百个城市的延误。

概言之,谷歌的机器学习模型使用标准的交通数据作为基准真值,再针对公交车行进和路线的特殊性进行调整。

谷歌地图团队从公共汽车的位置序列中提取训练集数据,这些数据来自公交机构的实时反馈,再将它们与行程中公交车的行进速度对齐,就能得出置信度极高的训练数据集。

在世界日新月异变化的今天,谷歌地图所提供的最新的信息弥足珍贵。没有机器学习,谷歌地图也难以为继。

参考资料:

https://www.androidpolice.com/google-maps-machine-learning-block-100-million-abusive-edits/https://blog.google/products/maps/how-we-kept-maps-reliable-2021/https://www.engadget.com/google-maps-review-bombing-machine-learning-153740932.htmlhttps://blog.google/products/maps/how-google-maps-reviews-work/https://www.springboard.com/blog/data-science/machine-learning-google-maps/

谷歌在“量子霸权”上的新举措!开源量子机器学习库降低量子计算门槛

智东西(公众号:zhidxcom)编 | 心缘

当量子计算碰到机器学习,会擦出什么新火花?

智东西3月10日消息,谷歌今天宣布推出量子机器学习库TensorFlow Quantum(TFQ)。

该工具可以构建量子数据集、原型混合量子模型和经典机器学习模型,支持量子电路模拟器以及训练判别和生成量子模型。

TFQ白皮书《TensorFlow Quantum:用于量子机器学习的软件框架》已在3月6日提交给预印本平台arXiv。论文作者有20多位,分别来自谷歌最神秘的部门Google X、滑铁卢大学量子计算研究所、NASA的Quantum AI Lab、大众汽车和Google Research。

白皮书中写道:“我们希望这个框架为量子计算和机器学习研究界提供必要的工具,以探索经典和人工量子系统的模型,并最终发现可能产生量子优势的新量子算法”,“将来,我们希望扩展支持的自定义仿真硬件的范围,以包括GPU和TPU集成。”

自去年谷歌首秀“量子霸权”后,陆续有科技公司公开踏入量子计算这一面向未来的超级计算战场,最新的公布还有微软云量子计算服务Azure Quantum、亚马逊云服务Amazon Braket和霍尼韦尔号称“全球功能最强的计算机”。

废话不多说,快来看看谷歌这次的新发布究竟有何亮点?

TFQ白皮书:https://arxiv.org/pdf/2003.02989

一、为什么需要量子机器学习工具?

物理学家理查德·费曼(Richard Feynman)曾说过:“自然不是古典的,该死的,因此,如果要模拟自然,最好将其变成量子力学的。”

由于自然现象遵循量子规则,因此Masoud Mohseni认为,如果机器学习模型要准确地反映世界,那么它们也必须是量子的。

机器学习(ML)虽然不能准确地模拟自然界中的系统,但可以学习系统模型并预测系统的行为。过去几年,经典机器学习模型为解决具有挑战性的科学问题带来新希望,包括癌症早筛、余震预防、天气预测、行星探索等。

随着量子计算发展的最新进展,新的量子机器学习模型的开发可能会对世界上最大的问题产​​生深远的影响,从而在医学、材料、传感和通信等领域取得突破。

量子机器模型可以处理量子数据,并在当今可用的量子计算机上执行处理任务。但迄今为止,人们缺乏研究工具来发现有用的量子机器模型。

因此,谷歌研究人员与滑铁卢大学、大众汽车等机构的研究人员合作,研发用于快速建立量子机器学习模型原型的开源库TensorFlow Quantum(TFQ)。

二、TFQ能做什么?

从事过人工智能相关研究的学者和从业者对谷歌TensorFlow都不陌生,它是全球最流行的机器学习开源框架,提供很多可重复使用的代码,使训练机器学习模型变得更简单快捷。

TFQ是TensorFlow中的一个开源库,它能让使用者不必被量子计算的种种细节所困扰,更快更方便地编写量子应用程序,让处理量子数据变得更加容易。

TFQ提供了可以将量子计算和机器学习研究界聚集在一起的必要工具,以控​​制和建模自然或人工量子系统。例如嘈杂中型量子(NISQ)处理器,具有约50-100量子位。

使用者可以在实际的量子计算机和经典计算机上模拟之间切换。也就是说,可以先在模拟中调试量子应用程序,然后再尝试在完整的量子设置上运行它。

负责TFQ项目的Masoud Mohseni希望,编码人员将使用TFQ来发现基本可重用的新算法。

在底层,TFQ将Cirq与TensorFlow集成在一起,并通过提供与现有TensorFlow API兼容的量子计算基元以及高性能量子电路仿真器,为判别式和生成式量子经典模型的设计和实现提供高级抽象。

Criq Github链接:https://github.com/quantumlib/Cirq

三、什么是量子机器学习模型?

量子模型具有以量子力学原点表示和概括数据的能力。

不过,要理解量子模型,还需引入两个概念:量子数据混合量子经典模型

1、量子数据

量子数据表现出叠加和纠缠,从而导致联合概率分布,这可能需要成倍数量的经典计算资源来表示或存储。

能在量子处理器、传感器、网络上生成/模拟的量子数据,包括化学物质和量子物质的模拟、量子控制、量子通信网络、量子计量学等等。

值得注意的是,NISQ处理器生成的量子数据是嘈杂的,通常在测量发生之前就被纠缠了。

而将量子机器学习应用于嘈杂的纠缠量子数据,就能最大程度地提取有用的经典信息。

受到这些技术的启发,TFQ库提供了用于开发模型的原语,该模型可解开并概括量子数据中的相关性,从而为改进现有量子算法或发现新的量子算法提供了机会。

2、混合量子经典模型

由于近期的量子处理器仍然很小且嘈杂,因此量子模型不能单独使用量子处理器,NISQ处理器需要与经典处理器协同工作才能生效。

TensorFlow已经支持跨CPU、GPU和TPU的异构计算,非常适合试验混合量子经典算法。

TFQ包含指定量子计算所需的基本结构,如量子位、门、电路和测量运算符等。然后用户指定的量子计算就可以在仿真中或在实际硬件上执行。

Cirq还包含大量机制,可帮助用户设计NISQ机器(例如编译器和调度程序)的高效算法,并使混合量子经典算法的实现能够在量子电路模拟器上运行,并最终在量子处理器上运行。

研究人员已将TFQ用于混合量子经典卷积神经网络、用于量子控制的机器学习、用于量子神经网络的分层学习、量子动力学学习、混合量子态的生成建模以及通过经典递归神经网络,并在TFQ白皮书中列有对这些量子应用的回顾,每个示例都可以在其研究资料库中通过Colab在浏览器中运行。

四、TFQ具体如何操作?

如图是TFQ的软件堆栈,共6层,显示了它与TensorFlow、Cirq、计算硬件的交互。

▲TFQ的软件堆栈

顶层为要处理的量子数据,经典数据由TensorFlow本地处理,TFQ增加了处理量子数据(由量子电路和量子算子组成)的能力。

第二层是TensorFlow中的Keras API。

第三层是量子层和微分器,当与经典TensorFlow层连接时,它们可实现混合量子-经典自动区分。

第四层有TF Ops,用于实例化数据流图。定制Ops控制量子电路执行。

这些电路可以通过调用TFQ qsim或Cirq在仿真模式下运行,或者最终将在TPU、GPU、CPU、QPU硬件上执行。

关于如何使用量子数据,可以考虑使用量子神经网络对量子态进行监督分类。

与经典机器学习一样,量子机器学习的关键挑战是对“噪声数据”进行分类。要构建和训练这样的模型,研究人员可以执行如下操作:

(1)准备量子数据集

TFQ支持研究人员在单个计算图中将量子数据集、量子模型和经典控制参数构造为张量。

量子数据作为张量加载,每个量子数据张量都指定为用Cirq编写的量子电路,该电路可实时生成量子数据。张量由TensorFlow在量子计算机上执行以生成量子数据集。

(2)评估量子神经网络模型

可使用Cirq对量子神经网络进行原型设计,然后将其嵌入TensorFlow计算图中。基于量子数据结构的知识,可从几大类中选择参数化的量子模型。

该模型的目标是执行量子处理,以提取隐藏在通常纠缠状态下的信息。换句话说,量子模型实质上是对输入的量子数据进行解纠缠,从而留下以经典相关性编码的隐藏信息,从而使其可用于本地测量和经典后处理。

(3)样本/平均值

量子态的测量从经典随机变量中以样本形式提取经典信息。来自该随机变量的值的分布,通常取决于量子态本身以及所测得的可观测值。

由于许多变分算法都取决于测量的平均值(也称为期望值),因此TFQ提供了对涉及步骤(1)和(2)的多个运行求平均值的方法。

(4)评估经典神经网络模型

提取经典信息后,其格式适用于进一步的经典后处理。

由于提取的信息可能仍会以测量的期望之间的经典相关性进行编码,因此经典深度神经网络可以应用于提取此类相关性。

(5)评估成本函数

根据经典后处理的结果,评估成本函数。例如如果标记了量子数据,则基于模型执行分类任务的精确度;或者如果任务不受监督,则基于其他标准。

(6)评估梯度和更新参数

评估成本函数后,应沿预期可降低成本的方向更新自由参数,通常通过梯度下降执行。

▲TFQ中混合判别模型推理和训练的高级抽象计算过程

TFQ的关键特征是能够同时训练和执行许多量子电路。TensorFlow能在计算机集群之间并行化计算,并能够在多核计算机上模拟相对较大的量子电路,从而实现了这一目标。

为了实现后者,谷歌还宣布发布新的高性能开源量子电路模拟器qsim,该模拟器已证明能在111秒内在一个谷歌云节点中以14栅极深度仿真一个32量子比特量子电路。

该模拟器特别针对多核英特尔处理器进行了优化。结合TFQ,谷歌研究人员60分钟内在谷歌云节点(n2-highcpu-80)上以20栅极深度对20量子位量子电路进行了100万次电路仿真。

qsim Github链接:https://github.com/quantumlib/qsim

五、量子软件正在走向主流

TFQ并不是用于量子机器学习的第一个工具包。例如多伦多的量子计算初创公司Xanadu提供了一个类似的平台,称为Pennylane。

不过在Xanadu研究人员内森·基洛兰(Nathan Killoran)看来,谷歌在做的当之为一件大事。他认为,开发人员围绕着TensorFlow等知名工具建立社区、共享代码和想法,将推动创新。

量子计算市场被认为是云计算巨头利润丰厚的新收入来源,有分析师称,到2025年,这一市场将达到近10亿美元。

量子软件也开始走向主流。

去年夏天,微软开源了其量子计算开发套件及Q#编译器和模拟器,11月又宣布开放云量子计算服务Azure Quantum的计划。微软与量子硬件供应商霍尼韦尔、IonQ、QCI的合作关系,将使现有微软产品能与量子计算机一起使用。

去年12月,亚马逊AWS发布推进量子计算技术计划的云服务Amazon Braket,可为客户提供开发环境以构建量子算法,在模拟量子计算机上对其进行测试,并在各种不同的量子硬件架构上进行尝试。量子硬件供应商D-Wave、IonQ和Rigetii均是其合作伙伴。

同一时间,亚马逊还宣布成立量子解决方案实验室,并和Braket共同宣布在加州理工学院建立AWS量子计算中心,将把亚马逊研究人员和工程师与量子计算的学术机构召集在一起,以开发功能更强大的量子计算硬件,并确定新颖的量子应用。

总部位于不列颠哥伦比亚省的量子计算公司D-Wave Systems,上个月还发布了其新版Leap工具包,用于量子应用程序开发。

多家大型公司正在使用Leap来开发内部量子软件。其中,大众汽车公司(Volkswagen)建立了超精确的公共交通模拟器来计划公交路线,意大利电信公司(Telecom Italia)建立了用于优化5G网络的量子应用程序。

就上周,霍尼韦尔宣布“在量子计算方面的突破,将加速量子计算机的功能”,称“使该公司能够在未来三个月内发布全球功能最强大的量子计算机。”

而在接下来的三个月内,IBM可能会发布量子容量为64的量子计算机,英特尔也可能会公布其量子计算研究的相关进展,量子计算的战场正在变得愈发热闹。

结语

当前TFQ主要面向在经典量子电路模拟器上执行量子电路。据Google AI Blog介绍,未来TFQ将能够在Cirq支持的实际量子处理器(包括谷歌自己的Sycamore量子芯片)上执行量子电路。

目前,量子机器学习仍然是一个利基市场。谷歌将机器学习和量子计算结合的方法,有助于催生更多相关的创新研究,我们也期待在更多软件工具的涌现能加速发现新的量子算法,从而突破更多颇具挑战性的科学难关。

参考资料:Google AI Blog,TFQ白皮书,MIT Technology Review

TFQ官网:https://www.tensorflow.org/quantum

TFQ Github 链接:https://github.com/tensorflow/quantum

感谢阅读。点击关注上船,带你浪在科技前沿~

Deepmind的最新论文:强化学习“足够”实现一般人工智能

从 1956 年达特茅斯会议首次定义人工智能(AI)至今,人工智能已经经历了 60 多年的发展历程,计算机领域的科学家们取得了一次又一次的革命性进步,从机器学习、深度学习到强化学习,科学家们设计开发出了许多复杂的人工智能机制和技术,来复制人类视觉、语言、推理、运动技能和其他与智能生命相关的能力。

尽管这些努力使得人工智能系统能够在有限的环境中有效地解决一些特定的问题,但目前还没有开发出像人类和动物一样 “会思考的机器” ,“通用人工智能(AGI)” 时代尚未到来,想要让机器完全模拟人类进行自主学习、模式识别、想象创造等活动看起来遥不可及。

尽管一些乐观主义者认为通用人工智能离我们不到十年,但一项针对机器学习专家的大型调查表明,如果存在通用人工智能,那我们可能要到 2040 年左右才能拥有它。

近日,来自 DeepMind 的科学家在提交给同行评议的期刊《人工智能》(Artificial Intelligence)上的一篇题为 “Reward is enough” 的论文中认为,人工智能及其相关能力不是通过制定和解决复杂问题而产生的,而是通过坚持一个简单而强大的原则:奖励最大化。

(来源:ScienceDirect

该研究由 DeepMind 首席研究科学家、伦敦大学学院教授 David Silver 领衔,研究灵感源于他们对自然智能的进化研究以及人工智能的最新成就,在撰写论文时仍处于预证明阶段。研究人员认为,奖励最大化和试错经验足以培养表现出与智力相关的能力行为。由此,他们得出结论,强化学习是基于奖励最大化的人工智能分支,可以推动通用人工智能的发展。

“奖励最大化” 的人工智能实现途径

创建人工智能的一种常见方法就是在计算机中尝试复制智能行为的元素。例如,我们对哺乳动物视觉系统的理解催生了各种人工智能系统,来实现对图像进行分类、定位照片中的对象、定义对象之间的边界等等。同样,我们对语言的理解有助于开发各种自然语言处理系统,例如回答问题、文本生成和机器翻译。

这些都是狭义人工智能的实例,这些系统旨在执行特定任务,而不是具有一般解决问题的能力。一些科学家认为,组装多个狭义的人工智能模块会产生更高的智能系统。例如,我们可以拥有一个软件系统,在单独的计算机视觉、语音处理、NLP 和电机控制模块之间进行协调,以解决需要多种技能的复杂问题。

相比之下,通用人工智能有时也被称为人类级别的人工智能,它更像是《星球大战》中的 C-3PO,因为它可以理解上下文、潜台词和社会线索,甚至被认为可能完全超过人类。

(来源:pixabay)

Deep Mind 的研究人员提出的另一种创建人工智能的方法:重新创建产生自然智能的简单而有效的规则。为什么自然界中的的动物和人类会表现出丰富多样的智能行为?Silver 等人指出,可能是由于每一种能力都源于对一个目标的追求,而这个目标是专门为激发这种能力而设计的。为此,该研究设计了一个替代假设:最大化奖励的一般目标足以驱动表现出自然和人工智能研究的大部分(尽管不是全部)能力的行为。

这种假设基本上是遵守达尔文的生物进化论。从科学的角度分析,在我们周围看到的复杂有机体中,并没有自上而下的智能设计。数十亿年的自然选择和随机变异过滤了生命形式,使其适合生存和繁殖,能够更好地应对环境中的挑战和情况的生物设法生存和繁殖。其余的都被淘汰了。

这种简单而有效的机制导致了具有各种感知、导航、改变环境和相互交流的技能和能力的生物去进化。

图 | “奖励就足够” 的假设,假定智力及其相关能力可以被理解为在其环境中行动的主体促进奖励的最大化

研究人员在论文中写道:“动物和人类面临的自然世界,以及人工代理未来面临的环境,本质上都是如此复杂,以至于它们需要复杂的能力才能在这些环境中生存下来。因此,以奖励最大化来衡量的成功需要各种与智力相关的能力。在这样的环境中,任何使奖励最大化的行为都必须表现出这些能力。从这个意义上说,奖励最大化的一般目标包含许多甚至可能的所有智能目标。”

例如,考虑一只松鼠,它为了寻求减少饥饿的奖励。一方面,它的感官和运动技能帮助它在有食物时定位和收集坚果。但是,当食物变得稀缺时,一只只去寻找食物的松鼠必然会饿死。这就是为什么它也有计划技能和记忆来缓存坚果并在冬天恢复它们。松鼠具有社交技能和知识,可以确保其他动物不会偷吃它的坚果。如果你放大来看,饥饿最小化可能是 “活下去” 的一个子目标,这还需要一些技能,例如发现和躲避危险动物、保护自己免受环境威胁以及寻找季节性变化的更好栖息地。

研究人员写道:“当与智力相关的能力作为奖励最大化的单一目标的解决方案出现时,这实际上可能提供了一个更深入的理解,因为它解释了为什么这种能力会出现。相反,当每一种能力被理解为其自身专门目标的解决方案时,为了关注该能力的作用,为什么的问题就被绕开了。”

研究人员认为,在可能的奖励最大化方法中,最通用和可扩展的方法是智能体通过试错及与环境的交互来学习这样做。

通过 “奖励最大化” 发展能力

在这篇论文中,研究人员列举了一些高级示例,来说明 “在为许多可能的奖励信号最大化服务中,智能和相关能力将如何隐含地出现,对应于自然或人工智能可能指向的许多实用的目标。”

在知识和学习方面,研究人员将知识定义为代理人的内部信息,包含代理人选择行动、预测累积奖励或预测未来观察的特征,这些知识有先天具备的,也有后天学习而来的知识。奖励和环境也塑造了动物与生俱来的知识。例如,由狮子和猎豹等掠食性动物统治的敌对栖息地会奖励反刍动物,它们自出生以来就具有逃避威胁的先天知识。同时,动物也因其学习栖息地特定知识的能力而获得奖励,例如在哪里可以找到食物和住所。

通过列举生物世界的学习,说明环境可能同时需要先天和后天的知识,奖励最大化的代理将在需要时,通过自然代理的进化和人工代理的设计包含前者,并通过学习获得后者。在更丰富和更长久的环境中,需求的平衡越来越向学习知识转移。

(来源:VentureBeat)

在感知方面,动物的感官技能服务于在复杂环境中生存的需要。对象识别使动物能够检测食物、猎物、朋友和威胁,或找到路径、庇护所和栖息地;图像分割使他们能够分辨不同对象之间的差异,并避免致命错误,例如跑下悬崖或从树枝上掉下来;听觉有助于发现动物在伪装时看不到或找不到猎物的威胁;触觉、味觉和嗅觉也给动物带来优势,使其对栖息地有更丰富的感官体验,在危险的环境中获得更大的生存机会。

于是,研究人员假设感知可以被理解为服务于奖励的最大化。从奖励最大化而不是监督学习的角度考虑感知,最终可能会支持更大范围的感知行为,包括具有挑战性和现实形式的感知能力。

在社会智能方面,研究人员假设社会智能可以被理解为在包含其他代理人的环境中,从一个代理人的角度最大化累积奖励来实施,并推断出如果一个环境需要社会智能,奖励最大化将产生社会智能。

在语言理解方面,研究人员假设语言能力的全部丰富性,包括所有这些更广泛的能力,产生于对奖励的追求,而理解和产生语言的压力可以来自许多奖励增加的好处。例如,一个代理人能够理解 "危险" 警告,那么它就可以预测并避免负面的奖励;如果一个代理可以产生 "取" 的命令,可能会导致环境将一个物体移到代理的附近。这些奖励的好处可能最终会导致代理人具备各种复杂的语言技能。

它是一个代理人根据复杂的观察序列(如接收句子)产生复杂的行动序列(如说出句子),以影响环境中的其他代理人并积累更大的奖励的能力的一个实例。理解和产生语言的压力可以来自许多奖励增加的好处。

研究人员还讨论了泛化、模仿以及一般智能的奖励驱动基础,将其描述为 “在单一、复杂的环境中使单一奖励最大化 "。在这项研究中,研究人员在自然智能和通用人工智能之间进行了类比:“动物的经验流足够丰富和多样的,它可能需要一种灵活的能力来实现各种各样的子目标(例如觅食、战斗或逃跑),以便成功地最大化其整体奖励(例如饥饿或繁殖)。类似地,如果一个人工智能代理的经验流足够丰富,那么许多目标(例如电池寿命或生存)可能隐含地需要实现同样广泛的子目标的能力,因此奖励的最大化应该足以产生一种通用的人工智能。

“奖励最大化” 的强化学习

按照人工智能之父 John McCarthy 的说法,“智力是在世界范围内实现目标的能力的计算部分”,而后来发展起来的强化学习将寻求目标的智能问题正式化,对应于不同智能形式的奖励信号,在不同的环境中如何实现最大化。

强化学习是人工智能算法的一个特殊分支,由三个关键要素组成:环境(Environment)、代理(Agent)和奖励(Reward)。通过执行操作,代理会改变自己和环境的状态。根据这些动作对代理必须实现的目标的影响程度,对其进行奖励或惩罚。在许多强化学习问题中,智能体没有环境的初始知识,并从随机动作开始。根据收到的反馈,代理学习调整其行为并制定最大化其奖励的策略。

(来源:TechTalks)

在强化学习研究领域的一个著名的例子:敲锣训猴。驯兽师在训练猴子时,以敲锣为信号来训练猴子站立敬礼,每当猴子很好地完成站立敬礼的动作,就会获得一定的食物奖励;如果没有完成或者完成的不对,不仅不会得到食物奖励,甚至会得到一顿鞭子抽打。由于听到敲锣后站立敬礼是猴子在所处环境下能够获得的最大收益,所以时间长了猴子自然在听到驯兽师敲锣后,就会站立敬礼。

强化学习就是训练对象如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。在这篇论文中,DeepMind 的研究人员建议将强化学习作为主要算法,它可以复制自然界中看到的奖励最大化,并最终导致通用人工智能。

研究人员写道:“如果一个智能体可以不断调整其行为以提高其累积奖励,那么其环境反复要求的任何能力最终都必须在智能体的行为中产生。” 并补充说,一个好的强化学习代理可以在学习过程中获得表现出感知、语言、社会智能等的行为,以便在一个环境(如人类世界)中实现奖励最大化,在这个环境中,这些能力具有持续的价值。

在论文中,研究人员提供了几个例子,展示了强化学习代理如何能够在游戏和机器人环境中学习一般技能。例如,当被要求在围棋比赛中取得最大胜利时,AlphaZero 学会了跨越围棋许多方面的综合智能。

然而,研究人员强调,一些根本性的挑战仍未解决,他们并没有对强化学习代理的样本效率提供任何理论上的保证。而是猜想,当强大的强化学习代理被置于复杂的环境中时,将在实践中产生复杂的智能表达。如果这个猜想是正确的,它将为实现人工通用智能提供了一条完整的途径。

强化学习以需要大量数据而闻名,强化学习代理可能需要几个世纪的游戏时间才能掌握计算机游戏。研究人员仍然没有想出如何创建强化学习系统来将他们的学习推广到多个领域。因此,环境的微小变化通常需要对模型进行全面的重新训练。

研究人员还承认,奖励最大化的学习机制是一个未解决的问题,仍然是强化学习中有待进一步研究的核心问题。论文抛出了整个强化学习领域研究的一个核心问题,即如何在一个实用的代理中有效地学习奖励最大化。

“奖励最大化” 的优缺点

加州大学圣地亚哥分校的神经科学家、哲学家和名誉教授帕特里夏・丘奇兰(Patricia Churchland)将该论文中的想法描述为 “非常仔细和有见地的解决方案”。

然而,Churchland 也指出了该论文关于社会决策的讨论中可能存在的缺陷。Churchland 最近写了一本关于道德直觉的生物学起源的书,他认为依恋和联系是哺乳动物和鸟类社会决策的一个强大因素,这就是为什么动物为了保护他们的孩子而将自己置于极大的危险之中。

Churchland 说:“我倾向于将亲密关系以及其他人的关怀视为自己,也就是 “我和我” 的范围的延伸。在这种情况下,我认为,对论文假设进行小幅修改以实现对 “我和我” 的奖励最大化会非常有效。当然,我们群居动物都有依恋程度,对后代超强依恋、对配偶和亲属非常强依恋,对朋友和熟人很强依恋等等,依恋类型的强度会因环境和发育阶段而异。”

Churchland 表示,这不是一个主要的批评,并且很可能会非常优雅地融入这个假设。Churchland 说:“我对论文的详细程度以及他们考虑可能存在的弱点的仔细程度印象深刻。我可能也不对,但我倾向于认为这是一个里程碑。”

针对 “哪一个通用目标可以产生所有形式的智能” 这一问题。研究人员在讨论部分提到,在不同的环境中实现不同的奖励最大化可能会导致不同的、强大的智能形式,每一种智能都会表现出自己令人印象深刻的、但又无法比拟的一系列能力。一个好的奖励最大化的代理将利用其环境中存在的任何元素,但某种形式的智能的出现并不以它们的具体内容为前提。

相比于只有精心构建的奖励才有可能诱发一般的智力,研究人员认为人工智能代理智力的出现可能对奖励信号的性质相当稳健。此外,他们建议强化学习问题也可以转化为一个概率框架,接近于奖励最大化的目标。

(来源:pixabay)

数据科学家 Herbert Roitblat 对该论文的立场提出了挑战,即简单的学习机制和试错经验足以培养与智能相关的能力。Roitblat 认为,论文中提出的理论在现实生活中实施时面临着一些挑战。

Roitblat 说 “如果没有时间限制,那么试错学习可能就足够了,否则我们就会遇到无限数量的猴子在无限长的时间内打字的问题。” 无限猴子定理指出,一只猴子在无限长的时间内敲打打字机上的随机键,最终可能会打出任何给定的文本。

Roitblat 在《Algorithms are Not Enough》一书中解释了为什么所有当前包括强化学习在内的人工智能算法,都需要仔细制定人类创建的问题和表示。他表示,一旦建立了模型及其内在表示,优化或强化就可以指导其进化,但这并不意味着强化就足够了。同样,Roitblat 补充说,该论文没有就如何定义强化学习的奖励、动作和其他元素提出任何建议。

Roitblat 说:“强化学习假设智能体具有一组有限的潜在动作。已经指定了奖励信号和价值函数。换句话说,通用智能的问题恰恰是提供强化学习作为先决条件的那些东西。因此,如果机器学习都可以简化为某种形式的优化,以最大化某些评估措施,那么强化学习肯定是相关的,但它的解释性并不强。”

参考资料:

https://www.sciencedirect.com/science/article/pii/S0004370221000862

DeepMind says reinforcement learning is ‘enough’ to reach general AI

https://www.jonkrohn.com/posts/2021/1/22/google-deepminds-quest-for-artificial-general-intelligence

谷歌在机器学习方面取得了突破性进展,新的翻译系统可以与人工翻译相媲美

谷歌最近推出的新翻译系统取得巨大进展,与之前被众人吐槽的“蹩脚”翻

译大不相同,几乎可以与人工翻译水平相媲美。

谷歌在机器学习方面的最新进展将使我们居住的地球更像一个“村儿”。

谷歌的研究人员开发了一套新的系统,使谷歌翻译的准确度有了质的飞跃。目前,谷歌正在全面升级自己的翻译系统。在一场与人工翻译展开的较量中,新系统在某些语种之间的翻译流畅度已经十分接近人工翻译的水平,例如将英语翻译西班牙语。

针对 “汉译英”,谷歌也升级了之前的系统,并且打算对现有的翻译系统进行彻底的更新换代。

这一改变将使得阅读外文网站更加容易,和不同母语的人们沟通更加轻松。谷歌的研究人员Quoc Le表示,谷歌翻译系统的升级还将促进人和机器之间的交流。

图中,巴黎的一名商贩正在使用谷歌翻译与顾客沟通。

Quoc Le说,新的翻译系统可以帮助机器完成更为复杂的任务,例如通过大量阅读Wikipedia来回答用户更为复杂的问题。

谷歌的新翻译系统基于“深度学习(DeepLearning)”,利用松散的数学函数网络进行语言分析。这项科技的灵感来源于对哺乳动物大脑的研究。它的出现极大的促进了人工智能的发展,在图像和语音识别等领域产生了巨大的变革。

Quoc Le说,从2014年起谷歌就开始探索如何将“深度学习”应用在翻译领域。他说,从最近的结果看,翻译领域的新时代已经来临。

谷歌发布的一份文件列举了英语翻译成西班牙语、法语和中文,以及这些语言翻译成英文的范例。之后,谷歌邀请熟知两门语言的人来对于机器与人工翻译的结果。很多时候,人们几乎感觉不到两者之间有很大的差别。

测试中,谷歌随机摘取了Wikipedia或者新闻报道中的500句话,并让受访者对机器和人工翻译的结果打分(6分制)。对于英语到西班牙语的翻译,谷歌新翻译系统的平均得分为5.43分,距离人工翻译的5.55分相差无几。在法语翻译成英语的测试中,谷歌新翻译系统也与人工翻译的得分接近。

谷歌之前的翻译系统很难与人工翻译媲美。在谷歌的一项调查中,受访者认为新系统的性能提升了64~87%。Quoc Le认为,这一成就得益于谷歌设计人员开发的“神经网络”系统。该系统使得翻译系统可以独立于工程师的设计而进行自我思考。

事实上,不管新系统还是老系统都是通过学习已经人工翻译成不同语言的文件来实现翻译功能的。不同的是,老系统主要基于事前设计好的翻译规则,例如如何在不同语言中重新组装词汇的顺序。

与之相比,新系统并没有所谓的翻译规则,而是利用自己摸索出的一条切实可靠的翻译方法。它甚至可以在不考虑文字含义的前提下阅读或者创建一段文字。该系统将文章自动分割成很多小的片段,并且大多数时候这些片段看起来是无厘头的,甚至不符合人类说话的音节规律。

这种“独立性”让系统的设计者都不知道它正在做些什么,但是结果胜过一切。Quoc Le说:“这让人听起来有些迷惑不解。然而,我们反复的测试证明,新系统就是好用。”

谷歌新系统的飞跃并不是凭空而来的。伊利诺伊大学的语言学副教授雷恩·施瓦茨巷(Lane Schwartz)说:“学术界和产业界的研究人员都相信,‘神经网络’的发展必然会帮助机器更好的理解人类的语言。”

几十年来,科学家们一直致力于发展人工智能,希望可以模拟人类的语言能力和交流的复杂程度,然而真正的成果并不多。

因此,这次谷歌新翻译系统的出现能够在多大程度上促进机器理解人类语言仍然是个未知数。

拉裆的程度让人说不出话来!谷歌的旗舰新机器有一个低级缺陷:屏幕无法旋转

点击右上方“关注”,第一时间获取科技资讯、技能攻略、产品体验,私信我回复“01”,送你一份玩机技能大礼包。

———————————

手机厂商中,谷歌一直是个奇葩的存在,它做手机更多是玩票性质,并不指望有多少销量和利润。作为安卓系统主导者,谷歌做Pixel系列基本只是为了试验自研技术成果。这样一来,站在消费者的角度来看,Pixel给人的印象就是有些优点比较突出、但短板也非常明显,性价比也谈不上,日常使用体验比较拉胯。最近一段时间,谷歌Pixel 6系列频频爆出大大小小的bug。

据Android Police报道,近日,又有用户发现,谷歌Pixel 6系列的屏幕居然不能自动旋转,原因可能是无法正确读取自陀螺仪、加速度计等传感器数据,导致系统对手机位置判断失误。

讲道理,屏幕自动旋转是一个简单得不能再简单的功能,可以说十年前就是手机的标配功能了。现在来说,就算是一款国产百元机,也不太可能在这个功能上掉链子。

作为全球最大互联网巨头企业和安卓系统的主导者,小雷当然不相信谷歌在这方面会存在什么技术问题。但这个么一个离谱的bug,则反映出谷歌在做手机这件事上的不走心程度。

之前,谷歌Pixel 6 Pro还出现系统bug,导致单挖孔屏幕变成双挖孔,屏幕无缘无故缺了一部分。甚至乎,之前Pixel 3还出现过不能正常拨打报警电话的问题。

作为普通消费者,小雷认为谷歌Pixel 6系列基本没有什么购买价值了,性能拉胯、充电功率落后、价格昂贵。而且,对中国用户来说,谷歌原生系统本地化为0,使用起来体验比国产定制系统差很多。

更何况,现在谷歌Pixel 6系列暴露出来的一系列离谱bug,更是严重影响了用户的日常使用体验。即使你是极客用户,想购买原生系统设备,小雷也不推荐谷歌产品,哪怕去买能解BL锁刷原生系统的其他品牌安卓旗舰机,也要比它好。

———————————

作者:雷科技团队,致力于聚焦科技与生活,关注并私信回复“01”,送你一份玩机技能大礼包。

“谷歌IPO之路”上市13年后,谷歌已成为一台盈利机器

1 新智元编译

谷歌2004年上市。当时,谷歌创始人在公开信中直接告诉投资者,谷歌“不是一家传统公司”,也“没有打算成为这样的公司。”

对于谷歌来说,这种非传统的取向生效了,并且效果很好。但是,在谷歌上市前的10年,这家公司的未来还充满了不确定性。谷歌上市时所面临的整体环境几乎是难以想象的:在前独角兽时代,最具价值的互联网公司的估值甚至都没有超过500亿美元的。但是,在今天,我们看到,许多私人科技企业的价值都超过了这一数字。

最终,谷歌上市,发行价85美元 ,市值在230亿美元。这一数字应该听起来有些熟悉,今年早些时候,Snap IPO ,估值仅有10亿美元。

要想理解谷歌的“出道”,我们必须要将时针拨回2003年。

2003:微软曾与谷歌密谋“如何一起做一点事”

在IPO之前,有报道称,微软和谷歌正在讨论“如何一起做点事情”。具体细节没有透露。但是,2003年年末, Ars Technica 报道了一些非常有意思的细节。

根据Ken Fisher当时的报道,以下是一些被用于描述微软与谷歌之间关系的报道:

消息人士表示,微软此前在追捧谷歌,提出从兼并到彻底收购的提议。但是,似乎他们的提议没有促成任何交易,所以现在Redmond将只能等待。谷歌正走在IPO的道路上,如果要有兼并发生,那么很可能只会发生IPO后的谷歌身上。

Ars Technica的同一篇报道写道,是的,谷歌“显然在准备转到公开交易的状态”,这一影响将是“巨大的”。

(一些有意思的事件:2006年,微软推出Windows Live搜索。 2007年,它被重命名为Live Search。 2009年后来更名为Bing。)

现在看来,谷歌和微软曾经走得多么近已经不再重要。因为,2004年4月29日,谷歌完成了它的第一份S-1。

聚焦谷歌:上市前其实已有收入,拥有现金5个亿

2004年,谷歌IPO时,最开始的S-1加入了另一份季度财报,但是值得一提的是,在最开始的S-1报告中,该公司发布了稳步的增长和不断增加的GAAP利润。

谷歌后来发布的文件完整地介绍了这一扩展,即他们将截止当年6月30日的数据囊括进去。以下是完整的数据:

正如上图所示,从收入和利润上看,谷歌的增长速度非常之快。姑姑第一到第二季度的环比增长率仅有7.5%,但是,2004年第二季度,谷歌比去年同期的增长率达到了181.6%。

并且,随着谷歌的收入不断增长,其净利润也在增长。在2004年上半年,谷歌的总收入达到了13.51亿美元,2003年上半年的总收入还只是5.598亿美元。2004年前两个季度,利润增加到了1.43亿美元,而2003年的前6个月,利润总额在5890万美元。

在深入讨论围绕着IPO展开的谷歌股价传奇之前,需要提到,谷歌当时还有一些别的事情。当时这家公司拥有一笔现金——近5.5亿美元,以及有限责任债务。

从这些数字不难看到,谷歌的是在自己的驱动力下迅速发展起来的:这家搜索引擎公司并不真正需要IPO收益来为其业务提供资金。在这一点上,创始人的信也作了说明:“谷歌已经有足够的现金来支持我们的业务,并通过运营产生了额外的现金。”没错。

起舞的股价和被削弱的野心

所以当时谷歌到底值多少钱?上市时的价格并没有很好地回答这一问题。

谷歌的第一个S-1申请表明,该公司希望在IPO上募集多达27.2亿美元。后来的文件把这一数字提升到高达39.99亿美元,估值每股135美元。

谷歌的IPO野心最终被削减,以保证公司能够完成上市。以下《纽约时报》2004年7月27日的文章描述了谷歌2004年中期的定价举措:

正在试图以非常规拍卖方式向公众出售股票的著名互联网搜索公司昨天在向美国证券交易委员会提交的一份文件中表示,预计其股份将以每股108美元至135美元的价格出售。

这将使公司的价值达到290亿美元至360亿美元,其市场价值仅仅低于雅虎的380亿美元价值,雅虎是一家规模更大,成熟度更高的互联网公司。而最有价值的互联网公司eBay价值为490亿美元。

这一分析非常有趣,因为以下几个点:

  • 谷歌没能维持住目标价格,最终IPO时股价是85美元。

  • 雅虎的市值是380亿美元。

  • 当时最大的互联网公司,其市值还比不上今天的Uber。

一个不同的时代

无论如何,谷歌以85美元每股的价格上市,交易数量从近2500万下调了1960万股。该公司的估值为230亿美元

做一些计算,230亿美元,收益倍数几乎超过10。以今天的SaaS标准来看,这是非常高的(谷歌并不是SaaS,我们认为),但是以现代标准来衡量,它又是非常便宜的,特别是当你意识到可以计算谷歌的PE比率(约120)。另外,它已经是盈利的,盈利的收入比不盈利的收入更有价值。

毋庸置疑,以今天的标准来看,谷歌非常健康,从那时起就不难发现。例如,这个报道指出:

谷歌周三表示,将以每股85美元的价格上市,为周四的上市铺平了道路,这一历程虽然万众期待但是也充满了不平坦。

重点在于,谷歌认为当时自己的价值比市场的评估要高,预期是每股135美元,最终只有85美元。最后,双方都错了。谷歌可能价格便宜,每股135美元,是其最高价位的上限。

但是,上市既是一门魔术又是一门数学,谷歌已经把它推向了新的一步。

荷兰式拍卖

谷歌并不满足于按常理出牌,他们使用了荷兰式拍卖(Dutch aution)进行上市。如果你没听过,不要觉得不好。除了谷歌,我不记得一个真正的公司使用过类似的方法。。

而且,正如我们将看到的,也许有一个原因。无论如何,早在2004年,该公司的荷兰式拍卖就是大消息。当时,福布斯引用了一位资金经理的话说,这一选择“绝对谷歌IPO是最大的故事”。他错了,谷歌核心业务的实力才是最大的故事,但这评论显示了谷歌的提议是多么奇怪。

福布斯当时的报道详细地介绍了荷兰式拍卖包括什么:

在一场荷兰式拍卖中,一家公司会告知出售股票的最大数量,有时会透露这些股票的潜在价格。然后,投资者说出他们想要的股票数量和价格。一旦确定最低清算价格,至少给出符合投标价格的投资者将获得股份。(也就是按确定的最低价成交)如果购买数量高于可用股票数量,则按比例分配 ,根据最高出价百分比或者竞价百分比,给出实际可用股份的百分比。

正如CNBC在2014年所指出的那样,这种模式可能会“摆脱华尔街的短期收益和大量资金,至少给予一些所有权”给正规人。不过谷歌的使用并没有帮助荷兰式拍卖走向流行。

CNBC的报道提出了两个有争议的观点,即为什么荷兰式拍卖在谷歌使用后并没有吸引到众多粉丝。首先,“[类似]拍卖是有风险的,特别是如果您可能需要一些帮助来推动需求。这对于最热门的上市不是问题,但它们只占总数的一小部分。

该报道继续评论:

第二个原因是谷歌并不是真正的拍卖,更多是一种混合体。毕竟,投资者需求明显足以将股票价格以接近100美元成交,因为这是股票开盘的地方,但最后一分钟,主承销商摩根士丹利和瑞士信贷则将其下调至85美元。预期价格范围的最低端实际为108美元。

然而,在所有的压力和定价工作结束之后,谷歌开市进行得非常顺利,脱颖而出。

谷歌的第一天交易情况良好,涨幅高达18%左右,从85美元起,涨至每股100美元。根据2008年的报告,该公司股票历史最低点盘中价格为95.56美元,历史最低点收盘价为100.01美元。

后来:贵得不敢买?

谷歌 IPO之后做得很好,现在开始有点没那么好了。该公司现在市值约6500亿美元,仅次于苹果。那时候根本没想到它能在五大巨头中排名第二。

有意思的是:

Core Capital Partners的董事总经理Will Dunbar表示:“这个价格依然昂贵,我们公司没有下注于谷歌。在不久的将来会有巨大的竞争出现,这是让我止步于这一价格的原因之一。”

Janco的Pyykkonen补充说,他听说交易者几乎不会想卖空谷歌。

而根据对CNN / Money的非正式调查,超过23,000名受访者中的85%表示,他们如果参与交易,不会计划购买谷歌的股票。

点击阅读原文可查看职位详情,期待你的加入~