搜索引擎的市场格局已经有二十年没有什么大的变化,如今,Google和微软两大巨鳄的交锋再度上演。ChatGPT风靡之时,搜索成为大型语言模型(LLM)应用之争的最大战场。
在LLM技术进程方面,Google的相关大模型研发实际上与OpenAI的ChatGPT差不多齐头并进。但刚刚仓促推出的Bard显得很被动,Google官方的解释是,他们需要考虑新技术对社会的影响,不想推出一个漏洞百出的搜索系统。
不过,作为商业公司,任何行为的背后都要考虑经济成本。要知道,搜索中广告市场份额的1个百分点的变化,都可能带来至少数亿美元营收上的幅度波动。Google要将应用效果还不是很好的LLM作为基础技术,引入到全球市场占比92%的搜索引擎业务中,如果没有外部对手发起的强大挑战,很难进行大胆革新。
另一方面,自我革命是一件严重违背人性的事,更何况大厂还有所谓的“大企业病”,畏首畏尾在所难免。
这恰好是微软Bing的可乘之机,全球市场份额目前占比不到3%,历史包袱很小,New Bing要推出的消息让Google急不可耐。
ChatGPT的用户已经到1亿了,可想而知,如果Google搜索这次不跟LLM,还是按照自己的节奏去逐步更迭,其搜索业务的老底存在被倾覆的巨大风险,要是Google跟了LLM,要承受用户体验不佳的风险,还必须得在已有搜索成本上大出血——大约还要支出300亿美元的成本。
当然,Google与微软双方高层比任何人都清楚这一点,只是前者更多是焦虑不安,后者则是兴奋不已。
综合考虑风险后,Google只能硬着头皮迎战,于是就有了Bard。Bard的意思是“流浪诗人”,根据百度的结果,这类诗人通常行事半调子而不拘小节,样样通而样样松,还别说,这个作风倒是挺符合现在LLM模型目前的能力特质。相较之下,微软New Bing现在像是个牛气哄哄的“拼命三郎”,就想干一票大的,毕竟在某种程度上,Bing已经没什么可失去的了,而且这次很可能还要触底反弹。
那么,ChatGPT究竟会如何影响现在搜索架构以及相关业务成本?此前,OneFlow发布了《ChatGPT背后的经济账》,文章从经济学视角推导了训练大型语言模型的成本。本文则从LLM搜索架构和成本分析出发,探讨了微软Bing和OpenAI利用大型语言模型 (LLM) 对搜索业务的潜在颠覆性,并分析了LLM在搜索中的演进和发展情况。
(以下内容经授权后由OneFlow编译,译文转载请联系OneFow获得授权。原文地址: https://www.semianalysis.com/p/the-inference-cost-of-search-disruption)
作者|Dylan Patel、Afzal Ahmad
OneFlow编译
翻译|杨婷、徐佳渝、贾川
OpenAI推出的ChatGPT风靡全球,仅在一月份就迅速积累了 超1亿活跃用户 ,成为史上用户增长最快的应用程序。在此之前,Instagram花了30个月才跨过1亿用户门槛,TikTok用了9个月。每个人最关心的问题是大型语言模型(LLM)对搜索的破坏性有多大。微软此前宣布了一条震惊世界的消息:OpenAI的技术将整合到Bing搜索引擎中。
New Bing会让谷歌坐立不安,我想让大众知道我们正是让谷歌按捺不住的助推器。——Satya Nadella,微软CEO
谷歌近来的举动让大众觉得他们正“焦躁不安”。虽然 我们相信谷歌拥有世界上最好的模型和最先进的AI专业知识 ,但长期以来,他们却没能将自身的领先优势变现。而来自微软和OpenAI的竞争压力正在迅速改变这一情形。
给搜索领域带来颠覆和创新需要投入资金,而训练LLM的成本很高。更重要的是,不管以何种合理的规模部署模型,其推理成本都远超训练成本。
实际上,每周推理ChatGPT的成本都超过了其训练成本。目前ChatGPT每天的推理成本为700,000美元。如果直接将当前的ChatGPT集成到谷歌的每次搜索当中,那么谷歌的搜索成本将大幅上升,达到360亿美元。谷歌服务业务部门的年净收入将从2022年的555亿美元下降至195亿美元。若将“类ChatGPT”的LLM部署到搜索中,则意味着谷歌要将300亿美元的利润转移到计算成本上。
当然,这种情况永远不会发生,在软件/硬件方面改进之前,这只会是一种有趣的假设。
1
搜索业务
首先来看一下搜索市场的情况。据调查,谷歌每秒运行的搜索查询约为32万次,而谷歌的搜索业务部门在2022年的收入为1624.5亿美元,每次查询的平均收入为1.61美分。谷歌必须为计算和网络搜索、广告、网络爬行、模型开发、员工等支付大量开销。在谷歌的成本结构中,一个值得注意的项目是:为了成为Apple产品的默认搜索引擎,他们支付了约200亿美元。
谷歌服务业务部门的营运利润率(operating margin)为34.15%。如果我们为每次查询分配COGS/运营费用,那么每次搜索查询的成本为1.06美分,产生的收入为1.61美分。这意味着,基于LLM的单次搜索查询费用必须低于0.5美分,否则搜索业务对谷歌来说将毫无利润可言。
New Bing将融合一款新的下一代OpenAI大型语言模型。该模型针对搜索业务进行了定制,汲取了ChatGPT和GPT-3.5的重要经验和成果,速度更快、更准确且功能更强大。——微软
2
ChatGPT的成本
由于有部分未知变量,所以估算ChatGPT的成本是一个棘手问题。我们建立了一个成本模型,模型显示ChatGPT在计算硬件方面的每日运营成本为694,444美元。为维持ChatGPT的运行,OpenAI需要约3,617台HGX A100服务器(28,936个GPU),预估每次查询的成本为0.36美分。
我们的成本模型是在每次推理的基础上从头开始构建的,但它与Sam Altman推文和他最近所做采访所做的介绍一致。
我们假设OpenAI使用了GPT-3密集模型架构,这个架构的参数大小为1750亿、隐藏维度为1.6万、序列长度为4000、每个响应的平均token数为2000、每个用户响应15次、有1300万日活跃用户、浮点运算(FLOPS)利用率比FasterTransformer高2倍且延迟小于2000毫秒,int8量化,纯闲置时间占用50%的硬件利用率,并且每个GPU每小时成本为1美元。如有不同意见,欢迎指出。虽然我们相信我们处于正确的区间内,但很乐意使其更加精准。
3
使用ChatGPT的搜索成本
如果ChatGPT被整合到谷歌现有的搜索业务中,那么其影响将是毁灭性的。谷歌的营收将减少360亿美元。以下是LLM的360亿美元推理成本。
若想将当前的ChatGPT部署到谷歌搜索,则需要512,820.51台A100 HGX服务器和共计4,102,568个A100 GPU。在这些服务器和网络的总成本中,仅资本支出就超过1000亿美元,其中大部分资金将流向英伟达。当然,这永远不会发生(但如果我们假设没有任何软硬件改进的话,可以将其当成一次有趣的思想实验)。使用谷歌的TPUv4和v5在订阅者部分建模也有不同的推理成本,同时我们还有一些H100 LLM推理性能方面的改进数据。
令人惊讶的是,微软知道将LLM融入搜索会摧毁搜索的盈利能力,并需要大量的资本支出。尽管我们估算了营业利润的变动,但还是来看看萨提亚·纳德拉(Satya Nadella)对毛利率的看法吧。
从现在开始,搜索的[毛利率]将一直呈下降趋势。—— Satya Nadella, 微软CEO
搜索毛利率下降已成既定事实,更不用说随着搜索质量的提高,搜索量可能会有所减少,我们难以在大型语言模型的响应中植入广告,以及稍后本报告会讨论的其他众多技术问题。
微软正在不遗余力地摧毁搜索市场的盈利能力。
在搜索广告市场中,每增加一个百分点的份额,我们的广告业务就有可能获得20亿美元的收入。——微软
必应的市场份额很小,但微软抓住的任何份额增长都将给他们带来巨大收益。
我认为我们双方都会受益匪浅。我们将逐步发掘出这些大模型的潜能,但如果搜索业务被垄断,发展停滞不前,在这种情况下如何从搜索和广告中营利都会是一个问题,并且我们还要应对可能出现的短暂下行压力,这种情况是我所不愿看到的。
大模型的发展潜力巨大,难以想象我们不知道该如何利用它们来发家致富。—— OpenAI CEO Sam Altman
与此同时,在这场竞争中,谷歌正处于劣势地位。如果谷歌的搜索市场地位被动摇,那么它的利润将受到极大的影响。搜索市场份额丢失所带来的影响可能会比上面分析的更加糟糕,因为谷歌的运营成本非常高。
4
谷歌的应对措施
对此,谷歌并没有坐以待毙。在ChatGPT发布短短几个月之后,谷歌就紧随其后向公众推出了集成LLM的搜索版本。就目前我们所看到的,微软的New Bing和新版谷歌搜索各有优劣。
集成了ChatGPT的New Bing搜索引擎在LLM功能方面似乎更加强大。 谷歌在搜索准确性方面存在问题,甚至在Bard的演示中也出现了这种问题 。但是在响应时间方面,谷歌的Bard可以直接碾压Bing GPT。这些模型响应时间和搜索质量方面的差异与模型大小直接相关。
Bard将世界知识的广度与大型语言模型的力量、智慧和创造力相结合,并利用网络提供及时、优质的回答。谷歌Bard由LaMDA轻量级模型版本提供支撑,这种小型模型需要的算力更少,可以辐射到更多用户,获得更多反馈。——谷歌
谷歌正通过部署轻量级模型来争取更大的利润空间。他们本可以部署全尺寸大小的LaMDA模型或功能更强、更大的PaLM模型,但是他们没有这样做,反而选择了LaMDA轻量级模型。
对于谷歌来说,这是一种必然选择。
谷歌无法将这些庞大的模型部署到搜索当中,因为这会大大降低毛利率。稍后我们会详细讨论LaMDA的轻量级版本,但重要的是,我们要意识到Bard的时延优势是其竞争力之一。
谷歌的搜索收入来自广告,不同的用户在搜索时会给谷歌带来不同的收益。相比印度男性农民,美国郊区女性平均每个目标广告所带来的收益要高得多,这也意味着不同用户会带来截然不同的营业利润率。
5
LLM在搜索中的发展
将LLM直接融入搜索并不是改进搜索的唯一方法。 多年来,谷歌一直在搜索中使用语言模型来生成embeddings。这种方法可以在不增加推理成本预算的基础上,改善最常见的搜索结果,因为这些embeddings可以一次生成,供多个搜索结果使用。
相比ChatGPT拥有的2000个Token输出总数,从Bing GPT的84个不同的实例来看,Bing GPT约为350个Token的输出总数明显较少。多数情况下,人们在搜索时不愿阅读大量繁琐的信息。此估算考虑了未向用户展示的token。
后续优化是实现 前2000个关键词占搜索量的12.2% ,其余的则是纯导航性搜索(purely navigational searches)。假设20%的搜索不需要LLM。最后,相比使用基于NVIDIA的HGX A100的Microsoft/OpenAI,谷歌使用内部TPUv4 pod的基础设施优势更明显。
这些简单的优化可以让谷歌以仅30亿美元的额外成本将LLM部署到搜索当中。如果一切从一开始就完美设置,那么谷歌单在硬件上的支出成本就约为200亿美元,其中包括数据中心基础设施。这是在NVIDIA H100和谷歌的TPU v5等新硬件或MoE、稀疏性、剪枝、模型蒸馏、kv缓存和提前退出机制(early exit)等各种技术成本增加之前的情况。
人们不会接受连接到互联网的ChatGPT接口。因为运行速度很慢、容易编造虚假信息、并且无法有效变现。不过上述分析仍然过于简单化。
由于用户体验发生了转变,单位收入经济学(unit revenue economics)和成本结构将在未来2到3年内迅速改变,实现完全重构。
如果要从收入和成本方面更深入地了解这一变化,那么我们首先要搞清当前的搜索架构,因为它是未来变化的基础。
从较高的层面来看,搜索的目标是尽快提供相关信息。用户输入关键词时,搜索结果最好要按照优劣从上到下排列。搜索工作流(search pipeline)主要有四个进程:爬虫、索引、查询处理器和广告引擎。机器学习模型早已渗透进这四个领域。
爬虫
爬虫会自动定位互联网上的新内容,这些内容包括网页、图像和视频,然后它会将这些内容添加到搜索引擎的数据库(索引)中。通过机器学习,爬虫能够确定要索引页面的价值并识别其中的重复内容。它还能分析页面之间的链接,评估哪些页面可能相关且重要,这些信息会被用于优化抓取过程,确定抓取内容、频率和程度。
爬虫在内容提取方面也起着重要作用。它的目标是实现网页爬取内容的全面文本化,同时使数据总量最小化,以确保搜索的速度和准确度。时延(latency)对于搜索来说至关重要,即使是几百毫秒的变化,也会极大地影响用户搜索量。
谷歌和Bing利用图像和小型语言模型来生成在页面/图像/视频中并不存在的元数据。大规模扩展这些功能是将大型语言模型和多模态模型融入搜索的突破点,目前所有简单的搜索成本模型都没有考虑到这一点。
索引
索引是一个用于存储爬取信息的数据库。在索引层中可以进行大量预处理,以最小化必要搜索的数据量。这最大限度地减少了时延,提高了搜索相关性(search relevance)。
-
相关性排序:可以使用模型基于相关性对索引中的页面进行排序,以便首先返回用户搜索查询最相关的页面。
-
聚类:可以使用模型将索引中的相似页面进行分组,让用户更容易地找到相关信息。
-
异常检测:模型可以检测索引并删除其异常页面或垃圾页面,进而提高搜索结果的质量。
-
文本分类:可以使用模型基于内容和上下文对索引中的页面进行分类。
-
主题建模:模型可以识别索引页面涵盖的主题,每个页面对应一个或多个主题。
虽然当前索引层是由较小的模型和DLRM完成,但如果插入LLM,搜索的有效性将会得到显著提高。 而其他简单搜索成本模型(model of search costs)都忽视了这一点。我们将在本报告的后面讨论用例并估算成本。
查询处理器
查询处理器是搜索堆栈中最受关注的层,用于接收用户的查询并生成最相关的结果。首先需要解析用户的查询,再将其分解为关键字和短语,进而从索引中抓取最相关的项,然后对用户的特定查询进行重新排序及过滤。此外,查询处理器还负责将这些结果返回给用户。
目前在该工作流中部署了多个模型,从简单的拼写检查到自动向用户查询添加相关术语的查询扩展,以提高搜索结果准确性。根据用户的搜索历史、位置、设备、偏好及兴趣对结果进行相关性排序及个性化处理。不过当前要想实现这一点需要在多个小型模型上运行推理。
由于用户提交的是实时查询,因此必须快速高效地执行查询处理。相比之下,爬虫和索引是一个持续性的过程,且无需与用户进行交互。
此外,谷歌和Bing使用了迥然不同的硬件以实现其经典方法(classical approaches)。谷歌使用了大量标准化CPU和内部TPU,而Bing目前使用的是大量标准化CPU和FPGA,其FPGA加速了排序方法(Ranking)和AI。
广告引擎
虽然搜索堆栈的最后三个部分是满足和留住用户的关键,但许多人认为广告引擎是最重要的,因为所有变现都源于广告引擎的质量。查询处理器与广告引擎是实时交互的,广告引擎必须对用户查询、用户档案、位置和广告效果(advertisement performance)之间的关系进行建模,为每个用户生成个性化的推荐,从而最大限度地提高点击率和收入。
广告市场是一个实时竞价的大市场,广告商通常在这里为关键词、短语或特定用户类型付费。因为支付的金额并非衡量服务的唯一标准,所以广告模型不再将其作为唯一准则。由于该模型需要优化转化率以获得收益并提高比率,因此搜索相关性是高度优化的参数。
总体而言,过去4年,谷歌搜索结果的顶部页面有80%的结果没有任何广告。此外,目前只有一小部分(不到5%)的搜索中有四个排名靠前的文本广告。——谷歌
使用了LLM,消费者阅读到就不仅限于前几个结果,这些结果中的广告可以变成广告商的销路。相反,现在广告成为了LLM的输出。因此,随着对话LLM的问世,广告成了搜索堆栈中变化最大的一部分。我们将在本报告后半部分讨论变现的方式和变化,因为这是广告服务运作方式的根本转变。
6
根本性转变
搜索中的LLM不单是一个融入搜索引擎界面的大模型。 相反,它是一个多模型融合的大模型,每个模型的任务是为整个链条中的下一个模型提供最密集、最相关的信息。
这些模型必须基于活跃用户进行不断重新训练、调整和测试。谷歌是首个在搜索堆栈的四个层中使用人工智能的企业,但如今搜索正在经历用户体验、使用模式和商业化结构的根本性转变,这可能会使许多软件堆栈的现有部分失效。
问题的关键在于谷歌能否胜任这项任务。在保护好自己“金蛋(golden egg)”的前提下,谷歌能调整其搜索堆栈吗?
快速前行,打开局面。——马克 扎克伯格,2011
在弄清楚应用模式(usage models)之前,谷歌在超优化(hyper-optimize)其搜索堆栈方面是否有文化要求?假设谷歌以最低成本将过多资源投入运营中,并且达到了搜索相关性的局部最大值。
在这种情况下,谷歌可能会迷失方向,反而限制了本该用于扩展和测试新应用模式的模型发展和创新。相反,微软和OpenAI更具冒险精神,更可能大刀阔斧地对搜索堆栈的四个元素进行彻底改造。
谷歌过于谨慎和过早优化的最明显例子就是研发Bard。
Bard将与LaMDA的轻量级版本一起发布。这个小得多的模型需要的算力更少,所以我们能将其扩展到更多的用户,从而获得更多的反馈。——谷歌
谷歌正在缩减(cut down)2021年初开发出来的一个模型。当然,从开发至今,该模型有所改进,但现在OpenAI和微软使用的是2022年底和2023年初开发出得更大的模型和更新的架构,并得到ChatGPT的持续反馈。所以谷歌所见所闻该模型情有可原,但这也可能会让谷歌在用户体验和迭代速度方面受到重创。
更令人担忧的是,在过去的几个月里,一些有远见卓识的人才(例如BERT的教父,PaLM推理的首席工程师和Jax的首席工程师)开始涌向初创公司,比如OpenAI。这可能是谷歌的文化弱化(weakening culture)的迹象。
想象一下,如果这场搜索竞争导致谷歌的股票持续下跌,而RSU(限制性股权)的价值远低于预期,这对员工的士气和忠诚度有何影响?
或者说,由于Bing要争夺市场份额,并抬高了谷歌目前拥有的苹果专属协议,搜索业务不再是无尽的摇钱树,那又会怎样?谷歌是否必须在运营包括谷歌 Cloud在内的亏损业务时勒紧裤腰带?
7
时延
谷歌的Bard是一个较小的模型,时延响应时间较低。此外,谷歌内部还有一个非常优越的PaLM模型,但目前还无力部署。
即使时延为2,000毫秒(常规搜索的4倍,包括互联网时延和20倍的处理时间),PaLM也只能处理输入的60个token(约240个字符)和输出20个token(80个字符)。当在64个TPUv4上并行运行时,始终只达到约35%的利用率。
重要的是,LLM需要在搜索堆栈的非时间敏感部分(non-time-sensitive portions)使用。此外,虽然时延会更高,但batch size越大,在堆栈的这些部分实现的利用率就越高。
除了低时延标准,序列长度增加(sequence length growth)也是将LLM融入搜索的最大挑战之一。
8
Context至上
面向用户的模型和未来AI芯片的关键在于增加它们的context window(上下文窗口),以便可以通过层(layer)向前传送更多先前模型或源材料。就推理成本而言,扩展序列长度的成本也非常高,这会扩大成本结构。
因此,在实时方面将围绕context window进行多种优化。在爬虫和索引阶段,可以最大化context window以尽可能地将源材料密集化,达到力所能及的高质量标准。
这样就可以在堆栈的实时查询部分启用更小的模型,以最大限度地减少搜索和context window的数量,从而减少时延并缩短响应时间。
9
整个搜索堆栈中的LLM实现
看看微软如何以相同的方式应用这些技术为某些高级企业的搜索和对话式AI助手提供服务,用AI扫描过去30年中的每个文档、电子邮件、Excel工作表、PDF和即时消息,这也是一件很有趣的事。如何在运营和基础设施层面设想新的搜索堆栈也很重要。
当然,谷歌仍然拥有其Android、YouTube、地图、购物、航班和照片等业务模块,在这些领域微软几乎无法与之竞争。因此无论发生什么,这些业务模块都足以让谷歌在搜索领域维持领先地位。
其他人都在看
欢迎Star、试用OneFlow最新版本:https://github.com/Oneflow-Inc/oneflow/