万象:百度的海量多媒体信息处理系统

网友投稿 250 2022-10-10

万象:百度的海量多媒体信息处理系统

“2016年,我国在线视频市场规模达到609亿元,同比增长56%。截至2016年8月,网络自制视听节目播放量同比增长180%,流量占比从2015年的8%增长到14%。”

——《中国视听新媒体发展报告(2017)》

从信息量来看,图片承载的信息量要多于文字,视频承载的比图片更多。同一个内容,可以用文字、图片、甚至视频方式呈现,即使是同一个图片或者视频,不同人从中获取得到的信息量也不完全一致。随着手机的普及以及手机应用APP的繁荣,内容呈现不仅仅局限在网页,而更多地呈现于体验更好的native app,它们提供了更友好的操作和不一样的信息体验。这些给传统搜索引擎带来很多新的挑战。

二、搜索引擎面临的新挑战传统搜索引擎承接了用户查询获取信息的入口,在html时代内容呈现方式都有固定的规范以及统一的载体(浏览器),搜索引擎可以方便地对全网信息进行内容提炼、加工和检索,找出与用户查询最相关的结果。然而,这种方式如今正在悄悄发生转变:

(1)以内容为核心的竞争:网页不再是信息的唯一载体

同一内容可以新闻稿方式出现在PC网页,也可以图文并茂地出现在手机传媒的WISE应用中,还可以视频方式呈现在各种垂类APP中。随着头部应用的出现,内容开放的壁垒开始形成。PC时代网页都是开放形式对外输出,如今头部应用可以把内容尽收在自己的应用内部。特别是到了富媒体时代,手机的普及以及图片视频编辑门槛的降低,越来越多的优质内容以图片和视频方式呈现,给用户的体验越来越好。西瓜,抖音,快手等爆款式的视频APP出现,也反映了用户对富媒体资源的认可和追捧。而对搜索引擎而言,越来越多的优质内容将以跨媒介的富媒体形式出现。

由于用户可以从多个应用端接入并消费内容和信息,其在不同端的行为反馈需要被搜索引擎所收集用于精准排序。这对于搜索引擎抓取系统提出了新的挑战,即如何获取到这些分散到各个不同载体的用户行为数据。抓取系统需要超越此前仅抓取网页的限制,扩展到抓取图片、网页,甚至突破手机应用上的页面获取到经过用户授权的内容和信号。进一步,在搜索引擎内部进行信息处理过程中,将这些信号和特征以内容为粒度进行聚合和传递,以让相同内容的其他载体在排序过程中可以用到这些信号。例如,谢豪《野蜂飞舞》在不同的视频中都有不同的用户反馈信号,但实质上都是对同一个内容的用户反馈信号。传统而言,这些视频都来自不同的播放页和站点,用户行为反馈信号会被认为是不同网页的所属,而这种基于站点而不是内容的检索方式在新一代基于富媒体内容的搜索引擎系统设计中将发生改变。

(3)富媒体信息的消费方式呈现多样化传统网页搜索下,用户输入关键词来检索信息,搜索引擎返回与用户搜索需求最相关的网页;而在富媒体信息下,用户不仅可以通过关键词来检索信息,还可以输入图片来检索信息,甚至通过内容语义来检索信息。目前,常见的产品形态是:

以文(关键词)搜图以文(关键词)搜视频以图搜图:搜索相同或者相似图片,如拍照查询相同或者相似的图片以图搜视频:搜索包含该图的视频,如拍一张电影截图查找是来自哪部电影以文(内容语义)搜图或视频:以文字表示的语义内容检索相关图片或者视频,如查找《三生三世》中包含刘亦菲接吻的所有片段

这些输入多样化对搜索引擎的设计带了新的要求:不仅仅是传统基于item的倒排拉链,还要考虑给予语义向量的倒排等。

三、富媒体信息的处理与检索富媒体信息处理与检索,是指对包括视频、图片在内的多媒体资源进行收录、筛选、建立索引,并提供用户以文本、图片等输入方式进行信息检索的能力。下图给出了百度搜索引擎对富媒体信息的处理流程。

首先会在离线对图片、视频等富媒体数据进行加工和处理,识别出其中的内容与语义,然后转变成系统能够识别和处理的属性(如文本标签,分类标签等),质量信息(如站点或者作者权威性,点赞量/播放量等,黄反信息等等),或者光学属性(如清晰度)。这些基础特征信息构成了对一个富媒体数据的全部表述。不同富媒体数据之间还会有相同/相似,包含等关系属性。如网上很多的剪辑视频,可能来自某部电影;或者两个一样的视频文件,只是来自不同播放站点带了不同的水印或者封面而已。这种关系,在我们系统中称之为实体粒度的聚合特征(相对于上一段所提到的基础特征)。当两个实体被判断为相同的时候,相关的特征信息可以合并汇聚,供两个实体同时使用。如播放量和点赞量会累加,缺失的特征标签会被另外一个实体补充等等,从而实现内容级别的汇聚。

四、万象系统在百度搜索引擎中,对视频/图片等多媒体数据进行处理的系统称为:万象(取自包罗万象,万象更新的意思),是对图片/视频等多媒体内容的加工和处理,提供规模化的收录、加工、筛选、建立索引的能力,为用户以文本、图片等输入方式进行信息检索提供强有力的数据支持。

整个万象系统承载了百度搜索引擎主要的图片与视频数据处理,涉及海量的图片、视频(横版视频与竖版视频);每天都在计算和处理这些庞大的数据,支持图片搜索、搜索结果配图、视频搜索、推荐等等所有百度内部涉及富媒体的主要产品线。规模化与时效性是整个系统处理富媒体信息的两个最核心的设计指标。

规模化:指能大规模处理视频、图片等多媒体数据;同时能够调动和管理涉及几十万core算力的异构资源(CPU,GPU,FPGA等等);时效性:指能够以满足产品迭代要求和周期的方式完成数据产出,包括各种特征和属性生产、数据筛选、索引生产等等,以确保产品效果时效性。

除了底层的基础服务外,整个万象系统主要包括:(1)千仞系统:负责分析单个实体(图片/视频)基础特征,如单一图片的人物/场景/OCR/清晰度等等分析;(2)初元系统:负责分析实体与实体之间关系(相同,相似,包含,类聚等等),如是否是剪辑视频/是否同一事件的图集等;(3)丹鼎系统:负责管理特征,以及按照内容实体粒度聚合和组织特征数据;(4)其他辅助系统:负责裁剪、转码、编辑等。1. 千仞系统(Blades)千仞系统分析单一实体产出的特征数据,我们称为基础特征数据。分析和理解图片/视频是极其复杂和高成本的过程,在整个千仞系统中需要调动近几十万Core的弹性CPU资源以及GPU/FPGA等专用计算资源。在基础特征分析中,有些特征只需要成本低廉的CPU就能分析处理,如图片长宽;而有些则成本高昂,需要GPU等高级硬件且耗时很长才能产出,如OCR/分类/清晰度等等。成本高的特征,在千仞中会尽量减少重复计算,提高生产率。

在千仞系统中,首要问题是如何用有限的资源支持如此庞大的计算需求。在千仞系统中,所有特征计算都会转换成DAG执行,除了支持传统的批量特征计算外,流式计算也是最重要部分之一。DAG执行引擎能有效地对各种特征关联关系进行管理,合并重复计算单元,同时结合数据热点调度,从而提高计算的性能。同时还包括重型算子的计算优化,例如OCR以及视频指纹计算,如何突破单卡吞吐屏障实现百倍甚至千倍规模提升等等。

初元系统是基于千仞系统生产出来的基础特征构建的。表征每个实体是其基础的特征属性,通过在全集实体集合中进行指纹级别的比对,来找到所需要的各种关系。如何动态地、实时地构建全集实体集合是系统设计的挑战之一。

3. 丹鼎系统(Athanors)无论是千仞产出的特征还是初元产出的特征,最终都会存储到特征库——丹鼎系统。丹鼎系统不仅仅是存储实体的特征信息,而更重要的是进行实体粒度的特征属性聚合和传递。相同的两个实体(例如,视频)会有不同的标题、点赞量、转发量等等特征属性。如果初元分析出两个实体其实为同一个实体(如只是带上了不同水印的同一个视频),当这些信息汇聚到丹鼎系统的时候,相关的属性会聚合并可同时为任何一个实体使用。

五、总结在以内容为王的时代,新一代的搜索引擎已经从传统的基于网页的收录与检索,升级成基于富媒体信息等多种内容载体的信息收录与检索。与传统网页不同,富媒体数据的理解与处理相比于此前的网页会更难、更具有挑战。万象系统是百度搜索为了解决富媒体信息海量处理问题而设计和开发的系统,文中对万象系统进行了一次全面的总览介绍,万象系统目前在百度已经承接了搜索所需要的所有图片、视频数据的加工和处理,管理着超大量级的图片和视频实体特征数据,每天支持数十亿的处理吞吐,为百度产品的效果提升奠定了基础。

推荐阅读

|百亿级流量的百度搜索中台,是怎么做可观测性建设的?

|十亿级流量的搜索前端,是怎么做架构升级的?

|百度信息流和搜索业务中的弹性近线计算探索与应用

----------  END  ----------

百度架构师

技术干货 · 行业资讯 · 线上沙龙 · 行业大会

招聘信息 · 内推信息 · 技术书籍 · 百度周边

欢迎各位同学关注!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:云开发5分钟快速打造钉钉应用
下一篇:ThreadPoolExecutor中的submit()方法详细讲解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~