一句话:将神经架构搜索操作统一为基于表示容量合法性的程序变换,在 TVM 中联合优化 DNN 推理。
编译器通过程序变换利用硬件并行与内存层级,但受合法性约束,难以利用神经网络天然的鲁棒性;NAS 则通过分组、瓶颈化卷积等操作改变网络结构。本文把这些神经架构操作表达为程序变换,其合法性由表示容量(representational capacity)概念定义,从而与现有编译器变换统一到一个优化框架中。该统一不仅可将现有 NAS 操作分解为更简单变换的组合,还能生成并探索新的张量卷积。作者在 TVM 中原型实现该框架,在多种 DNN 上找到显著优化,多数情况下推理时间降低超过 3 倍,并大幅减少 NAS 搜索时间。
Improving the performance of deep neural networks (DNNs) is important to both the compiler and neural architecture search (NAS) communities. Compilers apply program transformations in order to exploit hardware parallelism and memory hierarchy. However, legality concerns mean they fail to exploit the natural robustness of neural networks. In contrast, NAS techniques mutate networks by operations such as the grouping or bottlenecking of convolutions, exploiting the resilience of DNNs. In this work, we express such neural architecture operations as program transformations whose legality depends on a notion of representational capacity. This allows them to be combined with existing transformations into a unified optimization framework. This unification allows us to express existing NAS operations as combinations of simpler transformations. Crucially, it allows us to generate and explore new tensor convolutions. We prototyped the combined framework in TVM and were able to find optimizations across different DNNs, that significantly reduce inference time - over 3× in the majority of cases. Furthermore, our scheme dramatically reduces NAS search time.