导读:在百度搜索中,主要由“搜索在线”和“搜索离线”两部分构成,“在线”服务主要用于响应用户请求,“离线”服务则将各种来源的数据转换处理后送入“在线”服务中。“搜索离线”的数据处理是一个典型的海量数据批次/实时计算结合的场景。
全文字,预计阅读时间8分钟。
一、多模态检索背后的”离线“与“在线”
在百度搜索中,主要由“搜索在线”和“搜索离线”部分构成,“在线”服务主要用于响应用户请求,“离线”服务则将各种来源的数据转换处理后送入“在线”服务中。“搜索离线”的数据处理是一个典型的海量数据批次/实时计算结合的场景。
年起,百度App上线了多模态检索能力,将智能化搜索直观体现在用户面前。多模态检索是在传统文本检索之上,增加了视觉检索和语音检索的能力。
其中,“视觉检索”和“文本检索图片”这两类业务的离线、在线技术上,有很多地方是共通的。以视觉检索为例,产品形态包括:猜词、更多尺寸图片、图片来源、垂类图片(短视频、商品、等)、相似推荐等,其背后依托的核心技术有分类(GPU在线模型预估)与ann检索。
在ann检索方面,目前主要采用的检索方法有基于聚类的gno-imi、基于图的hnsw,以及局部敏感hash方法,选型的主要考虑是技术方案成本与特征的适用性,比如gno-imi是百度内开源的,内存占用比较小的方案,应用到百亿规模的ann检索上成本可接受;局部敏感hash的方法,应用到SIFT这类局部特征上,可以加强手机拍照识别场景下召回效果。
这些在线技术的背后,依赖的特征有百余种,离线要收录全网图片,并对图片计算特征,其算力开销是非常庞大的;另外,图片在互联网上依附于网页,还需要维护“图片-图片链接-网页链接”的关系(离线数据处理、在线应用都离不开数据关系,比如为了溯源,需要提供图片的来源网页url等)。
此种情况下,搜索架构部与内容技术架构部依据自身业务与技术特点,联合设计与开发了“图片处理收录中台”,以期达到以下目的:
统一的数据获取与处理能力,可整合图片类业务的数据获取、处理、存储逻辑,提升人效,降低存储计算成本。百亿~千亿级别的图片应用,可实现快速调研、数据采集、全网数据更新能力。建设图片实时筛选与定制下发数据通路,提升图片资源引入的时效性。
该项目在内部名为Imazon项目。Imazon来自于Image+Amazon,其中amazon代表中台能力的吞吐能力、DAG处理能力、图片容量。
目前,图片处理收录中台,提供复杂业务场景下单日处理数十亿级图片数据,秒级实时收录百gps,全网收录万级别gps。平台目前支持多个业务线的图片处理与收录需求,大幅提高了业务执行效率。
二、图片处理收录中台的架构与关键技术
搜索效果的持续优化,离不开数据与算力,主要以收录,存储,计算为核心。图片处理收录中台,希望通过中台提供的通用能力包括:从时效、全网图片收录通路中筛选数据、提供大吞吐的流式处理机制、图片-网页关系刻画能力、原图缩图存储、在线处理机制等。
2.1图片处理收录中台解决什么问题?
图片处理收录中台的主体流程,经历6个阶段:网页spider(获取网页内容),图片内容提取,图片spider(爬取图片),特征计算(百余种特征),内容关系存储,建库。如下图所示:
2.2图片处理收录中台的技术指标
中台的技术指标定义,从架构指标、效果、研发效率3方面来描述。
架构指标包括吞吐、扩展性、稳定性:
吞吐,即在成本限制内,提高吞吐,具体指标为:单数据大小:百Kbytes(图片+特征);实时收录百qps;全网收录万级别qps扩展性,即云原生部署、算力资源弹性调度,有资源时快点算,没资源时慢点算。稳定性,即不丢数据,自动重试,自动回放;时效性数据分钟级处理成功率;全网数据天级处理成功率
效果指标主要