【51CTO.com原创稿件】2018年5月18-19日,由51CTO主办的全球软件与运维技术峰会在北京召开。此次峰会围绕人工智能、大数据、物联网、区块链等12大核心热点,汇聚海内外60位一线专家,是一场高端的技术盛宴,也是***IT技术人才学习和人脉拓展不容错过的平台。
在“容器下的AIOps”分会场,转转公司***架构师/架构算法部负责人孙玄做了主题为《转转如何打造AI工程架构体系》的精彩演讲。演讲核心内容涉及转转AI工程体系中,推荐与搜索架构、召回与排序算法的演进。
基于微服务架构的转转二手交易平台
“一个帮你赚钱的网站”是转转二手交易平台的定位,主要解决从买买买到卖卖卖的问题。在共享经济的情况下,大家可以把闲置的手机、电脑等物品,通过转转二手交易平台卖出去,赚一些零花钱。转转二手交易平台整体架构设计采用微服务架构,于2015年11月12号发布。
图1 转转总体微服务架构图
如图1所示,可以直观的看到整个架构从左到右进行了垂直拆分,又对从上到下进行了水平分层。架构还设有网关、业务逻辑层、数据访问层、数据存储层、注册中心和配置中心等部分。基于转转总体的微服务架构,孙玄又针对推荐与搜索这两大架构的演进做了详尽的阐述。
推荐架构的演进
转转二手交易平台的推荐场景分为用户和商品两个维度。用户进入首页后看到的“看推荐和逛附近”两个板块以及点击分类之后看到的“为你推荐”板块,这三部分属于用户维度。“相似商品“推荐板块属于商品维度。
图2 用户维度和商品维度场景推荐
这些推荐场景背后的技术架构是如何打造的呢?接下来,让我们来看看转转二手交易平台推荐架构的演进。
转转二手交易平台推荐架构的演进可分为“石器时代”、“铁器时代”和“工业革命时代”三大阶段。
石器时代
推荐架构最开始0到1的过程,称之为石器时代,如图3所示。
图3 “石器时代”架构图
在“石器时代”所有的用户进入首页,都会看到同样的推荐内容。用户请求通过转转APP统一网关接入到推荐业务逻辑层进行一系列操作:如参数验证,拼装搜索请求参数等,最终访问搜索引擎。搜索引擎会进行召回和排序,并把结果返回给推荐业务逻辑层,业务逻辑层进行结果过滤、去重打散、渲染返回结果到APP客户端。
总结来说,“石器时代”的特点有全局推荐、无个性化、召回源单一、基于人工规则排序以及不支持线上ABTest等。
铁器时代
在“铁器时代”首要解决的问题就是个性化推荐,如图4所示为此阶段的架构图。
图4 “铁器时代”架构图
“铁器时代”整个架构***的变化在于物理分离推荐排序层和召回层。召回层,“铁器时代”做了很多和个性化推荐相关的事情,如计算用户商品特征、计算商品相似度和用户实时画像等等。总结来说,“石器时代”的特点是,***引入了个性化召回源,第二记录了推荐来源血统,第三为用户的行为流程做了反馈,第四支持了ABTest分组实验。
工业革命时代
历经了两个时代之后,推荐系统的排序结果依然不是很理想,主要是因为排序层仅仅做了分层排序,并没有把多个召回源进行融合排序。“工业革命时代”的核心是实时化+机器学习驱动。
图5 “工业革命时代”架构图
如图5所示,在“工业革命时代”推荐排序层发生了较大变化,引入了统一的机器学习排序模型。如果要引入机器学习排序模型来排序,就需要一些基础设施支持,所以“工业革命时代”增加了推荐统一召回服务层,涉及统一召回服务和统一特征服务。
“工业革命时代”的推荐架构做到了特征、模型的实时化,秒级捕捉到用户对商品变化再针对性推荐商品,进而提升转化率。除此之外,架构内部做到了组件化,可以自定义DSL和灵活编排组件。
未来,推荐架构将实现全面流水线化(如图6),一键完成模型训练、模型上线,实现复杂模型持续集成、快速迭代,从而大大提升生产效率。
图6 转转推荐架构流水线图
搜索架构演进
转转二手交易平台的搜索场景分为分类搜索和关键词搜索,如图7所示。
图7 分类搜索和关键词搜索
在转转二手交易平台中,搜索架构的演进分为三个阶段:规则、机器学习模型和平台化。
规则阶段
搜索架构的***阶段是人工规则排序,如图8为规则阶段架构图。
图8 规则阶段架构图
规则阶段由搜索逻辑层进行请求参数处理,搜索访问代理层进行参数解析之后,进而访问搜索集群。搜索集群承担召回和排序两阶段。
规则阶段,所有的召回、排序规则都由人工来定,主观调参调权,并且不支持线上ABTest。最终线上搜索效果也是无法有效评估。
机器学习模型阶段
这些阶段,搜索架构主要引入了机器学习模型。如图9所示为机器学习模型阶段架构图。
图9 模型阶段架构图
模型阶段,最主要特点是机器学习化,不仅召回过程中采用了机器学习模型,在排序阶段,大规模采用机器学习模型。由简单模型进行召回粗排,复杂机器学习模型进行细排。此阶段还做到了Query预分析、ABTest分组实验和用户行为数据反馈等。
平台化阶段
搜索通常是一个中台的作用,很多业务线都会用到搜索功能,故搜索架构要实现平台化,如图10所示为平台化阶段架构图。
图10 平台化阶段架构图
平台化阶段***的变化是Query改写、召回、预测、ABTest等功能服务化,在平台化之后,还要做到服务通用化。
未来,搜索架构致力成为大中台,通过云搜索引擎实现业务一键接入(如图11)。
图11 转转云搜索引擎架构图
算法演进
孙玄表示, 算法是为了解决召回和排序这两大问题,无论推荐、还是搜索场景均一样。
召回算法演进,可分为非个性化召回、基于兴趣召回、基于商品的协同过滤(Item-Based CF)和基于用户的协同过滤(User-Based CF)。排序算法演进,可分为基于人工规则、逻辑回归模型、GBDT+LR、Deep&Wide和FTRL。
算法未来演进将实时化和模型化。实时化方面,是针对特征的获取和模型的变更而言。模型化方面,是针对召回层和排序层模型的复杂度而言,未来模型越来越复杂,对工程架构带来的挑战也会越大。
电商AI体系未来
关于电商AI体系未来到底应该如何演进的问题,孙玄表示,本质还是解决好商品的匹配(召回问题)和排序(如图12)。排序方面,排序集相对少,架构挑战不大。匹配方面,涉及到海量商品候选集的问题,架构挑战较大。
图12 电商AI体系架构图
图13 电商AI体系提升质架构图
图14电商AI体系扩大量架构图
商品匹配问题如何解决?孙玄表示,从两方面着手:一方面是提升质(如图13),通过在召回层应用更加复杂的深度学习模型,提升商品召回的准确度;另一方面是扩大量(如图14),扩大匹配商品候选集,尽可能匹配出近全量的商品数据。
以上内容是编辑根据孙玄在WOT2018全球软件与运维技术峰会的演讲内容整理,更多关于WOT的内容请关注51cto.com。
【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】