导读
introduction百度搜索架构部模型架构组,致力于将最新的人工智能技术以更低的成本被百度数亿用户体验到。这个过程中会面临非常多的系统、工程层面的问题,甚至在深度学习模型领域,我们看到越来越多的工作并不拘泥于工程本身。
如下图所示,我们问一个河流的长度,搜索结果精确返回了河流的长度,而不是返回有答案信息的网页链接让用户依次查找。能做到这样,是深度学习起着至关重要的作用,模型从语料中寻找、判断、截取准确答案,然后呈现给用户。此外,用户还能输入图片并询问图片的内容是什么。
纵观搜索的发展的历程,从最初的人工特征,到浅层的机器学习模型,再到不断加深的深度学习模型,我们对用户需求和候选内容的理解能力是持续的提升的,能力提升到一定程度就会影响架构的变化。近几年,架构最大的变化之一,是大规模的深层知识学习模型和系统的落地。
传统的检索的通路的思路,是倒排索引。我们通常理解的索引,是先有文本,再去统计文本中关键词的出现频次,这是正排。那倒排是什么?是用户搜了一个词,我们去看它出现在哪些文本中。但是在中文语境中,一个句子通常会因为改变一两个字或词,整个句子的语义会发生剧烈的变化,比如"山桃红了" vs "山桃花红了",前者描述的是山桃果实的颜色,后者指的是山桃花的颜色。
倒排检索很难捕捉到这种变化,语义索引就很擅长解决这类问题。
那么,语义索引是什么?我们将用户的query做嵌入表示,映射到一个向量(128/256维)中,然后对全网内容进行检索、embedding映射至向量空间。我们可以把这个向量空间看作语义空间,在向量空间中越接近,语义就越近似,也就能反馈用户更加满意的结果。
很多时候,搜索和推荐有一定的共性,但也有诸多不同,这里我对比着讲。
搜索的语义理解模型中,transform 类的结构被广泛应用,文本作为特征,词表范围一般<20万,模型深度深,需要的运算量大。
而推荐模型,涉及大量用户及物料特征、交互特征,词表大小大到TB级,具有宽而较浅的特点。
搜索模型特点:
图片来源:Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need\[J\]. Advances in neural information processing systems, 2017, 30.
CTR/推荐模型特点:
ctr经典模型 Wide&Deep示意图 (图片来源:Cheng H T, Koc L, Harmsen J, et al. Wide & deep learning for recommender systems\[C\])
语义检索通路主要包括离线通路(下图左侧)和在线通路(下图右侧)。我们可以看到无论是离线还是在线,都用到了深度学习模型ERNIE。
图片来源:**Liu Y, Lu W, Cheng S, et al. Pre-trained language model for web-scale retrieval in baidu search[C]
离线侧,全网文本数量非常多,都需要检索到我们的库中做embedding,这个工作需要离线通路提前算好,存在数据库中。
在线侧,当用户输入query text后,同时进入传统检索通路(Query processing)和语义检索通路(Query Encoder)。语义检索通路中,用户query通过深度学习模型(图中是ERNIE模型)计算出一个向量,再与库中向量对比检索,快速找出与query向量尽可能接近的文本。这是第一步,后续还有非常多的复杂工作。
搜索在线推理系统,是根据用户query进行实时计算并返回结果,模型主要分为三部分:需求分析/query改写、相关性/排序、分类。
(1)需求分析/query改写,是通过深度学习模型返回一个语义相近的query
当用户问:“熔断是什么意思啊?” 其中含有口语化表达,通过调用深度模型返回一个语义相近的query:“熔断是什么意思”,使召回的答案更丰富、准确。
(2)相关性/排序,需要用到粗排/精排模型,将用户query与title相关的网页信息做拼接,让模型计算相关性,得出的分数决定了返回用户结果时的排名。
当用户问:“西安旅游必去景点攻略”,模型给出的分数越高,就代表网页和用户需求越接近,返回“float:0.876”。
(3)分类,即通过模型进行类型识别,返回类型。
当用户问:“周杰伦 稻香” ,模型识别出这是一个音乐需求,我们就可以为用户展现音乐类型的卡片。
搜索离线系统,用于处理时效性不高的任务。搜索的用户使用会呈现明显的波峰波谷形态,尤其是后半夜用户流量非常低,冗余的资源就可以进行离线计算,将计算结果存入语料库。比如文章最开始提到的珠峰海拔的问题,深度模型可以直接从语料库中抽取答案。还有一些是纯粹的离线任务,我们采用批量建库、批量刷库的形式拿到索引,并存储到数据库中。
搜索系统中非常多的任务都会用到深度模型,我们希望各用户、各业务方都能用同一套API来调用深度模型,这部分就是我们做的工作了。
在深度推理系统之后,它的后端由于大家模型种类、大小、尺寸都不一样,包括异构算力,都需要我们把深度模型推理服务部署上去。
那么,如果并发量变大,我们如何做到均匀调度、让系统稳定可靠呢?
首先是均匀调度。下图为公司内部模型部署的一种典型方案,我们每个人拿到的计算机叫做单机,但是单机粒度较大需要进行虚拟化,切分出更小的粒度来提供服务、做扩缩容等,我们称作实例。
在对外提供服务时,单机多实例无法支撑巨大的并发量,所以需要扩展多机多实例,在百度搜索这种海量用户的场景,会在多地多个机房部署这样的服务。均匀调度的意思,是当大量并发请求产生时,需要让各地实例最小粒度能够均匀利用,不能发生一些机器拥堵、一些机器没利用起来的情况。
再者是稳定可靠。架构领域有一个非常有名说法,说“架构工作就是在不稳定的硬件之上构建一套稳定的系统”。当我们的实例和机器数量变得多时,某个硬件出故障其实就成为必然现象了,如何及时检测故障并迁移,保证用户体验,就是我们需要保障的事情。
此外,我们还希望整个推理系统的速度足够快,有足够高的吞吐,尽可能降低资源成本。如下图所示,推理系统的请求由brpc输入,brpc是在公司内部各模块间通过网络调用的,可以让用户用类似本地函数的调用方式调用其他服务。系统收到请求后会识别inferfence request里的信息,包括要访问什么模型、访问什么版本、输入了什么等,之后进入处理流水线。
处理流水线包含四个部分:
以上是超大规模在线推理系统的概况。
我们的深度模型优化,其实是针对某些瓶颈去做优化。GPU模型通常面临着三类瓶颈:IO瓶颈、CPU瓶颈、GPU瓶颈。如下图所示,训练的整个过程包括:读取数据、前向推理、反向传播,我们推理过程可以拆分成读取数据、前向推理两部分。
模型优化工作分为三个方面:训练、推理和小型化。
(1)数据读取
我们针对场景做数据读取的优化。原因是在模型不断增大后,我们不断的尝试将模型切分,在单机多卡上训练,甚至在多机上训练,不同的切分方式也会导致很多时候数据处理并没有对场景做深度适配。
(2)框架调度我们在训练模型的过程中,一般是训练一些step后做一次评估。在实际工作中,我们发现很多框架的训练是在多卡上,但评估确在单卡上,这就出现了可优化的空间。
(3)kernel融合/开发这是在训练和推理场景都会遇到的工作, kernel融合可以减少 CPU的发射开销,此外 GPU单kernel任务也会相对增大,不容易出现CPU瓶颈。在识别到不够高效的kernel后,我们会进行kernel融合的开发。
(4)模型实现-等价替换无论用paddle框架或是其他,都会提供很多OP,这是想实现一个功能,就可以用不同的op来达到同样的功能,这为用户带来非常高的自由度。但是不同的op在实际的执行过程中有低效和高效之分的,所以我们一部分工作就是去识别并替换成更高效的实现。
除了kernel融合/开发、等价替换等,推理优化还包括GPU/CPU负载均衡、模型结构剪裁。
(1)GPU/CPU负载均衡
在推理场景,CPU的工作量并不太多,包括预处理、kernel lunch和后处理,我们可以把一些 GPU并不擅长的工作放在CPU执行,包括对访存比较高但运算量较少的op,放在CPU进行更合理。
(2)模型结构剪裁
对于业务模型,可能会在存在训练时需要但推理时不需要的运算部分,可以在模型导出过程中将不需要的部分去掉。
小型化分为三个方向:蒸馏、量化、剪枝
(1)服务化蒸馏
蒸馏是一种模型压缩技术,将一个复杂的、大型的模型 (teacher) 的知识转移到另一个更小、更简单的模型(student)中。小模型可以与大模型保持相似的训练结果。
在实际业务场景中,随着teacher数量不断增长,蒸馏过程无法并行,teacher模型前向推理是串行的且耗时占比会越来越高,成为主要瓶颈。所以从工程师的视角,我们将 teacher放在异构的算力上去推理,一方面将串行的teacher前向推理并行化,另一方面可以将闲置的资源利用起来,如下图所示,整体加速蒸馏效率。
(2)量化
在推理过程中,我们希望将FLOAT32量化到更低位数,如INT8、INT4等,以期达到更低的内存占用、更低的功耗和更快的计算速度。一方面我们在尽可能保持量化工具的先进性,探索前沿各种新的量化算法,将量化前后的指标效果损失降到最低。另一方面我们在构建自动量化的机制,让更多模型能够享受量化带来的速度提升。(3)剪枝
剪枝按照粒度来讲,从细粒度的单参数裁剪,按照一定pattern将不重要的权重置为0,但需要搭配特定的硬件才能在整体看到速度提升。粒度更粗一点,对于transformer类的模型,可以裁剪attention head,将不重要或者提供信息较少的head识别出来并去除。甚至可以更大胆一点,直接跳过一些层的推理。
百度搜索架构部模型架构组的工作非常有挑战性和意义,我们致力于将最新的人工智能技术以更低的成本带给百度数亿用户体验到。我们不仅关注深度学习模型在搜索领域的工程应用和优化,还不断探索和研究新的技术手段,以不断提升搜索模型的效率和性能,同时也在尝试用深度模型重塑架构。如果你对搜索、语义检索、深度模型优化加速等领域感兴趣,欢迎加入我们的团队,一起为用户的搜索体验做出贡献。
本文由微信公众号百度Geek说原创,哈喽比特收录。
文章来源:https://mp.weixin.qq.com/s/E0ctQoT0P1D6hxHeyAmG0Q
京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。
日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。
据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。
今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。
日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。
近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。
据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。
9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...
9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。
据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。
特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。
据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。
近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。
据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。
9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。
《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。
近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。
社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”
2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。
罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。