一句话:提出 DefT,通过负载感知的算子融合与分块优化,缓解 GPU 上可变形卷积瓶颈并提升 DCN 可扩展性。
可变形卷积网络(DCN)能通过自适应采样提升 CNN 表征能力,但在 GPU 上扩展可变形卷积层时,双线性插值带来不规则、依赖输入的访存模式,算术强度低,导致真实尺寸 DCN 层约 4× 减速,限制了其更广泛使用。本文提出 DefT,一组面向 DCN 核的工作负载感知优化:识别性能瓶颈,融合限制算术强度的特定算子,并利用 DCN 工作负载统计信息,使分块策略自适应于 DCN 层维度,减少代价高昂的越界输入访问。实验表明,DefT 相对当前 PyTorch 实现最多消除一半的 DCN 减速,实现最高 134% 的逐层加速,并在全 DCN 化的 ResNet 上将归一化训练时间降低 46%。
Deformable Convolutional Networks (DCN) have been proposed as a powerful tool to boost the representation power of Convolutional Neural Networks (CNN) in computer vision tasks via adaptive sampling of the input feature map. Much like vision transformers, DCNs utilize a more flexible inductive bias than standard CNNs and have also been shown to improve performance of particular models. For example, drop-in DCN layers were shown to increase the AP score of Mask RCNN by 10.6 points while introducing only 1% additional parameters and FLOPs, improving the state-of-the-art model at the time of publication. However, despite evidence that more DCN layers placed earlier in the network can further improve performance, we have not seen this trend continue with further scaling of deformations in CNNs, unlike for vision transformers. Benchmarking experiments show that a realistically sized DCN layer (64H×64W, 64 in-out channel) incurs a 4× slowdown on a GPU platform, discouraging the more ubiquitous use of deformations in CNNs. These slowdowns are caused by the irregular input-dependent access patterns of the bilinear interpolation operator, which has a disproportionately low arithmetic intensity (AI) compared to the rest of the DCN. To address the disproportionate slowdown of DCNs and enable their expanded use in CNNs, we propose DefT, a series of workload-aware optimizations for DCN kernels. DefT identifies performance bottlenecks in DCNs and fuses specific operators that are observed to limit DCN AI. Our approach also uses statistical information of DCN workloads to adapt the workload tiling to the DCN layer dimensions, minimizing costly out-of-boundary input accesses. Experimental results show that DefT mitigates up to half of DCN slowdown over the current-art PyTorch implementation. This translates to a layerwise speedup of up to 134% and a reduction of normalized training time of 46% on a fully DCN-enabled ResNet model.