一种数据处理方法及相关产品技术

技术编号:25600610 阅读:32 留言:0更新日期:2020-09-11 23:57
本技术方案涉及一种数据处理方法及相关产品,所述产品中的板卡包括:存储器件、接口装置和控制器件以及人工智能芯片;其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;所述存储器件,用于存储数据;所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;所述控制器件,用于对所述人工智能芯片的状态进行监控。所述板卡可以用于执行人工智能运算。

【技术实现步骤摘要】
一种数据处理方法及相关产品
本公开的实施例涉及一种数据处理方法及相关产品。
技术介绍
神经网络(neuralnetwork,NN)是一种模仿生物神经网络的结构和功能的数学模型或计算模型。神经网络通过样本数据的训练,不断修正网络权值和阈值使误差函数沿负梯度方向下降,逼近期望输出。它是一种应用较为广泛的识别分类模型,多用于函数逼近、模型识别分类、数据压缩和时间序列预测等。在实际运用中,神经网络的数据常用32Bit,现有的神经网络的数据占用的比特位较多,虽然确保了精度,但是需要较高的存储空间以及处理带宽,提高了成本。
技术实现思路
为了解决上述所述的技术问题,本公开提出一种数据处理方法及相关产品。为实现上述目的,本公开提供一种数据处理方法,包括:所述通用处理器获取端侧人工智能处理器的硬件架构信息,根据所述端侧人工智能处理器的硬件架构信息生成对应的二进制指令;所述通用处理器根据所述二进制指令生成对应的训练任务,将所述训练任务发送至云侧人工智能处理器上运行;所述云侧人工智能处理器接收所述训练任务,执行所述训练任务,获得训练结果;所述通用处理器接收所述训练任务对应的训练结果,根据所述训练结果确定对应的超参数;其中,所述超参数是用于确定在训练过程中目标迭代间隔;所述目标迭代间隔包括至少一次权值更新迭代,且同一目标迭代间隔内量化过程中采用相同的所述数据位宽;所述通用处理器根据同一端侧人工智能处理器的硬件架构信息的不同训练结果对应的超参数确定超参数映射表;其中,所述超参数映射表是同一端侧人工智能处理器的硬件架构信息所述对应的不同的训练结果与超参数之间的对应关系。为实现上述目的,本公开提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时,实现如上述所述的方法的步骤。为实现上述目的,本公开提供一种数据处理装置,所述装置包括:存储器、通用处理器以及云侧人工智能处理器;所述存储器上存储有可在所述通用处理器和/或所述云侧人工智能处理器上运行上述所述方法的计算机程序。在神经网络运算过程中,量化时利用本公开的技术方案确定量化参数,该量化参数用于人工智能处理器对神经网络运算过程中的数据进行量化,将高精度数据转换为低精度定点数,可以减少神经网络运算过程中涉及的数据存储所有的空间大小。例如:float32转化为fix8可以将模型参数减少4倍。由于数据存储空间变小,使得神经网络部署时使用更小的空间,使得人工智能处理器芯片上的片上内存可以容纳更多的数据,减少了人工智能处理器芯片访存数据,提高计算性能。附图说明为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。图1为神经网络结构示意图;图2a为人工智能处理器的软件栈示意图;图2为本技术方案的系统架构图;图3为示意性给出本技术方案的应用场景图之一;图4为示意性给出本技术方案的应用场景图之二;图5为本申请提出的一种数据处理方法流程图之一;图6为训练任务的流程图;图7为对称的定点数表示示意图;图8为引入偏移量的定点数表示示意图;图9a为训练过程中神经网络的权值数据变动幅度曲线图之一;图9b为训练过程中神经网络的权值数据变动幅度曲线图之二;图10为确定目标迭代间隔的方法流程图之一;图11为确定目标迭代间隔的方法流程图之二;图12为确定目标迭代间隔的方法流程图之三;图13为本申请提出的一种数据处理装置的硬件配置的框图;图14为本申请提出的数据处理装置应用于人工智能处理器芯片的应用示意图;图15为本申请实施例的板卡的结构框图;图16为本申请提出的一种数据处理方法流程图之二。具体实施方式下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本披露一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。应当理解,本披露的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。技术术语定义:浮点数:IEEE浮点标准用V=(-1)∧sign*mantissa*2∧E的形式表示一个数。其中,sign为符号位,0表示正数,1代表负数;E表示阶码,对浮点数进行加权,权值是2的E次幂(可能是负数次幂);mantissa表示尾数,mantissa是一个二进制小数,其范围是1~2-ε,或者是0-ε。浮点数表示在计算机中的表示分为三个字段,分别对这些字段进行编码:(1)一个单独的符号位s直接编码符号s。(2)k位的阶码字段编码阶码,exp=e(k-1)......e(1)e(0)。(3)n位的小数字段mantissa,编码尾数。但编码结果依赖阶码阶段是否全为0。定点数:由共享指数(exponent)、符号位(sign)、尾数(mantissa)三部分构成。其中,共享指数是说指数在需要量化的一个实数集合内共享;符号位标志了定点数的正负。尾数决定了定点数的有效数字位数,即精度。以8-bit定点数类型为例,其数值计算方法为:value=(-1)sign×(mantissa)×2(exponent-127)二进制小数:任意十进制数都可以用公式∑j*10i表示。例如十进制数12.34,以公式1表示为:12.34=1*101+2*100+3*10-1+4*10-2,小数点的左边计为10的正次幂,小数点的右边计为10的负次幂。同理,二进制小数也可以用这种方式表达,小数点左边为2的正次幂,小数点的右边计为2的负次幂,十本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,包括:/n通用处理器读取超参数映射表;其中,所述超参数映射表是不同的神经网络模型与超参数之间的对应关系;/n所述通用处理器根据所述神经网络模型从所述超参数映射表中确定对应的超参数;其中,所述超参数是用于确定在训练过程中目标迭代间隔;所述目标迭代间隔包括至少一次权值更新迭代,且同一目标迭代间隔内量化过程中采用相同的所述数据位宽;/n所述通用处理器根据所述端侧人工智能处理器的硬件架构信息和所述超参数生成对应的二进制指令;/n所述通用处理器根据所述二进制指令生成对应的训练任务,将所述训练任务发送至云侧人工智能处理器上运行。/n

【技术特征摘要】
20190612 CN 2019105052397;20190614 CN 2019105153551.一种数据处理方法,其特征在于,包括:
通用处理器读取超参数映射表;其中,所述超参数映射表是不同的神经网络模型与超参数之间的对应关系;
所述通用处理器根据所述神经网络模型从所述超参数映射表中确定对应的超参数;其中,所述超参数是用于确定在训练过程中目标迭代间隔;所述目标迭代间隔包括至少一次权值更新迭代,且同一目标迭代间隔内量化过程中采用相同的所述数据位宽;
所述通用处理器根据所述端侧人工智能处理器的硬件架构信息和所述超参数生成对应的二进制指令;
所述通用处理器根据所述二进制指令生成对应的训练任务,将所述训练任务发送至云侧人工智能处理器上运行。


2.如权利要求1所述的数据处理方法,其特征在于,所述超参数映射表的获得步骤包括:
所述通用处理器获取端侧人工智能处理器的硬件架构信息,根据所述端侧人工智能处理器的硬件架构信息生成对应的二进制指令;
所述通用处理器根据所述二进制指令生成对应的训练任务,将所述训练任务发送至云侧人工智能处理器上运行;
所述云侧人工智能处理器接收所述训练任务,执行所述训练任务,获得训练结果;
所述通用处理器接收所述训练任务对应的训练结果,根据所述训练结果确定对应的超参数;其中,所述超参数是用于确定在训练过程中目标迭代间隔;所述目标迭代间隔包括至少一次权值更新迭代,且同一目标迭代间隔内量化过程中采用相同的所述数据位宽;
所述通用处理器根据同一端侧人工智能处理器的硬件架构信息的不同训练结果对应的超参数确定超参数映射表;其中,所述超参数映射表是不同的神经网络模型与超参数之间的对应关系。


3.如权利要求2所述的方法,其特征在于,所述训练任务包括:
统计待量化数据,确定每种待量化数据的统计结果;其中,所述待量化数据包括所述神经网络的神经元、权值、梯度、偏置中的至少一种数据;
利用每种待量化数据的统计结果以及数据位宽确定对应量化参数;
利用所述量化参数对所述待量化数据进行量化,获得对应的定点型数据;
利用所述定点型数据进行训练。


4.如权利要求3所述的方法,其特征在于,所述统计结果为每种待量化数据中的最大值和最小值;
或所述统计结果为每种待量化数据中的绝对值最大值;
或所述绝对值最大值根据每种待量化数据中的最大值和最小值确定。


5.如权利要求3所述的方法,其特征在于,所述量化参数根据每种待量化数据中的最大值、最小值以及所述数据位宽确定;
或所述量化参数根据每种待量化数据中的绝对值最大值、所述数据位宽确定;
或所述量化参数为点位置参数或第一缩放系数;
或所述量化参数包括点位置参数和第二缩放系数。


6.如权利要求5所述的方法,其特征在于,所述第一缩放系数根据点位置参数和第二缩放系数确定;其中,确定第一缩放系数时使用的点位置参数为已知固定值,或所述点位置参数和对应的所述第二缩放系数相乘的结果整体作为第一缩放系数应用于神经网络运算过程中的数据量化。


7.如权利要求5所述的方法,其特征在于,所述第二缩放系数根据所述点位置参数、所述统计结果、所述数据位宽确定。


8.如权利要求5~6任一项权利要求所述的方法,其特征在于,所述量化参数还包括偏移量;其中,所述偏移量根据每种待量化数据的统计结果确定。


9.如权利要求3所述的方法,其特征在于,所述数据位宽是预设值;或所述数据位宽根据对应的量化误差进行调整;其中,所述量化误差是根据量化后的数据与对应的量化前的数据确定。


10.如权利要求9所述的方法,其特征在于,所述数据位宽的调整步骤包括:
所述量化误差与阈值进行比较,根据比较结果,调整所述数据位宽;其中,所述阈值包括第一阈值和第二阈值中的至少一个。


11.如权利要求10所述的方法,其特征在于,调整所述数据位宽的步骤包括:
所述量化误差大于等于所述第一阈值,则对所述数据位宽进行增加;或
所述量化误差小于等于所述第二阈值,则对所述数据位宽进行减少;或
所述量化误差处于所述第一阈值和所述第二阈值之间,则所述数据位宽保持不变。


12.如权利要求9所述的方法,其特征在于,所述量化误差的获取方法包括:
根据所述数据位宽确定量化间隔;
根据所述量化间隔、所述量化后的数据的个数与对应的量化前的数据确定量化误差;或
对量化后的数据进行反量化,获得反量化数据;其中,所述反量化数据的数据格式与对应的量化前的数据的数据格式相同;
根据所述量化后的数据以及对应的反量化数据确定量化误差。


13.如权利要求9所述的方法,其特征在于,所述量化前的数据是所述待量化数据;或所述量化前的数据...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1