2024年11月4日至11月6日,在西班牙马德里举办了ACM IMC 2024(ACM Internet Measurement Conference)会议,ACM IMC是计算机网络方向的顶级会议之一,会议收录了网络测量领域的顶级论文。
2024年,共计253篇论文投稿,最终录用55篇,录用率21.7%。
火山引擎多媒体实验室传输系统团队和超边缘技术团队合作,提出了一种新型的实验平台Magpie。
该技术已经被应用于公司内部日常生产过程中的算法测试环节。
同时,该论文《Magpie: Improving the Efficiency of A/B Tests for Large Scale Video-on-Demand Systems》被IMC 2024收录,并被邀请在 Video Streaming Session做正式汇报。
论文链接:https://dl.acm.org/doi/abs/10.1145/3646547.3689019
01 研究背景
随着技术的进步和互联网基础设施的扩展,视频点播(Video-on-Demand)服务已成为现代媒体消费中不可或缺的一部分,其流量现已占据了互联网总流量的重要比例。
作为全球主要的点播视频内容提供商,字节跳动在视频点播系统中上线算法的过程是高度规范的,必须确保任何变更都不会对线上的用户体验产生负面影响。
开发人员在开发环境中可以自由进行系统修改和测试,但所有针对生产环境(即直接服务于真实用户的系统)的更改都必须经过严格的审查和批准过程。
这一过程包括使用大规模在线A/B实验来验证改动是否真正提升了服务的体验质量(QoE)和服务质量(QoS),同时确保不会对系统的稳定性、性能和其他关键指标造成负面影响。
通过这种方法,我们能够不断优化我们的点播视频服务,同时保持对用户承诺的高质量服务。
然而,为了保证系统稳定性而复杂化的流程使得算法的更新非常的缓慢。尽管开发者在进行算法测试时,可以利用很多仿真测试工具自测算法性能,但是由于这些仿真测试工具不具备一定数量的测试规模,并且对于复杂的真实网络环境和系统环境进行了简化,其测试结果往往无法代表真实的线上结果, 开发者依旧需要经历多次A/B实验才能最终在真实的生产环境中取得正向收益,造成了算法上线流程整体历时非常漫长的现状,拖慢了整体的生产效率。
因此,基于我们现有的资源,设计一套能够快速取得实验结果的同时具备高复现精准度的实验平台,具有非常高的实用价值,对于提升算法更新效率具有非常重要的意义。在本论文中,团队全面地介绍了实验平台的设计动机、设计思路和验证效果。
02 创新概述
在企业的生产环境中更新算法流程漫长是大型互联网企业都会面临的问题,尤其当前的视频点播作为本公司的主要业务之一,点播系统每天都面临着激增的算法上线需求和算法上线速度缓慢的矛盾。
为了从根本上缓解这一矛盾,火山引擎的研究团队认为应当提出一种新型的算法验证平台用于在进行线上大规模A/B实验前进行算法性能验证,并将该平台的正向实验结论作为开启A/B实验的前置条件之一。
该平台需要具备两大基本的特点:复现精确度高和验证速度快。在下表中,我们总结了现存的验证方式包括线上大规模A/B实验和本地仿真测试的特点,可以发现这两种方案实际上都不能够同时满足这两点要求。
线上大规模A/B实验 | 本地仿真测试 | |
---|---|---|
高复现精确度 | ✅ -真实的网络环境 -真实的系统环境 -大规模测试 | ❌ -仿真的网络环境和系统环境 -小规模/端到端测试 |
验证速度快 | ❌ -需要漫长的质量保证(Quality Assurance)测试和稳定性测试流程。-数据收集效率低。 | ✅ -不需要走流程,直接获得测试结论。 |
为了同时满足以上两点算法验证实验平台的设计目标,我们提出了一种名为Magpie的实验平台设计方案。其核心设计思想包括三点:
真实的实验验证环境。首先,Magpie 是一个在真实的环境中进行测试的平台。这个真实的环境指的是真实的网络环境以及真实的设备环境。 平台包括一个控制节点、约400台真实的服务器和遍布中580个客户端设备,这些服务器和客户端设备遍布了全国的所有省份。 控制节点是整个实验平台的中枢,其职责是任务的分配与下发、为服务器选取视频内容和为客户端设备挑选测试算法。 每个客户端设备都安装了一个定制化应用程序能够响应控制节点命令并执行任务的。 同时,研究团队将传输层的算法进行抽象化与接口接口,以便进行各种算法的评估。在测试进行时,所有数据都会被反馈给控制节点,以深入分析测试结果。 关键特征的提取与复现。在调试实验平台的过程中,研究人员发现仅仅提供真实的实验验证环境不足以复现出真实的线上实验结果。 由于线上的用户量成千上万,仅仅依赖几百台设备对其进行复现依旧会存在一定程度上的精度损耗,为了解决这个问题,Magpie 采用两步流程来提高结果的准确性。 首先,它通过数据驱动的方法,使用随机森林算法来识别影响结果的关键特征,从而精确定位这些关键元素。 然后,Magpie 利用其内部的 vPaaS 基础设施和资源调度机制,调整这些因素在其环境中的分布。 这种调整确保重要因素与现实世界在线分布一致,从而实现更精确的复制结果。 模拟A/B实验。Magpie 同样通过使用 A/B 分组来评估算法性能。与线上A/B实验依赖用户行为产生数据的方式不同,Magpie通过脚本控制应用程序自动运行视频点播流程来产生数据。 一旦控制节点发出实验开启命令,测试就会完全自动运行。它有两种实验方法。 第一种方法是基于设备的分组,其中设备被均匀分成两组并运行不同的策略。 第二种方法是基于时间的分组,其中每个设备依次执行策略。这确保了参与不同组的设备是相同的,排查了由于设备分布不均匀带来的实验偶然性。
我们从算法验证的准确度和算法验证结果的耗时两个维度来评估Magpie的效果。
算法验证的准确度高:我们首先评估了Magpie用于验证一个重注入算法(一个我们准备在线部署的新算法)所带来的吞吐量提升比例的准确性。 我们将 Magpie与本地测试的结果和 真实AB 测试的结果进行了比较。通过比较七天收集的数据,我们可以从下图中看到:与本地测试相比,Magpie 的结果明显与在线 AB 测试的结果更为吻合。 对比其差异,我们可以看到 Magpie 将效果差异其从大约13%降低到了大约2%。大大提升了算法验证的准确度。
算法验证的耗时短:我们还通过追踪在最近部署的九种算法中从算法开发到全量实验的时间跨度,分析了 Magpie 的在节省时间成本方面的效果表现。 与在线 A/B 实验相比,由于省略了繁杂的质量保障测试和稳定性测试流程,Magpie 框架将整个过程的时间从 68 天缩短到了大约 15 天。大大提升了算法迭代效率。
03 未来工作
目前,Magpie已经作为一个火山引擎内部团队用于验证算法的常规验证实验平台投入使用。结合我们对实验平台设计与验证的经验,我们认为Magpie在以下两方面具有优化空间。
Magpie 的一般化:目前Magpie是一个主要用于解决视频点播系统中传输算法验证问题的实验平台,但是我们认为它完全具备发展成为一个适用于所有网络架构和算法层的通用实验平台的潜力。 而要将Magpie扩展为一个更加广泛的实验平台存在着许多挑战,例如所有算法的模块化和对不同传输系统架构的兼容性。需要更加精良的架构抽象设计和编码技巧,以实现一个可扩展的实验平台通用解决方案。 改进关键特征的提取与复现技术:在Magpie的设计中我们采用随机森林回归分析作为提取关键特征的方法。 然而,实际上我们还有许多先进的关键特征提取方法尚未探索。 考虑到特征提取和复现的准确性在提高实验结果相似性中的关键作用,通过改进我们的特征提取技术,事实上还有有很大的潜力去提高实验平台的精度。
04 总结
本文介绍了一种由火山引擎研究团队提出的一种面向大规模视频点播系统的算法实验平台Magpie,它通过利用真实的实验验证环境、关键特征的提取与复现以及模拟A/B实验实现了高准确度的算法复现度和快速的实验结果输出速度。
业界可以通过了解实验平台的设计原理,应用到任意的系统架构和测试算法的验证中,因此,它对于解决在生产环境中算法迭代速度慢这一问题具有很高的参考价值。
05 团队信息
火山引擎多媒体实验室是字节跳动旗下的研究团队,致力于探索多媒体领域的前沿技术,参与国际标准化工作,其众多创新算法及软硬件解决方案已经广泛应用在抖音、西瓜视频等产品的多媒体业务,并向火山引擎的企业级客户提供技术服务。
实验室成立以来,多篇论文入选国际顶会和旗舰期刊,并获得数项国际级技术赛事冠军、行业创新奖及最佳论文奖。
火山引擎是字节跳动旗下的云服务平台,将字节跳动快速发展过程中积累的增长方法、技术能力和工具开放给外部企业,提供云基础、视频与内容分发、大数据、人工智能、开发与运维等服务,帮助企业在数字化升级中实现持续增长。
火山引擎是字节跳动旗下的云服务平台,将字节跳动快速发展过程中积累的增长方法、技术能力和应用工具开放给外部企业,帮助企业构建用户体验创新、数据驱动决策和业务敏捷迭代等数字化能力,实现业务可持续增长。