带你读《2022技术人的百宝黑皮书》——基于机器学习的带宽估计在淘宝直播中的探索与实践(2) https://developer.aliyun.com/article/1243297?groupCode=taobaotech
OnRL:灵活的在线学习
基于 Concerto 的探索与实践经验,我们发现“线下训练,线上推演”的策略,在模拟器中可以达到很好的效果,然而在真实线上环境的效果却不尽如人意。主要原因有两个:完全模拟出多流竞争、突发丢包等真实的网络动态是非常艰难的;数据驱动的算法严格受限于其学习环境。为了缩短模拟器与真实网络环境的差距,我们设计并实现了一种在线学习的强化学习模型,OnRL。它在淘宝主播的直播过程中运行并保持学习,实时对真实网络环境作出反馈。
为了实现在线学习的目标,我们需要应对三个挑战。
一是由顺序的线下训练转变为同时从海量的视频通话中进行学习。传统的线下训练可以合并不同独立用户的网络轨迹,并输入一个模拟器来训练模型。而线上训练时大量的视频会话同时发生,期间算法需要根据每个会话实时演进。为了应对这个挑战,我们设计了一个两阶段在线学习框架,结合 PPO 算法和联邦学习的规则来聚合个体会话的特征。
如果我们按真实时间来使用每场会话的数据,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倍左右)。
带你读《2022技术人的百宝黑皮书》——基于机器学习的带宽估计在淘宝直播中的探索与实践(4) https://developer.aliyun.com/article/1243295?groupCode=taobaotech