实验中的数据压缩,为何B站、Netflix等流媒体总能完美运行?


全文共4480字,预计学习时长13分钟

图源:Pexels

流媒体网是音视频流媒体的领先主导者。

视频流媒体提供了方便、快捷、及时、全面的观看体验,已经成为年轻一代常用的观看渠道。

 

但你有没有想过,当你在家、在火车上或在外国酒店使用流媒体时,爱奇艺视频、B站、Netflix等为什么能运行得这么好?

 

因为在幕后,爱奇艺、B站、Netflix等流媒体的工程师们一直在努力提高流媒体服务的质量。其目标是在用户每次观看时快速、可靠地提供其喜爱的内容来给用户带来快乐。

 

以Netflix为例,为了做到这一点,Netflix专家团队会开发更高效的视频和音频编码,改进自适应流媒体算法,并在提供节目和电影的分布式服务器上优化内容放置。在这些领域中,团队不断地进行大规模的A/B实验,以测试他们的想法是否能为会员带来更加完美的体验。

 

图源:Pexels

这些实验旨在提高Netflix会员的体验质量(Qualityof Experience, QoE)。QoE是通过一系列指标来衡量的,这些指标描述了从用户按播放键到观看结束的所有体验。此类指标的示例包括内容开始播放的速度和视频在播放期间卡顿的次数(重新缓冲次数)。

 

假设编码团队开发了更高效的编码,为质量最低的会员(那些使用低带宽网络的会员)提高视频质量。他们需要了解是否存在有意义的改进,或者他们的A/B测试结果是否是由噪声引起的。

 

这是一个困难的问题,因为必须确定体验之间的QoE度量分布是否不同,以及如何不同。在Netflix,通过开发使用bootstrap(一种用于量化统计显著性的重采样技术)的自定义工具来应对这些挑战。这有助于编码团队通过轻松理解度量分布中不同部分的移动,越过均值和中位数,评估新编码对所有会员的运作情况。他们现在可以回答这样的问题:“干预是否改善了5个百分点(对应于视频质量普遍较低的会员)的体验,而恶化了95百分点(对应于视频质量普遍较高的会员)的体验,或者干预是否对所有会员产生了积极影响?”

 

尽管工程人员喜欢这些统计信息,但获取它们既费时又不方便。当从一个特别的解决方案过渡,集成到内部平台ABlaze时,就遇到了更大的挑战。

 

为了使方法能够为所有流媒体实验报告提供动力,需要预先计算数百个流媒体实验、所有人群部分(例如设备类型)和所有度量的结果。为了实现这一点,我们开发了一种有效的数据压缩技术,巧妙地对数据进行了压缩。这使数据量减少了1000倍,从而能够在几秒钟内计算统计数据,同时保留精确的结果。有效数据压缩策略的发展能够以更大的规模部署bootstrap方法,允许实验人员更快地分析A/B测试结果,并有更清晰的见解。

 

压缩在许多统计应用程序中都有使用,但为什么它对于体验质量度量如此有价值呢?简而言之:实验人员感兴趣的是在不做参数假设的情况下检测各种分布的任意变化,简单的统计汇总方法是不够的。

 

拔靴法 (bootstrapping method)

 

假设在火车上看皇冠,克莱尔·福伊的脸看起来是像素化的。直觉可能会告诉观看者这是由一个异常缓慢的网络造成的,但观看者仍然会因为视频质量不完美而感到沮丧。编码团队可以为这个场景开发一个解决方案,但是他们需要一种方法来测试它的实际运作情况。

图源:Pexels

本节将简要介绍为不同类型的测试开发的两组拔靴法,这些测试针对具有不同分布的度量。

 

“分位数Bootstrap”:理解分布部分运动的方法

 

这一类方法,被称之为分位数bootstrapping,用来理解度量分布中某些部分的运动。通常情况下,仅仅移动度量的平均值或中值并不是实验者的目标。需要确定新的编码是否为最需要它的会员带来了统计上显著的视频质量改进。换言之,需要评估新编码是否移动了视频质量分布的较低尾部,以及这种移动是否具有统计意义,或者仅仅是由于噪声。

 

为了量化分布的特定部分的移动,实验比较了处理和生产经验之间分位数函数的差异。这些图有助于实验者快速评估所有分位数的测试体验之间差异的大小。但这种差异是偶然发生的吗?

 

为了测量统计显著性,使用一个有效的bootstrap过程来为所有分位数创建置信区间和p值(根据多重比较进行调整)。然后,针对体验到最差视频质量的会员,编码团队了解需要进行的有关感知视频质量的改进。如果感兴趣的分位数的p值很小,则可以确保新开发的编码实际上的确可以改善体验中的质量。

 

带阴影置信区间的差分图表明,在分布的最低百分位数处,视频质量在实际和统计上显著提高

 

“稀有事件bootstrap”:非标准分布度量的解决方案

 

在流媒体实验中,实验人员非常关心稀有事件频率的变化。一个这样的例子是每小时发生多少次缓冲,即中断会员播放体验的旋转轮子。由于该服务通常运行得很好,因此大多数流媒体过程没有出现缓冲。然而,当出现缓冲时,它会对会员造成很大的不良体验。许多实验旨在评估是否减少了某些会员每小时的缓冲率,并且在所有流媒体实验中,检查到缓冲率没有增加。

 

为了理解很少出现的度量差异,实验人员开发了一类称为稀有事件bootstrap的方法。对于这个类来说,均值和中位数之类的汇总统计数据是不够的,因为它们是从会员级别中聚合计算出来的(因为这是实验中的随机化粒度)。不能令人满意的几个原因有:

 

•如果一个会员使用了很短的时间,但有一个缓冲过程,那么每小时的缓冲占比将非常大,因为分母小。然后,会员级别率的均值将由这些外围值支配。

 

•由于这些事件很少发生,因此会员中的缓冲率分布几乎由所有零和一小部分非零值组成。中位数不是一个有用的统计数据,因为即使是缓冲率的较大变化也不会导致中位数的变化。

 

这使得标准的非参数曼-惠特尼U检验(Mann-Whitney U检验)同样无效。

 

为了解释通常为零的缓冲率度量的这些特性,实验人员开发了一种自定义技术,将控制体验的缓冲率与每个处理经验的缓冲率进行比较。

 

在上一节,分位数bootstrap分析中,有“每个会员一票”,因为会员级别聚合没有遇到上述两个问题。在稀有事件分析中,实验等同衡量每小时(或每小节)。通过总结所有用户的缓冲过程,总结所有用户查看内容的总小时数,然后根据生产和处理经验将两者分开来实现。

 

为了评估这种差异是否具有统计学意义,需要量化点估计值周围的不确定性。通过替换每个会员的{reffers,view hours}对,进行重新采样,然后对每个会员进行求和以形成比率。新的数据集用于推导置信区间和计算p值。在生成新的数据集时,必须对两个向量对重新采样以保持会员级别信息,因为这是随机化粒度。重新采样会员的每小时缓冲次数比率将失去有关查看时间的信息。

 

例如,一秒钟内零缓冲与两小时内零缓冲是截然不同的会员体验。如果只是重新取样,这两个比率都会是0,那么就不会保持它们之间有意义的差异。

 

处理经验在统计学上显著降低了缓冲率

 

综合起来,这两种方法给出了A/B测试中QoE度量移动的相当完整的视图。

 

可扩展的解决方案:一种有效的压缩机制

 

下一个挑战是将这些bootstrap方法调整到支持所有流媒体QoE实验所需的规模。这意味着为所有测试、所有QoE指标和所有普遍比较的人群部分(例如,测试中的所有设备类型)预计算结果。与使用完整数据集相比,这样做的方法侧重于减少数据集中的总行数,同时保持准确的结果。

 

在尝试了不同的压缩策略之后,实验人员决定采用n块水桶方法 (n-tile bucketing approach),包括以下步骤:

 

1.将数据从最小值排序到最大值

2.按数分成n个大小均匀的桶

3.计算每个桶的汇总统计(如均值或中位值)

4.将单个桶中的所有行合并为一行,只跟踪汇总统计和合并的原始行总数(“count”)

 

汇总完成后,数据集中的总行数等于桶的数量,另外一列表示桶中原始数据点的数量。不管分配大小如何,都取决于基数n。

对于“表现良好”的度量,实验人员试图了解分布中特定部分的移动,将原始值分组为固定数量的存储桶。桶的数量成为压缩数据集中的行数。

 

对于“表现良好”的度量,创建具有相同数量数据点的桶。考虑到数据中的倾斜,桶可以映射到PDF和CDF曲线的不同部分。

 

当扩展到很少发生的度量(像每小时的缓冲区)时,需要保持分子和分母之间的关系的良好近似值。N-平铺度量值本身(即比率)将不起作用,因为它会导致丢失有关绝对刻度的信息。

 

在这种情况下,只对分母应用n-平铺方法。通过压缩分子,并没有获得太多的数据大小缩减,因为在实践中,实验人员发现唯一分子值的数目很小。以每小时的缓冲次数为例,其中一个会员在实验过程中的缓冲次数(分子)通常为0,而一些会员(许多会员)有1到5个缓冲次数。分子可以接受的不同值的数目通常不超过100。所以压缩分母并坚持使用分子。

 

现在对于分位数和稀有事件bootstrap都有相同的压缩机制,其中分位数bootstrap解决方案是稀有事件bootstrap的2D压缩的更简单的特例。将分位数压缩作为稀有事件方法的一种特殊情况来处理简化了执行过程。

 

一个未压缩数据集(左)如何通过处理经验缩减为压缩数据集(右)的示例

 

实验人员探索了以下评估标准,以确定最佳桶数:

 

•使用完整数据集和压缩数据集时估计值的平均绝对差异

•使用完整与压缩数据集时p值的平均绝对差异

•使用完整数据集与压缩数据集时一致(无论是否具有统计意义)的p值总数

 

最后,实验人员决定在超过99.9%的p值中要求一致,来设置桶的数量。另外,两种bootstrap技术的估计值和p值实际上没有什么不同。

 

实际上,这些压缩技术可以将数据集中的行数减少1000倍,同时保持精确的结果!这些创新开启了扩展方法的潜力,为所有流媒体实验报告的分析提供动力。

对Netflix实验的影响

 

图源:Unsplash

有效数据压缩策略的发展彻底改变了统计工具对Netflix流媒体实验的影响。通过压缩数据,可以将计算量扩展到这样一个程度:现在可以使用自定义bootstrap方法分析所有流媒体实验中的所有度量的结果,跨越数百个人群部分。工程团队非常激动,因为解决方案从实验平台之外的缺席、按需和缓慢,发展到了一个具有较低延迟和较高可靠性的平台上。

 

这项工作的影响也超出了流媒体的实验范围。

 

由于新的实验平台基础设施,该方法可以合并到其他业务领域的报告中。实验人员们从数据压缩研究中获得的经验教训,也在考虑扩展其他统计方法以运行大量的实验报告时得到利用。

 

未来会怎样,让我们一起拭目以待!


推荐阅读专题

留言 点赞 发个朋友圈

我们一起分享AI学习与发展的干货

编译组:高雪窈、杨月

相关链接:

https://medium.com/netflix-techblog/data-compression-for-large-scale-streaming-experimentation-c20bfab8b9ce

如需转载,请后台留言,遵守转载规范

推荐文章阅读

ACL2018论文集50篇解读

EMNLP2017论文集28篇论文解读

2018年AI三大顶会中国学术成果全链接

ACL2017 论文集:34篇解读干货全在这里

10篇AAAI2017经典论文回顾

长按识别二维码可添加关注

读芯君爱你

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值