基于机器学习的带宽估计在淘宝直播中的探索与实践

简介: 基于机器学习的带宽估计在淘宝直播中的探索与实践

1.gif

本文主要分享 2018-2021 年期间,大淘宝技术内容中台音视频基础技术团队,基于机器学习的带宽预测算法在淘宝直播的业务背景下的探索与大规模实践的成果。


背景


常见的媒体传输中带宽估计的算法有 GCC/BBR/PCC/QUBIC 等,主要基于传统的基于策略的算法白盒地根据历史网络数据以及主动探测等方法来推算当前网络的可用带宽。这种固化的算法逻辑难以应对复杂的网络特性,也无法区分拥塞丢包与随机丢包。于是我们希望借鉴机器学习的思想,使用大量的线上网络数据训练一个黑盒模型,替代传统算法来灵活应对不同的网络环境。
本文主要分享 2018-2021 年期间,大淘宝技术内容中台音视频基础技术团队,基于机器学习的带宽预测算法在淘宝直播的业务背景下的探索与大规模实践的成果。


Concerto:媒体传输层与媒体编解码层的协奏

image.gif图片.png

2018年,淘宝直播基于 WebRTC 直播推拉流解决方案已经十分成熟。主播端与淘宝直播服务器均基于开源 WebRTC 实现实时音视频流的媒体编解码与传输。主播的摄像头与麦克风所采集的音视频,经由媒体编码器进行数据压缩,再由媒体传输协议 RTP/RTCP 封装成数据包传输给 MCU 服务器,再经过 CDN 分发给淘宝直播的观众。通常服务器间的网络相对比较稳定,因此主播的移动设备推流到 MCU 这“第一公里”的传输质量,就决定了 CDN 分发给直播间内所有观众的视频质量上限。

为了评估淘宝直播“第一公里”的音视频传输表现,我们整理分析了 2018 年 6 月整月直播的推流埋点数据,总计超过100 万小时的直播时长,遍布全球 57 个国家 749 个城市,覆盖 5 种网络制式(WiFi, 4G, 3G, LTE, 2G),512 个运营商及 934 种手机型号。埋点数据可以充分反映真实网络世界的延迟尖刺与突发丢包状况,对于评估低延迟直播的表现也至关重要。根据 ITU G.114 标准,要达到实时视频通话程度的服务质量,端到端全链路需要丢包率 <= 1% 且 RTT(Round Trip Time) <= 300ms。而直播场景中,约 20% 的场次平均丢包率 > 1%,约 10% 的场次平均 RTT > 300ms。我们将丢包率 > 1% 或 RTT > 300ms 的场次定义为传输质量亚健康的场次,从地理分布来看,所有国家的亚健康场次占比均超过 12%;从网络制式来看,WiFi 网络下的亚健康场次占比最低为 12%,远优于 4G(34%)、3G(54%) 网络,且 WiFi 网络在总场次中占比为 73%。

直播场景中主播端向网络发送的数据量,主要由媒体编解码层的视频编码器与媒体传输层的拥塞控制算法决定。WebRTC 中的网络传输层拥塞控制算法 GCC(Google Congestion Control) 单纯用于传输协议时,我们发现它能保持极低的延迟和几乎0丢包的表现。而视频传输场景,一次短暂的带宽降低可能造成持续几分钟的低画质视频。其中的原因有:视频编码码率难以严丝合缝的按照 GCC 的评估执行;视频编码码率的变化跟不上 GCC 的变化;间歇性的视频流量模式也会影响 GCC 对带宽的评估。

image.gif图片.png

因此,我们基于机器学习的机制设计并实现了 Concerto,通过加强与传输层的互动,来进行对带宽的评估。它的输入既包括历史的传输层丢包率、包间延迟,也包含编码层的编码码率、接收码率等。它的输出即下一时间段(我们的设计为 1 秒)内的带宽预测值。这个预测值既会成为下一阶段的编码码率,也会成为发送码率。从上层逻辑来讲,Concerto 同时知晓两层的状态,就能推导出每场会话的特征。为了实现这个能力,我们需要解决两个问题:如何在巨大的状态空间中提取每场会话的特征,以及如何在任何网络状态下都能决策出最优码率。在 Concerto 中,我们设计了一个深度模仿学习(Imitation Learning)模型来解决这个挑战。使用海量真实网络环境的数据,我们在训练阶段使模仿学习模型学习不同会话的特征,在真实网络带宽的指导下自动生成合适的码率。

如果我们按真实时间来使用每场会话的数据,Concerto 的收敛将会消耗冗长的时间。相反,我们设计并实现了一个成熟的数据驱动的模拟器来还原网络场景。模拟器包含一个视频帧处理模块,基于 ffmpeg 压缩视频帧;一个视频会话控制模块,实现 Concerto/GCC/Salsify 和其他基于机器学习的算法;一个传输模块,将视频帧分解为 RTP 包经由带宽受控的路径进行传输。对于小规模受控的实验场景,我们使用三台笔记本搭建了一个实验床,两个节点用于视频通话,第三个节点做路由,基于 Linux 内核的流量控制工具,实现网络踪迹的还原。我们还将 Concerto 嵌入了淘宝主播 APP,由其码率控制模块所调用,实现毫秒级别的决策。

image.gif图片.png

根据模拟器中十几个小时的网络踪迹环境测试结果,Concerto 在可忽视的帧延迟情况下,接收吞吐率方面分别超越三种基线算法 54.9%,53.9%,以及 37.3%,从而实现视频质量的提升。我们还邀请了 6 位志愿者来参与嵌入了淘宝直播的 Concerto 算法的实验。实验场景包含家里、办公室、校园、商店、街边以及行驶的车里。室内场景志愿者大多使用 WiFi,室外场景大多为 4G。实验总计达 300 次,时长达 69 小时。相较于基线算法 GCC,在所有场景下,Concerto 降低了 13.1% 吞吐量的同时,显著降低了卡顿率(3倍左右)。


OnRL:灵活的在线学习

基于 Concerto 的探索与实践经验,我们发现“线下训练,线上推演”的策略,在模拟器中可以达到很好的效果,然而在真实线上环境的效果却不尽如人意。主要原因有两个:完全模拟出多流竞争、突发丢包等真实的网络动态是非常艰难的;数据驱动的算法严格受限于其学习环境。为了缩短模拟器与真实网络环境的差距,我们设计并实现了一种在线学习的强化学习模型,OnRL。它在淘宝主播的直播过程中运行并保持学习,实时对真实网络环境作出反馈。
为了实现在线学习的目标,我们需要应对三个挑战。
一是由顺序的线下训练转变为同时从海量的视频通话中进行学习。传统的线下训练可以合并不同独立用户的网络轨迹,并输入一个模拟器来训练模型。而线上训练时大量的视频会话同时发生,期间算法需要根据每个会话实时演进。为了应对这个挑战,我们设计了一个两阶段在线学习框架,结合 PPO 算法和联邦学习的规则来聚合个体会话的特征。
图片.png
二是让 RL 算法在真实的动态网络场景中充分生效。理想情况下,一旦 OnRL 算法决定了发送速率,编码器需要按照同样的码率来产生视频流。然而实际情况是,视频编码器根据图像的动态程度、压缩策略甚至是设备的计算能力,影响自己的控制逻辑,造成与 RL 的码率决策的偏差。为了解决这个问题,我们将这个偏差输入给 RL 的神经网络,来调节它的反馈操作。
图片.png

三是做到健壮地混合学习。一个强化学习的网络通过“尝试与犯错”来学习,这可能对系统造成干扰。尤其在训练早期阶段,算法可能会执行不正确的探测行为,而造成灾难性后果。为了应对这样的问题,我们设计了一个混合的学习机制,让 OnRL 在被判定为异常时,能够回归到传统的基于规则的码率控制算法,否则切换回 RL 的模型。为了实现这样的切换,我们设计了一个动态趋势预测算法,来辨别一种算法执行的表现优劣。我们甚至将切换行为算作一种对 RL 反馈的惩罚,来激励模型进化为一个独立而健壮的算法。
图片.png

实验过程中,我们挑选了 151 位真实的淘宝主播进行了为期一个月的灰度,总计 543 小时的直播时长。灰度结果证实了在线训练的效果,QoE 相关指标得到显著优化,例如 OnRL 在保持视频码率持平的情况下,卡顿率得到 14.22% 的降低。


Loki:解决长尾表现问题


与传统的基于规则的算法不同,基于学习的拥塞控制方法通常使用覆盖了各种网络状态的大量数据集来训练一个神经网络模型。这种数据驱动的模型在平均指标上表现优异,然而因为神经网络的黑盒决策模式导致的不健壮问题,成为了在生产系统中的大规模部署的一大障碍。虽然在平均水平上表现符合预期,单个 QoE 的灾难性表现也会使得用户抛弃一款应用。

image.gif图片.png

为了探索实时视频传输场景的长尾表现,我们对时下前沿的基于规则的和基于学习的算法进行了对比实验。实验结果表明,一方面,基于学习的算法在传输层指标确实展现了优势,在保持低延迟的情况下有更高的吞吐率,而这样的优势却并不能有效的转化为 QoE 指标的提升,部分应用层的帧延迟和抖动甚至可能恶化。更深入的分析表明,原因存在于传输层指标的长尾表现问题。另一方面,基于学习的方法偶然会产生不准确的带宽预测。一些严重的过载预测就能造成灾难性的表现,如跳帧甚至是卡顿。我们发现问题的根因在于,这些带宽估计的算法,尤其是广泛使用的强化学习算法,是通过“尝试与犯错”的模式进行学习。它们追求最大化长期的累积反馈,因此能容忍偶然过载或缺载的预测结果,这就造成了长尾结果表现不佳。


受到上面两方面观察的启发,我们希望解决一个关键问题:是否能设计一种平均表现和长尾表现均令人满意的实时视频传输算法?为此,我们设计并实现了 Loki,一种混合模型。它同时利用基于规则的方法的确定性,和基于学习的方法的预测能力。当网络状态不稳定,Loki 使用保守的和基于规则的方法一样的码率决策方式,来避免灾难性的 QoE 降级。其他情况,Loki 则会通过类似学习的探测来充分利用网络带宽。


虽然顶层的设计思想比较简洁,但 Loki 仍需要解决两个关键的挑战。


一是如何使基于规则的算法和基于学习的模型兼容,更进一步地说,是可混合的?前者可以由硬核的“如果-就”条件语句来实现,而后者就要求基于神经网络的黑盒表现形式。前者的工作更多是时分复用地使用这两种算法,而 Loki 实现了更深层次的融合。Loki 将一个白盒的基于规则的算法(例如 GCC),通过定制的模仿学习网络模型,转化为了一个等价的黑盒神经网络模型。这样,两种算法才变得可兼容,且能在“特征层面”而非决策层面实现共用。

图片.png

二是如何保证“特征层面”的混合可以真实地保留基于决策的算法和基于学习的算法的优势?为此,我们设计了一种双权重的特征混合机制来达到这个要求。详细来讲,Loki 把两种神经网络模型的训练后的高层次特征作为一种置信系数。两种算法共同决策期间,他会给能达到更优 QoE 的特征集提高优先级,给予更大的权重。为了实现这样的权重机制,我们将一个基于时下顶尖的强化学习算法模型,内置于淘宝主播端进行交互式训练。最终 Loki 演化为一个可靠的,可以应对新环境的独立的模型。
图片.png

最终,我们将 3 个时下顶尖的解决方案(GCC,OnRL,Orca)应用在淘宝主播中,作为基线对比。相较于基线,Loki 平均降低了 13.98%-27.27% 的卡顿率,并将视频质量提升 1.37%-5.71%。同时,Loki 大幅减少了长尾占比,例如,95分的卡顿率降低了 26.3%-44.24%。通过减少长尾占比,相较于 GCC,Loki 也使得观看时长得到了 2.62%-4.68% 的提升。前期的验证工作结果表明,观看时长最终会转化为可观的商业价值。


总结与展望


随着对实时媒体传输逐步深入的研究,在大淘宝内容中台音视频技术的同学和国内高校的共同努力下,我们合作完成了业内第一个大量实践于商业系统的基于神经网络的带宽预测算法。研究成果多次获得国际顶级学术会议认可,得以发表 3 篇 CCF A 类会议论文的同时,与其他合作项目一同,获得了 2020 年中国电子学会科学技术奖的科技进步一等奖的殊荣。


由于移动端的算力限制,我们的最新成果 Loki 模型,目前仍依赖云端服务来支撑大量的模型训练过程。而随着淘宝直播的业务发展,云端的在线训练资源消耗成本也将大幅增加。因此,我们近期的工作,是将收集了海量网络状态的 Loki 模型固化并聚合,转移到移动端进行在线推演,减少云端的算力成本。固化工作已初见成效,未来有机会也将总结归纳分享出来。


CCF  A类会议论文发表情况

  1. Huanhuan Zhang, Anfu Zhou, Yuhan Hu, Chaoyue Li, Guangping Wang, Xinyu Zhang, Huadong Ma, Leilei Wu, Aiyun Chen, and Changhui Wu. 2021. Loki: improving long tail performance of learning-based real-time video adaptation by fusing rule-based models. Proceedings of the 27th Annual International Conference on Mobile Computing and Networking (MobiCom '21)). Association for Computing Machinery, New York, NY, USA, 775–788. DOI:https://doi.org/10.1145/3447993.3483259
  2. Huanhuan Zhang, Anfu Zhou, Jiamin Lu, Ruoxuan Ma, Yuhan Hu, Cong Li, Xinyu Zhang, Huadong Ma, and Xiaojiang Chen. 2020. OnRL: improving mobile video telephony via online reinforcement learning. In Proceedings of the 26th Annual International Conference on Mobile Computing and Networking (MobiCom '20). Association for Computing Machinery, New York, NY, USA, Article 29, 1–14. DOI:https://doi.org/10.1145/3372224.3419186
  3. Anfu Zhou, Huanhuan Zhang, Guangyuan Su, Leilei Wu, Ruoxuan Ma, Zhen Meng, Xinyu Zhang, Xiufeng Xie, Huadong Ma, and Xiaojiang Chen. 2019. Learning to Coordinate Video Codec with Transport Protocol for Mobile Video Telephony. In The 25th Annual International Conference on Mobile Computing and Networking (MobiCom '19). Association for Computing Machinery, New York, NY, USA, Article 29, 1–16. DOI:https://doi.org/10.1145/3300061.3345430


国内获奖情况

2020 中国电子学会科学技术奖科技进步一等奖。https://www.cie.org.cn/system/upload/file/20201211/1607675713758483.pdf
团队介绍

大淘宝技术内容中台音视频技术团队,面向淘宝直播、点淘、逛逛、闲鱼、ICBU 等集团内众多业务,负责提供实时音视频通信和媒体处理的底层核心能力,为千万商家、达人、消费者带来内容丰富、高质量、丝滑的音视频体验。

相关文章
|
机器学习/深度学习 人工智能 JSON
【解决方案】DistilQwen2.5-R1蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践
阿里云的人工智能平台 PAI,作为一站式的机器学习和深度学习平台,对DistilQwen2.5-R1模型系列提供了全面的技术支持。无论是开发者还是企业客户,都可以通过 PAI-ModelGallery 轻松实现 Qwen2.5 系列模型的训练、评测、压缩和快速部署。本文详细介绍在 PAI 平台使用 DistilQwen2.5-R1 蒸馏模型的全链路最佳实践。
|
人工智能 JSON 算法
【解决方案】DistilQwen2.5-DS3-0324蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践
DistilQwen 系列是阿里云人工智能平台 PAI 推出的蒸馏语言模型系列,包括 DistilQwen2、DistilQwen2.5、DistilQwen2.5-R1 等。本文详细介绍DistilQwen2.5-DS3-0324蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践。
|
数据采集 人工智能 API
生物医药蛋白分子数据采集:支撑大模型训练的技术实践分享
作为生物信息学领域的数据工程师,近期在为蛋白质相互作用预测AI大模型构建训练集时,我面临着从PDB、UniProt等学术数据库获取高质量三维结构、序列及功能注释数据的核心挑战。通过综合运用反爬对抗技术,成功突破了数据库的速率限制、验证码验证等反爬机制,将数据采集效率提升4倍,为蛋白质-配体结合预测模型训练提供了包含10万+条有效数据的基础数据集,提高了该模型预测的准确性。
623 1
|
机器学习/深度学习 人工智能 边缘计算
DistilQwen2.5蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践
DistilQwen2.5 是阿里云人工智能平台 PAI 推出的全新蒸馏大语言模型系列。通过黑盒化和白盒化蒸馏结合的自研蒸馏链路,DistilQwen2.5各个尺寸的模型在多个基准测试数据集上比原始 Qwen2.5 模型有明显效果提升。这一系列模型在移动设备、边缘计算等资源受限的环境中具有更高的性能,在较小参数规模下,显著降低了所需的计算资源和推理时长。阿里云的人工智能平台 PAI,作为一站式的机器学习和深度学习平台,对 DistilQwen2.5 模型系列提供了全面的技术支持。本文详细介绍在 PAI 平台使用 DistilQwen2.5 蒸馏小模型的全链路最佳实践。
|
机器学习/深度学习 数据采集 分布式计算
大数据分析中的机器学习基础:从原理到实践
大数据分析中的机器学习基础:从原理到实践
738 3
|
机器学习/深度学习 人工智能 算法
人工智能浪潮下的编程实践:构建你的第一个机器学习模型
在人工智能的巨浪中,每个人都有机会成为弄潮儿。本文将带你一探究竟,从零基础开始,用最易懂的语言和步骤,教你如何构建属于自己的第一个机器学习模型。不需要复杂的数学公式,也不必担心编程难题,只需跟随我们的步伐,一起探索这个充满魔力的AI世界。
359 12
|
机器学习/深度学习 存储 运维
分布式机器学习系统:设计原理、优化策略与实践经验
本文详细探讨了分布式机器学习系统的发展现状与挑战,重点分析了数据并行、模型并行等核心训练范式,以及参数服务器、优化器等关键组件的设计与实现。文章还深入讨论了混合精度训练、梯度累积、ZeRO优化器等高级特性,旨在提供一套全面的技术解决方案,以应对超大规模模型训练中的计算、存储及通信挑战。
862 4
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习:从理论到实践
在这篇文章中,我们将深入探讨机器学习的世界。我们将首先了解机器学习的基本概念和原理,然后通过一个简单的代码示例,展示如何实现一个基本的线性回归模型。无论你是初学者还是有经验的开发者,这篇文章都将帮助你更好地理解和应用机器学习。
|
人工智能 容灾 Serverless
AI推理新纪元,PAI全球化模型推理服务的创新与实践
本次分享主题为“AI推理新纪元,PAI全球化模型推理服务的创新与实践”,由阿里云高级产品经理李林杨主讲。内容涵盖生成式AI时代推理服务的变化与挑战、play IM核心引擎的优势及ES专属网关的应用。通过LM智能路由、多模态异步生成等技术,PAI平台实现了30%以上的成本降低和显著性能提升,确保全球客户的业务稳定运行并支持异地容灾,目前已覆盖16个地域,拥有10万张显卡的推理集群。

热门文章

最新文章