深度学习推荐系统实战
王喆
Roku 推荐系统架构负责人,前 hulu 高级研究员,《深度学习推荐系统》作者
33298 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 44 讲
深度学习推荐系统实战
15
15
1.0x
00:00/00:00
登录|注册

30 | 流处理平台:Flink是如何快速识别用户兴趣,实现实时推荐的?

模型训练的实时性
实时性对不同类型应用的重要性
Flink提高推荐系统实时性的原理
Flink特点
利用Flink实现特征更新的应用
窗口(Window)
数据流(DataStream)
批流一体的大数据架构
流处理大数据架构
批处理大数据架构
实时抓住用户新兴趣点
实时性对推荐系统的重要性
课后思考
小结
Flink数据流处理实践
Flink是如何处理数据流的?
什么是批流一体的数据处理体系?
为什么实时性是影响推荐系统效果的关键因素?
Flink是如何快速识别用户兴趣,实现实时推荐的?

该思维导图由 AI 生成,仅供参考

你好,我是王喆。
刚刚结束的 2020 年双 11 活动,让技术圈出现了一个非常劲爆的新闻,就是阿里基于 Flink,实现了数据的批流一体处理,每秒能够处理 40 亿条的巨量数据。这也是业界首次在这么大规模的数据洪峰之上,实现数据流的实时处理。
也正是因为实时数据流处理功能的实现,让阿里的推荐系统引擎能够在双 11 期间做出更快速的反应,实时抓住用户的兴趣,给出更准确的推荐。
这节课,我就带你揭开阿里使用流处理平台 Flink 的面纱,来重点解决这 3 个问题:
为什么说实时性是影响推荐系统效果的关键因素?
到底什么是批流一体的数据处理体系?
业界流行的 Flink 到底是怎么实现数据流处理的?

为什么实时性是影响推荐系统效果的关键因素?

周星驰的电影《功夫》里有一句著名的台词“天下武功,无坚不摧,唯快不破”。如果说推荐模型的架构是那把“无坚不摧”的“玄铁重剑”,那么推荐系统的实时性就是“唯快不破”的“柳叶飞刀”。那这把柳叶飞刀到底是怎么发挥作用的呢?我说个切身的场景你就明白了。
假设,你正在手机上刷抖音,你刚刚看了一个精彩的足球进球视频,感觉意犹未尽,还想看更多这样的视频。这个时候,抖音的推荐系统肯定不会让你失望,它很快会接收到“你观看了精彩进球视频”的信号,快速地抓到你的兴趣点,然后,它会迅速做出反馈,给你推送更多类似的视频。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

阿里基于Flink实现了数据的批流一体处理,每秒能够处理40亿条的巨量数据,为推荐系统带来了更快速的反应能力。本文重点解决了实时性对推荐系统效果的关键影响、批流一体的数据处理体系以及Flink实现数据流处理的问题。实时性对推荐系统效果至关重要,能够快速抓住用户兴趣点,提高用户粘性。批流一体的数据处理体系通过流处理平台替换批处理Map Reduce计算平台,大大提高了数据处理速度,降低了数据延迟,使实时推荐成为可能。Flink作为批流一体的大数据架构的代表,具有数据重播功能,实现了离线环境下的数据批处理,保证了代码维护的一致性。然而,实现批流一体的解决方案存在技术负担和难点,需要在实际应用中取其所长,避免过度理想主义。文章深入浅出地介绍了Flink在实时推荐系统中的应用,为读者提供了对推荐系统技术特点的全面了解。 Flink平台通过数据流和窗口的概念实现流数据处理,将数据流分割成时间窗口进行实时处理,提高推荐系统的实时性。文章还通过实践展示了在SparrowRecsys项目中利用Flink实现特征更新的应用,以模拟用户评分的数据流并实时提取用户最近的评分电影。Flink的特点在于批处理和流处理共用一套代码,实现批量处理和直接处理实时数据流,从理论上来说是近乎完美的数据流解决方案。通过Flink,用户可以实时获取到最新的评价数据,并实时更新用户Embedding,实现实时推荐。总的来说,Flink的实时性对推荐系统的重要性不言而喻,而对于不同类型的应用,实时性的重要性也有所不同。同时,文章提出了课后思考问题,引发读者对Flink的思考和疑惑。 总之,本文通过深入介绍Flink在实时推荐系统中的应用,以及实践案例,全面展现了Flink平台的特点和优势,为读者提供了对推荐系统技术特点的全面了解。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深度学习推荐系统实战》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(8)

  • 最新
  • 精选
  • Alan
    置顶
    答:1、短视频应用的实时性要求更高!因为相同时间内,短视频用户的单视频停留周期短、场景更换频繁,用户兴趣反馈信息更多; 2、我们常说的推荐实时=7特征实时+3模型实时,都很重要!特征实时推荐是加强当前用户关注话题(现在、个别),模型训练实时推荐加强的用户未来关注的话题(下次、整体)。业界常见的做法,基于用户特征实时变化的推荐(热周期-用户活跃期),至于模型训练(或强化学习)放在冷周期(用户睡眠期)。

    作者回复: 两点说的都非常好,推荐其他同学参考。

    2021-04-10
    49
  • 顾小平
    老师你好,这篇文章说的是不是特征的实时性呢,就可以可以构建最新的用户特征去在线推断,但是在线推断跑的模型还是基于离线数据(批处理计算出来的)训练出来的模型,所以模型也需要做到准实时的更新,比如一天更新一次模型?

    作者回复: 是这样,特征实时更新,模型可以天级别更新。

    2021-01-23
    8
  • 那时刻
    相对于长视频应用,短视频应用的实时性要求更高些,因为短视频用户切换到下一个视频的时间短,需要推荐系统快速推荐短视频。 我觉得模型实时性也蛮重要的,可以让模型及时迭代。模型的实时性是模型本身快速及时的通过数据迭代模型,加强模型推荐能力。而特征实时性,可以快速而准确依据用户特征推荐内容。 想问一下老师,Apache Beam也是批流一体的模型,在业界有应用么?

    作者回复: 前两个思考我都认同。 关于Apache Beam我感觉确实听的落地案例少一些。认识的阿里、Netflix、还是我们公司都是flink。

    2020-12-23
    7
  • Geek_91c50b
    老师,我有个疑问:文中“Spark 平台的特点是,它处理的数据都是已经落盘的数据。”,spark 不是也能直接消费kafka里的数据而不落盘,是不是spark与flink的区别其实也没这么大

    作者回复: 是这样,spark streaming也是流处理平台的主流方案,跟flink是竞争关系。

    2020-12-24
    4
    4
  • 190coder
    请教下老师一个短期画像架构问题。短期画像是用flink实时更新所有流的偏好,(如点击,下单,浏览等不同流)。还是只计算属于自己流内的计数,然后短期画像做统一汇总计算。

    作者回复: 一般会做不同流之间的汇总,因为有些东西没法单独更新,比如点击往往需要跟曝光做匹配后再更新等等。

    2021-04-25
    2
  • 找大夫吗
    想请教王老师一个问题: 问题场景:短视频推荐场景下采用DSSM双塔模型召回,离线训练完之后把模型 serving上线,然后把用户和item的embedding存入redis, 想根据flink获取的实时特征(过去一小时的行为)去更新用户embedding 问题:对于像 ‘用户历史平均分均值’ 这样的input特征,可能flink都获取不到用户实时的评分数据,这种情况下该怎么做到实时特征构建呢?

    作者回复: 这应该是一个非常工程化的问题,这个得要问你自己,如果flink都取不到实时评分,你到底能在哪取到?如果取不到,当然是无法实时更新这个feature的

    2021-01-18
    3
    1
  • 赵炯
    语音助手??
    2021-03-17
    4
  • Geek_8a732a
    1、实时性对短视频比长视频更重要,因为用户在看短视频的工程中不断产生新的点击,用户的喜好都在实时变化 2、模型的实时性也是重要的,模型的实时性可以提升模型的推荐能力,特征实时性可以根据用户的特征来更快速准确的推荐内容
    2021-08-23
收起评论
显示
设置
留言
8
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部