您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
   
 
 
     
   
 订阅
  捐助
Netflix的首席产品官Neil Hun谈推荐系统打造和AWS实践
 
作者 Derrick Harris 火龙果软件  发布于 2014-11-27
  2036  次浏览      32
 

Netflix一直是推荐算法的重度玩家,因为在他们的规模,如果可以影响到10%的用户行为,产生的额外价值往往是数亿美元。因此,他们基于推荐算法做了大量的测试,这里我们看Netflix的首席产品官Neil Hun的分享。

Neil Hunt是Netflix的首席产品官,然而所负责的工作却远远超出了他的抬头。从本质上说,Netflix的最终产品就是给iPad或者智能电视推送视频流,然而这些在终端设备上显示的内容却是基于大量工作所生成的。

举个例子,Netflix在内容推荐算法领域有着很高的知名度,但是在弹性云计算架构以及新类型视频定价系统上的知名度却远远匹配不了它的实力。在近期的一个采访中,Hunt解释了Netflix在这部分所做的努力,并点出了未来可以提升的地方。

首先,Netflix赖以生存的推荐系统

不管你怎么推测,Hunt都认为Netflix推荐引擎的重要程度仍然被低估了。他解释说,每个季度,客户通过Netflix观看的视频超过70亿小时,将这个数据进行拆解,在用户活跃期间,每天产生的事件数量约为1.5亿个。Hunt指出:

如果你可以利用到其中的

而纵观当下成果,Hunt很低调的说他们也才刚刚入门,仅挖掘了金山的皮毛。Hunt表示,该公司在去年进行了大约300次A/B测试,其中很大一部分都是在推荐系统上的努力,而其中有一半左右影响到了用户的选择。

Hunt说道:“粗略上讲,每两天或者三天我们的内容推荐都有一次可度量的提升。也就是说,即使我们现在做了如此多的工作,这里仍然存在很大的提升空间。虽然不是每次提升都可以带来很高的收入,但是值得注意的是,每次提升都有机会带来数千万或者数亿美元的收入。而当我们从10个测试中选出一个成功的,我们就会发现,这个方向所有值得推敲的想法都已经被测试,剩余的已经不足以我们去投入。”

实际上,Netflix仍然在学习用户的评分行为,比如电影结束后立刻评论通常会更加精准。同时,评分并不能代表一切,之所以许多公司会把评分作为推荐最终依据的一部分原因是用户往往会把质量和享受程度混为一谈。Hunt表示:

Hotel Rwanda或者Schindler’s List都是非常棒的影片,也斩获了5星好评。但是这并不意味着,当人们上班累了一天后还会对这个电影感兴趣。如果用户真的选中,并且“非常认真”的在观看,那么基本上可以推测,这个用户已经睡着了,或者不知所踪。

鉴于这些,Netflix一直在致力学习用户的实际收看行为,特别是在用户下一个点播的学习上,即使他们搜索的结果并不在Netflix视频库中。同时据调查显示,如果一个用户从头到尾的看完了一个电影,然而电影播放过程中,他与设备却没有发生任何交互,那么很可能表示他对这个电影毫不感兴趣。

为此Netflix特别打造了自动播放拦截器,在用户观看某个自动播放系列视频3个小时并且没有任何其他行为后对用户进行提醒。

如果这种事情发生了,并且无其他任何操作,那么基本上表明用户已经睡着或者不在计算机旁,那么这个操作将会被定义为杂音。从另一个角度讲,如果用户确定了观看状态,并且又看了两集,那么他对这个系列视频的喜爱可想而知。

建立一个合适并适合业务的数据组织

Hunt表示,Netflix的数据专家被分为3个团队:为整个业务建立算法和做数据科学的员工;专业聚焦内容发现算法的员工;以及在Netflix规模实现这些算法的工程师。当然,队伍之间并不是完全隔离的,他们有很多渠道可以互通信息,从而在需要时进行交流。

但是在 Los Gatos与California的产品团队,以及Los Angeles的内容采购团队之间还是有一定区别的。“通俗的讲,对于我们来说,需要做的事情就是计算出如何从购买视频中取得最大利益,也就是将正确的东西摆在合适人的面前。”

无论是好是坏,一直在云中运行

Netflix在AWS上的流基础设施运营得非常出色,Hunt表示,从某种角度来说,这些基础设施就是他们的产品。通常情况下,当某个开发者点击发布按钮时,这些基础设施会负责将特性推送给其他所有人。Hunt表示:

在一夜时间写一个用户的推荐算法并没有难度,但是在一天之间交付1500万个选择并不容易,因为每个选择都需要考虑1万个Netflix视频库中标题的排序。

Netflix的可用性目标是4个9,换算起来的话每个月只有几分钟的宕机时间,Hunt表示他们暂时还没有实现这个目标,尽管Netflix团队已经竭尽所能来做基于AWS环境的弹性和冗余(比如开发“Simian Army”工具集来做不同故障下的基础设施测试),但是仍然有提升的空间。

Netflix新故障转移系统Dynomite的简图

同时,在谈到对AWS稳定性担忧时,Hunt表示租赁和购买并不是主要的问题。事实上,在Netflix历史中,影响最恶劣的并不是2012年平安夜宕机,而是使用自己服务器时一次磁盘升级的错误数据库。

Hunt表示,用好云服务的关键是将它置于内容中。而在AWS情况下,还有另一些人在努力提升云中的使用体验。在10月份Xen虚拟机监控程序bug出现时,Netflix需要重启AWS上6000台虚拟服务器,然而当时只有少量员工坚守在服务监视的岗位上,大部分人都跑去参加了Netflix的5000万用户party,因为问题并不是很大。

对比2008年将所有基础设施迁移到AWS时,我们当下付出的精力是以前的两倍,但是请不要忽略,我们现在的规模是2008年的20倍。换句话来说,效率提高了10倍。另一个问题是,在稳定性上我们不只依赖AWS,除下在灾难性故障,取代将过失归于AWS,我们更愿意承认这是我们设计上的失败。

当然,在担心宕机之外,云带来的特性有很多,比如利用AWS按需付费和即开即用的特性,Netflix可以进行频繁的测试;又比如Netflix可以在全生产环境下同时测试两套算法,随后关闭效率低的那个;这些都是建立在非常少的花费上。

AWS社区英雄。Adrian Cockroft当下是Netflix团队的leader,而Jeremy Edberg同样是Netflix团队的一员。

4K和未来

关于4K和未来的技术导向,Hunt直言不讳的表示,对比传统有线电视和Best Buy等,Netflix可以为太多他们所不可为。

   
2036 次浏览       32
 
相关文章

云计算的架构
对云计算服务模型
云计算核心技术剖析
了解云计算的漏洞
 
相关文档

云计算简介
云计算简介与云安全
下一代网络计算--云计算
软浅析云计算
 
相关课程

云计算原理与应用
云计算应用与开发
CMMI体系与实践
基于CMMI标准的软件质量保证
最新活动计划
嵌入式软件架构设计 12-11[北京]
LLM大模型与智能体开发实战 12-18[北京]
嵌入式软件测试 12-25[北京]
AI原生应用的微服务架构 1-9[北京]
AI大模型编写高质量代码 1-14[北京]
需求分析与管理 1-22[北京]

专家视角看IT与架构
软件架构设计
面向服务体系架构和业务组件的思考
人人网移动开发架构
架构腐化之谜
谈平台即服务PaaS
更多...   
相关培训课程

云计算原理与应用
Windows Azure 云计算应用

摩托罗拉 云平台的构建与应用
通用公司GE Docker原理与实践
某研发中心 Openstack实践
知名电子公司 云平台架构与应用
某电力行业 基于云平台构建云服务
云计算与Windows Azure培训
北京 云计算原理与应用