数据处理装置、数据处理方法和电子设备制造方法及图纸

技术编号:37278504 阅读:9 留言:0更新日期:2023-04-20 23:45
本公开提供了一种数据处理装置,涉及人工智能技术领域,尤其涉及深度学习、神经网络和云计算等技术领域。具体实现方案为:获取单元,配置为获取待处理数据,其中,待处理数据包括多个浮点数,浮点数的指数位为至少两个;划分单元,配置为将待处理数据划分为多个待处理子数据;量化单元,配置为:根据待处理子数据中至少一个浮点数中的极值和浮点数的指数位,对至少一个浮点数分别进行量化,得到量化数据,其中,量化数据包括浮点数的第一值和第二值;处理单元,配置为利用量化数据中浮点数的第一值和第二值进行运算处理,得到处理结果;以及输出单元,配置为输出处理结果。本公开还提供了一种数据处理方法和电子设备。一种数据处理方法和电子设备。一种数据处理方法和电子设备。

【技术实现步骤摘要】
数据处理装置、数据处理方法和电子设备


[0001]本公开涉及人工智能
,尤其涉及深度学习、神经网络和云计算等
,可应用于图像处理、自然语言处理、语音识别、自动驾驶、产品推荐等场景下。更具体地,本公开提供了一种数据处理装置、数据处理方法和电子设备。

技术介绍

[0002]随着人工智能技术的发展,深度学习模型广泛地应用于各种场景中。深度学习模型包括多种神经网络(Neural Network)模型。可以利用各种数据处理装置实现神经网络模型涉及的大量操作。

技术实现思路

[0003]本公开提供了一种数据处理装置、数据处理方法和电子设备。
[0004]根据本公开的一方面,提供了一种数据处理装置,该装置包括:获取单元,配置为获取待处理数据,其中,待处理数据包括多个浮点数,浮点数的指数位为至少两个;划分单元,配置为将待处理数据划分为多个待处理子数据,其中,待处理子数据包括至少一个浮点数;量化单元,配置为:根据待处理子数据中至少一个浮点数中的极值和浮点数的指数位,确定至少一个数值区间;以及根据至少一个浮点数各自所处的数值区间,对至少一个浮点数分别进行量化,得到量化数据,其中,量化数据包括浮点数的第一值和第二值;处理单元,配置为利用量化数据中浮点数的第一值和第二值进行运算处理,得到处理结果;以及输出单元,配置为输出处理结果。
[0005]根据本公开的另一方面,提供了一种数据处理方法,应用于数据处理装置,该方法包括:获取待处理数据,其中,待处理数据包括多个浮点数,浮点数的指数位为至少两个;根据待处理子数据中至少一个浮点数中的极值和浮点数的指数位,确定至少一个数值区间;根据至少一个浮点数各自所处的数值区间,对至少一个浮点数分别进行量化,得到量化数据,量化数据包括浮点数的第一值和第二值;利用量化数据中浮点数的第一值和第二值进行运算处理,得到处理结果;以及输出处理结果。
[0006]根据本公开的另一方面,提供了一种电子设备,包括至少一个本公开提供的数据处理器。
[0007]据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据本公开提供的方法。
[0008]根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行根据本公开提供的方法。
[0009]根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现根据本公开提供的方法。
[0010]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特
征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0011]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0012]图1是根据本公开的一个实施例的浮点数的编码的示意图;
[0013]图2是根据本公开的一个实施例的数据处理装置的结构框图;
[0014]图3是根据本公开的一个实施例的数据处理器的示意图;
[0015]图4是根据本公开的一个实施例的数据处理方法的流程图;以及
[0016]图5是根据本公开的一个实施例的可以应用数据处理装置的电子设备的框图。
具体实施方式
[0017]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0018]深度学习技术可以将对象的低层特征组合形成更加抽象的高层特征,以表示对象的类别或属性。基于深度学习技术,可以发现与对象相关的数据的分布式特征。神经网络模型例如可以包括深度神经网络模型(DeepNeural Network,DNN)、循环神经网络模型(Recurrent Neural Network,RNN)和卷积神经网络模型(Convolutional Neural Network,CNN)等。
[0019]神经网络模型涉及大量计算密集型的操作。这些操作例如可以包括:矩阵乘法操作、卷积操作、池化(Pooling)操作等等。在利用中央处理器(Central Processing Unit,CPU)实现这些操作的情况下,需要较高的时间成本。为了提高应用神经网络模型的效率,可以利用神经网络处理器实现神经网络模型的操作。神经网络处理器可以是在图形处理器(Graph Processing Unit,GPU)、场可编程门阵列(Field Programmable Gate Array,FPGA)、专用集成电路(Application Specific Integrated Circuit,ASIC)等等处理器的基础上实现的。神经网络处理器的计算效率更高。相较于通用型的中央处理器,神经网络处理器的计算性能可以提升至少一个数量级。
[0020]神经网络处理器处理的数据可以是浮点数。浮点数是与定点数相对的概念。计算机中的定点数约定小数点的位置不变,即,人为设定了一个数的小数点位置。例如,对于定点纯整数,可以约定小数点在数值位的最后。又例如对于定点纯小数,约定了数值位的最高位在小数点的后面。由于计算机字长的限制,当需要表示的数据有很大的数值范围时,不能直接用定点小数或定点整数表示。
[0021]浮点数可以由尾数M和阶码E构成。基数为2的数F的浮点数表示为:
[0022]F=M*2
E
ꢀꢀꢀꢀ
(公式一)
[0023]浮点数的编码规则:尾数M必须为小数,用n+1位有符号定点小数表示;位数n+1决定了浮点数的精度。尾数越长,所能表示的精度越高。n为大于0的整数。阶码E必须为整数,用k+1位有符号定点整数表示;位数k+1决定了浮点数表示的数值范围,即,数据大小或小数点在数据中的真实位置;阶符决定阶码的正负。阶码越长,能表示的范围越大。k为大于0的
整数
[0024]浮点数编码的位数m为:
[0025]m=(n+1)+(k+1)
ꢀꢀꢀꢀ
(公式二)
[0026]神经网络模型对数据的处理可以包括两个阶段:训练阶段和推理阶段。在训练阶段,利用已知的数据集调整神经网络模型的参数,得到一个经训练的神经网络模型。在训练阶段,数据集中的数据需要有较高的精度。类型为浮点数的数据可以应用在神经网络的训练阶段。
[0027]浮点数可以包括单精度浮点数(Float Point 32,FP32)、张量单精度浮点数(TensorFloat 32,TF32)、半精度浮点数(Float Point 32,FP16)和脑浮点数(Brain Float Point 16,BF16)。...

【技术保护点】

【技术特征摘要】
1.一种数据处理装置,包括:获取单元,配置为获取待处理数据,其中,所述待处理数据包括多个浮点数,所述浮点数的指数位为至少两个;划分单元,配置为将所述待处理数据划分为多个待处理子数据,其中,所述待处理子数据包括至少一个所述浮点数;量化单元,配置为:根据所述待处理子数据中至少一个所述浮点数中的极值和所述浮点数的指数位,确定至少一个数值区间;以及根据至少一个所述浮点数各自所处的数值区间,对至少一个所述浮点数分别进行量化,得到量化数据,其中,所述量化数据包括所述浮点数的第一值和第二值;处理单元,配置为利用所述量化数据中所述浮点数的所述第一值和所述第二值进行运算处理,得到处理结果;以及输出单元,配置为输出所述处理结果。2.根据权利要求1所述的装置,其中,所述划分单元包括:第一确定模块,配置为根据所述待处理数据中多个所述浮点数的数据分布信息,确定所述待处理子数据中所述浮点数的数量;划分模块,配置为根据所述待处理子数据中所述浮点数的数量,将所述待处理数据划分为多个所述待处理子数据。3.根据权利要求2所述的装置,其中,所述第一确定模块还配置为:响应于确定所述数据分布信息指示所述待处理数据中多个所述浮点数均匀分布,确定所述待处理子数据中所述浮点数的数量为第一预设参数值;响应于确定所述数据分布信息指示所述待处理数据中多个所述浮点数不均匀分布,确定所述待处理子数据中所述浮点数的数量为第二预设参数值,其中,所述第一预设参数值大于所述第二预设参数值。4.根据权利要求1所述的装置,还包括:存储单元,与所述量化单元和所述处理单元耦接,用于存储来自所述量化单元的所述量化数据。5.根据权利要求4所述的装置,其中,所述量化单元包括:第二确定模块,配置为根据所述浮点数的指数位,确定数值区间的区间数量;第三确定模块,配置为根据所述待处理子数据中至少一个所述浮点数中的极值以及所述区间数量,确定至少一个所述数值区间;量化模块,配置为根据所述浮点数所处的数值区间,对所述浮点数进行量化,得到所述浮点数的所述第一值和所述第二值;以及写入模块,配置为将所述量化数据写入所述存储单元。6.根据权利要求5所述的装置,其中,所述第三确定模块还配置为:根据第一预设值、所述极值和所述区间数量,确定至少一个数据阈值;以及根据至少一个所述数据阈值,确定至少一个所述数值区间。7.根据权利要求6所述的装置,其中,所述区间数量为I个,所述至少一个数据阈值为I+1个数据阈值,I为大于1的整数,所述第三确定模块还配置为:
将所述极值确定为第1个数据阈值;以及根据第i个数据阈值和所述第一预设值,确定第i+1个数据阈值,其中,i为大于或等于1的整数,i为小于或等于I的整数。8.根据权利要求7所述的装置,其中,所述第三确定模块还配置为:根据所述第i个数据阈值和所述第i+1个数据阈值,确定第i个数值区间。9.根据权利要求6所述的装置,其中,所述量化模块配置为:根据目标数据阈值和所述第一预设值,得到所述浮点数的所述第一值,其中,所述目标数据阈值为与所述浮点数所处的所述数值区间相关的两个数据阈值之间的较大值;以及根据所述第一预设值、所述浮点数和所述目标数据阈值,得到所述浮点数的所述第二值。10.根据权利要求4所述的装置,其中,所述量化数据包括:目标处理函数相关的函数数据以及与所述目标处理函数相关的目标浮点数的第一值和第二值;所述处理单元包括:读取模块,配置为从所述存储单元读取目标处理函数以及与所述目标处理函数相关的目标浮点数;以及处理模块,配置为利用所述目标处理函数处理所述目标浮点数的第一值和第二值,得到所述处理结果。11.根据权利要求10所述的装置,其中,所述处理模块还配置为:根据所述目标浮点数的符号位,确定目标符号位;利用所述目标处理函数处理所述目标浮点数的第一值和第二值,得到输出浮点数的绝对值;根据所述输出浮点数的绝对值和所述目标符号位,得到输出浮点数;以及根据所述输出浮点数,得到所述处理结果。12.根据权利要求11所述的装置,其中,所述待处理数据包括第一待处理数据和第二待处理数据,多个所述待处理子数据包括:来自所述第一待处理数据的多个第一待处理子数据,以及来自所述第二待处理数据的多个第二待处理子数据,所述目标浮点数包括:来自所述第一待处理子数据的第一目标浮点数和来自所述第二待处理子数据的第二目标浮点数;所述处理模块还配置为:将所述第一目标浮点数的第一值和第二值以及所述第二目标浮点数的第一值和第二值依次相乘,得到所述输出浮点数的绝对值。13.一种数据处理方法,应用于数据处理装置,所述方法包括:获取待处理数据,其中,所述待处理数据包括多个浮点数,所述浮点数的指数位为至少两个;将所述待处理数据划分为多个待处理子数据,其中,所述待处理子数据包括至少一个所述浮点数;根据所述待处理子数据中至少一个所述浮点数中的极值和所述浮点数的指数位,确定至少一个数值区间;根据至少一个所述浮点数各自所处的数值区间,对至少一个所述浮点数分别进行量化,得到量化数据,其中,所述量化数据包括所述浮点数的第一值和第二值;利用...

【专利技术属性】
技术研发人员:陈庆澍王勇欧阳剑邰秀瑢王京
申请(专利权)人:昆仑芯北京科技有限公司
类型:发明
国别省市:

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

1