DOPPLER: Dual-Policy Learning for Device Assignment in Asynchronous Dataflow Graphs
本文介绍了 Doppler,这是一个三阶段双策略学习框架,它通过结合算子选择与放置策略来优化异步数据流图的设备分配,从而在减少执行时间及提高训练效率方面超越了现有的基于学习的方法和启发式方法。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你是一位管理着一个庞大、高速运转厨房的经理,这里有八位厨师(GPU)正齐心协力准备一道巨大且复杂的菜肴(机器学习任务)。
问题:“等待所有人”规则
在大多数目前的厨房(如标准的 AI 系统)中,厨师们按照严格的同步步骤工作。
- 第 1 步: 所有八位厨师同时切菜。
- 第 2 步: 他们必须全部停下来,等待最慢的那位厨师切完。
- 第 3 步: 只有在那之后,他们才能开始烹饪下一部分。
这是低效的。如果 7 号厨师动作慢,其他七位厨师就会站在那里无所事事,浪费时间和精力。这被称为“同步”系统。
目标:“保工作量”厨房
论文提出了一种更好的方法,称为**保工作量(Work-Conserving, WC)**系统。在这个厨房里,一旦一位厨师完成了一项任务,他们会立即抓取下一个可用的任务。他们不会等待团队,而是直接投入到下一项工作中。
- 挑战: 如果没有严格的调度,混乱可能会发生。厨师们可能会为了争夺同样的食材而发生冲突,或者一位厨师被工作淹没,而另一位却在闲置。在这样一个混乱、快节奏的环境中,弄清楚“谁”在“何时”做“什么”是非常困难的。
解决方案:DOPPLER
作者创建了一个聪明的 AI 经理,名为 DOPPLER,来解决这个分配问题。DOPPLER 并没有试图一次性解决整个谜题,而是采用了“双策略”方法,就像拥有两个专门的助手:
- 选择器 (Selector, SEL): 这个助手观察食谱(数据流图),并决定下一步应该挑选哪个任务。它负责确定抓取任务的最佳顺序,类似于指挥家决定下一个乐器演奏时机的爵士乐即兴表演。
- 放置器 (Placer, PLC): 一旦任务被选中,这个助手就会决定由哪位厨师来执行。它会观察谁正在忙碌、谁是空闲的,以及哪位厨师离食材最近,以减少来回奔波(通信)的时间。
DOPPLER 如何学习(三阶段训练)
你不能直接把一个新经理扔进繁忙的厨房,并期望他们立即变得完美。DOPPLER 通过三个阶段进行学习:
- 第 1 阶段:实习期(模仿学习): DOPPLER 观察一位经验丰富的资深人类经理(标准的基于规则的算法),并模仿他们的动作。它学习“良好行为”的基础知识,而不会犯下代价高昂的错误。
- 第 2 阶段:模拟期(基于模拟的强化学习): DOPPLER 在虚拟厨房(计算机模拟器)中进行练习。它尝试不同的策略,观察结果,并从错误中学习。如果在模拟中造成了交通拥堵,它就会学会以后不再这样做。
- 第 3 阶段:正式上岗(真实系统强化学习): 最后,DOPPLER 被部署到实际厨房中。它会在实际操作中持续学习。如果某位厨师比预期慢,或者某种食材准备时间比预想的长,DOPPLER 会实时调整策略,以保持高效运转。
结果
论文在各种复杂的“食谱”(如矩阵乘法和大语言模型)上测试了 DOPPLER。
- 速度: DOPPLER 让厨房运行得显著更快。在某些情况下,与现有的最佳方法相比,它将总烹饪时间缩短了 52.7%。
- 效率: 它让厨师们保持了更高的忙碌度,减少了他们等待或来回奔波的时间。
- 适应性: 即使厨房设置发生变化(不同的厨师数量或不同类型的任务),DOPPLER 也能快速适应,通常只需极少的额外练习就能达到与经过全面训练的经理相当的表现。
简而言之,DOPPLER 是一个聪明的双部分 AI 系统,它通过先模仿专家、再在模拟器中练习、最后在现实世界中进行微调,学会了如何管理一个混乱且快节奏的计算环境,从而节省了大量的计算时间和算力。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。