数据处理方法、装置、设备、介质、产品及芯片与流程
本公开涉及数据处理,尤其涉及一种数据处理方法、装置、设备、介质、产品及芯片。
背景技术:
1、随着神经网络模型的不断发展,神经网络的网络参数的数据量急剧增大。为降低数据存储开销以及芯片的传输带宽压力,可以将神经网络的网络参数存储至外部存储介质,比如高带宽存储(high-bandwidth memory,hbm)。之后,在运算阶段可以从外部存储介质中读取神经网络的网络参数,并将读取到的网络参数用于神经网络运算。
技术实现思路
1、为克服相关技术中存在的问题,本公开提供了一种数据处理方法、装置、设备、介质、产品及芯片。
2、根据本公开实施例的第一方面,提供了一种数据处理方法,包括:
3、响应于触发目标数据的运算操作,从预设存储介质中读取所述目标数据对应的至少一个目标数据块;所述至少一个目标数据块为对所述目标数据进行拆分操作和压缩操作后获得的数据块;
4、基于至少一个目标计算模块,对所述至少一个目标数据块进行解压操作,获得所述目标数据的至少一个目标子数据,所述至少一个目标计算模块包括至少一个目标计算单元中负载小于或等于预设负载阈值的第一计算模块,每个所述目标计算单元包括至少一个第一计算模块;
5、基于所述至少一个目标计算单元,对所述至少一个目标子数据进行运算操作。
6、本公开实施例中,可以以数据块力度进行数据读取和解压处理,无需一次性读取完整的目标数据,并且可以筛选负载较小的第一计算模块执行解压任务,如此可以均衡硬件处理负载,降低解压处理时延,提高解压速度,从而加快数据的运算速度,提高用户的使用体验。
7、在一些实施例中,所述解压操作包括至少一个解压子操作,所述基于至少一个目标计算模块,对所述至少一个目标数据块进行解压操作,获得所述目标数据的至少一个目标子数据,包括:
8、基于所述至少一个目标计算模块和所述至少一个目标数据块的预设解压指令,对所述至少一个目标数据块进行所述解压操作,获得每个所述目标数据块对应的目标子数据;所述预设解压指令用于并行执行所述至少一个解压子操作。
9、本公开实施例中,可以通过预设解压指令实现解压子操作的并行执行,能够并行完成解压内部多步处理流程,提升数据的解压处理速度,提高整体数据处理吞吐性能。
10、在一些实施例中,所述至少一个目标计算单元存储有所述至少一个目标数据块的属性信息,所述属性信息包括解压参数,所述基于所述至少一个目标计算模块和所述至少一个目标数据块的预设解压指令,对所述至少一个目标数据块进行所述解压操作,包括:
11、基于所述至少一个目标计算模块、所述至少一个目标数据块的预设解压指令和所述至少一个目标数据块的解压参数,对所述至少一个目标数据块进行所述解压操作。
12、本公开实施例中,解压参数可以随属性信息配置在目标计算单元侧,解压操作可以直接获取本数据块对应的解压参数,无需反复从外部存储介质调取参数;减少外部存储访问次数,降低参数读取带来的时间开销,保障解压过程正常执行。
13、在一些实施例中,所述目标数据对应的每个所述目标数据块和一个目标计算单元关联,所述基于至少一个目标计算模块,对所述至少一个目标数据块进行解压操作,包括:
14、对于每个所述目标数据块,基于所述目标数据块关联的目标计算单元中的至少一个目标计算模块,对所述目标数据块进行所述解压操作。
15、本公开实施例中,可以建立目标数据块与目标计算单元的绑定关系,限定数据块在其关联的目标计算单元内部完成解压处理,可以避免跨目标计算单元进行大量数据转发,减少片上互联网络的数据传输压力,降低片上数据搬运开销。
16、在一些实施例中,每个所述目标计算单元还包括至少一个第二计算模块,每个所述第二计算模块用于执行数据运算,所述目标数据对应的每个所述目标数据块和一个目标计算单元关联,所述基于所述至少一个目标计算单元,对所述至少一个目标子数据进行运算操作,包括:
17、基于每个所述目标数据块关联的目标计算单元中的至少一个第二计算模块,对每个所述目标子数据进行运算操作。
18、本公开实施例中,可以区分第一计算模块承担解压任务、第二计算模块承担神经网络数据运算任务,实现解压硬件通路与运算硬件通路功能划分。解压得到的目标子数据可以直接在同一目标计算单元内部送给第二计算模块运算,减少跨单元的数据迁移,进一步提升处理效率。
19、在一些实施例中,所述目标计算单元还包括预设存储模块,所述方法还包括:
20、将所述至少一个目标数据块和所述至少一个目标子数据存储至至少一个预设存储模块。
21、本公开实施例中,可以通过目标计算单元本地的预设存储模块缓存目标数据块与解压后的目标子数据,便于计算模块快速读取数据,减少反复访问外部预设存储介质的次数,缩短数据访问时延。
22、在一些实施例中,所述目标数据对应的每个所述目标数据块和一个目标计算单元关联,所述将所述至少一个目标数据块和所述至少一个目标子数据存储至至少一个预设存储模块,包括:
23、将每个所述目标数据块和每个所述目标子数据存储至每个所述目标数据块关联的目标计算单元包括的预设存储模块。
24、本公开实施例中,可以将数据块、解压后的子数据存放在其关联目标计算单元的本地预设存储模,无需在多个目标计算单元之间搬运缓存数据,进一步降低互联带宽消耗。
25、在一些实施例中,所述至少一个目标数据块预先存储在预设存储介质中,所述响应于触发目标数据的运算操作,从预设存储介质中读取所述目标数据对应的至少一个目标数据块,包括:
26、响应于触发所述目标数据的运算操作,确定所述预设存储介质中每个所述目标数据块的存储位置;
27、基于所述至少一个目标计算单元和每个所述目标数据块的存储位置,从所述预设存储介质中读取所述至少一个目标数据块。
28、本公开实施例中,可以定位数据块存储位置再执行读取,实现对分散存储的各个目标数据块的定向读取,同时可以减少无效数据块的读取,节省总线传输带宽。
29、在一些实施例中,所述确定所述预设存储介质中每个所述目标数据块的存储位置,包括:
30、基于预设关联关系,确定所述预设存储介质中每个所述目标数据块的存储位置;所述预设关联关系用于表征数据、数据对应的至少一个数据块和所述预设存储介质中每个所述数据块的存储位置的关联关系。
31、本公开实施例中,可以依靠预设关联关系即可快速索引得到每一个数据块的存储位置,不需要遍历整个存储介质,从而可以加快数据块寻址速度,提升数据读取的响应速度。
32、在一些实施例中,所述方法还包括:
33、对多个数据中每个所述数据进行拆分操作,获得每个所述数据对应的至少一个子数据;所述多个数据包括所述目标数据;
34、对所述至少一个子数据进行压缩操作,获得每个所述数据对应的至少一个数据块,并将所述至少一个数据块存储至所述预设存储介质;
35、基于每个所述数据、每个所述数据对应的至少一个数据块和所述预设存储介质中每个所述数据块的存储位置,生成所述预设关联关系。
36、本公开实施例中,可以完成原始数据拆分、压缩、存储,并且生成索引用的预设关联关系,从而可以为运行阶段快速寻址、读取数据块提供基础支撑,实现部署阶段预处理与运算阶段处理流程相配合。
37、在一些实施例中,所述对所述至少一个子数据进行压缩操作,包括:
38、基于每个所述子数据的类型,确定每个所述子数据的压缩方式;
39、基于每个所述子数据的压缩方式,对所述至少一个子数据进行压缩。
40、本公开实施例中,针对不同类型子数据自适应匹配压缩方式,可以发挥不同压缩算法的优势,在压缩率、解压开销之间取得平衡,提升压缩效果。
41、在一些实施例中,所述方法还包括:
42、预先设置每个所述数据对应的每个所述数据块关联的目标计算单元。
43、本公开实施例中,在预处理阶段完成数据块与目标计算单元的绑定配置,运行阶段直接按照关联关系将目标数据块的读取任务、解压任务和运算任务分配给相应的目标计算单元,简化运行时调度逻辑,降低调度硬件的开销。
44、根据本公开实施例的第二方面,提供了一种数据处理装置,包括:
45、读取模块,被配置为响应于触发目标数据的运算操作,从预设存储介质中读取所述目标数据对应的至少一个目标数据块;所述至少一个目标数据块为对所述目标数据进行拆分操作和压缩操作后获得的数据块;
46、处理模块,被配置为基于至少一个目标计算模块,对所述至少一个目标数据块进行解压操作,获得所述目标数据的至少一个目标子数据,所述至少一个目标计算模块包括至少一个目标计算单元中负载小于或等于预设负载阈值的第一计算模块,每个所述目标计算单元包括至少一个第一计算模块;
47、所述处理模块,还被配置为基于所述至少一个目标计算单元,对所述至少一个目标子数据进行运算操作。
48、在一些实施例中,所述解压操作包括至少一个解压子操作,所述处理模块,被配置为:
49、基于所述至少一个目标计算模块和所述至少一个目标数据块的预设解压指令,对所述至少一个目标数据块进行所述解压操作,获得每个所述目标数据块对应的目标子数据;所述预设解压指令用于并行执行所述至少一个解压子操作。
50、在一些实施例中,所述至少一个目标计算单元存储有所述至少一个目标数据块的属性信息,所述属性信息包括解压参数,所述处理模块,被配置为:
51、基于所述至少一个目标计算模块、所述至少一个目标数据块的预设解压指令和所述至少一个目标数据块的解压参数,对所述至少一个目标数据块进行所述解压操作。
52、在一些实施例中,所述目标数据对应的每个所述目标数据块和一个目标计算单元关联,所述处理模块,被配置为:
53、对于每个所述目标数据块,基于所述目标数据块关联的目标计算单元中的至少一个目标计算模块,对所述目标数据块进行所述解压操作。
54、根据本公开实施例的第三方面,提供了一种电子设备,包括:
55、处理器;
56、用于存储处理器可执行指令的存储器;
57、其中,所述处理器被配置为执行如本公开第一方面所述的数据处理方法。
58、根据本公开实施例的第四方面,提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如本公开第一方面所述的数据处理方法。
59、根据本公开实施例的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如本公开实施例的第一方面中所述的数据处理方法。
60、根据本公开实施例的第六方面,提供了一种芯片,所述芯片被配置为执行如本公开实施例的第一方面中所述的数据处理方法。
61、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com