草庐IT

ML:阿里云计算平台之搜索推荐演讲分享《多场景智能推荐助力业务增长》、《阿里云智能推荐应用实践:PAI-EasyRec Framework》、《新一代数仓架构漫谈》

一个处女座的程序猿 2023-04-05 原文

ML:阿里云计算平台之搜索推荐演讲分享《多场景智能推荐助力业务增长》、《阿里云智能推荐应用实践:PAI-EasyRec Framework》、《新一代数仓架构漫谈》

目录

《多场景智能推荐助力业务增长》

开箱即用+推荐精准+灵活适配

实时的互动式推荐功能

新商品冷启动

物品圈选、人群圈选、流量策略

标签沉淀、人群分析、人群圈选

基于归档算法定制

召回和排序

基于原子组件定制

为趣短视频个性化推荐方案

阿里云智能推荐应用实践:PAI-EasyRec Framework

智能推荐流程及挑战

个性化推荐模型

EasyRec Framework: more than a collections of models

EasyRec的优势:多平台训练,部署简单;

EasyRec的优势:丰富多样的特征

EasyRec的优势: Feature Generation(FG):一致性保证

EasyRec的优势:实现了业界领先的模型

EasyRec的优势:自动调参

EasyRec的优势:推理性能优化

EasyRec的优势:在实际场景中得到验证

新一代数仓架构漫谈

传统数据仓库数据流程

Lambda:割裂的架构,需要改变

阿里业务场景原架构

下一代实时数仓如何选型

阿里搜索推荐:从N到1,Hologres简化大数据架构

云上实时数据分析技术选型

Hologres : Better OLAP + Better Serving+Cost Reduced

DataWorks数据集成:一键实时同步至Hologres

小红书:推荐业务OLAP分析



 

《多场景智能推荐助力业务增长》


搭建成本

人员要求高:自建推荐系统对人员要求较高,系统开发、数据处理、召回、排序模型开发及调优,均需要高级开发&算法工程师长期参与;

上线周期长:推荐系统架构复杂,为达到上线效果需要反复调优,所需开发时间多于3个月;

运维成本高:升级迭代、自建系统后期有较高的维护成本。

推荐效果

冷启动效果差:上线初期无历史行为数据积累的情况下,推荐系统效果较差;

效果调优困难:套用主流算法不一定有好的效果,还需考虑应用领域数据、相关性、新颖度、时效性等多维度推荐效果;

核心指标难统一:想提高CTR的同时又增加用户停留时长,无法兼顾多个核心指标。

后续维护

适配难度大:任何一套推荐引擎都无法完全适配企业的业务诉求,智能推荐提供了黑白盒一体化;

运营易用性:推荐系统较复杂,不具备算法知识但需要干预的运营人员上手难度大;

服务稳定性:推荐场景通常用于高流量页面,对系统性能及稳定性以及弹性要求极高;

开箱即用+推荐精准+灵活适配

开箱即用:高度产品化、行业化;行业与阿里自研主流算法封装;覆盖全链路(支持友盟SDK行为采集);
推荐精准:行业、场景定向优化;多目标模型训练;多种模型策略;全托管:保障在线服务稳定性;灵活升降配服务;丰富的数据质量诊断功能,在线服务监控告警;
灵活适配:运营助手;产品和运营可快速干预推荐开发和算法;集成强大的离线、在线链路开发能力;

实时的互动式推荐功能

实时交互是促进消费者沉浸式浏览的必备基础功能。推荐PLUS可实时学习消费者当前兴趣表达、变化,并更新在下一次生成的推荐结果中,从而实现实时的互动式推荐功能。

推荐系统在与用户互动的过程中,有可能出现不符用户预期的推荐结果

推荐系统在与用户互动的过程中,有可能出现不符用户预期的推荐结果,而负反馈成为推荐与用户对话的重要入口。推荐PLUS支持单个商品维度、商品类目维度以及商品其他特征类维度的负反馈功能。

禁推-A

注意:针对小明,将不再推荐A-羽毛球拍商品((这一款)。

降权-B

注意:针对小明,将减少推荐B-手风琴商品(这一类)。

降权-C

注意:针对小明,将减少推荐C-高跟鞋商品(这一品牌/店铺/标签等)。

新商品冷启动

新商品冷启动是每个电商平台棘手的推荐难题。推荐Plus可根据站内用户行为分析、兴趣分析,结合新品特征属性,小流量个性化探测新品潜力,从而逐渐扶持/打压新品的推荐流量。

发布的新品→结合用户画像分发推荐→新品潜力分析

场景作为个性化推荐的流量入口,在不同的页面/不同的用户群可进行差异化的定制。如,首页的推荐、频道页推荐、个人中心页、搜索空结果页、商品详情页、购物车页等等。推荐PLUS支持定制差异化的场景选品规则。

物品圈选、人群圈选、流量策略

标签沉淀、人群分析、人群圈选

基于归档算法定制

定制算法策略的同时,无需关注上游的数据埋点、清洗逻辑、以及下游的在线链路拼接逻辑,仅需在控制台手动创建实验,即可对一组、多组配置进行修改,进行效果的追踪与实验的决策。

召回和排序

召回

I2I(拼接与截断、叶子类目优先级)

U2X2I(截断数量,特征选举-类目、作者、频道、标签等)Hot(截断数量)

New(截断数量,特征选举-类目、作者、频道、标签等)

Embedding(截断数量,item2vec、tag2vec、title2vec)

新增自定义召回链路

Etrec (12i、集团内部业务应用的i2I算法)

GraphSage(u2I,行业内唯一能输出GNN算法的平台,GNN是目前技术领域比较领先的框架

ALS实现user和item向量产出

排序

DeepFM(业内目前知名度最高的深度学习排序算法,基于论文自行实现版本)

MultiTower(基于Youtube论文,PAI自行实现的一版)

BST(阿里自研,用户历史行为序列建模)

ESMM、MMoE(实现多目标优化的排序模型)

DIN(阿里自研,目前在业内比较出名的一款产自阿里的深度学习排序算法)

基础排序模型如LR、GBDT等

基于原子组件定制

通离线平台结合预采用的行业内算法模型,通过拖拽的简易方式,进行上下游数据连通,节点参数配置,串通一套完整的召回/排予侯全,并生成召回表/生排序模型。

启用/创建实验

实验模板创建

基准/缺省实验

实验置信校验

定制算法配置1-n

定制召回

定制排序

定制实时行为

实验调试与分桶

桶号指定

实验生命周期管理

体验测试

实验效果分析

单实验效果报表

多实验效果报表

多元指标选择

实验决策

下线

推全

实验记录与溯源

为趣短视频个性化推荐方案

为趣是微信小程序中的长视频应用,在小程序总榜名列Top10,
·CTR提升接近3%
·人均使用时长提升11%
·在长尾视频挖掘方面得到显著提升,多曝光了2-3倍的视频
以上目标的提升带动了用户上传视频的积极性,总体提升了23%的视频上传量


 

阿里云智能推荐应用实践:PAI-EasyRec Framework

基于阿里云的推荐技术架构

推荐服务(在线)
训练(离线)
数据加工存储(离线)

智能推荐流程及挑战

目标:针对不同用户画像,实现推荐的千人千面。

模块:日志收集,特征生成,内容召回,计算排序,曝光过滤,运营规则,效果评估

用户→日志收集→特征生成→用户画像/物品画像/用户行为→召回→排序→曝光过滤→效果评估→AB,分桶→用户

用户画像:男,三四线城市,娱乐,体育,林书豪

物品画像:娱乐,高以翔,跑步,健康

用户行为:点击,曝光,分享

·海量数据:召回样本数据量达到千万级别,排序样本量会上亿,单机训练非常困难

·海量特征:训练和推理的性能优化, RT,QPS,机器成本

·多目标优化:点击率,转化率,观看时长,多样性,模型复杂;

·冷启动:曝光测试,好友→地域→全网

·实时训练:实时特征(Flink,Kafka)+实时模型(EasyRec)

个性化推荐模型

推荐模型演化

浅层模型

深度模型

召回

协同过滤→FM

EasyRec

YoutubeNet

DSSM

MIND

>> 高阶特征交叉

>> 行为序列建模

>> 多目标共享

>> 迁移学习

排序

LR→GBDT、FM、MLR

WideAndDeep

DEEPFM

DIN

多目标

多个LR/GBDT模型

MMoE

ESSM

DBMTL


 

EasyRec Framework: more than a collections of models

主要组件都是可定制的:Input, FeatureGeneration, DeepModel, Optimizer,他们工作在即插即用模式。

EasyRec的优势多平台训练,部署简单

EasyRec的优势:丰富多样的特征

>>ldFeature:离散特征

对于推荐系统很关键,如user_id, item_id等。

>>RawFeature:连续值特征

如身高、体重、价格、历史点击率等;

也支持word2vec, cnn和bert产生的embedding,做多模态训练,短视频、新闻推荐常用。

>>TagFeature:多值特征

如标签特征:健身、音乐、旅游等,电商、短视频推荐常用。

>>ComboFeature:组合特征,如年龄+地域

>>LookupFeature:查找特征,如从user的访问列表中查询item

>>MatchFeature:双层查找特征,根据类别和item进行两次查找

>>SequenceFeature:序列特征,用户行为建模必备(DIN/BST)

基于FeatureColumn 实现,和tensorflow的接口完全兼容。

特征是提升效果的关键因素

训练、评估、导出共享一套特征处

EasyRec的优势: Feature Generation(FG):一致性保证

特征生成(FG)是最复杂的部分,容易导致线上线下不一致。为了保证一致性, EasyRec线上线下使用相同的FG代码

EasyRec的优势:实现了业界领先的模型

>>召回模型(Candidate Generation):DSSM/ FM

>>排序模型(Rank Models):

FM/ WideAndDeep / DeepFM

DeepKFM / DeepCross / Autolnt / MultiTower

DIN/ BST

>>多目标模型(MultiTask Model):

Simple MultiTask/MMoE/ ESMM / DBMTL

>>More models in development:

ListWise, ReRank模型

DeepGBM,连续值建模优化

多臂老虎机,冷启动模型

迁移学习

多目标建模、多兴趣建模

EasyRec的优势:自动调参

EasyRec的优势:推理性能优化

深度模型效果好,但是对工程能力的挑战比较大

如何保证QPS和RT? In EasyRec, we optimize tensorflow graph:

EasyRec的优势:在实际场景中得到验证

新一代数仓架构漫谈

传统数据仓库数据流程

批量数据分析流程

(1)、T+0数据接入

多种数据源接入

(2)、定时数据开发与应用

数据提取/数据转换/数据加载

ODS数据处理

DWD标准数据场景

MDM元数据

数据集市应用

(3)、核心痛点

ETL计算/存储/时间成本过高

数据处理链路过长

Lambda:割裂的架构,需要改变

数据源分为T+1和T+0数据

T+1数据→Batch View:离线数仓,数据周期性更新,面向复用。

T+0数据→Real-Time View:实时数仓,数据实时更新,面向应用。

阿里业务场景原架构

下一代实时数仓如何选型

实时写入、实时计算、实时洞察

实时离线一体化,减少数据移动

业务与技术解耦,支持自助式分析

拥抱标准,拥抱生态,拥抱云原生


 

阿里搜索推荐从N到1,Hologres简化大数据架构

云上实时数据分析技术选型

Hologres : Better OLAP + Better Serving+Cost Reduced

Hologres是一款实时HSAP产品,隶属阿里自研大数据品牌MaxCompute,云原生分布式分析引擎,支持对PB级数据进行高并发、低延时的分析,支持实时数仓,大数据交互式分析等场景。

DataWorks数据集成:一键实时同步至Hologres

可以将指定数据源中的数据,通过简单的配置,一次性的实时同步到Hologres中,支持整库内批量多表同步,同时也支持全增量一体化同步,先全量数据迁移,然后实时增量保持更新。

小红书:推荐业务OLAP分析

小红书推荐业务下4种典型OLAP分析场景,按实验分组实时分析、多计算中心上线业务指标验证、灰度发包按版本实时指标对比、实时业务指标告警。

有关ML:阿里云计算平台之搜索推荐演讲分享《多场景智能推荐助力业务增长》、《阿里云智能推荐应用实践:PAI-EasyRec Framework》、《新一代数仓架构漫谈》的更多相关文章

  1. ruby - 将差异补丁应用于字符串/文件 - 2

    对于具有离线功能的智能手机应用程序,我正在为Xml文件创建单向文本同步。我希望我的服务器将增量/差异(例如GNU差异补丁)发送到目标设备。这是计划:Time=0Server:hasversion_1ofXmlfile(~800kiB)Client:hasversion_1ofXmlfile(~800kiB)Time=1Server:hasversion_1andversion_2ofXmlfile(each~800kiB)computesdeltaoftheseversions(=patch)(~10kiB)sendspatchtoClient(~10kiBtransferred)Cl

  2. ruby-on-rails - Rails 应用程序之间的通信 - 2

    我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此

  3. ruby - 无法运行 Rails 2.x 应用程序 - 2

    我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby​​:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r

  4. ruby-on-rails - Rails 应用程序中的 Rails : How are you using application_controller. rb 是新手吗? - 2

    刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr

  5. ruby-on-rails - 如何在我的 Rails 应用程序 View 中打印 ruby​​ 变量的内容? - 2

    我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby​​中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R

  6. ruby-on-rails - Nokogiri:使用 XPath 搜索 <div> - 2

    我使用Nokogiri(Rubygem)css搜索寻找某些在我的html里面。看起来Nokogiri的css搜索不喜欢正则表达式。我想切换到Nokogiri的xpath搜索,因为这似乎支持搜索字符串中的正则表达式。如何在xpath搜索中实现下面提到的(伪)css搜索?require'rubygems'require'nokogiri'value=Nokogiri::HTML.parse(ABBlaCD3"HTML_END#my_blockisgivenmy_bl="1"#my_eqcorrespondstothisregexmy_eq="\/[0-9]+\/"#FIXMEThefoll

  7. ruby-on-rails - Rails 中的推荐引擎 - 2

    我想为我的Rails网络应用程序提供推荐功能。特别是,我想向新注册的用户推荐他可能想要关注的其他用户。Rails中是否有用于此目的的引擎/gem?如果没有,我应该从哪里开始构建它?谢谢。 最佳答案 有Coletivogemhttps://github.com/diogenes/coletivo我试了一下。在MySQL上运行。Neo4jhttp://neo4j.org真的很容易实现一个“跟随谁”。事实上,大多数展示其能力的样本都涉及“跟随谁”。快速提示-只有在JRuby上运行时,Neo4j.rb才会很酷。如果不是-使用Neograph

  8. ruby-on-rails - 如何在 Gem 中获取 Rails 应用程序的根目录 - 2

    是否可以在应用程序中包含的gem代码中知道应用程序的Rails文件系统根目录?这是gem来源的示例:moduleMyGemdefself.included(base)putsRails.root#returnnilendendActionController::Base.send:include,MyGem谢谢,抱歉我的英语不好 最佳答案 我发现解决类似问题的解决方案是使用railtie初始化程序包含我的模块。所以,在你的/lib/mygem/railtie.rbmoduleMyGemclassRailtie使用此代码,您的模块将在

  9. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  10. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

随机推荐