背景媒体传输中常见的带宽估计算法有GCC/BBR/PCC/QUBIC等,主要基于传统的基于策略的算法。网络数据和主动检测方法用于估计当前网络的可用带宽。这种固化的算法逻辑难以应对复杂的网络特性,无法区分拥塞丢包和随机丢包。所以我们希望借鉴机器学习的思想,利用大量在线网络数据训练黑盒模型,替代传统算法灵活应对不同的网络环境。本文主要分享大淘宝技术内容中心音视频基础技术团队2018-2021年在淘宝直播业务背景下基于机器学习的带宽预测算法的探索与大规模实践成果协奏曲:媒体传输层和媒体编解码层的协奏曲2018年,淘宝直播基于WebRTC直播的推拉推流方案已经非常成熟。主播端和淘宝直播服务器均基于开源的WebRTC实现实时音视频流的媒体编码、解码和传输。主播摄像头和麦克风采集的音视频经过媒体编码器压缩后,通过媒体传输协议RTP/RTCP封装成数据包传输到MCU服务器,再通过媒体编码器分发给淘宝直播的观众CDN。通常服务器之间的网络比较稳定,所以主播移动设备到MCU的“第一公里”传输质量决定了CDN分发给直播间所有观众的视频质量上限。为了评估淘宝直播“第一公里”的音视频传输性能,我们整理分析了2018年6月整月的直播数据,累计直播时长超过100万小时时间,覆盖全球57个国家749个城市,涵盖5种网络制式(WiFi、4G、3G、LTE、2G)、512家运营商、934款手机型号。埋点数据可以充分反映真实网络世界中的延迟尖峰和突发丢包,对于评估低延迟直播的性能也至关重要。根据ITUG.114标准,要达到实时视频通话的服务质量,端到端全链路要求丢包率<=1%,RTT(RoundTripTime)<=300ms.在直播场景中,约20%的会话平均丢包率>1%,约10%的会话平均RTT>300ms。我们将丢包率>1%或RTT>300ms的会话定义为亚健康传输质量会话。从地域分布来看,各国亚健康会话占比均在12%以上;从网络制式来看,WiFi网络上网下亚健康会话占比最低12%,远好于4G(34%)和3G(54%)网络,WiFi网络占比73%会议。在直播场景中,主播向网络发送的数据量主要由媒体编解码层的视频编码器和媒体传输层的拥塞控制算法决定。当WebRTC中的网络传输层拥塞控制算法GCC(GoogleCongestionControl)仅用于传输协议时,我们发现它可以保持极低的延迟和几乎为零的丢包。在视频传输的情况下,短暂的带宽减少可能会导致持续几分钟的低质量视频。造成这种情况的原因是:视频编码码率很难严格按照GCC的评价来执行;视频编码码率的变化跟不上GCC的变化;间歇性的视频流量模式也会影响对GCC带宽的评估。因此,我们基于机器学习的机制设计并实现了Concerto,通过加强与传输层的交互来评估带宽。它的输入不仅包括传输层的历史丢包率和包间延迟,还包括编码层的编码码率和接收码率。它的输出是下一个时间段(在我们的设计中为1秒)的带宽预测。这个预测值将成为下一级的编码码率和发送码率。从上层逻辑来看,Concerto同时知道两层的状态,可以推导出每一个session的特点。为了实现这种能力,我们需要解决两个问题:如何在巨大的状态空间中提取每个会话的特征,以及如何确定任意网络状态下的最优比特率。在Concerto中,我们设计了一个深度模仿学习(ImitationLearning)模型来应对这一挑战。利用大量真实网络环境数据,我们使模仿学习模型在训练阶段学习不同会话的特征,并在真实网络带宽的指导下自动生成合适的码率。如果我们实时使用每会话数据,Concerto将需要很长时间才能收敛。相反,我们设计并实现了一个成熟的数据驱动模拟器来恢复网络场景。模拟器包含视频帧处理模块,基于ffmpeg对视频帧进行压缩;视频会话控制模块,实现Concerto/GCC/Salsify和其他基于机器学习的算法;传输模块,将视频帧分解成RTP包,通过带宽控制的路径传输。针对小规模受控实验场景,我们使用三台笔记本电脑搭建测试台,两个节点进行视频通话,第三个节点进行路由,基于Linux内核流控工具还原网络痕迹。我们还将Concerto嵌入到淘宝主播APP中,由其码率控制模块调用,实现毫秒级决策。根据模拟器中长达十多个小时的网络跟踪环境测试结果,Concerto在帧延迟可忽略不计的情况下,接收吞吐量分别超越三种基线算法54.9%、53.9%和37.3%,从而达到最高的视频质量。推动。我们还邀请了6位志愿者参与淘宝直播内嵌Concerto算法的实验。实验场景包括家庭、办公室、校园、商店、街道和驾驶汽车。室内场景大部分志愿者使用WiFi,室外场景大部分使用4G。实验共进行了300次,持续了69小时。与基线算法GCC相比,在所有场景下,Concerto均降低了13.1%的吞吐量,并显着降低了卡顿率(约3倍)。OnRL:Flexibleonlinelearning基于Concerto的探索和实践经验,我们发现“离线训练,在线推演”的策略在模拟器中可以取得很好的效果,但在真实在线环境中的效果并没有想象中那么好。主要有两个原因:很难完全模拟多流竞争、突发丢包等真实网络动态;数据驱动算法受到学习环境的严格限制。为了缩短模拟器与真实网络环境之间的差距,我们设计并实现了一种用于在线学习的强化学习模型OnRL。它在淘宝主播的直播过程中不断运行和学习,对真实的网络环境进行实时反馈。要实现在线学习的目标,我们需要应对三个挑战。一是从顺序离线训练转变为同时从海量视频通话中学习。传统的离线训练可以结合不同独立用户的网络轨迹,并输入模拟器来训练模型。在线训练过程中,大量的视频会话同时发生,算法需要根据每个会话实时演化。为了应对这一挑战,我们设计了一个两阶段在线学习框架,该框架结合了PPO算法和联邦学习规则来聚合各个会话的特征。二是让RL算法在真实的动态网络场景中充分发挥作用。理想情况下,一旦OnRL算法确定了发送速率,编码器就需要以相同的比特率生成视频流。但实际情况是,视频编码器根据图像的动态程度、压缩策略甚至设备的计算能力影响自身的控制逻辑,导致与RL的码率决策出现偏差。为了解决这个问题,我们将这种偏差输入到RL的神经网络中,以调整其反馈操作。三是实现稳健的混合学习。强化学习网络通过“反复试验”来学习,这可能会破坏系统。特别是在训练的早期阶段,算法可能会执行错误的检测行为,带来灾难性的后果。为了应对此类问题,我们设计了一种混合学习机制,让OnRL在判断异常时返回到传统的基于规则的码率控制算法,否则切换回RL模型。为了实现这种切换,我们设计了动态趋势预测算法来识别算法的性能。我们甚至将切换行为视为对RL反馈的惩罚,以激励模型演化为独立且稳健的算法。实验过程中,我们选取??了151位真实的淘宝主播进行了一个月的灰度,总直播时长为543小时。灰度结果证实了在线培训的效果,QoE相关指标得到了明显优化。例如,在OnRL保持视频码率平坦的同时,卡顿率降低了14.22%。Loki:解决长尾性能问题与传统的基于规则的算法不同,基于学习的拥塞控制方法通常使用涵盖各种网络状态的大数据集来训练神经网络模型。这种数据驱动的模型在平均指标上表现良好,但神经网络的黑盒决策模式带来的不鲁棒性成为生产系统大规模部署的一大障碍。虽然平均表现符合预期,但单个QoE的灾难性表现可能会导致用户放弃应用程序。为了探索实时视频传输场景的长尾性能,我们对最先进的基于规则和基于学习的算法进行了比较实验。实验结果表明,一方面,基于学习的算法在传输层指标上确实表现出优势,在保持低时延的同时具有更高的吞吐量,但这种优势并不能有效转化为QoE指标的提升。帧延迟和抖动甚至可能在某些应用层恶化。更深入的分析表明,原因在于传输层指标的长尾性能。另一方面,基于学习的方法偶尔会产生不准确的带宽预测。一些严重的过载预测会导致灾难性的性能,例如跳帧甚至卡顿。我们发现问题的根源在于这些带宽估计算法,尤其是广泛使用的强化学习算法,是通过“试错”模式来学习的。他们寻求最大化长期累积反馈,从而容忍预测结果偶尔超载或欠载,这会导致长尾结果表现不佳。受以上两个观察的启发,我们希望解决一个关键问题:是否有可能设计出一种具有令人满意的平均性能和长尾性能的实时视频传输算法?为此,我们设计并实现了混合模型Loki。它利用了基于规则的方法的确定性和基于学习的方法的预测能力。当网络状态不稳定时,Loki使用保守和基于规则的比特率决策方法来避免灾难性的QoE下降。在其他情况下,Loki会通过类似于学习的检测来充分利用网络带宽。虽然顶层设计思路比较简单,但洛基仍然需要解决两个关键挑战。一是如何让基于规则的算法和基于学习的模型兼容,甚至可以混合?前者可以通过硬核的“if-then”条件语句来实现,而后者则需要基于神经网络的黑盒表示。前者的工作更多是时分复用这两种算法,而Loki则实现了更深层次的融合。Loki通过定制的模仿学习网络模型将基于白盒规则的算法(如GCC)转换为等效的黑盒神经网络模型。这样,两种算法就变得兼容,可以在“特征级别”而不是决策级别共享。二是如何保证“特征层”的混合能够真正保留基于决策的算法和基于学习的算法的优势?为此,我们设计了一种双权重特征混合机制来满足这一要求。具体来说,Loki将两个神经网络模型训练好的高层特征作为置信度系数。在两种算法的联合决策过程中,他会提高优先级,给能够获得更好QoE的特征集赋予更大的权重。为了实现这样的权重机制,我们将一流的强化学习算法模型内置到淘宝主播端进行交互训练。最终,Loki演变成一个可靠的、独立的模型,可以处理新的环境。最后,我们将三个当前的顶级解决方案(GCC、OnRL、Orca)应用于淘宝主播作为基准比较。与baseline相比,Loki平均降低卡顿率13.98%-27.27%,视频质量提升1.37%-5.71%。同时,洛基大大降低了长尾巴的比例。比如95点的冻结率降低了26.3%-44.24%。通过降低长尾巴的比例,相比GCC,Loki还增加了2.62%-4.68%的观看时长。前期验证工作的结果表明,观看时长最终会转化为可观的商业价值。总结与展望随着对实时媒体传输研究的逐步深入,在淘宝内容台湾音视频技术同学与国内高校的共同努力下,合作完成了业界首个基于神经网络的网络这在商业系统中被广泛实践。带宽预测算法。研究成果多次被国际顶级学术会议认可。在能够发表CCFA类会议论文3篇的同时,与其他合作项目一起获得2020年中国电子学会科学技术奖科技进步一等奖。由于计算能力强受移动端的限制,我们最新的成果Loki模型,仍然依赖云服务来支持大量的模型训练过程。随着淘宝直播业务的发展,云端在线培训资源的消耗成本也将大幅增加。因此,我们近期的工作是将收集了大量网络状态的Loki模型进行固化聚合,并传输到移动端进行在线推演,以降低云端的算力成本。固化工作已经初见成效,以后有机会再总结分享。HuanhuanZhang,AnfuZhou,YuhanHu,ChaoyueLi,GuangpingWang,XinyuZhang,HuadongMa,LeileiWu,AiyunChen,andChanghuiWu.2021.Loki:improvinglongtailperformanceoflearning-basedreal-timevideoadaptationbyfusingrule-basedmodels.Proceedingsofthe27thAnnualInternationalConferenceonMobileComputingandNetworking(MobiCom'21)).AssociationforComputingMachinery,NewYork,NY,USA,775–788.DOI:https://doi.org/10.1145/3447993.3483259HuanhuanZhang,AnfuZhou,JiaminLu,RuoxuanMa,YuhanHu,CongLi,XinyuZhang,HuadongMa,andXiaojiangChen.2020.OnRL:improvingmobilevideotelephonyviaonlinereinforcementlearning.InProceedingsofthe26thAnnualInternationalConferenceonMobileComputingandNetworking(MobiCom'20).AssociationforComputingMachinery,NewYork,NY,USA,Article29,1–14.DOI:https://doi.org/10.1145/3372224.3419186AnfuZhou,HuanhuanZhang,GuangyuanSu,LeileiWu,RuoxuanMa,ZhenMeng,XinyuZhang,XiufengXie,HuadongMa,andXiaojiangChen.2019.学习协调视频编解码器与移动视频电话传输协议。在第25届移动计算和网络国际会议(MobiCom'19)中。美国纽约州纽约市计算机协会,第29条,第1-16条。DOI:https://doi.org/10.1145/3300061.3345430国内奖项2020年中国电子科学技术学会奖科技进步一等奖https://www.cie.org.cn/system/upload/file/20201211/1607675713758483.pdf团队介绍淘宝技术内容,中国台湾音视频技术团队,为淘宝直播、点淘、购物、闲鱼、ICBU等,群内多家业务负责提供底层核心实时音视频通信和媒体处理能力,为数千万商家、专家和消费者带来丰富、优质、流畅的音视频体验。
