阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

百度技术沙龙第 33 期回顾:推荐引擎实战(含资料下载)

  • 2012-12-24
  • 本文字数:2509 字

    阅读完需:约 8 分钟

在 12 月 22 日由 @百度主办、 @InfoQ 负责策划组织和实施的第 33 期百度技术沙龙活动上,来自百度推荐与个性化部高级架构师陈天健和豆瓣网首席科学家王守崑分别分享了各自在推荐系统中的经验与实践,话题涉及“推荐系统的工程挑战”,以及“个性化推荐系统的几点思考”等。本文将对他们各自的分享做下简单的回顾,同时提供相关资料的下载。

主题一:推荐系统的工程挑战 (下载讲稿

来自百度推荐与个性化部高级架构师陈天健第一个为大家分享,他认为随着互联网产品的不断深度整合,推荐引擎的服务与计算规模也在以几何级数飞速增长。推荐系统的开发者面临着服务扩展、计算性能和开发效率等多方面挑战。他主要从百度推荐引擎的实践出发,探讨如何通过架构上的努力,整合数据与算法的优势,最终面向用户提供流程和智能的推荐产品推荐。

搜索是为了满足用户的主动表达的需求,而推荐是为了挖掘并满足用户的潜在需求,目前国内的互联网产品设计者已经开始蜂拥在产品中加入个性化的推荐功能。但是在实践当中,如何来平衡系统规模和产品需求的工程挑战?陈天健认为这是大数据遭遇时效性的问题,他分享了百度推荐系统中的关键系统技术:

  • Vortex 流式计算系统
    1. 数据处理延迟从数小时级下降到秒级
    2. 流量波动影响钝化
  • LISA 实时索引架构
    1. 实时索引实现展示
    2. 所以查询和更新操作融合

Vortex 技术特点是简单可依赖(系统可用性好、功能扩展简单)和系统灵活性(拓扑不局限于 DAG、与 BVC 计算网络融合)。而 LISA 通过索引功能模块组件化让其简单可依赖,在时效性方面将更新延迟从 2 小时降低到 5 秒,进而将点击率提升 3 倍。

随后的分享中,陈天健还指出了时效性之外的问题,他回顾了一些公司的算法升级周期指出随着用户的变化导致了多样性和新颖性的需求,进而使得推荐算法的“寿命”正在缩短,这就产生了新的问题,即如何平衡成本和效果?为了解决这个问题,需要将“推荐系统”进化为“推荐引擎”,百度正在以推荐引擎为核心构建各种推荐系统和应用,最大限度复用数据、算法和系统资源。

他随后谈到了推荐引擎的规模化效应的四点体现:

  • 成本:推荐系统工程成本摊低
  • 算法:问题的维度变化,从“艺术”到“科学”
  • 数据:不同应用共享数据,克服数据稀疏的问题
  • 效果:推荐产品功能横向打通,多领域满足用户需求

在构建推荐引擎时,他提到了两个核心功能:过程优化和用户兴趣发现。百度在构建方面采用召回算法和排序算法,使得系统具有实时更新、超大规模计算等能力。在推荐算法模块,百度主要使用语义相关性、文本相关性、CTR 预估、规则过滤等,将用户模型更新延迟降低到 5 秒、内容索引更新延迟降低到 50 秒以内,同时将离线计算规模提高到 2M pairs/sec、在线计算提升到 1M pairs/sec。随后又通过百度随心看、百度新闻 2.0 等实例陈述了发现和优化并重的原则。

最后,他又回顾了百度推荐引擎的发展历程。

主题二:个性化推荐系统的几个问题 (下载讲稿

现任豆瓣网首席科学家王守崑第二个为大家分享,他从产品的不同阶段和需求出发,讨论解决推荐系统问题和挑战的思路和做法。具体内容包括:算法的选取、度量指标的选择、用户行为建模、算法调度框架、计算资源的分配等等。同时也展望了个性化推荐系统的发展方向和前景。

他首先对基于用户和基于条目的两种算法进行再比较,接下来在实际的计算复杂度中指出:在幂律分布的假设下,相似度矩阵的计算量与收藏的分布直接相关,通常基于条目的 CF 要显著低于基于用户的 CF 算法。同时他还提到算法要与产品匹配,即根据不同的产品阶段、用户群和计算资源与框架选择不同的算法。

在推荐系统中,他建议将缺失值作为负面反馈来优化推荐效果,然后他谈到了矩阵分解和生成模型。

当谈到针对于什么样的产品适合推荐时,他提出了如下的三点建议:

  1. 能够获得快速反馈
  2. 条目增长相对稳定
  3. 稀疏性、多样性和时效性平衡

最后他回顾了个性化推荐的历史,并谈到了 Web 面临的挑战:

  1. 从自由与开放走向私有与封闭
  2. 从第二人生走向第一人生
  3. 从信息经济走向体验经济

面对这些前所未有的机会,他说道:

个性化推荐要么是平台,要么是平台的一部分

Open Space(开放式讨论环节)

为了促进参会者与我们每期的嘉宾以及讲师近距离交流,深入探讨在演讲过程中的疑问,本次活动依然设置了 Open Space(开放式讨论)环节。

在 Open Space 的总结环节,几位话题小组长分别对讨论的内容进行了总结。

陈天健:主要是讨论了如何从零开始将推荐系统做大,并讨论了过程中的困难;

姚旭:以百度随心看为例,聊到了推荐产品如何选取算法、遇到问题时如何进行分解转化,并且在实际运用当中如何根据实际的数据对系统进行调整;

梁斌:谈到了社交网络索引如何去做,以及所做的微博寻人的想法,最后谈到了西瓜大会,希望所有人能够过去锻炼口才和聪明的人做交流 ;

会后,一些参会者也通过新浪微博分享了他们的参会感受:

胖胖的 KUMA :听完感触很深,推荐真是无处不在,而且是很强的用户需求,推荐更实时更精准用户体验就更优,百度知道将实时性从 20 小时提升到 5 秒,使流量提高了三倍,你心动了么?

Hi 张伦:多亏百度技术沙龙久闻 @梁斌 penny 大名终于相见。

沈 _ 穎:科学家就是与众不同,无论多么复杂的问题,都能拿出来一个算法公式,哎,就是自己水平太差,几乎完全不懂,要是能够加些通俗易懂的语言和案例,简单的描述就更好了。

三江小渡hzy :豆瓣的开场才像真干货! @百度技术沙龙 真的需要改进百度工程师的分享内容了,要真心建开放社区和分享社区,学习下豆瓣好么?这是我听几次豆瓣的感觉。

有假熊出没: 个性化推荐的几点思考,思考得很深远,不仅是算法那么简单,产品和解决方案是亮点哈。

Iproduct 李磊:推荐引擎庞大复杂的系统架构和数据量级,只有掌握大量资源的行业巨头才敢企及,听了天健的介绍,发现推荐系统这座银河战舰已然呼之欲出,巨头战略级别的博弈,加速了大数据系统时代的到来,更加智能的系统何时能真正改变普通用户的生活,我们拭目以待。

有关百度技术沙龙的更多信息,可以通过新浪微博关注 @百度技术沙龙,InfoQ 上也总结了过往 32 期所有百度技术沙龙的演讲视频和资料等,感兴趣的读者可以直接浏览内容

特别提示:第34 期百度技术沙龙将在1 月12 日,在北京举行,欢迎关注 @InfoQ @百度技术沙龙获取后续的活动信息。

2012-12-24 10:484671
用户头像

发布了 89 篇内容, 共 31.1 次阅读, 收获喜欢 4 次。

关注

评论

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

公司来了一位前阿里大神,分享8面阿里面经(Java岗面试题集锦

Java 程序员 后端

到了2020年,技术水平到底需要达到怎样的程度才能成为顶级的阿里P8架构师

Java 程序员 后端

【Quarkus技术系列】「云原生架构体系」打造基于Quarkus的云原生微服务框架实践

洛神灬殇

云原生 Quarkus 原生云 11月日更

开源应用中心|Discuz!X全新PC社区体验,多种场景一站解决

Discuz! 开源社区 Discuz

字节Android Native Crash治理之Memory Corruption工具原理与实践

字节跳动终端技术

字节跳动 Android; 火山引擎

如何 30 分钟搭建一个语聊房

融云 RongCloud

写了四年的Java代码,分布式高并发都不会还做程序员?

Java 程序员 后端

写博客是一种乐趣,一种需要培养的乐趣,java技术架构SHEET

Java 程序员 后端

刚从今日头条Java研发岗面试回来,我总结的失败原因(附面试题

Java 程序员 后端

彻底理解 AQS我是懂了,你呢?

何小事儿

Java 多线程 并发

分布式ID生成策略,我和面试官掰扯了一个小时

Java 程序员 后端

初探Linux--鸟哥私房菜读书笔记,廖雪峰java教程百度云

Java 程序员 后端

初识java-JDBC,mysql索引左前缀原理

Java 程序员 后端

分布式下的数据一致性问题,怎么解决?,java编程教程下载

Java 程序员 后端

利用这份文档,我成功定位阿里P6,却拿着P7的工资

Java 程序员 后端

关于Redis主从节点数据过期一致性的思考,它真的足够一致了吗?

Java 程序员 后端

农业末流211,Java自学一年的我是怎么走上大厂之路的

Java 程序员 后端

分布式基石|最难 paxos 和最易 raft?,java排序算法面试题

Java 程序员 后端

工具:Juypter Notebook

正向成长

Jupyter Notebook

一个往返于海陆的撸猫打渔人,用影像记录生活的星辰大海

最新动态

凡尔赛一波:美团面试就这?,java工程师面试突击第二季分布式

Java 程序员 后端

初学者这样玩 TypeScript,迟早进大厂系列!

Java 程序员 后端

ironSource现已支持自定义广告网络

分布式事务与Seate框架:分布式事务理论,Java知识总结

Java 程序员 后端

判断对象是否已死分析总结——JVM系列,让人茅塞顿开

Java 程序员 后端

利用多condition动态管理池化的异步资源背景

Java 后端

别看是Java基础,很多人已入坑,java技术栈

Java 程序员 后端

AI 算法在视频可分级编码中的应用

融云 RongCloud

人工智能 音视频 编解码

关于垃圾回收你真的了解透彻了吗?我熬夜深度剖析了一下

Java 程序员 后端

凭借着这份Spring面试题,我拿到了阿里,字节跳动美团的offer

Java 程序员 后端

利用碎片化的时间逆袭进百度,我的面试经历你敢听吗?

Java 程序员 后端

百度技术沙龙第33期回顾:推荐引擎实战(含资料下载)_服务革新_水羽哲_InfoQ精选文章