[论文解读] Restructuring Batch Normalization to Accelerate CNN Training
该论文提出 BN Fission-n-Fusion (BNFF) 来重构 Batch Normalization 层,减少内存访问并提升现代 CNN 的训练速度,如 DenseNet-121 和 ResNet-50;在 Skylake CPU 上对 DenseNet-121 训练速度提升可达 25.7%,对 ResNet-50 为 16.1%。
Batch Normalization (BN) has become a core design block of modern Convolutional Neural Networks (CNNs). A typical modern CNN has a large number of BN layers in its lean and deep architecture. BN requires mean and variance calculations over each mini-batch during training. Therefore, the existing memory access reduction techniques, such as fusing multiple CONV layers, are not effective for accelerating BN due to their inability to optimize mini-batch related calculations during training. To address this increasingly important problem, we propose to restructure BN layers by first splitting a BN layer into two sub-layers (fission) and then combining the first sub-layer with its preceding CONV layer and the second sub-layer with the following activation and CONV layers (fusion). The proposed solution can significantly reduce main-memory accesses while training the latest CNN models, and the experiments on a chip multiprocessor show that the proposed BN restructuring can improve the performance of DenseNet-121 by 25.7%.
研究动机与目标
- 促使理解非卷积层,尤其是 Batch Normalization,在训练现代深度 CNN 中日益重要的原因。
- 分析在像 DenseNet-121 这样的深度模型训练过程中,BN 层的内存带宽瓶颈。
- 开发 BN 结构重组(分裂与融合),以最小化主存访问。
- 展示在 CPU(Skylake)和 GPU 平台上,DenseNet-121 与 ResNet-50 的性能提升。
提出的方法
- 将一个 BN 层分裂为两个子层(fission)。
- 将第一子层与前面的 CONV 层融合(CONV1-(sub-BN1))。
- 将第二子层与后续的 ReLU 和 CONV 层融合(sub-BN2-ReLU-CONV2)。
- 使用均值/方差融合将 BN 的均值和方差计算合并为一次内存扫描(MVF)。
- 可选地将 BNFF 扩展为 Inter-Composite-Layer Fusion (ICF),以在 DenseNet 的 CPL 边界处融合 BN。
实验结果
研究问题
- RQ1在训练深度 CNN 时,BN 会带来多少内存访问量和带宽瓶颈?
- RQ2BN 层是否能够通过分裂与融合进行重组,以在不影响准确性的前提下降低片外内存访问?
- RQ3在将 BNFF 应用于 DenseNet-121 和 ResNet-50 时,CPU 和 GPU 平台上可实现哪些性能提升?
- RQ4均值/方差融合是否会影响数值精度到值得用在 BN 重组中的程度?
主要发现
- BNFF 在 DenseNet-121 和 ResNet-50 的训练中实现了显著的内存访问减少和加速。
- 在 Intel Skylake CPU 上,BNFF 对 DenseNet-121 的整体训练速度提升为 25.7%,对 ResNet-50 为 16.1%。
- 前向传播在 DenseNet-121 使用 BNFF 的增益达到 47.9%,而反向传播增益为 15.4%(DenseNet-121)。
- 均值/方差融合(MVF)和 ReLU-卷积融合(RCF)在 BNFF 之上提供额外增益(例如,在 Skylake 上 MVF 总体再增益 1.7%)。
- Inter-Composite-Layer Fusion (ICF) 可能在 DenseNet 上比 BNFF 额外提升约 ~18%,通过在 CPL 边界进一步消除 BN 相关的内存访问。
- BNFF 将内存访问量减少最多约 ~19%,同时提升缓存行为并降低子程序调用开销。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。