机器的心脏专栏

机器心脏编辑部

两年前,MeliusNet问世时,机器之心发表过回顾BNN发展历程的技术文章《第一次胜过 MobileNet 的二值神经网络,-1 与 + 1 的三年艰苦跋涉》。当时从早期的BNN操作XNOR-Net开始的XNOR。AI被苹果收购后,曾经想过低功耗、高性能的二值神经网络技术能否很快得到广泛的应用。

但是,在过去两年里,学术界和业界也很难从没有出现其他引人注目的应用案例、对技术保持严格保密的苹果公司那里获得有关BNN技术应用的详细信息。与此同时,随着终端数量的暴涨,边缘AI应用程序和市场迅速增长的:预计到2030年将产生500亿至1250亿台边缘设备,边缘计算市场将暴涨至600亿美元规模。其中有AIoT、元宇宙、机器人终端等目前最受欢迎的几个应用领域。相关行业正在加速发力技术落地,与此同时,AI功能已内置于上述领域的许多核心技术部分。例如,AI技术在三维重建、视频压缩和机器人实时识别场景中得到了广泛的应用。在这种背景下,业界对基于边缘的能效、低功耗AI技术、软件工具和硬件加速的需求日益迫切。

目前,限制BNN应用程序的瓶颈主要有两个。第一,不能有效减少与现有32位深度学习模型的准确度差异。二是缺乏对不同硬件的高性能算法实现。机器学习论文的加速比通常不会反映在你使用的GPU或CPU上。第二个原因可能是BNN无法达到令人满意的精度,因此无法引起系统和硬件加速、优化领域从业者的广泛关注。机器学习算法社区一般不能直接开发高性能硬件代码。因此,为了同时获得高精度和强加速效果,BNN应用程序或加速器必须与两个不同领域的开发者合作。

BNN为什么对计算和内存有效?

例如,元系统模型DLRM建议使用32位浮点数来存储权重和激活参数。型号大小约为2.2GB。具有少量精度下降(4%)的二进制版本模型的大小仅为67.5MB,由此可见二进制神经网络可以节省模型大小32倍。这为存储有限的边缘设备提供了非常强大的优势。此外,BNN适用于分布式AI方案。例如,联邦学习经常发送和统计模型权重,因此模型大小和带宽限制往往成为整个系统的瓶颈。常用的手段是增加模型的局部优化迭代次数,以提高整体效率,例如著名的Google FEDAVG算法,从而降低权重传输频率。但是,增加本地计算量的策略对端到端用户不熟悉。在这里,使用BNN可以轻松地将数据吞吐量减少数十倍。

BNN的第二个明显优点是计算方式非常高效。用1位(即两个状态)表示变量。也就是说,所有的运算只能用位运算来执行,通过语句、异类或语句等运算,可以替换现有的乘法和加法。比特运算是电路的基本单位。熟悉电路设计的学生应该明白,有效地减少乘法和计算单元的面积,减少芯片外部访问是减少功耗的最有效手段。BNN在内存和计算方面都有独特的优势。WRPN[1]表明,在定制FPGA和ASIC中,与BNN相比,总体精度可以节省1000倍的功耗。最近的工作BOLNET[2]

第一个准确度为80%的BNN是什么样子的?

德国Hasso Plattner computer systems工程研究所的Nianhui Guo、Haojin Yang等研究人员提出了BNN:的BNext模型,该模型在ImageNet数据集上的top1分类精度突破了80%

图1基于ImageNet的SOTA BNN性能比较

论文地址:

作者首先在Loss Landscape可视化的基础上,深入比较了当前主流BNN模型和32位模型的友好度优化(图2)上的巨大差异,BNN的粗糙Loss Landscape是目前阻止研究社区进一步探索BNN性能边界的主角。

要原因之一。基于这一假设,作者尝试利用新颖的结构设计对 BNN 模型优化友好度进行提升,通过构造具备更平滑 Loss Landscape 的二值神经网络架构以降低对高精度 BNN 模型的优化难度。具体而言,作者强调模型二值化大幅度限制了可用于前向传播的特征模式,促使二值卷积仅能在有限的特征空间进行信息提取与处理,而这种受限前馈传播模式带来的优化困难可以通过两个层面的结构设计得到有效缓解:(1) 构造灵活的邻接卷积特征校准模块以提高模型对二值表征的适应性;(2) 探索高效的旁路结构以缓解前馈传播中由于特征二值化带来的信息瓶颈问题。

图 2 针对流行 BNN 架构的 Loss Landscape 可视化对比(2D 等高线视角)

基于上述分析,作者提出了 BNext,首个在 ImageNe 图像分类任务达到 > 80% 准确率的二值神经网络架构,具体的网络架构设计如图 4 所示。作者首先设计了基于 Info-Recoupling (Info-RCP) 模块的基础二值处理单元。针对邻接卷积间的信息瓶颈问题,通过引入额外的 Batch Normalization 层与 PReLU 层完成对二值卷积输出分布的初步校准设计。接着作者构造了基于逆向残差结构与 Squeeze-And-Expand 分支结构的二次动态分布校准设计。如图 3 所示,相比传统的 Real2Binary 校准结构,额外的逆向残差结构充分考虑了二值单元输入与输出间的特征差距,避免了完全基于输入信息的次优分布校准。这种双阶段的动态分布校准可以有效降低后续邻接二值卷积层的特征提取难度。

图 3 卷积模块设计对比图

其次,作者提出结合 Element-wise Attention (ELM-Attention) 的增强二值 Basic Block 模块。作者通过堆叠多个 Info-RCP 模块完成 Basic Block 的基础搭建,并对每个 Info-RCP 模块引入额外的 Batch Normalization 和连续的残差连接以进一步缓解不同 Info-RCP 模块间的信息瓶颈问题。基于旁路结构对二值模型优化影响的分析, 作者提出使用 Element-wise 矩阵乘法分支对每个 Basic Block 的首个 3×3 Info-RCP 模块输出进行分布校准。额外的空域注意力加权机制可以帮助 Basic Block 以更灵活的机制进行前向信息融合与分发,改善模型 Loss Landscape 平滑度。如图 2.e 和图 2.f 所示,所提出的模块设计可以显著改善模型 Loss Landscape 平滑度。

图 4 BNext 架构设计。"Processor 代表 Info-RCP 模块,"BN "代表 Batch Normalization 层,"C "表示模型基本宽度,"N "和"M " 表示模型不同阶段的深度比例参数。

Table 1 BNext 系列。“Q”表示输入层、SEbranch以及输出层量化设置。

作者将以上结构设计同流行的MoboleNetv1基准模型结合,并通过改变模型深度与宽度的比例系数构建了四种不同复杂度的 BNext 模型系列 (Table 1):BNex-Tiny,BNext-Small,BNext-Middle,BNext-Large。

由于相对粗糙的 Loss Landscape,当前二值模型优化普遍依赖于 knowledge distillation 等方法提供的更精细监督信息,以此摆脱广泛存在的次优收敛。BNext作者首次考虑了优化过程中teache模型与二值student模型预测分布巨大差距可能带来的影响,,指出单纯基于模型精度进行的 teacher 选择会带来反直觉的 student 过拟合结果。为解决这一问题,作者提出了 knowledge-complexity (KC) 作为新的 teacher-selection 度量标准,同时考虑 teacher 模型的输出软标签有效性与 teacher 模型参数复杂度之间的关联性。

如图 5 所示,基于 knowledge complexity,作者对流行全精度模型系列如 ResNet、EfficientNet、ConvNext 进行了复杂度度量与排序,结合 BNext-T 作为 student 模型初步验证了该度量标准的有效性,并基于排序结果用于后续实验中的 knowledge distillation 模型选择。

图 5 反直觉的过拟合效应和不同教师选择下的知识复杂性影响

在此基础上,论文作者进一步考虑了强 teacher 优化过程中由于早期预测分布差距造成的优化问题,提出 Diversified Consecutive KD。如下所示,作者通过强弱 teachers 组合的知识集成方法对优化过程中的目标函数进行调制。在此基础上,进一步引入 knowledge-boosting 策略,利用多个预定义候选 teachers 在训练过程中对弱 teacher 进行均匀切换,将组合知识复杂度按照从弱到强的顺序进行课程式引导,降低预测分布差异性带来的优化干扰。

在优化技巧方面,BNext 作者充分考虑了现代高精度模型优化中数据增强可能带来的增益,并提供了首个针对现有流行数据增强策略在二值模型优化中可能带来影响的分析结果,实验结果表明,现有数据增强方法并不完全适用于二值模型优化,这为后续研究中特定于二值模型优化的数据增强策略设计提供了思路。

基于所提出架构设计与优化方法,作者在大规模图像分类任务 ImageNet-1k 进行方法验证。实验结果如图 6 所示。

图 6 基于 ImageNet-1k 的 SOTA BNN 方法比较。

相比于现有方法,BNext-L 在 ImageNet-1k 上首次将二值模型的性能边界推动至 80.57%,对大多数现有方法实现了 10%+ 的精度超越。相比于来自 Google 的 PokeBNN, BNext-M 在相近参数量前提下要高出 0.7%,作者同时强调,PokeBNN 的优化依赖于更高的计算资源,如高达 8192 的 Bacth Size 以及 720 个 Epoch 的 TPU 计算优化,而 BNext-L 仅仅以常规 Batch Size 512 迭代了 512 个 Epoch,这反映了 BNext 结构设计与优化方法的有效性。在基于相同基准模型的比较中,BNext-T 与 BNext-18 都有着大幅度的精度提升。在同全精度模型如 RegNetY-4G (80.0%)等的对比中,BNext-L 在展现相匹配的视觉表征学习能力同时,仅仅使用了有限的参数空间与计算复杂度,这为在边缘端部署基于二值模型特征提取器的下游视觉任务模型提供了丰富想象空间。

What next?

BNext 作者在论文中提到的,他们和合作者们正积极在 GPU 硬件上实现并验证这个高精度 BNN 架构的运行效率,未来计划扩展到其他更广泛的硬件平台上。然而在编者看来,让社区对 BNN 重拾信心,被更多系统和硬件领域的极客关注到,也许这个工作更重要的意义在于重塑了 BNN 应用潜力的想象空间。从长远来看,随着越来越多的应用从以云为中心的计算范式向去中心化的边缘计算迁移,未来海量的边缘设备需要更加高效的 AI 技术、软件框架和硬件计算平台。而目前最主流的 AI 模型和计算架构都不是为边缘场景设计、优化的。因此,在找到边缘 AI 的答案之前,相信 BNN 始终都会是一个充满技术挑战又蕴涵巨大潜力的重要选项。

Reference

[1] Mishra, A., Nurvitadhi, E., Cook, J. J., and Marr, D. Wrpn: Wide reduced-precision networks. In International Conference on Learning Representations (ICLR), 2018

[2] Guo, Nianhui, et al. "Boolnet: minimizing the energy consumption of binary neural networks." arXiv preprint arXiv:2106.06991 (2021).

相关推荐