摘要
神经网络 (NN) 对更高性能和精度的需求永无止境。现有的张量编译和神经架构搜索 (NAS) 技术正交地优化这两个目标,但实际上它们的具体策略有很多相似之处。我们通过将两者结合成一个整体来利用这些机会,并论证了内核架构搜索 (KAS) 的必要性。KAS 从系统角度回顾了 NAS,并深入到更细粒度的层次,以生成具有高性能和良好准确性的神经网络内核。为了展示 KAS 的潜力,我们构建了一个端到端的框架 Canvas,以寻找高质量的内核来替代卷积。Canvas 从丰富的细粒度基元集合中采样,以随机迭代的方式构建新的内核,并根据用户指定的约束条件对其进行评估。Canvas 支持在内核内部自由调整张量维度大小,并使用两级求解器来满足结构合法性并充分利用模型预算。评估结果表明,通过在常见的 NNs 中用生成的新的内核替换标准卷积,与之前的最先进技术相比,Canvas 平均实现了 1.5 倍的加速,同时精度损失和搜索效率都可接受。Canvas 通过重新发现过去许多人工设计的内核并产生可能激发未来机器学习创新的新结构,验证了 KAS 的实用性。我们已在 https://github.com/tsinghua-ideal/Canvas 开源了 Canvas 的源代码和实现。