超越GPT-4V,苹果多模态大模型上新,神经形态计算加速MLLM(二)

news2024/12/26 12:48:20

上文介绍基于MINOnets神经网络架构加速多模态大模型的策略,本文将以Spinnaker2多核神经网络芯片EGRU架构为起点,覆盖存内计算架构,介绍新型计算架构在加速大模型推理的作用。SpiNNaker 2是一个设计用于大规模异步处理的多核神经形态芯片,而EGRU的架构则旨在在保持竞争性任务性能的同时高效利用这种硬件存内计算架构类似人脑神经,在神经元内完成存储与计算的处理方式,区别于传统CPU,GPU架构,打破内存墙,减少数据来回搬运,成为AI时代新一代算力架构。

基于EGRU架构的Spinnaker 2

SpiNNaker2是一款专为大规模事件驱动和异步处理设计的加速器。这款芯片由152个处理单元(PEs)组成,它们通过一个片上网络(NoC)进行互联。每个处理单元都配备了一个Arm M4f处理器核心、128 kB的静态随机存取存储器(SRAM),以及用于执行指数运算、随机数生成和乘累加(MAC)操作的专用加速器。芯片上总共有19 MB的SRAM,并且配备了2 GB的低功耗双数据速率4(LPDDR4)内存。

在单个芯片内部,处理单元之间的通信可以通过直接内存访问(DMA)实现,允许直接访问其他处理单元的本地内存。每个处理单元内的DMA单元支持大批量数据传输,且不会影响处理器的正常工作。当处理器的本地内存指定位置被写入数据,或者DMA指令执行完成时,处理器会接收到中断信号。这种设计使得实现完全基于事件触发、稀疏通信和异步操作的神经网络成为可能。

而实现这种可能的核心是基于EGRU架构,EGRU是一种最近提出的基于事件的神经网络架构,他的处理过程类似于人类大脑处理信息的过程;我们的大脑是一个超级复杂的信息处理系统,当某些事情发生时,比如听到一个声音或者看到一个动作—我们的大脑就会开始工作,处理这些信息。但如果没什么特别的事情发生,我们的大脑就不会那么活跃。EGRU就是这样一个模仿大脑工作原理的计算模型,它只在必要时处理信息。

使用EGRU架构处理的任务:

1,语言建模:在这个任务中,EGRU模型被用来预测序列中的下一个单词。模型通过学习单词的嵌入表示,并使用Softmax函数来预测下一个单词的概率分布。

模型通过计算最终EGRU层的输出向量和字典中所有单词嵌入向量之间的点积相似度,来估计序列中下一个单词的概率。应用于这些值的Softmax函数作为条件分布 p 的估计。

2.手势识别:在这个任务中,EGRU模型结合CNN来处理由事件相机记录的手势数据。模型首先使用CNN来提取特征,然后使用EGRU层来处理这些特征,最终预测手势的类别。

我们的模型由一个CNN特征提取头部和两个各包含256个单元的EGRU层组成。

EGRU架构并行式处理方法:

EGRU架构在大模型训练推理任务加速上,可以采用以下方法,数据预处理:对于要处理的数据优先进行特征提取,调试等,以减小输入的数据内存;使用动态稀疏性:模型运行时只有一小部分内存被激活,可以减少计算量和内存使用;开发并行化算法:输入矩阵乘法,循环矩阵乘法和逐点运算可以同时进行;

A. 在单个处理元素上实现EGRU模型

在SpiNNaker2芯片的单个处理元素上安装最简单的EGRU模型。作为EGRU算法的一部分,需要执行三个操作:1) 输入矩阵乘法;2) 循环矩阵乘法;3) 逐点运算。对于单个处理元素的实现,我们可以简单地顺序执行这些操作。由于所有结果都存储在本地内存中,因此不需要数据传输。尽管SpiNNaker2上有一个乘累加(MAC)加速器,但在此应用中不必使用,以充分利用EGRU的动态稀疏性。

B. 并行化方法

由于任何现实的模型,包括我们更大的EGRU模型,都不会小到足以安装在单个处理元素上,因此我们需要将网络分割并放置在多个处理元素上。分割了的网络将神经元放置在不同的处理元素上,这种方法减少了网络内部所需的通信和同步。单个处理元素上神经元的输出决定了该处理元素的输出。而在输出后,需要传递到EGRU层中的其余单元。每个处理元素在接收到这样的传递后,将所有其他处理元素的输出与本地存储的单元的输出连接起来,形成下一个循环输入。如图1所示,这种传递是通过在处理元素之间发送内部NoC(网络芯片)数据包来实现的。

图1:单个PE运算模型

算法1:单个PE运算算法

C. 数据集和预处理

1) 语言建模:模型在WikiText-2数据集上进行训练和验证。文本被标记化并分成长度为70的序列。嵌入向量被预先计算并转移到LPDDR4内存中。

2) DVS(动态视觉传感器):我们将DVS原始事件时间通过25毫秒的时间窗口进行分箱,然后使用最大池化层将其缩小到32×32像素。数据集经过预处理,并使用CNN头部提取特征。提取的特征存储在LPDDR4内存中。

对输入数据进行预处理,如特征提取、降采样和序列化,以减少模型的输入尺寸。

通过这些处理方法,EGRU模型能够有效地支持大型模型的计算,同时保持模型的性能和准确性。这些方法使得EGRU能够处理大规模的数据集和复杂的时间序列预测任务,以降低算力能耗。

存内计算-神经网络运算

大模型的内存访问在能量和吞吐量方面是一个关键的瓶颈,传统内存一次只访问一行,无法通过传统的数字加速方法来解决,这促使了存内计算的发展,存内计算一次可以访问多行,并直接输出结果。将存内计算处理模式类比为神经元,每个“神经元”都是一个计算单元,接收N个输入x/n并在输入和可调权重w之间执行MAC操作。在这里,nr,re1,…R,其中R代表第1层的神经元总数,因此该层的输出维数也是R。值得注意的是,每一层的N必须等于前一层的N。在每个神经元中求和后,应用非线性函数·)产生输出激活al。对于下一层,激活作为输入,因此a→xn=r)。尽管图示了三层,但最终的输出层生成的激活.1通常对应于输出分类决策,例如,基于最高值的输出实现多类推理。

图2:深度神经网络运算

基于 NOR Flash 的卷积神经网络量化

以下介绍基于 NOR Flash 存储器实现的存内计算推理,Nor Flash阵列实现模拟乘法的原理结合浮栅单元的存储特点,以实现 4 位(即网络正向传播时只存在精度为 4 位的计算)的卷积神经网络模型,采用基于动态阈值调整的量化方法。这个方法主要涉及神经网络量化时的参数(权值 w 和偏置 b)以及激活函数的不同量化方案。

参数量化: 在训练过程中,采样浮点参数的阈值多次,以改变缩放因子,使得量化的映射更加精确。通过动态调整阈值,可以更好地适应不同参数的取值范围,提高量化的准确性。

激活函数的量化: 针对激活函数,引入可学习的参数,在 ReLU(Rectified Linear Unit)激活函数中,使激活的量化可以根据实际情况在反向传播过程中不断更新,以提高量化精度。这样的调整可以根据网络的训练过程中动态变化的激活值来调整量化的参数,以适应不同的输入情况。

这种基于 NOR Flash 阵列和浮栅单元的量化方法可以在训练过程中动态地调整阈值和参数,以适应不同的神经网络结构和输入数据的变化,提高量化的精度,同时降低模型的计算和存储开销。这种动态的量化方法有望在实际的卷积神经网络模型中取得更好的性能。

目前,NOR Flash存内计算芯片技术相对较成熟,并已于2021年实现量产。美国的Mythic和国内的知存科技都推出了基于NOR Flash的存内计算芯片产品。

Mythic M1076芯片: Mythic推出了M1076芯片,这款芯片采用NOR Flash存内计算技术,具有嵌入式AI推理能力,适用于各种端侧设备,如摄像头、传感器和边缘计算设备等。

知存科技WTM2101芯片: 知存科技推出了WTM2101量产SoC芯片,该芯片基于NOR Flash存内计算技术,具有边缘AI计算能力,适用于智能摄像头、智能家居等场景,实现了高效的本地AI处理。

存内计算模拟人脑处理模式,数据直接输入直接在存储器内存储并计算后直接输出,同时多个神经元并行处理的模式,提升了计算的效率。

综上所述,神经形态计算通过模拟大脑的工作方式,结合EGRU模型的动态稀疏性和存内计算架构技术,能够显著提升大模型的计算效率,同时降低能耗,这对于当前和未来的人工智能应用具有重要意义。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1605126.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何封装Vue组件并上传到npm

前言 环境准备 1.注册npm账号:npm | Home (npmjs.com) 2.保证当前环境安装了vue、webpack、node,以下工作将在该环境下进行(没有的小伙伴自行百度安装哈~) 3.一下用到的环境版本 webpack:v5.1.4node:v…

每日一题---OJ题: 旋转数组

片头 嗨! 小伙伴们,咱们又见面啦,今天我们一起来学习一道OJ题---旋转数组 emmm,看上去好像没有那么难,我们一起来分析分析 比如: 数组里面有7个元素,分别为 1, 2, 3, 4, 5, 6, 7 , 现在我们将数组中的元素向右轮转3个位置 第一次轮转:将最后一个元素"7"放在第一个…

【spring】@Resource注解学习

Resource介绍 在Spring框架中,Resource 注解是一个JSR-250标准注解,用于自动装配(autowiring)Spring容器中的bean。Resource 注解可以用于字段、方法和方法参数上,以声明依赖注入。 Resource源码 Target({TYPE, FIE…

通付盾APP尽职调查报告:守护移动应用安全新篇章

在数字化浪潮席卷全球的今天,移动应用程序已经成为我们生活中不可或缺的一部分。无论是购物、社交、娱乐还是工作,我们几乎每天都在与各种各样的APP打交道。然而,随着APP的广泛应用,其安全问题也日益凸显,成为开发者和…

初学python记录:力扣928. 尽量减少恶意软件的传播 II

题目: 给定一个由 n 个节点组成的网络,用 n x n 个邻接矩阵 graph 表示。在节点网络中,只有当 graph[i][j] 1 时,节点 i 能够直接连接到另一个节点 j。 一些节点 initial 最初被恶意软件感染。只要两个节点直接连接&#xff0c…

Python LEGB规则

Python在查找“名称”时,是按照LEGB规则查找的: Local: 指的就是函数或者类的方法内部 Enclosed: 指的是嵌套函数(一个函数包裹另一个函数,闭包) Global: 指的是模块中的全局变量 Bu…

【服务器部署篇】Linux下Nginx的安装和配置

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是,产…

MySQL事务的性情很“原子“,要么执行要么不执行

各位小伙伴有没遇到这个奇葩情况:业务逻辑对两个表加了事务操作,A表的存储引擎是InnoDB,B表的存储引擎却是MyISAM。事务要回滚时,麻烦就来了hhh,B表它回滚不了,那小伙伴打算要怎么处理~ 🌱以【…

C#创建随机更换背景图片的窗体的方法:创建特殊窗体

目录 一、涉及到的知识点 1.图片资源管理器设计Resources.Designer.cs 2.把图片集按Random.Next方法随机化 3.BackgroundImage属性 二、实例设计 1. Resources.Designer.cs 2.Form1.Designer.cs 3.Form1.cs 4.生成效果 很多时候,我们需要每次打开窗体时能够…

如何创建二级域名并解析到服务器

👨🏻‍💻 热爱摄影的程序员 👨🏻‍🎨 喜欢编码的设计师 🧕🏻 擅长设计的剪辑师 🧑🏻‍🏫 一位高冷无情的全栈工程师 欢迎分享 / 收藏 / 赞 / 在看…

【图像分割】光流生成标签(matlab)

文章目录 1. 框架2. opticalFlow_label3. 光流1. 框架 2. opticalFlow_label close all; clear; clc; % 使用光流进行标签的生成 %% 视频帧的读取 npy_data = readNPY(train.npy);%% 提取标签的坐标 first_label = squeeze(npy_data(2,1,:,:)); h = fspecial("gaussian&q…

TCP/IP协议—MQTT

TCP/IP协议—MQTT MQTT协议MQTT协议特点MQTT通信流程MQTT协议概念 MQTT报文固定报头可变报头有效载荷 MQTT协议 消息队列遥测传输(Message Queuing Telemetry Transport,MQTT)是一个基于客户端-服务器的消息发布/订阅传输协议。它的设计思想…

HalconLen5-定位特征步步逼近

read_image(Image, C:/Users/86173/Desktop/test/2.png) get_image_size(Image, Width, Height)dev_close_window() dev_open_window(0, 0, Width, Height, black, WindowHandle)dev_display(Image)threshold(Image, Region, 128, 255) //阈值处理connection(Region, Connected…

人事管理软件全解析:高效团队管理的必备利器

本文为您详细介绍六款备受推崇的人力资源管理系统有:Zoho People、SAP SuccessFactors、Workday、Zenefits、BambooHR、TalentSoft。 一、Zoho People Zoho People 是一款全球领先的人事管理软件,以其全面的功能覆盖、出色的用户体验及高度的定制化能力…

02_Fixture定位,Caliper卡尺工具,几何学工具

Fixture定位工具 需求: 测量工件的尺寸 使用Caliper(卡尺)工具 这个时候需要借助Fixture工具 VisionPro中的图像空间 “” 图像的当前空间,即CogImage中的“SelectedSpaceName”表示的名字空间 “#” 像素空间,即坐标原点为图片左上角的坐标空间&am…

【模板自取】项目管理必会的思维分析工具之5W2H分析法

5W2H法是二战中美国陆军兵器修理部首创。简单、方便,易于理解、使用,广泛用于项目管理和思维分析等活动终,对于决策和执行性的活动措施也非常有帮助,也有助于弥补考虑问题的疏漏。产品管理、项目管理中,5W2H法也广泛应…

原子的内部结构

原子非常神奇,花时间思考它是非常有价值的。尽管传统的太阳系示意图存在致命的缺点,但我们还是可以局部应用于原子。 首先,原子与太阳系具有相似性一原子的中心质量大,外部质量小。我们用最简单的氢原子做分析,氢原子…

工作流JBPM系统数据库表介绍

文章目录 ☃️4.1 建表☃️4.2 数据库逻辑关系4.2.1 资源库与运行时的表4.2.2 历史数据表 ☃️4.3 表结构☃️4.4 流程操作与数表交互说明 ☃️4.1 建表 该系统自带18张表,用于支撑该系统的逻辑与流程业务; 建表语句如下: create database…

ROS实现无人驾驶控制算法(一)——pure pursuit

引言 对于导航系统来说,在规划好全局路径后,使机器人根据路径行驶这部分被称为轨迹跟踪。轨迹跟踪主要分为两类:基于几何追踪的方法和基于模型预测的方法。而pure pursuit算法就是最基本的基于几何的控制算法,因其鲁棒性高&#…

bonding原理分析和问题排查

bonding原理 发送端: 使用网卡bond3模式(广播模式BOND_MODE_BROADCAST)将报文从两个网卡同时发出,无需修改报文。 接收端: 根据发送节点时间的链路通断状态,接收端设置一条线路为活动线,另一条…