存内计算加速大模型——REM-CiM的RGB-事件融合多模态类比计算内存(CiM)技术

本文为大模型&存内计算融合专题的首篇文章,我们将以这篇名为《REM-CiM: Attentional RGB-Event Fusion Multi-modal Analog CiM for Area/Energy-efficient Edge Object Detection during both Day and Night》为例[1],探讨其在文中提到的多模态大模型与存内计算技术的融合等信息。

一.基础概念

为了更好的理解文章的主要创新点和涉及到的知识,我们先对文章中涉及的重要基本概念、文章背景等进行介绍。

(1)存内计算

存内计算技术是指将数据存储和处理单元集成在一起的技术,目的是减少数据在处理过程中的移动距离,从而降低能耗并提高处理速度。在REM-CIM中,CIM可以针对多模态数据的卷积计算(如RGB图像和事件数据)进行高效处理。

图1 REM-CiM存内计算单元、阵列示意图

(2)RGB-Event融合

RGB是指红(Red)、绿(Green)、蓝(Blue)三种颜色的光信号组合,是最常见的颜色模式,广泛应用于图像处理和显示技术中。通过调整三种颜色的强度,可以合成出几乎所有可见光谱的颜色,传统RGB相机能够捕捉全彩图像,提供丰富的色彩与细节,适用于广泛的视觉应用;其以固定帧率捕获图像,每帧捕捉一个时间点的完整视觉场景;其动态范围也较低,通常在60dB左右。

而Event相机(事件相机)不是按固定时间间隔捕捉整个场景的图像,而是响应像素级的亮度变化。每个像素独立工作,只在检测到亮度变化时生成数据(称为“事件”)。Event相机具有非常高的动态范围(如140dB),使其能够在光线变化极大的环境下工作,如直射日光下或夜间。由于事件的记录几乎实时发生,时间分辨率可以达到微秒级,这使得Event相机非常适合捕捉快速移动的对象或高速发生的场景变化,具有超低的延迟与高时间分辨率。

文章背景中的challenge部分对这两种传感器(相机)的优劣做出了对比,文中提出事件传感器的数据量少,可以在夜景下正常工作,但是其不足是数据稀疏性较高,只在亮度变化时生成数据:RGB相机具有丰富的色彩信息,但也导致其在夜晚无法正常工作,因此引出了将RGB与Event两种传感器融合的操作。

将RGB相机与事件相机融合使用可以实现高精度的视觉感知,因为它们各自弥补了对方的不足。RGB提供了丰富的颜色信息,而事件传感器提供了高时间分辨率的动态信息。这种融合使系统能够在各种光照条件下捕捉到更加细致和准确的场景信息,增强了整体系统对复杂环境的适应性和反应能力。这种多模态融合在视觉系统中开辟了新的应用可能,特别是在动态和极端光照条件下的性能提升上。图2展示了对来自RGB和event二者的张量进行拼接的三种操作。

图2 REM-CiM存内计算单元、阵列示意图

(3)多模态

首先,模态指的是信息、数据或传感器输入的类型,而多模态方式可以通过结合来自不同传感器或信息源的信息,提供比单一模态更为全面、精确的数据解析信息与能力。在REM-CIM的上下文中,多模态主要指的是同时处理来自RGB图像和事件传感器数据的能力,这对于理解复杂的视觉场景非常重要;但这样也会导致计算资源需求的提高,二者数据不同(多模态)也会引入统一格式的处理步骤。多模态通常可以给系统带来更好的信息互补性、系统鲁棒性并提升系统解析信息或数据的能力。

以现阶段大热的自动驾驶汽车为例,该种车辆通常装备多种传感器:

  1. 视觉传感器(如相机):捕捉道路、行人、标志等的视觉图像。
  2. 雷达(无线电波):用于检测远距离的对象和测量它们的速度。
  3. 激光雷达(光学雷达):提供环境的精确3D映射。
  4. 超声波传感器:在低速时帮助检测近距离的障碍物。

通过融合这些传感器的数据,自动驾驶系统能够在各种天气和光照条件下准确地感知周围环境,即使在某些传感器由于环境因素(如雾、雨、直射阳光)受到影响时也能保持高性能。这种多模态集成提高了系统的安全性和可靠性,是实现有效自动驾驶的关键。

二、文章创新点

(一)MEA-FPN架构

(1)从FPN到MEA-FPN

MEA-FPN(Memory capacity-Efficient Attentional Feature Pyramid Network)是一种针对RGB-事件融合的模拟存内计算(CiM)设计的创新模型架构。它基于传统的FPN(Feature Pyramid Network)进行改进,FPN通过结合自顶向下的架构和横向连接,构建了一个多层次的特征金字塔[2]。这种设计使得每个层级既拥有丰富的语义信息,又维持高分辨率,从而有效改善对不同尺度对象的检测能力。与依赖单一深层语义特征的传统神经网络相比,FPN提供了一种更为复杂且有效的多尺度信息处理方式。

FPN fusion技术则进一步利用注意力机制,有效获取并整合来自不同数据源(如RGB图像与事件相机数据)的特征,极大增强了模型的感知能力和准确性。在需要处理多模态输入的复杂视觉任务中,FPN fusion表现出其独特的优势。

图3 本文提出的MEA-FPN对比其他网络架构

本文提出的MEA-FPN显著降低了模型的参数数量,这一优化主要通过移除传统双向校正(Bi-Directional Calibration,BDC)中的大型卷积操作实现。特别是,通过构建C-BDC模块(Convolution-less Bi-Directional Calibration),它去除了除第一层外的所有大卷积计算。与传统的注意力特征金字塔网络(Attentional FPN fusion, A-FPN)相比,MEA-FPN实现了76%的参数减少,同时将平均精度(mean Average Precision, mAP)的降低控制在2.3%以内。这种设计不仅优化了参数效率,还降低了内存需求。

(2)C-BDC模块

BDC模块通过利用注意力机制加强不同模态数据之间的特征融合,特别强调在RGB与事件数据融合中的效果。该模块的核心是跨模态注意力机制,包括通道注意力(Channel Attention, CA)和空间注意力(Spatial Attention, SA)。这些机制帮助模型聚焦于最关键的特征,并通过模态间的特征映射增强整体的检测性能。

C-BDC进一步优化了这一过程,去除了不必要的复杂卷积计算,仅关注注意力机制获取的关键信息,从而在保证性能的同时,简化了模型结构,减轻了计算负担。

(二)低比特量化与裁剪

除了MEA-FPN模型架构方面的创新,低比特量化与裁剪(Low-bit Quantization with Clipping, LQC)也是本文的主要创新点之一,下面将从该技术的概念出发,详细介绍本文LQC的作用以及相关数据。

(1)LQC技术概念

LQC是一种针对深度神经网络优化的技术,旨在减少模型的存储需求和计算成本,同时尽量保持模型的性能。这项技术主要包含两个核心步骤:低比特量化和裁剪:

低比特量化是指将神经网络中的权重和激活值从高精度浮点数转换为低精度整数表示,常见的如从32位浮点数转换为8位、4位乃至更低的比特宽度。量化通过映射函数实现,该函数将连续的浮点数值范围映射到离散的整数集合上。这样做可以显著减少模型的存储占用并加速计算过程。

裁剪是预量化过程中的一个重要步骤,用于限制网络中的数值范围,以避免量化后的信息损失。在量化前,通过设定合适的裁剪阈值(即裁剪范围),将超出此范围的权重或激活值强制限制在阈值内,这样可以减少量化过程中的误差。裁剪有助于保持网络的动态范围,并确保量化后数据的分布更加集中,进而提高量化后的模型精度。

LQC综合了以上两步,旨在找到一个平衡点,在减少模型大小和计算需求的同时,通过精细调整裁剪参数来最小化量化引起的精度损失。通过这种方法,LQC技术能够帮助设计出既节能又具有较高准确率的多模态AI系统,如REM-CIM所示。

(2)LQC技术在REM-CIM中的创新

在REM-CIM中,作者对LQC技术进行了诸多方面的创新和优化:

1.考虑CIM特性量身定制:现有的量化方法往往不直接适用于CIM的特性,如差分对的零中心对称权重分布。本文作者特别针对这些特性,探索了适合CIM的权重裁剪范围,确保量化过程更加精准有效。

2.全链路量化考虑:与仅关注激活函数裁剪范围的自动优化方法不同,LQC还考虑了输出量化,即在考虑模数转换器(ADC)影响下的输入和输出量化,使得整个信号处理流程的量化更为全面。

3.模块级敏感度分析:通过对MEA-FPN中各模块的权重位精度敏感性进行分析,确定了在保持平均精度的同时实现低比特量化所需的最优配置,从而最大化效率与性能的平衡。

  1. LQC技术减小面积和功耗

得益于LQC技术的使用,MEA-CIM大大减少了面积和能耗:

1.面积和能耗正比关系利用:LQC基于面积和能耗与激活比特精度成正比的假设,通过减小权重和激活的比特精度来直接减少所需硬件资源,尤其是模数转换器的面积和能耗。

2.ADC面积与能耗减少:如表1所示,与没有LQC的FPN CIM相比,REM-CIM通过应用LQC,实现了21%的ADC面积和24%的ADC能耗降低;与没有LQC的MEA-FPN CIM相比,REM-CIM实现了25%的ADC面积和能耗降低;与没有LQC的A-FPN CIM相比,REM-CIM实现了55%的ADC面积和34%的ADC能耗降低;

3.参数数量与内存容量减少:如表1所示,A-FPN CIM在所有错误模式下都能实现最佳平均精度,但是,它需要最多的存储单元(542Mb)和ADC面积/能量,难以在边缘计算上实现。在本研究中,结合LQC的使用,REM-CIM实现了131Mb 左右的内存容量(与A-FPN CIM相比减少76%的参数,与FPN CIM和MEA-FPN CIM相同),从而降低内存容量需求。

4.保持高准确率下的低比特量化:通过LQC技术探索合适的权重和激活裁剪范围,使得模型能在较低比特精度下运行而不牺牲太多准确率。即便在加入写入变化误差和数据保持错误的情况下,REM-CIM依然能保持较高的平均精度,与FPN CIM相比提高了0.7%(如表1所示),显示了对硬件误差的良好容忍性和长期稳定性能。

5.算法与电路的协同优化:LQC与MEA-FPN的联合设计体现了算法与硬件实现的协同优化策略,既提升了平均精度,又降低了面积和能耗。这种协同设计确保了在模拟CIM上实现准确的多模态AI,同时满足边缘计算的严格资源限制。

表1 LQC技术使用前后模型参数对比

CIM(without LQC)

REM-CIM(with LQC)

模型种类

FPN

A-FPN

MEA-FPN

MEA-FPN

平均精度

0.437

0.495

0.475

0.454

存储单元数量

131M

542M

131M

131M

ADC面积

0.95

1.65

1

0.75

ADC功耗

0.99

1.14

1

0.75

综上所述,LQC技术是REM-CIM设计中实现面积/能源效率提升的关键因素,它通过量化与裁剪策略,有效地在保持高检测性能的同时,降低了硬件资源的需求,使得多模态边缘AI在实际应用中更加可行。

三.拓展知识与应用

在此篇文章的基础上,我们将对对深度学习的量化知识进行一些拓展,并讨论REM-CiM技术在自动驾驶、机器人视觉、增强现实等领域的潜在应用。

(1)深度学习量化

在深度学习中,量化是一种减少模型大小和计算需求的技术,通过降低数值精度来实现。这一技术对于在资源受限的设备上部署深度学习模型特别有用,如移动设备和边缘计算设备。量化能显著减少模型在内存中的占用空间,同时还能减少计算的复杂性,从而提高推理速度并降低能耗。

用最简单的话说,量化的本质是将值从大集合“四舍五入”映射至小集合的过程,这一过程也会带来一定的精度损失。在信号处理时,量化过程主要发生在模数转换器(ADC)中,将连续的模拟信号采样、四舍五入到最接近的可表示量化值,在深度学习中,量化也是类似的原理,只不过这时候是用将较高精度的数据类型映射为较低精度的数据类型(例如从FP32映射到INT8)。

图4 信号处理中的量化

图5 从FP32到INT8的代表性映射[3]

深度学习中的量化可以分为均匀量化和非均匀量化。均匀量化是最简单的形式,其中每个数值都被等距地映射到新的数值范围内;非均匀量化则允许不同的输入值映射到不同的输出范围,这通常用于更复杂的映射关系,以减少误差。因此,在量化过程中,我们通常需要根据具体需求选择均匀量化or非均匀量化,并根据模型大小、硬件资源等条件的权衡确定量化精度。在量化完成后也需要使用校对数据集来调整量化参数,以最小化模型性能损失,并在模型部署前做后量化处理,进一步优化性能和资源消耗。

现阶段,多个深度学习框架如TensorFlow、PyTorch和TensorRT提供了量化工具和API,使得开发者可以轻松地对模型进行量化处理。这些工具通常包括自动化的量化流程,以及对不同类型量化策略的支持[4]。

1.TensorFlow:

TensorFlow Lite支持训练后动态范围量化,可以将权重转换为8位精度,从而使模型大小缩减至原来的四分之一。

TensorFlow还提供了训练后量化和动态范围量化,这些技术可以提供更快的计算速度并减少内存使用量。

2.PyTorch:

PyTorch 2引入了全图模式量化工作流,这是一种新的自动量化框架,相比之前的FX图模式量化,它能够捕获更高比例(88.8%)的模型信息。

PyTorch还提供了Eager模式量化和FX图模式量化两种不同的量化模式,其中Eager模式量化是beta特性,而FX图模式量化是原型特性。

PyTorch的Quanto工具包支持多种模型量化方案,包括静态量化和动态量化,并且可以将量化模型序列化为state_dict格式。

3.TensorRT:

TensorRT支持两种量化方式:QAT(Quantization-Aware Training)和PTQ(Post-Training Quantization)。这些技术允许在训练或推理阶段应用量化,以优化模型性能和减小模型大小。

从TensorRT 7.2版本开始,引入了set dynamic range API,用于QAT,这进一步增强了其量化能力。

此外,近些年的低比特量化技术为大模型在端侧的部署提供了更多可能性,清华提出的OneBit方法将大模型参数压缩到1比特大小[5]、微软在2024年2月提出将所有大模型量化为1.58[6]、自动化所提出的SpQR量化方案将大模型量化至3~4比特等[7],都将大幅压缩大模型大小,优化模型在端侧部署的内存占用与计算资源调用,同时也使存算技术在端侧赋能大模型部署成为可能。

(2)REM-CiM技术的应用

REM-CiM(RGB-Event融合多模态模拟存算一体)技术通过结合RGB和Event传感器的数据,并使用存算一体(CiM)技术,提供了一个高效的解决方案来处理视觉数据。这种技术在自动驾驶、机器人视觉和增强现实等领域具有广泛的潜在应用,特别是在需要快速且精确处理大量视觉数据的情景中。

自动驾驶

自动驾驶车辆需要能够快速准确地理解周围环境,以做出安全的驾驶决策。REM-CiM技术可以极大地增强车辆的夜间和逆光驾驶能力,因为:

1.改善低光和高对比度环境下的性能:Event相机的高动态范围能够在极端光照条件下提供清晰的视觉信息,而RGB相机则提供详细的色彩和纹理信息。

2.快速响应:Event相机能够捕捉到快速移动对象的细微变化,有助于自动驾驶系统更快地响应紧急情况,如忽然出现的行人或车辆。

机器人视觉

在机器人领域,尤其是在复杂或动态环境中工作的机器人(如工业自动化、服务机器人等),对视觉系统的要求极高。

1.环境适应性:机器人操作通常涉及多种光照和视觉条件,REM-CiM可以提供更好的环境适应性,使机器人在不同光照条件下都能有效工作。

2.实时处理:CiM技术能够在内存中直接进行数据处理,大大减少了数据传输时间,提高了处理速度,这对于需要实时决策的机器人应用尤为重要。

增强现实(AR)

在增强现实应用中,将虚拟信息无缝融合到用户的实际视野中是一大挑战,尤其是在外部环境光线变化大的情况下。

1.环境感知与交互:通过利用Event相机的高动态范围和快速响应特性,REM-CiM技术可以改进增强现实设备对真实世界环境的感知能力,如在室外阳光直射或室内暗光条件下都能稳定工作。

2.性能优化:存算一体技术使得数据处理更加高效,有助于减轻AR设备的能耗和处理负担,使设备更轻便,延长电池寿命。

总体来看,REM-CiM技术通过其在速度、精度和能效方面的优势,为各种视觉依赖的应用提供了强大的支持。这些应用领域通常要求高速、高精度的视觉处理能力,以及在多变环境中的鲁棒性,REM-CiM通过提供一种有效的多模态融合和处理方案,能够满足这些要求。

参考资料

[1]Ichikawa Y, Yamada A, Misawa N, et al. REM-CiM: Attentional RGB-Event Fusion Multi-modal Analog CiM for Area/Energy-efficient Edge Object Detection during both Day and Night[J]. IEICE Transactions on Electronics, 2024: 2023CTP0001.

[2] Lin T Y, Dollár P, Girshick R, et al. Feature pyramid networks for object detection[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 2117-2125.

[3] 神经网络压缩方法:模型量化的概念简介,数据派THU,2024.

[4] Dive into cheap deep learning(aieye-top.github.io)

[5] Xu Y, Han X, Yang Z, et al. OneBit: Towards Extremely Low-bit Large Language Models[J]. arXiv preprint arXiv:2402.11295, 2024.

[6] Ma S, Wang H, Ma L, et al. The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits[J]. arXiv preprint arXiv:2402.17764, 2024.

[7] Dettmers T, Svirschevski R, Egiazarian V, et al. Spqr: A sparse-quantized representation for near-lossless llm weight compression[J]. arXiv preprint arXiv:2306.03078, 2023.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值