CN115827526A - 数据处理方法、装置、设备以及存储介质 - Google Patents
数据处理方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN115827526A CN115827526A CN202211382305.4A CN202211382305A CN115827526A CN 115827526 A CN115827526 A CN 115827526A CN 202211382305 A CN202211382305 A CN 202211382305A CN 115827526 A CN115827526 A CN 115827526A
- Authority
- CN
- China
- Prior art keywords
- source data
- data sequence
- memory areas
- memory
- acquiring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title abstract description 26
- 230000015654 memory Effects 0.000 claims abstract description 136
- 238000000034 method Methods 0.000 claims abstract description 135
- 230000008569 process Effects 0.000 claims abstract description 107
- 230000006854 communication Effects 0.000 claims abstract description 77
- 238000012545 processing Methods 0.000 claims abstract description 77
- 238000004891 communication Methods 0.000 claims abstract description 75
- 238000004364 calculation method Methods 0.000 claims abstract description 29
- 230000005540 biological transmission Effects 0.000 claims description 39
- 238000004590 computer program Methods 0.000 claims description 11
- 238000005192 partition Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims 1
- 238000013135 deep learning Methods 0.000 abstract description 14
- 238000011161 development Methods 0.000 abstract description 10
- 238000013473 artificial intelligence Methods 0.000 abstract description 6
- 238000013461 design Methods 0.000 abstract description 6
- 230000018109 developmental process Effects 0.000 description 9
- 238000012549 training Methods 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007786 learning performance Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种数据处理方法、装置、设备以及存储介质,涉及数据处理领域,尤其涉及人工智能、深度学习领域。具体实现方案为:获取进程对应的源数据序列,其中,源数据序列由已存储或预存储在N个第一内存区域中的源数据拼接形成,其中,N为大于1的正整数;对源数据序列进行处理,获取处理后得到的目标数据序列;基于目标数据序列,确定N个第一内存区域对应的N个分割数据,并将N个分割数据分别存储到N个第二内存区域,本申请避免了对数据的复制过程,实现内存共享,减小了内存开销并提升了通信性能,有利于减小计算阻塞,在设计中对通信操作进行了具有语义的抽象,有利于用户理解,用户可直接提供已处理的源数据序列,更便于二次开发。
Description
技术领域
本公开涉及数据处理领域,尤其涉及人工智能、深度学习领域,具体涉及一种数据处理方法、装置、设备以及存储介质。
背景技术
近年来,随着数据量的不断增长,对深度学习性能的要求正在逐渐提高。作为一种行之有效的性能提升手段,分布式训练在其中发挥了重要的作用。为了保证性能,分布式训练集合通信中通信操作通常会使用C++语言编写。但因为通信的最终目的是服务于上层应用,而上层应用通常会使用Python语言编写,由于涉及到不同语言间的数据传递,现有方法在实现过程中,为了避免通信过程对数据的影响,会在通信操作前对数据进行复制,并在通信操作结束后将结果复制一份再返回,带来了额外的内存开销和性能损失。
发明内容
本公开提供了一种用于数据处理方法、装置、设备以及存储介质。
根据本公开的一方面,提供了一种数据处理方法,通过获取进程对应的源数据序列,其中,源数据序列由已存储或预存储在N个第一内存区域中的源数据拼接形成,其中,N为大于1的正整数;对源数据序列进行处理,获取处理后得到的目标数据序列;基于目标数据序列,确定N个第一内存区域对应的N个分割数据,并将N个分割数据分别存储到N个第二内存区域。
本申请提供的数据处理方法,避免了对数据的额外的复制过程,减小了内存开销并提升了通信性能,有利于减小计算阻塞,进而提升整个深度学习应用的性能。在设计中对通信操作进行了具有语义的抽象,有利于用户理解,用户可直接提供已处理的源数据序列,更便于二次开发。
根据本公开的另一方面,提供了一种数据处理装置,包括获取模块,用于获取进程对应的源数据序列,其中,源数据序列由已存储或预存储在N个第一内存区域中的源数据拼接形成,其中,N为大于1的正整数;处理模块,用于对源数据序列进行处理,获取处理后得到的目标数据序列;确定模块,用于基于目标数据序列,确定N个第一内存区域对应的N个分割数据,并将N个分割数据分别存储到N个第二内存区域。
本申请提供的数据处理装置,避免了对数据的额外的复制过程,减小了内存开销并提升了通信性能,有利于减小计算阻塞,进而提升整个深度学习应用的性能。在设计中对通信操作进行了具有语义的抽象,有利于用户理解,用户可直接提供已处理的源数据序列,更便于二次开发。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述数据处理方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述数据处理方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述数据处理方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开一示例性实施例的一种数据处理方法的示例性实施方式。
图2是根据本公开一示例性实施例的一种Python层与C++层的交互示意图。
图3是根据本公开一示例性实施例的一种数据处理方法的示例性实施方式。
图4是根据本公开一示例性实施例的一种数据处理方法的示例性实施方式。
图5是根据本公开一示例性实施例的一种数据处理装置的示意图。
图6是根据本公开一示例性实施例的一种电子设备的示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
深度学习(Deep Learning,简称DL),是机器学习(Machine Learning,简称ML)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能。深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。
分布式训练,在分布式训练中,用于训练模型的工作负载会在多个微型处理器之间进行拆分和共享,这些处理器称为工作器节点。这些工作器节点并行工作以加速模型训练。分布式训练可用于传统的ML模型,但更适用于计算和时间密集型任务,如用于训练深度神经网络的深度学习。分布式训练有两种主要类型:数据并行和模型并行。
集合通信(CollectiveCommunications)是一个进程组的所有进程都参与的全局通信操作,其最为基础的操作有发送send、接收receive、复制copy、组内进程栅障同步Barrier以及节点间进程同步(signal+wait),这几个最基本的操作经过组合构成了一组通信模板也叫通信原语,比如:1对多的广播broadcast、多对1的收集gather、多对多的收集all-gather、1对多的发散scatter、多对1的规约reduce、多对多的规约all-reduce、组合的规约与发散reduce-scatter、多对多的all-to-all等。
数据处理,数据处理是系统工程和自动控制的基本环节。数据处理贯穿于社会生产和社会生活的各个领域。数据处理技术的发展及其应用的广度和深度,极大地影响了人类社会发展的进程。数据(Data)是对事实、概念或指令的一种表达形式,可由人工或自动化装置进行处理。数据经过解释并赋予一定的意义之后,便成为信息。数据处理(dataprocessing)是对数据的采集、存储、检索、加工、变换和传输。数据处理的基本目的是从大量的、可能是杂乱无章的、难以理解的数据中抽取并推导出对于某些特定的人们来说是有价值、有意义的数据。
人工智能(Artificial Intelligence,简称AI),是研究使计算机来模拟人生的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术,也有软件层面的技术。人工智能硬件技术一般包括计算机视觉技术、语音识别技术、自然语言处理技术以及及其学习/深度学习、大数据处理技术、知识图谱技术等几大方面。
图1是本申请提出的一种数据处理方法的示例性实施方式,如图1所示,该数据处理方法,包括以下步骤:
S101,获取进程对应的源数据序列,其中,源数据序列由已存储或预存储在N个第一内存区域中的源数据拼接形成,其中,N为大于1的正整数。
分布式训练的集合通信中,通信操作通常会使用C++语言编写,但因为通信的最终目的是服务于上层应用,而上层应用通常会使用Python语言编写,为了保证与上层应用的互操作性,并且简化上层应用对通信操作的调用过程,实现过程中通常会选择将C++语言实现的通信操作绑定到Python语言中以供使用,从而提供高性能且易于使用的接口。由于涉及到不同语言间的数据传递,相关技术的实现过程中,为了避免通信过程对数据的影响,会在通信操作前对源数据进行复制,并在通信操作结束后将结果复制一份再返回,带来了额外的内存开销和性能损失。
本申请中,可不对源数据进行复制而直接获取每个进程各自对应的源数据序列。
作为一种可实现的方式,在获取每个进程各自对应的源数据序列时,由于每个进程实际上是对应的内存中的一块连续的N个第一内存区域,可直接对已存储在该进程对应的N个第一内存区域中的源数据进行拼接,以获取拼接后形成的该进程对应的源数据序列。此方案中对已存储在该进程对应的N个第一内存区域中的源数据进行拼接可基于代码实现,在代码实现的时候并没有实际去修改N个第一内存区域中的源数据,因为源数据在内存层面其实是一样的,代码只是给N个第一内存区域换了一个解释,让程序把这N个第一内存区域当成是一个整体元素而非多个分散元素数组,以此实现不在对内存进行复制,而直接可与上层应用共享内存的目的。不难理解的,N为大于1的正整数。
作为另一种可实现的方式,在获取每个进程各自对应的源数据序列时,为了便于用户二次开发,可直接获取客户端用户输入的每个进程各自对应的源数据序列,同时,可基于用户直接输入的该源数据序列对该进程对应的N个第一内存区域中的源数据进行更新。
S102,对源数据序列进行处理,获取处理后得到的目标数据序列。
以Python层与C++层的交互为例,图2为本申请示出的一种Python层与C++层的交互示意图,如图2所示,C++层在获取上述确定的源数据序列之后,对所有进程对应的所有源数据序列进行处理,获取处理后得到的目标数据序列。
若上述处理为通信传输,则对源数据序列进行通信传输,获取通信传输后得到的目标数据序列。
若上述处理为通信传输和计算操作,则对源数据序列进行通信传输和计算操作,获取通信传输和计算操作后得到的目标数据序列。其中,计算操作可包括规约求和、规约求积等。
S103,基于目标数据序列,确定N个第一内存区域对应的N个分割数据,并将N个分割数据分别存储到N个第二内存区域。
基于上述获取的目标数据序列,按每个进程对其进行分割,获取每个进程对应的N个第一内存区域对应的N个分割数据,并将N个分割数据分别存储到N个第二内存区域。其中,第二内存区域为专门储存处理后数据的一片连续内存区域,与第一内存区域为不相同的内存区域。
本申请实施例提出了一种数据处理方法,通过获取进程对应的源数据序列,其中,源数据序列由已存储或预存储在N个第一内存区域中的源数据拼接形成,其中,N为大于1的正整数;对源数据序列进行处理,获取处理后得到的目标数据序列;基于目标数据序列,确定N个第一内存区域对应的N个分割数据,并将N个分割数据分别存储到N个第二内存区域。本申请避免了对源数据的额外的复制过程,实现内存共享,减小了内存开销并提升了通信性能,有利于减小计算阻塞,进而提升整个深度学习应用的性能。在设计中对通信操作进行了具有语义的抽象,有利于用户理解,用户可直接提供已处理的源数据序列,更便于二次开发。
图3是本申请提出的一种数据处理方法的示例性实施方式,如图3所示,该数据处理方法,包括以下步骤:
S301,针对每个进程,获取该进程对应的已存储在N个第一内存区域中各自的源数据。
为了准确获取每个进程对应的源数据,以在后续源数据拼接时避免出错,针对每个进程,获取该进程对应的N个内存标识信息,根据内存标识信息确定进程对应的N个第一内存区域,并获取N个第一内存区域中各自的源数据作为该进程对应的源数据。不难理解的,N为大于1的正整数。
S302,对源数据进行拼接,获取拼接后形成的源数据序列。
在上述获取每个进程对应的源数据后,对每个进程对应的源数据进行拼接,获取每个进程拼接后形成的源数据序列。示例性的,若每个源数据为一个2*2的矩阵,某个进程共有4个源数据,可基于代码将其拼接为一个8*2的矩阵,将该8*2的矩阵作为该进程对应的源数据序列。
S303,对源数据序列进行处理,获取处理后得到的目标数据序列。
可选的,若上述处理为通信传输,则对源数据序列进行通信传输,获取通信传输后得到的目标数据序列。
可选的,若上述处理为通信传输和计算操作,则对源数据序列进行通信传输和计算操作,获取通信传输和计算操作后得到的目标数据序列。其中,计算操作可包括规约求和、规约求积等。
以上为在两种场景下对应的不同的处理方式,都能基于本申请所提出的数据处理方法实现,即本申请提出的数据处理方法具有普适性,能适用于多种数据处理场景。
S304,基于目标数据序列,确定N个第一内存区域对应的N个分割数据,并将N个分割数据分别存储到N个第二内存区域。
基于上述获取的目标数据序列,按每个进程对其进行分割,获取每个进程对应的N个第一内存区域对应的N个分割数据,并将N个分割数据分别存储到N个第二内存区域。其中,第二内存区域为专门储存处理后数据的一片连续内存区域,与第一内存区域为不相同的内存区域。
本申请实施例在确定进程对应的N个第一内存区域后,直接对N个第一内存区域中各自的源数据进行拼接,以获取源数据序列直接进行处理,避免了对源数据的额外的复制过程,减小了内存开销并提升了通信性能,有利于减小计算阻塞,进而提升整个深度学习应用的性能,在设计中通过“拼接”、“分割”作为具有语义的抽象,更有利于用户理解。
图4是本申请提出的一种数据处理方法的示例性实施方式,如图4所示,该数据处理方法,包括以下步骤:
S401,接收客户端输入的源数据序列,其中,源数据序列中的数据为预存储的源数据。
为了便于用户进行二次开发,本申请中,源数据序列可直接为接收到的客户端输入的源数据序列。示例性的,若某个进程对应的源数据序列为8*2的矩阵,可直接接收客户端输入的该进程对应的8*2的矩阵作为该进程对应的源数据序列。
进一步的,接收客户端输入的进程对应的源数据序列之后,该进程对应的N个第一内存区域的源数据需要基于该源数据序列进行更新,具体为:确定源数据序列对应的进程,并获取该进程对应的N个内存标识信息,根据内存标识信息确定进程对应的N个第一内存区域,根据第一内存区域的内存容量对源数据序列进行分割,获取分割后的预存储源数据,按照预存储源数据的顺序对N个第一内存区域中各自的源数据进行更新。
示例性的,若某个进程共有4个第一内存区域,每个第一内存区域中的源数据为一个2*2的矩阵,接收客户端输入的该进程对应的源数据序列为8*2的矩阵,则可将该8*2的矩阵分割为4个2*2的矩阵,以分别对4个第一内存区域中各自的源数据进行更新。
本方案在接收客户端输入的进程对应的源数据序列之后,对该进程对应的N个第一内存区域中各自的源数据进行更新,以避免进程的数据出现混乱,再对N个第一内存区域中各自的源数据进行更新后,也方便后续随时进行源数据的调用。
S402,对源数据序列进行处理,获取处理后得到的目标数据序列。
可选的,若上述处理为通信传输,则对源数据序列进行通信传输,获取通信传输后得到的目标数据序列。
可选的,若上述处理为通信传输和计算操作,则对源数据序列进行通信传输和计算操作,获取通信传输和计算操作后得到的目标数据序列。其中,计算操作可包括规约求和、规约求积等。
S403,将目标数据序列发送至客户端。
将上述处理后得到的目标数据序列发送至客户端,以供用户按照进程对目标数据序列进行数据分割。
S404,接收客户端发送的每个进程对应的N个第一内存区域对应的N个分割数据,并将N个分割数据分别存储到N个第二内存区域。
接收客户端发送的每个进程对应的N个第一内存区域对应的N个分割数据,并将N个分割数据分别存储到N个第二内存区域。其中,该N个分割数据可由人工对目标数据序列进行数据分割后得到。
本申请实施例中,进程对应的源数据序列为直接接收的客户端发送的源数据序列,也可视为直接获取到了用户输入的已拼接完成的源数据序列,在对源数据序列进行处理后,将处理后得到的目标数据序列发送至客户端,以供用户按照进程对目标数据序列进行数据分割,再将N个分割数据分别存储到N个第二内存区域,以便于对本申请中数据处理方法对应的数据处理框架进行二次开发,并同时对原有的第一内存区域和第二内存区域的数据进行了更新,保证了数据的统一。
图5是本申请提出的一种数据处理装置的示意图,如图5所示,该数据处理装置500,包括:获取模块501、处理模块502和确定模块503,其中:
获取模块501,用于获取进程对应的源数据序列,其中,源数据序列由已存储或预存储在N个第一内存区域中的源数据拼接形成,其中,N为大于1的正整数;
处理模块502,用于对源数据序列进行处理,获取处理后得到的目标数据序列;
确定模块503,用于基于目标数据序列,确定N个第一内存区域对应的N个分割数据,并将N个分割数据分别存储到N个第二内存区域。
本申请提出的数据处理装置,包括获取模块,用于获取进程对应的源数据序列,其中,源数据序列由已存储或预存储在N个第一内存区域中的源数据拼接形成,其中,N为大于1的正整数;处理模块,用于对源数据序列进行处理,获取处理后得到的目标数据序列;确定模块,用于基于目标数据序列,确定N个第一内存区域对应的N个分割数据,并将N个分割数据分别存储到N个第二内存区域。本申请提供的数据处理装置,避免了对数据的额外的复制过程,减小了内存开销并提升了通信性能,有利于减小计算阻塞,进而提升整个深度学习应用的性能。在设计中对通信操作进行了具有语义的抽象,有利于用户理解,用户可直接提供已处理的源数据序列,更便于二次开发。
进一步的,获取模块501,还用于:针对每个进程,获取该进程对应的已存储在N个第一内存区域中各自的源数据;对源数据进行拼接,获取拼接后形成的源数据序列。
进一步的,获取模块501,还用于:针对每个进程,获取该进程对应的N个内存标识信息;根据内存标识信息确定进程对应的N个第一内存区域;获取N个第一内存区域中各自的源数据作为该进程对应的源数据。
进一步的,获取模块501,还用于:接收客户端输入的源数据序列,其中,源数据序列中的数据为预存储的源数据。
进一步的,获取模块501,还用于:确定源数据序列对应的进程,并获取该进程对应的N个内存标识信息;根据内存标识信息确定进程对应的N个第一内存区域;根据第一内存区域的内存容量对源数据序列进行分割,获取分割后的预存储源数据;按照预存储源数据的顺序对N个第一内存区域中各自的源数据进行更新。
进一步的,确定模块503,还用于:将目标数据序列发送至客户端;接收客户端发送的每个进程对应的N个第一内存区域对应的N个分割数据,并将N个分割数据分别存储到N个第二内存区域。
进一步的,处理模块502,还用于:响应于处理为通信传输,则对源数据序列进行通信传输,获取通信传输后得到的目标数据序列。
进一步的,处理模块502,还用于:响应于处理为通信传输和计算操作,则对源数据序列进行通信传输和计算操作,获取通信传输和计算操作后得到的目标数据序列。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如数据处理方法。例如,在一些实施例中,数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的数据处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (19)
1.一种数据处理方法,包括:
获取进程对应的源数据序列,其中,所述源数据序列由已存储或预存储在N个第一内存区域中的源数据拼接形成,其中,N为大于1的正整数;
对所述源数据序列进行处理,获取处理后得到的目标数据序列;
基于所述目标数据序列,确定所述N个第一内存区域对应的N个分割数据,并将所述N个分割数据分别存储到N个第二内存区域。
2.根据权利要求1所述的方法,其中,所述获取进程对应的源数据序列,包括:
针对每个进程,获取该进程对应的已存储在N个所述第一内存区域中各自的所述源数据;
对所述源数据进行拼接,获取拼接后形成的源数据序列。
3.根据权利要求2所述的方法,其中,所述针对每个进程,获取该进程对应的已存储在N个所述第一内存区域中各自的所述源数据,包括:
针对每个进程,获取该进程对应的N个内存标识信息;
根据所述内存标识信息确定所述进程对应的N个第一内存区域;
获取所述N个第一内存区域中各自的源数据作为该进程对应的源数据。
4.根据权利要求1所述的方法,其中,所述获取进程对应的源数据序列,包括:
接收客户端输入的所述源数据序列,其中,所述源数据序列中的数据为所述预存储的源数据。
5.根据权利要求4所述的方法,其中,所述接收客户端输入的所述源数据序列之后,还包括:
确定所述源数据序列对应的进程,并获取该进程对应的N个内存标识信息;
根据所述内存标识信息确定所述进程对应的N个第一内存区域;
根据所述第一内存区域的内存容量对所述源数据序列进行分割,获取分割后的预存储源数据;
按照所述预存储源数据的顺序对所述N个第一内存区域中各自的源数据进行更新。
6.根据权利要求5所述的方法,其中,所述基于所述目标数据序列,确定所述N个第一内存区域对应的N个分割数据,并将所述N个分割数据分别存储到N个第二内存区域,包括:
将所述目标数据序列发送至所述客户端;
接收所述客户端发送的每个进程对应的所述N个第一内存区域对应的N个分割数据,并将所述N个分割数据分别存储到N个第二内存区域。
7.根据权利要求1-6中任一项所述的方法,其中,对所述源数据序列进行处理,获取处理后得到的目标数据序列,包括:
响应于所述处理为通信传输,则对所述源数据序列进行通信传输,获取通信传输后得到的所述目标数据序列。
8.根据权利要求1-6中任一项所述的方法,其中,对所述源数据序列进行处理,获取处理后得到的目标数据序列,包括:
响应于所述处理为通信传输和计算操作,则对所述源数据序列进行通信传输和计算操作,获取通信传输和计算操作后得到的所述目标数据序列。
9.一种数据处理装置,包括:
获取模块,用于获取进程对应的源数据序列,其中,所述源数据序列由已存储或预存储在N个第一内存区域中的源数据拼接形成,其中,N为大于1的正整数;
处理模块,用于对所述源数据序列进行处理,获取处理后得到的目标数据序列;
确定模块,用于基于所述目标数据序列,确定所述N个第一内存区域对应的N个分割数据,并将所述N个分割数据分别存储到N个第二内存区域。
10.根据权利要求9所述的装置,其中,所述获取模块,还用于:
针对每个进程,获取该进程对应的已存储在N个所述第一内存区域中各自的所述源数据;
对所述源数据进行拼接,获取拼接后形成的源数据序列。
11.根据权利要求10所述的装置,其中,所述获取模块,还用于:
针对每个进程,获取该进程对应的N个内存标识信息;
根据所述内存标识信息确定所述进程对应的N个第一内存区域;
获取所述N个第一内存区域中各自的源数据作为该进程对应的源数据。
12.根据权利要求9所述的装置,其中,所述获取模块,还用于:
接收客户端输入的所述源数据序列,其中,所述源数据序列中的数据为所述预存储的源数据。
13.根据权利要求9所述的装置,其中,所述获取模块,还用于:
确定所述源数据序列对应的进程,并获取该进程对应的N个内存标识信息;
根据所述内存标识信息确定所述进程对应的N个第一内存区域;
根据所述第一内存区域的内存容量对所述源数据序列进行分割,获取分割后的预存储源数据;
按照所述预存储源数据的顺序对所述N个第一内存区域中各自的源数据进行更新。
14.根据权利要求13所述的装置,其中,所述确定模块,还用于:
将所述目标数据序列发送至所述客户端;
接收所述客户端发送的每个进程对应的所述N个第一内存区域对应的N个分割数据,并将所述N个分割数据分别存储到N个第二内存区域。
15.根据权利要求9-14中任一项所述的装置,其中,所述处理模块,还用于:
响应于所述处理为通信传输,则对所述源数据序列进行通信传输,获取通信传输后得到的所述目标数据序列。
16.根据权利要求9-14中任一项所述的装置,其中,所述处理模块,还用于:
响应于所述处理为通信传输和计算操作,则对所述源数据序列进行通信传输和计算操作,获取通信传输和计算操作后得到的所述目标数据序列。
17.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-8中任一项所述的方法。
19.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211382305.4A CN115827526B (zh) | 2022-11-07 | 2022-11-07 | 数据处理方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211382305.4A CN115827526B (zh) | 2022-11-07 | 2022-11-07 | 数据处理方法、装置、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115827526A true CN115827526A (zh) | 2023-03-21 |
CN115827526B CN115827526B (zh) | 2023-10-27 |
Family
ID=85526793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211382305.4A Active CN115827526B (zh) | 2022-11-07 | 2022-11-07 | 数据处理方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115827526B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559101A (zh) * | 2013-10-15 | 2014-02-05 | 华为技术有限公司 | 一种操作系统数据的备份和还原的方法、存储设备及终端 |
CN106713415A (zh) * | 2016-11-14 | 2017-05-24 | 北京邮电大学 | 一种数据传输方法及系统 |
US20190324901A1 (en) * | 2018-04-20 | 2019-10-24 | EMC IP Holding Company LLC | Method, device and computer program product for managing distributed system |
CN110809048A (zh) * | 2019-11-08 | 2020-02-18 | 腾讯科技(深圳)有限公司 | 一种数据中转方法、装置和计算机可读存储介质 |
CN110928681A (zh) * | 2019-11-11 | 2020-03-27 | 北京明略软件系统有限公司 | 数据的处理方法和装置、存储介质及电子装置 |
CN113537508A (zh) * | 2021-06-18 | 2021-10-22 | 百度在线网络技术(北京)有限公司 | 联邦计算的处理方法、装置、电子设备和存储介质 |
CN114880115A (zh) * | 2022-04-22 | 2022-08-09 | 北京百度网讯科技有限公司 | 数据回源的调度方法、装置、电子设备及存储介质 |
US11438423B1 (en) * | 2021-07-22 | 2022-09-06 | EMC IP Holding Company LLC | Method, device, and program product for transmitting data between multiple processes |
-
2022
- 2022-11-07 CN CN202211382305.4A patent/CN115827526B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559101A (zh) * | 2013-10-15 | 2014-02-05 | 华为技术有限公司 | 一种操作系统数据的备份和还原的方法、存储设备及终端 |
CN106713415A (zh) * | 2016-11-14 | 2017-05-24 | 北京邮电大学 | 一种数据传输方法及系统 |
US20190324901A1 (en) * | 2018-04-20 | 2019-10-24 | EMC IP Holding Company LLC | Method, device and computer program product for managing distributed system |
CN110809048A (zh) * | 2019-11-08 | 2020-02-18 | 腾讯科技(深圳)有限公司 | 一种数据中转方法、装置和计算机可读存储介质 |
CN110928681A (zh) * | 2019-11-11 | 2020-03-27 | 北京明略软件系统有限公司 | 数据的处理方法和装置、存储介质及电子装置 |
CN113537508A (zh) * | 2021-06-18 | 2021-10-22 | 百度在线网络技术(北京)有限公司 | 联邦计算的处理方法、装置、电子设备和存储介质 |
US11438423B1 (en) * | 2021-07-22 | 2022-09-06 | EMC IP Holding Company LLC | Method, device, and program product for transmitting data between multiple processes |
CN114880115A (zh) * | 2022-04-22 | 2022-08-09 | 北京百度网讯科技有限公司 | 数据回源的调度方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115827526B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3540652A1 (en) | Method, device, chip and system for training neural network model | |
CN112560496A (zh) | 语义分析模型的训练方法、装置、电子设备及存储介质 | |
EP3955174A2 (en) | Method, apparatus and storage medium for training a deep learning framework | |
US20230089268A1 (en) | Semantic understanding method, electronic device, and storage medium | |
CN113344089B (zh) | 模型训练方法、装置及电子设备 | |
US20230306081A1 (en) | Method for training a point cloud processing model, method for performing instance segmentation on point cloud, and electronic device | |
EP4287074A1 (en) | Mixture-of-experts model implementation method and system, electronic device, and storage medium | |
JP7357114B2 (ja) | 生体検出モデルのトレーニング方法、装置、電子機器および記憶媒体 | |
CN114820279A (zh) | 基于多gpu的分布式深度学习方法、装置及电子设备 | |
CN114332590B (zh) | 联合感知模型训练、联合感知方法、装置、设备和介质 | |
CN112989797B (zh) | 模型训练、文本扩展方法,装置,设备以及存储介质 | |
CN113344214A (zh) | 数据处理模型的训练方法、装置、电子设备及存储介质 | |
CN115186738B (zh) | 模型训练方法、装置和存储介质 | |
CN112560936A (zh) | 模型并行训练方法、装置、设备、存储介质和程序产品 | |
CN114819095A (zh) | 业务数据处理模型的生成方法、装置及电子设备 | |
CN115827526B (zh) | 数据处理方法、装置、设备以及存储介质 | |
CN115794742A (zh) | 文件路径数据处理方法、装置、设备及存储介质 | |
CN113408304B (zh) | 文本翻译方法、装置、电子设备及存储介质 | |
CN114742035A (zh) | 基于注意力机制优化的文本处理方法、网络模型训练方法 | |
CN113361574A (zh) | 数据处理模型的训练方法、装置、电子设备及存储介质 | |
CN114118937A (zh) | 基于任务的信息推荐方法、装置、电子设备及存储介质 | |
US20210326514A1 (en) | Method for generating interpretation text, electronic device and storage medium | |
CN113362218B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US11836531B2 (en) | Method, device, and program product for managing computing system | |
US20230042838A1 (en) | Method for data processing, device, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |