研究人员在设计新算法时经常使用模拟,因为在现实世界中测试想法既昂贵又冒险。但由于不可能在模拟中捕获复杂系统的每个细节,他们通常会收集少量真实数据,在模拟他们想要研究的组件时重放这些数据。
这种方法被称为跟踪驱动模拟(小块真实数据称为跟踪),有时会导致有偏差的结果。这意味着研究人员可能会在不知不觉中选择一种不是他们评估过的最佳算法的算法,并且该算法在真实数据上的表现会比模拟预测的要差。
麻省理工学院的研究人员开发了一种新方法,可以消除跟踪驱动模拟中的这种偏差来源。通过启用无偏差的跟踪驱动模拟,新技术可以帮助研究人员为各种应用设计更好的算法,包括提高互联网上的视频质量和提高数据处理系统的性能。
研究人员的机器学习算法利用因果关系原理来了解数据轨迹如何受到系统行为的影响。通过这种方式,他们可以在模拟期间重放正确、无偏差的跟踪版本。
与之前开发的跟踪驱动模拟器相比,研究人员的模拟方法正确地预测了哪种新设计的算法最适合视频流——这意味着能够减少重新缓冲和提高视觉质量的算法。不考虑偏差的现有模拟器会将研究人员指向性能较差的算法。
“数据并不是唯一重要的事情。数据是如何生成和收集的背后的故事也很重要。如果你想回答一个反事实的问题,你需要知道底层的数据生成故事,这样你就只能干预那些事情你真的很想模拟,”电气工程和计算机科学(EECS)研究生兼这项新技术论文的共同主要作者ArashNasr-Esfahany说。
联合主要作者和EECS研究生AbdullahAlomar和PouyaHamadanian与他一起撰写了这篇论文;最近的研究生AnishAgarwal博士'21;和高级作者MohammadAlizadeh,电气工程和计算机科学副教授;DevavratShah,EECS的Andrew和ErnaViterbi教授以及数据、系统和社会研究所以及信息和决策系统实验室的成员。该研究最近在USENIX网络系统设计和实施研讨会上发表。
似是而非的模拟
麻省理工学院的研究人员在视频流应用程序的背景下研究了跟踪驱动的模拟。
在视频流中,自适应比特率算法不断决定视频质量或比特率,以根据用户带宽上的实时数据传输到设备。为了测试不同的自适应比特率算法如何影响网络性能,研究人员可以在视频流期间从用户那里收集真实数据,以进行跟踪驱动的模拟。
他们使用这些轨迹来模拟如果平台在相同的基础条件下使用不同的自适应比特率算法,网络性能会发生什么情况。
研究人员传统上假设跟踪数据是外生的,这意味着它们不受模拟过程中发生变化的因素的影响。他们会假设,在收集网络性能数据期间,比特率自适应算法所做的选择不会影响这些数据。
但这通常是一个错误的假设,会导致对新算法行为的偏见,从而使模拟无效,Alizadeh解释说。
“我们认识到,其他人也认识到,这种进行模拟的方式会导致错误。但我认为人们不一定知道这些错误有多大,”他说。
为了制定解决方案,Alizadeh和他的合作者将该问题定义为因果推理问题。要收集无偏迹,必须了解影响观察数据的不同原因。一些原因是系统固有的,而另一些则受到正在采取的行动的影响。
在视频流示例中,网络性能受比特率适配算法选择的影响,但也受网络容量等内在因素的影响。
“我们的任务是理清这两种影响,试图了解我们所看到的行为的哪些方面是系统固有的,以及我们所观察到的行为中有多少是基于所采取的行动。如果我们能够理清这两者效果,然后我们就可以进行无偏模拟,”他说。
从数据中学习
但研究人员往往无法直接观察到内在属性。这就是称为CausalSim的新工具的用武之地。该算法可以仅使用跟踪数据来了解系统的基本特征。
CausalSim获取通过随机对照试验收集的跟踪数据,并估计产生这些数据的基础函数。该模型告诉研究人员,在用户所经历的完全相同的基本条件下,新算法将如何改变结果。
使用典型的跟踪驱动模拟器,偏差可能会导致研究人员选择性能较差的算法,即使模拟表明它应该更好。CausalSim帮助研究人员选择经过测试的最佳算法。
麻省理工学院的研究人员在实践中观察到了这一点。当他们使用CausalSim设计改进的比特率自适应算法时,他们选择了一种新变体,该变体的停顿率比广为接受的竞争算法低近1.4倍,同时实现了相同的视频质量。停顿率是用户重新缓冲视频所花费的时间。
相比之下,专家设计的跟踪驱动模拟器预测相反。它表明这个新变体应该导致失速率高出近1.3倍。研究人员在真实世界的视频流上测试了该算法,并确认CausalSim是正确的。
“我们在新变体中获得的收益非常接近CausalSim的预测,而专家模拟器则相去甚远。这真的很令人兴奋,因为这个专家设计的模拟器在过去十年中一直用于研究。如果CausalSim能够如此清楚比这更好,谁知道我们能用它做什么?”哈马达尼安说。
在为期10个月的实验中,CausalSim不断提高模拟准确性,导致算法的错误率大约是使用基线方法设计的错误率的一半。
未来,研究人员希望将CausalSim应用于随机对照试验数据不可用或特别难以恢复系统因果动力学的情况。他们还想探索如何设计和监控系统,使它们更易于进行因果分析。