迁移调优:复用自动调度以实现高效张量程序代码生成
机器学习
2022-09-08 v2 神经与进化计算
性能
编程语言
摘要
张量程序的自动调度是一个搜索算法在目标硬件平台上自动探索给定程序的候选调度(程序变换)以提升其性能的过程。然而,这取决于张量程序的复杂度和目标设备的能力,往往是一个非常耗时的过程,通常需探索数千个程序变体。为此,本文引入迁移调优这一新思路,以在张量程序间识别并复用自动调度。我们使用深度神经网络(DNNs)演示该概念,从预调优的DNNs提取自动调度集合,并用其降低新DNN的推理时间。我们将迁移调优与最先进的Ansor自动调度器比较,将给定DNN模型的最大可能加速比定义为Ansor以其推荐完整调优时间所达成的加速比。在服务器级CPU上跨11个广泛使用的DNN模型,我们观察到迁移调优实现了该最大加速比的至多 (平均 ),而Ansor平均需多 搜索时间才能匹配之。我们还在受限边缘CPU上评估迁移调优,观察到搜索时间差异加剧,Ansor平均需多 时间以匹配迁移调优的加速比,进一步彰显其价值。我们的代码见 https://www.github.com/gicLAB/transfer-tuning
引用
@article{arxiv.2201.05587,
title = {Transfer-Tuning: Reusing Auto-Schedules for Efficient Tensor Program Code Generation},
author = {Perry Gibson and José Cano},
journal= {arXiv preprint arXiv:2201.05587},
year = {2022}
}
备注
12 pages, 8 figures, in PACT 2022