中小企业信息化推进工程

Small and medium-sized enterprises Information promotion project

首页 > 专题活动 > 阿里巴巴年度技术总结:人工智能在搜索的应用和实践

阿里巴巴年度技术总结:人工智能在搜索的应用和实践

       以深度学习为代表的人工智能在图像、语音和 NLP 领域带来了突破性的进展,在信息检索和个性化领域近几年也有不少公开文献,比如 wide & deep 实现了深度模型和浅层模型的结合,dssm 用于计算语义相关性,deepfm 增加了特征组合的能力,deep CF 用深度学习实现协同过滤,rnn recommender 采用行为序列预估实现个性化推荐等。工业级的信息检索或个性化系统是一个复杂的系统工程,深度学习的工业级应用需要具备三个条件:强大的系统计算能力,优秀的模型设计能力和合适的应用场景,我们梳理了过去一年多搜索在深度学习方向上的探索,概要的介绍了我们在深度学习系统、深度学习算法和搜索应用落地的进展和思考,希望对大家有所启发。

       深度学习在搜索的应用概括起来包括 4 个方面:

       首先是系统,强大的深度学习训练平台和在线预测系统是深度学习应用的必要条件,目前我们的离线深度学习框架、在线深度学习框架和在线预测框架统一到 tf,并实现了日志处理,特征抽取,模型训练和在线服务部署端到端的流程,极大提升了算法迭代效率;

       其次是搜索应用,包括智能交互,语义搜索,智能匹配和智能决策四个技术方向,这四个方向的协同创新实现了搜索全链路的深度学习技术升级,并具备从传统的单场景单目标优化到多场景多目标联合优化的能力;

       再次是在性能优化上做的工作,包括模型压缩、量化、低秩分解再到二值网络,大量的技术调研和论证,为未来提高深度模型预测性能和软硬件协同优化做了很好的技术铺垫;

       最后是排序平台化,实现了 PC 商品搜索、无线商品搜索、店铺内搜索搜索和店铺搜索的搜索服务统一,通过特征和模型复用,实现了多条业务线技术的快速升级。下面我会简要的概括下在四个方向上取得的主要进展和背后的思考。

       下面是搜索系统和算法的简图。系统包括:

       a. 离线数据平台 ODPS,负责离线日志 join、特征抽取和离线模型预估产出排序特征,时效性不强的特征都是通过离线数据平台产出的,比如用户性别标签,商品关键字等;

       b. 离线机器学习平台 PAI,底层是主流的 parameter server 和 TF 深度学习框架,平台实现了大部分机器学习算法模型的并行训练和预测,在搜索应用中主要作用是离线模型训练产出离线排序特征模型;

       c. 流式计算和在线学习平台 Porsche,流式计算是基于 blink 负责实时日志解析和特征 join 生成实时排序特征,在线学习和离线学习底层框架可以相同,差别主要是依赖数据源和部分优化方法不同,由于用户行为和市场环境变化快,流式计算和在线学习在搜索应用非常广泛,并积累了不少在线学习和强化学习算法;

       d. 在线服务平台,包括引擎、排序服务和搜索平台组成,负责在线的服务分发、索引查询、排序服务和结果合并等功能,搜索的排序策略、相关性、个性化等模型主要通过在线预测服务生效。经过多年发展我们已经具备了非常完善的商品搜索排序算法体系,包括知识图谱、分词、tagging、类目预测、意图预测、拼写纠错、query 推荐、query 语义改写、相关性、商品标签、商品质量、店铺分层、用户 profile、用户偏好、用户感知、召回策略、个性化模型、多样性策略、异构服务混排策略、多目标联合优化策略、多场景联合排序策略等,并平台化的方式赋能相关业务团队。

       系统进展包括机器学习平台和在线预测平台

       机器学习平台。搜索训练样本主要来自用户行为,由于用户行为是流式数据,适合做在线深度学习,但当模型参数非常庞大需要海量的样本时在线学习需要很长的时间才能收敛,这时一般是先做离线预训练再结合增量或在线学习,另外有些模型离线预训练后在线只需要对接近输出层的网络做 fine-tuning。搜索在实际应用的有离线机器学习平台 PAI 和在线机器学习平台 Porsche,两个平台深度学习框架目前都统一到了 tf-pai,tf-pai 对原生 tf 做了一些优化,比如底层通讯,稀疏参数存储、优化方法、GPU 显存优化等,比原生 tf 训练深度有较大的提升,训练上千亿样本和上百亿参数的深度模型毫无压力。虽然 Porsche 和 PAI 都支持 GPU,但在搜索应用中 CPU 依然是主流,GPU 应用比较少,原因主要是个性化相对图像或语音简单,特征抽取网络比较浅,维度相对较低,GPU 的稠密矩阵计算能力得不到充分发挥,同时离在线混布后流量低谷期间腾出了大量的在线服务闲置 CPU,把临时闲置的 CPU 利用起来做深度学习训练是一个非常好的思路。

       在线预估 RTP,搜索排序算分服务。由于每次搜索请求有上千个商品需要计算排序分数,深度模型应用对 RTP 服务的压力是非常大的,RTP 通过采用异构计算,计算算子化和模型分片等方式解决了深度模型 inference 计算和存储问题,深度模型用 GPU,浅层模型用 CPU,今年双 11 期间搜索 RTP 服务用到了 550 张 GPU 卡。另外,RTP 还实现了离线/在线训练模型/数据和在线预测服务部署的无缝衔接,算法训练好的模型或数据可以很轻松的部署都在线服务,提升了算法迭代效率。

       算法包括智能交互、语义搜索、智能匹配和搜索策略四个方向

       智能交互。商品搜索就是带交互的商品推荐,用户通过关键字输入搜索意图,引擎返回和搜索意图匹配的个性化推荐结果,好的交互技术能够帮助到用户更好的使用搜索引擎,目前搜索的交互主要是主动关键字输入和关键字推荐,比如搜索框中的默认查询词和搜索结果中的文字链等,推荐引擎根据用户搜索历史、上下文、行为和状态推荐关键字。

       和商品推荐的区别是,关键字推荐是搜索链路的中间环节,关键字推荐的收益除了关键字的点击行为外,还需要考虑对整个购物链路的影响,包括在推荐关键字的后续行为中是否有商品点击、加购和成交或跳转到另外一个关键字的后继行为,这是一个典型的强化学习问题,action 是推荐的关键字候选集合,状态是用户当前搜索关键词、上下文等,收益是搜索引导的成交。除了被动的关键字推荐,我们也在思考搜索中更加主动的交互方式,能够做到像导购员一样的双向互动,主动询问用户需求,挑选个性化的商品和给出个性化的推荐理由,目前阿里搜索团队已经在做智能导购和智能内容方向的技术原型及论证,智能导购在技术上主要是借鉴对话系统,通过引导用户和引擎对话与关键字推荐方式互为补充,包括自然语言理解,对话策略,对话生成,知识推理、知识问答和商品搜索等模块,功能主要包括:

       a. 根据用户搜索上下文生成引导用户主动交互的文本,比如搜索「奶粉」时,会生成「您宝宝多大?0~6 个月,6 个月到 1 岁….」引导文案,提示用户细化搜索意图,如果用户输入「3 个月」后,会召回相应段位的奶粉,并在后续的搜索中会记住对话状态「3 个月」宝宝和提示用户「以下是适合 3 个月宝宝的奶粉」。

       b. 知识导购,包含提高售前知识问答或知识提示,比如「3 个月宝宝吃什么奶粉」回答「1 段」。目前对话技术正在提高中,尤其是在多轮对话状态跟踪、知识问答和自动评价几个方面,但随着深度学习、强化学习和生成对抗学习等技术在 NLP、对话策略、阅读理解等领域的应用,越来越多的训练数据和应用场景,domain specific 的对话技术未来几年应该会突飞猛进。智能内容生成,包括生成或辅助人工生成商品和清单的「卖点」,短标题和文本摘要等,让淘宝商品表达更加个性化和多元化。

       语义搜索。语义搜索主要是解决关键字和商品内容之间的语义鸿沟,比如搜索「2~3 周岁宝宝外套」,如果按照关键字匹配召回结果会远小于实际语义匹配的商品。

       多智能体协同学习实现智能决策

       搜索中个性化产品都是成交最大化,导致的问题是搜索结果趋同,浪费曝光,今年做的一个重要工作是利用多智能体协同学习技术,实现了搜索多个异构场景间的环境感知、场景通信、单独决策和联合学习,实现联合收益最大化,而不是此消彼长,在今年双 11 中联合优化版本带来的店铺内和无线搜索综合指标提升 12% (AB-Test),比非联合优化版本高 3% (AB-Test)。

       性能优化。在深度学习刚起步的时候,我们意识到深度模型 inference 性能会是一个瓶颈,所以在这方面做了大量的调研和实验,包括模型压缩 (剪枝),低秩分解,量化和二值网络。

       通过以上技术,今年双 11 期间在手淘默认搜索、店铺内搜索、店铺搜索等均取得了 10% (AB-Test) 以上的搜索指标提升。

       阿里巴巴人工智能搜索应用的未来计划

       通用用户表征学习。前面介绍的 DUPN 是一个非常不错的用户表征学习模型,但基于 query 的 attention 只适合搜索,同时缺少基于日志来源的 attention,难以推广到其他业务,在思考做一个能够适合多个业务场景的用户表征模型,非搜索业务做些简单 fine tuning 就能取得比较好的效果;同时用户购物偏好受季节和周期等影响,时间跨度非常大,最近 K 个行为序列假设太简单,我们在思考能够做 life-long learning 的模型,能够学习用户过去几年的行为序列;

       搜索链路联合优化。从用户进入搜索到离开搜索链路中的整体优化,比如 搜索前的 query 引导(底纹),搜索中的商品和内容排序,搜索后的 query 推荐(锦囊)等场景;

       跨场景联合优化。今年搜索内部主搜索和店铺内搜索联合优化取得了很好的结果,未来希望能够拓展在更多大流量场景,提高手淘的整体购物体验;

       多目标联合优化。搜索除了成交外,还需要承担卖家多样性,流量公平性,流量商业化等居多平台和卖家的诉求,搜索产品中除了商品搜索外还有「穹顶」,「主题搜索」,「锦囊」,「内容搜索」等非商品搜索内容,不同搜索目标和不同内容(物种)之间的联合优化未来很值得深挖。

       智能交互。「搜索排序做的再好搜索也只是一个工具」,如何把搜索从工具做成私人导购助手,能够听懂你的语言,了解你的情绪,能够对话和多轮交互,解决售前售后困惑,推荐更加个性化的商品应该是搜索未来的另外一个主要发展方向。