@IT·互联网

每天超50亿推广流量、3亿商品展现,阿里妈妈的推荐技术有多牛?

2019-08-20  本文已影响17人  f06d8363e7c7

随着深度学习、强化学习、知识图谱、AutoML 等 AI 技术出现更多突破,推荐系统领域的企业和开发者开始将这些技术与传统推荐算法相结合,使得推荐效果得到显著提升。

不过,越来越复杂的场景、用户需求等对推荐系统提出了更高的要求。如今推荐系统已经得以大规模应用,然而掀开技术的外壳,审视推荐系统的内核,我们会发现推荐技术还有很多瓶颈亟待突破。

阿里妈妈资深算法专家朱小强对推荐领域也表达出“当我们越深入,越感觉到现有技术的浅薄”这样类似的感受。这不禁让人思考:推荐系统与流行 AI 技术的结合究竟对优化推荐效果起到了多大的作用?打破推荐系统领域瓶颈的突破口在哪里?怎样做,才能让推荐系统更好地服务用户?

两大关键技术模块取得突破

阿里妈妈隶属阿里巴巴集团,拥有其核心商业数据。它每天有超过 50 亿推广流量,完成超过 3 亿件商品推广展现,覆盖高达 98% 的网民。

面对如此大规模的推广展现任务,阿里妈妈的广告推荐系统起到了至关重要的作用。随着历史的推演,从 2012 年起,阿里妈妈的预估模型也在不断的迭代和创新,每年为公司带来数十亿级的收益提高。

朱小强认为,推荐系统的本质,是海量用户与商品/内容之间的信息配对问题。与搜索技术不同的是,推荐系统输入缺乏用户的主动意图表达,因此“听声辨位”是推荐技术的形象描述:“声”即用户的历史行为,这是我们推断用户兴趣的关键线索;“位”即用户当前潜在的兴趣内容,是推荐系统的输出结果。能不能听得真、辨得准,就是推荐技术的核心技能

定向广告、信息流广告等展示类广告技术,其内核也是系统基于用户的行为偏好进行内容推荐,因此与推荐系统技术异曲同工。

过去的几年时间里,阿里妈妈定向广告团队在推荐技术的两个关键模块上均取得了较大的突破:

匹配召回技术(matching):在业界首创了第三代基于树结构的深度检索系统 TDM[1]。相比于第一代基于统计规则的协同滤波,第二代基于向量化表达的全库检索,TDM 技术可以使用任意复杂高阶的深度学习模型计算 user 与 item 之间的关系,并且结合 tree-based 的高效索引结构、对全部 item 库进行全局最优匹配。得益于强大的模型能力,TDM 可以对用户进行深层次的理解与刻画,从而召回的结果在多样性、精准性等方面,相比前两代技术都有显著的提升。

预估排序技术(ranking):阿里妈妈是业界最早一批全面构建、创新自研大规模端到端深度学习模型的团队,尤其是立足于电商场景、针对海量的用户行为数据,阿里妈妈持续发力用户兴趣建模技术,提出了深度兴趣网络 DIN[2]、用户兴趣演化网络 DIEN[3]、用户多兴趣轨道记忆网络 MIMN[4]、基于行为序贯特性的全空间多任务模型ESMM[5]等一系列业界领先的深度学习算法。这些建模算法极大地拓宽了业界对于点击率、转化率等推荐系统核心排序技术的认知,被业界各大公司的同行参考,并做了各种进一步的优化改进,形成了该领域的一个全新流派。

除了matching、ranking 技术的创新外,结合电商场景推荐商品的图文特性,阿里妈妈在商品创意的理解与自动生成方面也做了大量的工作,如大规模图像行为理解与建模技术CrossMedia[6]、自动文本生成技术[7]。此外,阿里妈妈还推出了支撑这些工业级复杂深度学习模型的开源训练框架 X-DeepLearning[8]、高性能深度学习在线推理引擎 Blaze[9],以及结合广告/推荐场景深度学习模型特点的稀疏模型压缩、量化与剪枝技术,如基于 Distillation 技术的轻量级模型压缩算法Rocket Training[10]等。

这些来自工业实战的独特 AI 技术创新,结合阿里丰富的个性化行为数据,推动了阿里妈妈的广告业务持续、高速的增长。

传统推荐系统+AI技术,超百亿收入增量

阿里妈妈能够不断取得突破,与其将传统推荐技术与新兴的 AI 技术结合起来密不可分。从 2010 年左右,阿里妈妈就开始持续发力人工智能技术,用技术的力量来驱动商业的可持续增长。

众所周知,广告业务的投入产出比极高,往往 1% 的提升就对应数亿、数十亿的收入增长。因此,从最初大规模建设的分布式机器学习技术、图像NLP技术,到最近的深度学习、强化学习、机器翻译等技术,阿里妈妈很早就已经在工业场景中涉猎并且大力投入创新研发。

朱小强进一步解释,今天阿里妈妈绝大部分核心技术模块基本都构建在深度学习基础之上,强化学习则驱动了阿里妈妈的广告策略机制和智能调控算法的关键升级。构建在这些 AI 技术之上的业务算法,给阿里妈妈直接带来的收入增量超百亿。据统计,仅DIN/DIEN/MIMN/TDM 等论文中披露的数字显示,核心场景的点击率累计提升就超过 40%。

在推荐系统与 AI 技术结合中,朱小强还特意强调了 AutoML 技术的应用现状。他表示,根据阿里妈妈的经验和与业界同行的交流来看,类似在图像领域中直接通过 AutoML 技术搜索出更优模型结构并取得显著指标提升的可能性不大。不过,AutoML 技术可以用来进行模型精度与算力需求的联合优化,寻找精度不变情况下更低能耗的模型结构。虽然这种技术本身不会直接带来效果提升,但是由于它的助攻,使得离线模型算法的设计可以有更大的自由度,生产化落地有更多的保障手段。

抗住工业级场景压力的“武器”

阿里妈妈本身庞大的业务场景决定了其推荐系统必然需要过硬的技术架构,才能抗住工业级场景下提出的众多挑战。

面对实际业务需求,阿里妈妈从 2015 年左右就开始系统地推进工业级深度学习的探索与研发。朱小强回忆道,最初,阿里妈妈只是把深度学习当成是一种新的建模算法,但很快就在算法实验上取得了突破,他们发现,端到端地训练一个简单的分组全连接深度网络,就比当时线上优化多年,集结了各种调优 trick 的最强 MLR 模型[11]具有显著优势。

幸运的是,阿里妈妈很快意识并抓住了这个新技术的突破契机,在 2016 年“ALL-IN”深度学习。

朱小强表示,站在现在看过去,阿里妈妈工业级深度学习的完整体系构建,涵盖了从算法突破点燃的星星之火,到业界首个面向高维稀疏数据场景的工业级深度学习训练框架 X-DeepLearning、大规模分布式 GPU 训练集群、高性能深度学习在线推理引擎 Blaze、端到端实时深度学习树型检索引擎、深度模型训练/评估/部署的自动化生产链路,后续持续升级的大规模实时深度学习 ODL 架构、面向大规模稀疏深度模型的压缩/量化/剪枝等效能优化技术,以及最新的结合算力算法与系统架构 co-design 的工业级深度学习 2.0 技术体系构建等等。

这个过程并不是一帆风顺的,阿里妈妈在每个阶段都经历了无数的挑战,包括关键技术路径的争论与判断、核心算法的艰难突破、算力资源的争取,以及来自集团/业界的质疑挑战等。所幸,阿里妈妈克服了所有的困难。

不过,他认为真正决定整个技术体系构建成败的关键挑战,是由深度学习引发的新一代技术革新对算法、工程、数据、测试等传统技术工种的融合需求。

“今天我们清楚地认识到,深度学习是一种新的生产力,它需要我们对整个技术体系进行全面改造,阿里妈妈定向广告团队在这一轮的技术升级过程中之所以能够取得一系列的技术领先优势,除了核心驱动者的超前意识和能力,最大的红利来自于我们可以协同算法、工程等全部力量,以算法创新为内驱,以业务场景和需求为孵化的土壤,不受固有架构的局限,勇于打破与重新定义。”

例如,X-DeepLearning 框架就是由算法团队率先研发,由工程团队续力做进一步抽象形成的;TDM 全新检索系统也是依赖算法与工程团队协同开发才能真正落地;大规模实时深度学习 ODL 架构则是集合了算法/工程/数据/测试全部力量合力打造。

这种跨越工种和团队组织的 co-design 研发模式,在他看来是工业级深度学习体系研发成功背后的关键要素。

工业级深度学习 2.0 时代

此前,朱小强曾发表过这样的观点:接下来工业级深度学习将进入 2.0 时代,这个阶段面临的核心问题,是当前深度学习仍然跑在为上一代大规模机器学习模型需求而构建的系统架构之上,但过去的那套架构已经不太适合如今数据、算法和算力背后的需求。

那么,满足现在工业级场景需求的系统架构理想中应该是什么样的?如何从现有基础上进行改进或重新构建?

朱小强认为,没有最理想的系统架构,只有适应当前算力、算法需求,协同发挥最大收益的合理架构。生产关系和生产力从来都是配对出现的。

以推荐系统为例,当前的系统架构普遍遵循的是计算数量逐级约减、计算复杂度逐级上升的结构。但事实上,深度学习算法本身的特性和 GPU 单点算力的巨大飞跃,已经可以打破这种架构设计,后链路尽可能地放宽计算约减的约束,甚至尽可能减少中间环节、构建更短的端到端系统。

例如,阿里妈妈近期对粗排架构做了一次升级,打破了传统粗排模型广泛采用的双塔结构,引入更加复杂的、但算力可控的全连接结构,同时粗排引擎升级为全实时计算引擎。这种全新的粗排架构,直接为其带来了显著的业务收益,同时为后续拓宽了更大的算法空间。

“架构的演进一定是个循序渐进、各模块独立推进的过程,只不过抽象出背后演进的驱动力,我认为可以有一条主线:如何把单点算力通过新的架构放大、进而承载更复杂更实时的计算。”朱小强称。

另一方面,面向业务场景的需求和数据的特性,需要对算力、算法和系统架构之间做协同设计(co-design),具体应该怎么做?

朱小强告诉 AI科技大本营,更大体系内的 co-design 设计是一种新的方法论,具体到每个系统模块或者技术环节,都有着不同的做法。举例来说:

TDM 是第三代匹配检索体系,它重新定义了两个技术:1)全库检索模型突破了向量化架构,采用任意复杂的深度模型;2)实时检索引擎,采用tree-based新型索引而非传统的正排、倒排索引。事实上,这两个技术单独看都不新鲜,甚至以及在其余技术中广泛采用了。但是当算法与索引结构 co-design 时,形成了全新的技术。Google 在 2017 年推出的基于机器学习的数据库 index learning 技术,与 TDM 有着异曲同工之妙。

MIMN 是阿里妈妈研发的新一代点击率预估模型,在今年的 KDD 会议上已经公开发表。单独看 MIMN 算法,它虽然很精妙,但非常复杂,难以部署到实际生产系统提供实时在线服务。MIMN 是业界首个面向超长用户行为序列建模的技术,对淘宝数亿用户、平均历史行为长度超过 1000 的数据进行建模,离线训练总归不是难事,但是如此长的行为序列数据作为特征提供在线实时服务,系统引擎是远远扛不住的。

为此,朱小强团队结合在线引擎的特点,把计算做了异步拆解,构建了一个单独的用户兴趣服务 UIC,专门用来计算 MIMN 中复杂的长行为序列模型;同时结合记忆网络的特点,采用了实时增量计算技术,破解了在线服务的难题。MIMN+UIC的 co-design 设计,使得该团队得以成功地把这项最新的算法部署上线,取得显著收益。

然而,朱小强也指出,co-design 的方法论更多的是一种新的技术思考模式,使得我们设计新的技术时可以从更大的视角出发、敢于打破原有约束、重新定义新的体系,而不是什么灵丹妙药。

推荐系统的瓶颈

从事推荐系统研发多年的朱小强见证了推荐技术近二十年的蓬勃发展,他认为,宏观的技术体系已经相对完整,尤其是近些年来与大规模机器学习、深度学习、强化学习等技术结合后,推荐技术越发强大。不过,掀开技术的外壳,审视推荐系统的内核,他认为有两个关键问题还需要更多的突破:

一是模型跟随问题。数据挖掘领域经典的“啤酒与尿布”案例,在今天的推荐系统中同样存在,而且更加隐蔽和普遍。在构建推荐模型时,往往是基于系统收集的展现-反馈日志体系,同时挖掘用户近期的历史行为,进而训练模型,对未来的用户兴趣进行预测。这个体系乍看很合理,但深入思考后会发现,推荐模型大都时候是依据用户在系统中留下的蛛丝马迹做相应的判断,这种判断本质是在跟随用户的显式行为,或者很多时候我们称之为重定向。

换句话说,用户点击了什么,模型接着给用户推荐什么,不一定是一模一样的推荐,但是非常像。这个问题不是出在模型本身,而是我们构建模型的方式。这类问题还有一些别的叫法,比如数据陷阱、数据循环等直观上大家容易想到一些解法,如经典的 e&e 策略。但是随机的探索不仅低效,而且难以撼动整体数据分布。

阿里妈妈在这个问题上已经做了一些努力,比如 TDM 这种新型的检索算法,已经比传统方法在全库最优计算、模型泛化等方面有所突破,召回结果的多样性也有显著改善;MIMN 排序模型,已经突破了用户历史行为序列长度的建模瓶颈,在淘宝场景下使用超过 1000 长度的超长历史行为来理解用户、刻画其兴趣,这样模型就有更大的可能性跳出短时间的行为重定向,带来一些惊喜的结果。但是坦白讲,这些解法都还是局部优化,真正的突破还需要业界更多持续的努力,其中关键点在于对数据循环链路的掌控,不仅仅拟合数据分布,同时能够主动地扰动数据分布,结合算法设计,构建更具洞察与推理的推荐技术。

二是集合展现问题。这与推荐系统的展现交互密切相关。目前有两类典型的交互方式,一类是淘宝、今日头条等以瀑布流式上下滑动的空间维度集合展现;一类是以抖音、快手等沉浸式左右滑动的时间维度集合展现。不论哪种模式,对于用户而言,会在短时间连续浏览到批量的内容结果。如果把用户的每一次浏览看成是其与推荐系统的一次对话,那么推荐系统在这种连续交互式对话上还处于处级阶段。

目前大都数推荐系统构建均采用点估计加后链路集合调控为主的方式。最近也出现了一些面向集合推荐的技术,如 beam-search 式整页推荐。但是这些技术还缺乏跟用户有效的及时对话和反馈机制。这也是受限于系统硬件以及计算时效性等因素,很难在用户浏览或点击完一个结果后快速进行针对性调整。今天,端计算的逐步兴起,给这个领域带来了新的契机。此外,集合结果的最优生成与动态反馈调优算法,仍然需要新的突破。

理想中的推荐系统

最后,朱小强还补充了自己从多年从事推荐系统研发工作的经验中得出的一些思考,“当我们越深入、越感觉到现有技术的浅薄。我心中理想的推荐系统,应该是像相知多年的老友一样,了解你的喜好习性,洞察你此刻的心情,给予贴心甚至惊喜的推荐。它健谈但不聒噪,懂得适可而止。当然,它也一定是让你足够信赖的。我们今天的推荐系统,就像一个恼人的喋喋不休的话痨,你刚开始谈一个话题,它就源源不断地给你轰炸同质的消息,让你审美疲劳。”

正如朱小强所说,推荐系统作为最重要的个性化服务应用之一,它的主要功能是提供服务、吸引更多的用户使用和停留。从这个角度来看,未来推荐技术还有很大的进步空间。

上一篇下一篇

猜你喜欢

热点阅读