爱奇艺推荐中台:从搭建到上线仅10天,效率提升超30%

2019 年 10 月 08 日

爱奇艺推荐中台:从搭建到上线仅10天,效率提升超30%


随着业务的高速发展,出现大量业务需要提供推荐服务的场景,然而业务团队一方面没有足够的推荐领域知识,另一方面也没有足够人力去搭建一套完善的推荐系统,导致业务团队很难提升各业务内的推荐效果。在这样的背景下,爱奇艺走上了推荐中台之路,从搭建到上线仅10天时间,研发效率提升30%以上。我们有幸邀请到爱奇艺高级技术经理张时骏来分享一个推荐中台完整的(技术分层)体系。今年10月,他将在 QCon全球软件开发大会(上海站)2019对此作详细介绍。


InfoQ:请问您对技术中台和业务中台是如何理解的?


张时骏: 自从马云的“大中台、小前台”口号问世,业界各公司都纷纷响应,搭建起了各种各样的中台。但中台到底是什么,大家并没有一个完全统一的定义,大致的边界在于快速变化的前台和繁重的后台之前搭建起一座桥梁,使中台通过一些通用的功能来快速为新的前台业务提供支持,尤其是在瞬息万变的互联网行业提供快速试错快速决策的关键能力,以提高公司执行效率。我个人所理解的中台大致分为业务中台和数据中台这两大部分。业务中台以提供通用的业务能力为主,例如最经典的电商中台,可以把商品、库存、用户、订单等系统都囊括在内,提供完整的电商业务能力,还有推荐中台、搜索中台等也都是提供某一业务能力的中台。数据中台则是整合散落在各处的数据,经过分析处理提炼,提供给前台能直接能使用的业务数据,例如用户画像数据,可以把用户在不同业务中的行为数据全都整合到一起,帮助新业务能更精准刻画用户。对于技术中台来说,更像是提供一些与业务无关的通用技术能力,比如提供大数据处理能力,大数据存储能力,数据中间件能力,但正因为这些通用技术能力与具体业务无关,前台很难通过一个技术中台来实现一个业务,那这个技术中台是不是还能称为一个中台也是值得商榷的。


InfoQ:如何看待中台与平台之间的关系?


张时骏:在我看来,平台是一个更宽泛的、可大可小的概念,中台是一种特殊形式的平台。还是拿刚才的电商来举例,如果说电商中台,那么很明显它不会把前台后台包括在内,而如果说电商平台,那么它是把前后台全都包括在内的,这是个大的概念。反过来说,电商里的一个子模块也可以成为一个平台,比如订单平台、商品平台,那么这相对于电商中台又是个小的概念。还有些刚才说到的与业务无关的通用技术能力可以称之为平台,例如大数据处理平台、数据存储平台,这些都是偏底层提供基础服务的平台,很多业务中台和数据中台都是基于基础服务平台之上架构的。


InfoQ:爱奇艺是从什么时候开始做中台的?为什么要做中台,在做中台之前如果要支持新业务是什么样子的?


张时骏: 爱奇艺是从 2018 年下半年开始规划做推荐中台的。因为在做推荐中台之前,有很多业务方想要对接推荐系统,但推荐团队人力资源有限,只能满足一部分业务需求。对于能满足的部分业务,推荐团队就需要从头搭一套针对业务的推荐系统,耗费不少人力。对于无法及时支持的业务,很多业务团队就只能自己去搭建一套推荐系统。但业务团队本身的强项在业务开发上,对推荐系统的了解不是特别深,而且能投入的人力也有限,最终推荐效果不是很好,也浪费了公司人力资源,所以推荐团队就开始规划实现推荐中台,让各个业务前台都能简单方便接入推荐中台,快速实现业务需求。


InfoQ:爱奇艺的推荐中台是如何推动的,组织架构方面是否有做一些配合调整?在团队建设上,有哪些新增的要求?


张时骏:我们单独成立了推荐中台的团队来推动爱奇艺推荐中台工作的开展,然后在公司内部的一些场合为其他团队介绍了推荐中台的工作进展,欢迎各个业务团队来接入推荐中台。在业务接入推荐中台的过程中,遇到一些新的问题或者不支持的功能,反过来又推动推荐中台进一步的发展。在团队建设上,基本上和之前的要求都一样,只是因为推荐中台会接入各种不同的业务,需要尽量通用化,对整体架构设计能力和大局观有了更高的要求。


InfoQ:一个推荐中台完整的(技术分层)体系是什么样的?


张时骏: 一个推荐中台在底层需要有内容生产平台、内容数据仓库、用户行为日志平台、数据处理平台、数据存储平台、机器学习平台、数据分析平台等基础服务平台的支撑,自身的体系内需要包括以下几部分:推荐内容池、用户行为采集、特征工程、用户画像、召回算法仓库、排序算法仓库、线上引擎、分析报表、配置平台。推荐内容池根据业务需求从内容数据仓库中筛选出适合进推荐池的内容,为下游模块提供基础数据。用户行为采集从用户行为日志平台中筛选出符合业务条件的用户行为,并且将不同业务不同格式的用户行为日志转换成统一日志格式,为下游模块屏蔽业务复杂度。特征工程根据推荐内容池内推荐实体的 meta 信息生产 meta 特征,根据用户行为数据生产用户侧和推荐实体侧的统计特征。用户画像采集了用户年龄、性别、职业等静态画像和根据行为日志计算用户对推荐实体、标签、主题等维度的兴趣画像。召回算法仓库和排序算法仓库预定义常用的召回和排序算法,统一输入输出格式,方便灵活切换各种算法。线上引擎提供根据算法数据进行在线计算提供线上接口服务,并且支持对各种策略的配置及 AB 实验。分析报表根据推荐后的用户行为数据分析推荐效果,为后续的迭代优化提供数据指导。配置平台方便前台业务能够通过简单配置快速接入推荐中台,提升效率。


InfoQ:是否有实际案例说明推荐中台能提高前台研发效率,快速实现自身业务目标的?


张时骏:在有推荐中台之前,要支持一个新业务的推荐,通常需要按周来排期,并且需要安排大量人力 100%专注在新业务上。在我们搭建起推荐中台之后,某个业务有个图文信息流产品想要接入推荐中台来优化推荐效果,我们只需要简单确认一下推荐内容池的选取规则和用户行为日志规范,接下来就是配置和执行任务,每个模块只要 1-2 天就能完成,其中大部分时间还都是在等待算法任务生产数据,消耗的人力微乎其微。最后整个项目从开始到上线只花了 10 天时间,并且上线后效果提升了 30%以上,快速实现了业务方的目标。


InfoQ:在切换为中台过程中,有碰到什么问题和经验分享吗?


张时骏: 切换推荐中台的过程中,遇到了不少问题和挑战,最主要的一点是通用性的设计和开发。不同的业务接入推荐中台有不同的推荐实体、不同的用户行为日志规范和不同的需求,如何能够通过一套推荐中台来接入所有的这些业务对于我们来说是一个最大的问题。对于不同的推荐实体我们要求业务方接入公司统一的数据仓库,推荐中台抽象提炼出各种实体通用的字段,再通过可配置化的字段映射表,把不同业务的不同推荐实体都统一到一张实体表上来。对于不同的用户行为日志规范,推荐中台定义了一套中台用户行为日志规范,对于公司内部主流的一些投递规范,推荐中台可以自动转换,对于不满足要求的用户行为日志,则需要业务方经过转换之后才能接入中台。在输入数据统一规范之后,内部流程的通用化就比较简单,整个中台不太需要关心业务的具体细节,对于推荐内容池的选取规则、特征计算方式、召回排序模型的选取和调参、多样性控制策略等都可以通过配置来实现各个业务的差异化。


InfoQ:爱奇艺推荐中台未来有何演进计划?


张时骏: 爱奇艺推荐中台还刚刚起步,正在实践中探索和总结,有很多不完善的地方需要改进。推荐中台的目标始终是要让前台业务能够快速高效实现业务目标,所以有 2 方面的工作需要不断进行优化。一个是提升对接效率,虽然有了推荐中台之后相比以前有了很大的效率提升,但还是有很大的提升空间,我们计划能把对接过程尽量自动化,省去目前还存在的一些人工配置环节。另一个是提升推荐效果,业务接入推荐中台之后并不是结束,而是一个新的开始,我们计划把推荐中台自营业务上的一些优化成果和业内一些最新的推荐算法都应用到推荐中台上,让所有的业务方都能享受到推荐效果提升的福利。


采访嘉宾介绍


张时骏,现任爱奇艺高级技术经理。毕业于上海交通大学计算机系,现任爱奇艺高级技术经理一职,爱奇艺推荐中台的总架构师。在爱奇艺从事推荐引擎架构和开发工作,近几年专注于分布式高并发线上引擎的架构,搭建了热点信息流、小视频信息流等推荐引擎。目前正在致力于爱奇艺推荐中台的建设,旨在帮助公司内各业务团队能够以低成本、高效率、高产出的方式搭建出一套完整的推荐服务及其周边配套设施,快速实现业务目标。


活动推荐


QCon上海2019的演讲中,张时骏将从推荐池、行为日志处理平台、用户画像平台、特征平台、召回模型仓库、排序模型仓库、线上引擎、报表分析平台等方面逐一介绍推荐中台的经验和反思,点击了解详情


2019 年 10 月 08 日 11:555219
用户头像
Kitty 极客邦科技会议主编

发布了 27 篇内容, 共 93345 次阅读, 收获喜欢 34 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营 - 第 3 周学习总结

红了哟

mysql字符匹配批量修改

毛佳伟🐳

MySQL

如何搭建一个Hadoop集群

Rayjun

大数据 hadoop

ARTS - Week 4

Khirye

ARTS 打卡计划 arts

如何让你的大脑更健康

兆熊

神器工具:新一代多系统启动 U 盘装机解决方案

JackTian

工具软件 U盘启动盘 安装操作系统 ventoy ISO 镜像文件

JDBC 批量插入:MyBatis、PostgreSQL

羊八井

postgresql mybatis JDBC

Week2:作业二

车小勺的男神

架构师训练营第四周总结

hiqian

计算机操作系统基础(二)---进程管理之进程实体

书旅

php laravel 多线程 操作系统 进程

架构师训练营 - 第 3 周命题作业

红了哟

学写PEP,参与Python语言的设计

早睡蟒

Python Python PEP PEP

计算机操作系统基础(四)---进程管理之进程同步

书旅

php laravel 多线程 操作系统 进程

架构师训练营:第四周第一节,互联网架构系统架构的演化

zcj

极客大学架构师训练营

ARTS 第四周 6.15-6.21

我笔盒呢

Week2:作业一

车小勺的男神

Github仓库如何选择开源许可证

早睡蟒

GitHub 开源许可证 GitHub license

架构师训练营第四周作业

hiqian

ARTS打卡-04

Geek_yansheng25

serverless之一:入门

毛佳伟🐳

Serverless

在以后的高校招生中,应用区块链技术,可以防、治冒名顶替吗?

CECBC区块链专委会

区块链技术 高考 信息防篡改

限频/限流的一些思考

i风语

Java redis 微服务 sentinel ratelimiter

计算机操作系统基础(三)---进程管理之五状态模型

书旅

php laravel 多线程 操作系统 进程

Tapd 自定义字段+需求视图+报表,轻松研发管理

飞哥

极客时间,项目管理 项目管理

[深入理解Redis]读取RDB文件

老胡爱分享

redis 源码阅读

揭秘!中国人一定要知道的北斗卫星系统

程序那些事

北斗卫星 北斗系统 卫星定位 卫星授时 黑科技

软件架构语录

hiqian

游戏夜读 | 这是一款情绪游戏

game1night

ARTS 第五周 6.21-6.28

我笔盒呢

区块链≠分布式账本,别再傻傻分不清

CECBC区块链专委会

区块链技术 高考 信息防篡改

疫情常态下区块链构建分布式数字身份

CECBC区块链专委会

疫情 区块链技术 分布式数字身份

爱奇艺推荐中台:从搭建到上线仅10天,效率提升超30%-InfoQ