CN117370488A - 数据处理方法、装置、电子设备和计算机可读存储介质 - Google Patents
数据处理方法、装置、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN117370488A CN117370488A CN202311329024.7A CN202311329024A CN117370488A CN 117370488 A CN117370488 A CN 117370488A CN 202311329024 A CN202311329024 A CN 202311329024A CN 117370488 A CN117370488 A CN 117370488A
- Authority
- CN
- China
- Prior art keywords
- data
- processing
- storage
- sub
- storage space
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 236
- 238000000034 method Methods 0.000 claims abstract description 91
- 230000008569 process Effects 0.000 claims abstract description 69
- 238000004590 computer program Methods 0.000 claims abstract description 17
- 238000013500 data storage Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据处理方法、装置、电子设备、存储介质和计算机程序产品。所述方法包括:在当前轮的数据处理过程中,对输入数据进行逻辑处理,生成处理数据,并将所述处理数据存放至存储空间中;从所述存储空间中获取存储数据,并将所述存储数据和所述处理数据进行拼接,得到拼接数据;所述存储数据是所述存储空间中除所述处理数据之外所包含的数据;将所述拼接数据作为下一轮的数据处理过程的输入数据,迭代执行所述对输入数据进行逻辑处理的步骤,直到完成至少两轮的数据处理过程,输出目标数据。采用本方法能够降低数据的存储空间占用量。
Description
技术领域
本申请涉及人工智能技术领域(AI,Artificial Intelligence),特别是涉及一种数据处理方法、装置、电子设备和计算机可读存储介质。
背景技术
在以transformer为基本结构的语言模型中,KV cache是广泛使用的方法,用来在生成下一个词的计算时避免重复计算之前已生成词对应的计算结果,从而显著加快计算速度。而在语言模型的处理过程中,会将产生的数据进行存储。
然而,传统的数据处理方法,存在数据的存储空间占用量较大的问题。
发明内容
本申请实施例提供了一种数据处理方法、装置、电子设备、计算机可读存储介质和计算机程序产品,可以降低数据的存储空间占用量。
第一方面,本申请提供了一种数据处理方法。所述方法包括:
在当前轮的数据处理过程中,对输入数据进行逻辑处理,生成处理数据,并将所述处理数据存放至存储空间中;
从所述存储空间中获取存储数据,并将所述存储数据和所述处理数据进行拼接,得到拼接数据;所述存储数据是所述存储空间中除所述处理数据之外所包含的数据;
将所述拼接数据作为下一轮的数据处理过程的输入数据,迭代执行所述对输入数据进行逻辑处理的步骤,直到完成至少两轮的数据处理过程,输出目标数据。
第二方面,本申请还提供了一种数据处理装置。所述装置包括:
逻辑处理模块,用于在当前轮的数据处理过程中,对输入数据进行逻辑处理,生成处理数据,
数据存放模块,用于将所述处理数据存放至存储空间中;
拼接模块,用于从所述存储空间中获取存储数据,并将所述存储数据和所述处理数据进行拼接,得到拼接数据;所述存储数据是所述存储空间中除所述处理数据之外所包含的数据;
所述逻辑处理模块还用于将所述拼接数据作为下一轮的数据处理过程的输入数据,迭代执行所述对输入数据进行逻辑处理的步骤,直到完成至少两轮的数据处理过程,输出目标数据。
第三方面,本申请还提供了一种电子设备。所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
在当前轮的数据处理过程中,对输入数据进行逻辑处理,生成处理数据,并将所述处理数据存放至存储空间中;
从所述存储空间中获取存储数据,并将所述存储数据和所述处理数据进行拼接,得到拼接数据;所述存储数据是所述存储空间中除所述处理数据之外所包含的数据;
将所述拼接数据作为下一轮的数据处理过程的输入数据,迭代执行所述对输入数据进行逻辑处理的步骤,直到完成至少两轮的数据处理过程,输出目标数据。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
在当前轮的数据处理过程中,对输入数据进行逻辑处理,生成处理数据,并将所述处理数据存放至存储空间中;
从所述存储空间中获取存储数据,并将所述存储数据和所述处理数据进行拼接,得到拼接数据;所述存储数据是所述存储空间中除所述处理数据之外所包含的数据;
将所述拼接数据作为下一轮的数据处理过程的输入数据,迭代执行所述对输入数据进行逻辑处理的步骤,直到完成至少两轮的数据处理过程,输出目标数据。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
在当前轮的数据处理过程中,对输入数据进行逻辑处理,生成处理数据,并将所述处理数据存放至存储空间中;
从所述存储空间中获取存储数据,并将所述存储数据和所述处理数据进行拼接,得到拼接数据;所述存储数据是所述存储空间中除所述处理数据之外所包含的数据;
将所述拼接数据作为下一轮的数据处理过程的输入数据,迭代执行所述对输入数据进行逻辑处理的步骤,直到完成至少两轮的数据处理过程,输出目标数据。
上述数据处理方法、装置、电子设备、计算机可读存储介质和计算机程序产品,在当前轮的数据处理过程中,对输入数据进行逻辑处理,生成处理数据,并将处理数据存放至存储空间中;从存储空间中获取存储数据,并将存储数据和处理数据进行拼接,得到拼接数据,该存储数据是存储空间中除处理数据之外所包含的数据;进而将拼接数据作为下一轮的数据处理过程的输入数据,迭代执行对输入数据进行逻辑处理的步骤,直到完成至少两轮的数据处理过程,输出目标数据,也即当前轮所产生的处理数据直接存放至存储空间,而下一轮的输入数据是当前轮的处理数据和存储数据拼接得到,可以避免将当前轮所产生的处理数据和旧的存储数据拼接后再存放至存储空间,而导致当前轮输出的数据在存储空间占用量较大的问题,从而降低了数据的存储空间占用量。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中数据处理方法的流程图;
图2为一个实施例中数据处理的原理框图;
图3为一个实施例中数据处理装置的结构框图;
图4为一个实施例中电子设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种数据处理方法,本实施例以该方法应用于电子设备进行举例说明,电子设备可以是终端或者服务器;可以理解的是,该方法也可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。电子设备中可以部署CPU(Central Processing Unit,中央处理器)、GPU(Graphics Processing Unit,图形处理器)或者NPU(Neural Processing Unit,神经网络处理器)等处理器硬件。
其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备、智能汽车等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本实施例中,该数据处理方法包括以下步骤:
步骤S102,在当前轮的数据处理过程中,对输入数据进行逻辑处理,生成处理数据,并将处理数据存放至存储空间中。
其中,输入数据可以为用户输入的自然语言;处理数据是对输入数据进行逻辑处理后产生的缓存数据(KV cache)。处理数据包括键值(key)和数值(value)。transformer模型结构中注意模块(attention)的三个分支分别进行计算,输出查询值(query,缩写为Q)、键值(key,缩写为K)和数值(value,缩写为V),语言模型中的KV cache是指对键值和数值的计算结果进行缓存,避免下一个词输入后模型推理进行重复计算。其中,键值和数值均复用同一个存储空间进行存储,避免分别采用不同的存储空间进行存储而导致成本高的问题。
存储空间是用于数据存储所需要的介质。示例性的,存储空间可以是张量。其中,张量占用一块连续的内存,该内存有一个起始地址。张量(Tensor)是一个定义在向量空间和对偶空间的笛卡尔积上的多重线性映射,其坐标是|n|维空间内,有|n|个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。
可选地,电子设备中调用语言模型进行数据处理,在当前轮的数据处理过程中,语言模型对输入数据进行逻辑数据,生成处理数据。其中,语言模型是一种预测下一个词的机器学习模型。语言模型可以是深度学习语言模型和大语言模型(LLM)。
可选地,在当前轮的数据处理过程中,语言模型对输入数据执行当前轮对应的逻辑处理,生成处理数据。可以理解的是,每一轮对应的逻辑处理可以相同,也可以不同。
可选地,电子设备在将处理数据存放至存储空间中之前,创建语言模型所需的目标容量的存储空间。创建语言模型所需的目标容量的存储空间,包括:根据业务场景的最大序列长度,或者语言模型支持的最大序列长度,确定目标容量,并创建语言模型所需的目标容量的存储空间。其中,目标容量可以大于或等于业务场景的最大序列长度,或者语言模型支持的最大序列长度。
可以理解的是,存储空间的目标容量较大,则语言模型的处理数据均可以存放至该存储空间中。
可选地,电子设备处理数据进行量化,将量化后的处理数据存放至存储空间中。其中,量化是一种把张量从浮点数据类型映射到整数数据类型的方法。
其中,电子设备可以将处理数据量化为float32或者float16的浮点数据,以将处理数据转换为4比特或者8比特等低比特整数的表示,从而降低处理数据的存储量大小。
步骤S104,从存储空间中获取存储数据,并将存储数据和处理数据进行拼接,得到拼接数据;存储数据是存储空间中除处理数据之外所包含的数据。
可选地,从存储空间中获取存储数据,包括:在处理数据存放至存储空间之前,从存储空间的起始地址,获取存储数据。
可以理解的是,电子设备从存储空间的起始地址,可以获取当前存储空间中包含的数据。因此,在处理数据存放至存储空间之前,从存储空间的起始地址,可以获取到除处理数据之外的存储数据。
存储数据对应于存储空间的起始地址,而处理数据存放至存储空间中的存储地址对应的空间中,也即存储数据和处理数据均复用该存储空间。
示例性的,电子设备存储空间划分为[c1,c2,c3,c4]4个子内存子块,存储空间中包含的存储数据使用整个存储空间的起始地址,也即c1的地址;第一轮数据处理过程,存储空间的存储数据为空,所产生的处理数据存放至c1子内存块中;第二轮数据处理过程,存储空间的存储数据为[c1],所产生的处理数据存放至c2子内存块中;第三轮数据处理过程,存储空间的存储数据为[c1,c2],所产生的处理数据存放至c3子内存块中,以此类推。
在一种可选的实施方式中,电子设备在将处理数据存放至存储空间之前,从存储空间中获取存储数据;该存储数据不包含当前轮的处理数据。
在另一种可选的实施方式中,电子设备在将处理数据存放至存储空间之后,从存储空间中获取除处理数据之外所包含的存储数据。可选地,电子设备在将处理数据存放至存储空间之后,可以确定存储空间中除处理数据之外所包含的存储数据的地址区间,获取地址区间内的存储数据。
可选地,电子设备将处理数据拼接至存储数据之后,得到拼接数据。可以理解的是,存储数据是在处理数据之前产生的,因此处理数据需要拼接至存储数据之后。
若当前轮的数据处理过程为第一轮的数据处理过程,则直接将处理数据作为下一轮的数据处理过程的输入数据。
步骤S106,将拼接数据作为下一轮的数据处理过程的输入数据,迭代执行对输入数据进行逻辑处理的步骤,直到完成至少两轮的数据处理过程,输出目标数据。
可选地,电子设备拼接数据作为下一轮的数据处理过程的输入数据,迭代执行对输入数据进行逻辑处理,生成新的处理数据,并将新的处理数据存放至存储空间中,以此类推,直到完成至少两轮的数据处理过程,将最后一轮的数据处理过程所产生的处理数据作为目标数据,输出目标图像。
上述数据处理方法,在当前轮的数据处理过程中,对输入数据进行逻辑处理,生成处理数据,并将处理数据存放至存储空间中;从存储空间中获取存储数据,并将存储数据和处理数据进行拼接,得到拼接数据,该存储数据是存储空间中除处理数据之外所包含的数据;进而将拼接数据作为下一轮的数据处理过程的输入数据,迭代执行对输入数据进行逻辑处理的步骤,直到完成至少两轮的数据处理过程,输出目标数据,也即当前轮所产生的处理数据直接存放至存储空间,而下一轮的输入数据是当前轮的处理数据和存储数据拼接得到,可以避免将当前轮所产生的处理数据和旧的存储数据拼接后再存放至存储空间,而导致当前轮输出的数据在存储空间占用量较大的问题,同时也可以拷贝旧的存储数据而导致存放至存储空间中的数据较大的问题,从而降低了存放至存储空间的数据的内存拷贝量,也同时降低了数据的存储空间占用量;并且降低了数据的存储空间占用量也有助于模型计算性能的提升。
在一个实施例中,将第一处理数据存放至存储空间中,包括:确定处理数据的存储地址;在存储空间中,当前轮的存储地址处于下一轮的存储地址之前;将处理数据,存放至当前轮的存储地址对应的空间中。
可选地,电子设备获取用户的输入指令,基于该输入指令确定处理数据的存储地址。可选地,电子设备还可以采用其他方式确定处理数据的存储地址,在此不做限定。
可选地,确定第一处理数据的存储地址,包括:确定当前轮的地址偏置;根据存储空间的起始地址和地址偏置,确定处理数据的存储地址。
其中,地址偏置是相对于起始地址的偏置。
在一种可选的实施方式中,电子设备将存储空间的起始地址加上地址偏置,确定处理数据的存储地址。在另一种可选的实施方式中,电子设备将存储空间的起始地址乘以地址偏置,确定处理数据的存储地址。在其他可选的实施方式中,电子设备还可以采用其他方式确定存储地址,使得当前轮的存储地址处于下一轮的存储地址之前。
可选地,确定当前轮对应的地址偏置,包括:确定存储空间中存储数据的空间占用量;基于空间占用量,确定当前轮的地址偏置。
可选地,电子设备确定存储空间中存储数据的序列长度(seq),将该序列长度乘以比例系数,得到存储数据的空间占用量。比例系数可以根据需要进行设置。
可以理解的是,因为在语言模型进行逻辑处理时,存储空间中存储数据的序列长度不断变长,因此每一轮的存储数据会不断增加,但是每次增加的部分为上一轮所产生的处理数据,而其他数据保持不变。示例性的,当前轮的存储数据为[c1,c2,c3],产生的处理数据为c4,则将存储数据和处理拼接得到拼接数据[c1,c2,c3,c4],并将该拼接数据[c1,c2,c3,c4]作为下一轮的数据处理过程的输入数据,并且,下一轮的存储空间中的存储数据为[c1,c2,c3,c4]。
在一种可选的实施方式中,电子设备将该存储数据的空间占用量(实际占用空间大小)确定为当前轮的地址偏置。在另一种可选的实施方式中,电子设备将空间占用量乘以目标权重因子,得到当前轮的地址偏置。在其他可选的实施方式中,电子设备还可以用其他方式确定当前轮的地址偏置,在此不做限定。
可以理解的是,随着每一轮的处理数据存放至存储空间中,则存储空间中的存储数据的空间占用量也越来越大,那么当前轮的地址偏置也越来越大,从而可以使得确定的当前轮的存储地址处于下一轮的存储地址之前,从而更准确地存放处理数据。
可选地,电子设备可以把该存储空间的内存划分为至少两个子内存块,将处理数据存放至当前轮的存储地址对应的子内存块的空间中。示例性的,存储空间划分为[c1,c2,c3,c4]4个子内存块,第一轮所产生的处理数据写入到c1子内存块中,第二轮所产生的处理数据写入到c2子内存块中,以此类推。
在本实施例中,电子设备确定处理数据的存储地址,在存储空间中,当前轮的存储地址处于下一轮的存储地址之前;那么,将处理数据,可以更准确地存放至当前轮的存储地址对应的空间中,使得每一轮的处理数据更准确地存放至存储空间中。进一步地,确定存储空间中存储数据的空间占用量,基于该空间占用量,可以更准确地确定当前轮的地址偏置,从而更准确地确定处理数据的存储地址。
在一个实施例中,如图2所示,电子设备调用语言模型进行数据处理,以语言模型执行两轮的数据处理过程为例进行说明;在当前轮的数据处理过程中,语言模型对输入数据执行计算逻辑1,生成处理数据;在处理数据存放至存储空间之前,从存储空间的起始地址,获取存储数据;将处理数据存放至当前轮的存储地址对应的存储空间的子内存块中;将存储数据和处理数据进行拼接,得到拼接数据;进入下一轮的数据处理过程,对拼接数据执行计算逻辑2,生成下一轮的处理数据,并将下一轮的数据处理作为目标数据,输出目标数据。
在一个实施例中,存储空间的数据排布格式包括第一子参数和第二子参数,第一子参数表征语言模型并行处理输入语句的数量,第二子参数表征存储空间中包含的存储数据的长度;在在当前轮的数据处理过程中,对输入数据进行逻辑处理,生成处理数据之前,还包括:若第一子参数大于或等于2,则确定第一子参数和第二子参数在数据排布格式中的排列顺序;若排列顺序表示第一子参数处于第二子参数之前,则对数据排布格式中的第一子参数和第二子参数进行重排序,得到重排序后的数据排布格式;重排序后的数据排布格式,用于对存放至存储空间中的数据进行排布。
可选地,存储空间的数据排布格式还包括第三子参数,第三子参数表征语言模型(深度学习模型)隐空间的张量的维度大小。
示例性的,存储空间的数据排布格式为[batch,seq,hidden],其中,batch是第一子参数,表征语言模型并行处理输入语句的数量,seq是第二子参数,表征存储空间中包含的存储数据的长度,hidden是第三子参数,表征语言模型(深度学习模型)隐空间的张量的维度大小。其中,第一子参数和第三子参数是语言模型的固定参数,而第二子参数随着数据处理过程增大。seq一般用token来定量评价;示例性的,输入为10个token;一个英文单词可能拆分为多个token,或者一个token可以表示1个汉字或者多个汉字组成的词语。
可选地,电子设备检测存储空间的数据排布格式是否满足目标条件,若满足目标条件则执行在当前轮的数据处理过程中,对输入数据进行逻辑处理,生成处理数据;若不满足目标条件则对数据排布格式进行重排序,得到重排序后的数据排布格式,执行在当前轮的数据处理过程中,对输入数据进行逻辑处理,生成处理数据,并将处理数据存放至重排序后的数据排布格式的存储空间中。
其中,目标条件可以是新产生的处理数据存放至存储空间中的存储数据之后。具体地,目标条件可以包括第一子参数为1,或者第一子参数大于或等于2且第二子参数处于第一子参数之前。
可选地,电子设备确定语言模型并行处理输入语句的数量,得到第一子参数;若第一子参数为1,则执行在当前轮的数据处理过程中,对输入数据进行逻辑处理,生成处理数据;若第一子参数大于或等于2,则确定第一子参数和第二子参数在数据排布格式中的排列顺序;若排列顺序表示第一子参数处于第二子参数之前,则对数据排布格式中的第一子参数和第二子参数进行重排序,得到重排序后的数据排布格式。
可选地,对数据排布格式中的第一子参数和第二子参数进行重排序,得到重排序后的数据排布格式,包括:在数据排布格式中,将第二子参数处于第一子参数之前,得到重排序后的数据排布格式。
可以理解的是,存储空间中各个处理数据在排布时按照数据排布格式中各个子参数的排列顺序的先后顺序进行排布。示例性的,存储空间的数据排布格式为[batch,seq,hidden],则先按照batch的大小进行对各个处理数据进行排布,batch相同的则按照seq的大小进行排布。
若第一子参数大于或等于2,且排列顺序表示第一子参数处于第二子参数之前,那么各个处理数据在以数据排布格式进行排布时,首先按照第一子参数进行排布,然而第一子参数大于或等于2,可能导致后序产生的处理数据排布于前序产生的处理数据,引发数据的混乱而导致数据处理不准确。因此,若第一子参数大于或等于2,且排列顺序表示第一子参数处于第二子参数之前,电子设备需要将第二子参数处于第一子参数之前,而第二子参数表征存储空间中包含的存储数据的长度,后序产生的处理数据时对应的存储空间包含的存储数据的长度,必然大于前序产生的处理数据时对应的存储空间包含的存储数据的长度,因此各个处理数据在以数据排布格式进行排布时,首先按照第二子参数进行排布,可以保证前序产生的处理数据排布于后序产生的处理数据,从而提高了数据处理的准确性。
在一个实施例中,还提供了另一种数据处理方法,应用于电子设备,该数据处理方法包括以下步骤:
存储空间的数据排布格式包括第一子参数和第二子参数,第一子参数表征语言模型并行处理输入语句的数量,第二子参数表征存储空间中包含的存储数据的长度;
在在当前轮的数据处理过程中,对输入数据进行逻辑处理,生成处理数据之前,还包括:
步骤A1,若第一子参数大于或等于2,则确定第一子参数和第二子参数在数据排布格式中的排列顺序;若排列顺序表示第一子参数处于第二子参数之前,则在数据排布格式中,将第二子参数处于第一子参数之前,得到重排序后的数据排布格式;重排序后的数据排布格式,用于对存放至存储空间中的数据进行排布。
步骤A2,在当前轮的数据处理过程中,对输入数据进行逻辑处理,生成处理数据,并确定存储空间中存储数据的空间占用量;基于空间占用量,确定当前轮的地址偏置;根据存储空间的起始地址和地址偏置,确定处理数据的存储地址;在存储空间中,当前轮的存储地址处于下一轮的存储地址之前;
步骤A3,在处理数据存放至存储空间之前,从存储空间的起始地址,获取存储数据。
步骤A4,将处理数据,存放至当前轮的存储地址对应的空间中。
步骤A5,将存储数据和处理数据进行拼接,得到拼接数据;存储数据是存储空间中除处理数据之外所包含的数据。
步骤A6,将拼接数据作为下一轮的数据处理过程的输入数据,迭代执行对输入数据进行逻辑处理的步骤,直到完成至少两轮的数据处理过程,输出目标数据。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据处理方法的数据处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据处理装置实施例中的具体限定可以参见上文中对于数据处理方法的限定,在此不再赘述。
在一个实施例中,如图3所示,提供了一种数据处理装置,包括:逻辑处理模块302、数据存放模块304和拼接模块306,其中:
逻辑处理模块302,用于在当前轮的数据处理过程中,对输入数据进行逻辑处理,生成处理数据。
数据存放模块304,用于将处理数据存放至存储空间中。
拼接模块306,用于从存储空间中获取存储数据,并将存储数据和处理数据进行拼接,得到拼接数据;存储数据是存储空间中除处理数据之外所包含的数据。
逻辑处理模块302还用于将拼接数据作为下一轮的数据处理过程的输入数据,迭代执行对输入数据进行逻辑处理的步骤,直到完成至少两轮的数据处理过程,输出目标数据。
上述数据处理装置,在当前轮的数据处理过程中,对输入数据进行逻辑处理,生成处理数据,并将处理数据存放至存储空间中;从存储空间中获取存储数据,并将存储数据和处理数据进行拼接,得到拼接数据,该存储数据是存储空间中除处理数据之外所包含的数据;进而将拼接数据作为下一轮的数据处理过程的输入数据,迭代执行对输入数据进行逻辑处理的步骤,直到完成至少两轮的数据处理过程,输出目标数据,也即当前轮所产生的处理数据直接存放至存储空间,而下一轮的输入数据是当前轮的处理数据和存储数据拼接得到,可以避免将当前轮所产生的处理数据和存储数据拼接后再存放至存储空间,而导致当前轮输出的数据在存储空间占用量较大的问题,从而降低了数据的存储空间占用量。
在一个实施例中,上述数据存放模块304还用于确定处理数据的存储地址;在存储空间中,当前轮的存储地址处于下一轮的存储地址之前;将处理数据,存放至当前轮的存储地址对应的空间中。
在一个实施例中,上述数据存放模块304还用于确定当前轮的地址偏置;根据存储空间的起始地址和地址偏置,确定处理数据的存储地址。
在一个实施例中,上述数据存放模块304还用于确定存储空间中存储数据的空间占用量;基于空间占用量,确定当前轮的地址偏置。
在一个实施例中,存储空间的数据排布格式包括第一子参数和第二子参数,第一子参数表征语言模型并行处理输入语句的数量,第二子参数表征存储空间中包含的存储数据的长度;上述装置还包括格式重排序模块,该格式重排序模块用于若第一子参数大于或等于2,则确定第一子参数和第二子参数在数据排布格式中的排列顺序;若排列顺序表示第一子参数处于第二子参数之前,则对数据排布格式中的第一子参数和第二子参数进行重排序,得到重排序后的数据排布格式;重排序后的数据排布格式,用于对存放至存储空间中的数据进行排布。
在一个实施例中,上述格式重排序模块还用于在数据排布格式中,将第二子参数处于第一子参数之前,得到重排序后的数据排布格式。
在一个实施例中,上述拼接模块306还用于在处理数据存放至存储空间之前,从存储空间的起始地址,获取存储数据。
上述数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子设备中的处理器中,也可以以软件形式存储于电子设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种电子设备,该电子设备可以是终端,其内部结构图可以如图4所示。该电子设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的输入/输出接口用于处理器与外部设备之间交换信息。该电子设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据处理方法。该电子设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行数据处理方法的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行数据处理方法。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要符合相关规定。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
在当前轮的数据处理过程中,对输入数据进行逻辑处理,生成处理数据,并将所述处理数据存放至存储空间中;
从所述存储空间中获取存储数据,并将所述存储数据和所述处理数据进行拼接,得到拼接数据;所述存储数据是所述存储空间中除所述处理数据之外所包含的数据;
将所述拼接数据作为下一轮的数据处理过程的输入数据,迭代执行所述对输入数据进行逻辑处理的步骤,直到完成至少两轮的数据处理过程,输出目标数据。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一处理数据存放至存储空间中,包括:
确定所述处理数据的存储地址;在存储空间中,当前轮的存储地址处于下一轮的存储地址之前;
将所述处理数据,存放至当前轮的所述存储地址对应的空间中。
3.根据权利要求2所述的方法,其特征在于,所述确定所述第一处理数据的存储地址,包括:
确定当前轮的地址偏置;
根据所述存储空间的起始地址和所述地址偏置,确定所述处理数据的存储地址。
4.根据权利要求3所述的方法,其特征在于,所述确定当前轮对应的地址偏置,包括:
确定所述存储空间中存储数据的空间占用量;
基于所述空间占用量,确定当前轮的地址偏置。
5.根据权利要求1所述的方法,其特征在于,所述存储空间的数据排布格式包括第一子参数和第二子参数,所述第一子参数表征语言模型并行处理输入语句的数量,所述第二子参数表征所述存储空间中包含的存储数据的长度;
在所述在当前轮的数据处理过程中,对输入数据进行逻辑处理,生成处理数据之前,还包括:
若所述第一子参数大于或等于2,则确定所述第一子参数和所述第二子参数在所述数据排布格式中的排列顺序;
若所述排列顺序表示所述第一子参数处于所述第二子参数之前,则对所述数据排布格式中的所述第一子参数和所述第二子参数进行重排序,得到重排序后的数据排布格式;所述重排序后的数据排布格式,用于对存放至所述存储空间中的数据进行排布。
6.根据权利要求5所述的方法,其特征在于,所述对所述数据排布格式中的所述第一子参数和所述第二子参数进行重排序,得到重排序后的数据排布格式,包括:
在所述数据排布格式中,将所述第二子参数处于所述第一子参数之前,得到重排序后的数据排布格式。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述从所述存储空间中获取存储数据,包括:
在所述处理数据存放至所述存储空间之前,从所述存储空间的起始地址,获取存储数据。
8.一种数据处理装置,其特征在于,包括:
逻辑处理模块,用于在当前轮的数据处理过程中,对输入数据进行逻辑处理,生成处理数据,
数据存放模块,用于将所述处理数据存放至存储空间中;
拼接模块,用于从所述存储空间中获取存储数据,并将所述存储数据和所述处理数据进行拼接,得到拼接数据;所述存储数据是所述存储空间中除所述处理数据之外所包含的数据;
所述逻辑处理模块还用于将所述拼接数据作为下一轮的数据处理过程的输入数据,迭代执行所述对输入数据进行逻辑处理的步骤,直到完成至少两轮的数据处理过程,输出目标数据。
9.一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,其特征在于,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述的数据处理方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311329024.7A CN117370488A (zh) | 2023-10-13 | 2023-10-13 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311329024.7A CN117370488A (zh) | 2023-10-13 | 2023-10-13 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117370488A true CN117370488A (zh) | 2024-01-09 |
Family
ID=89388596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311329024.7A Pending CN117370488A (zh) | 2023-10-13 | 2023-10-13 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117370488A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118094037A (zh) * | 2024-04-12 | 2024-05-28 | 清华大学 | 大语言模型的显存管理方法、装置、电子设备及存储介质 |
-
2023
- 2023-10-13 CN CN202311329024.7A patent/CN117370488A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118094037A (zh) * | 2024-04-12 | 2024-05-28 | 清华大学 | 大语言模型的显存管理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2767447C2 (ru) | Процессор нейронной сети, использующий сжатие и распаковку данных активации для снижения использования пропускной способности памяти | |
CN110321958B (zh) | 神经网络模型的训练方法、视频相似度确定方法 | |
CN109857744B (zh) | 稀疏张量计算方法、装置、设备及存储介质 | |
CN109993293B (zh) | 一种适用于堆叠式沙漏网络的深度学习加速器 | |
CN110909527A (zh) | 文本处理模型的运行方法、装置、电子设备、及存储介质 | |
US20210019570A1 (en) | Dynamic minibatch sizes | |
CN111221827B (zh) | 基于图形处理器的数据库表连接方法、装置、计算机设备和存储介质 | |
CN117332766A (zh) | 流程图生成方法、装置、计算机设备和存储介质 | |
CN116051345A (zh) | 图像数据处理方法、装置、计算机设备及可读存储介质 | |
CN116957006A (zh) | 预测模型的训练方法、装置、设备、介质及程序产品 | |
CN117370488A (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN112612427B (zh) | 一种车辆停靠点数据处理方法、装置、存储介质及终端 | |
CN112668659A (zh) | 模型训练方法、平台和电子设备 | |
CN115456858B (zh) | 图像处理方法、装置、计算机设备及计算机可读存储介质 | |
CN111832692A (zh) | 数据处理方法、装置、终端及存储介质 | |
CN117785759B (zh) | 数据存储方法、数据读取方法、电子设备和存储介质 | |
CN118153552A (zh) | 数据解析方法、装置、计算机设备和存储介质 | |
CN116910115A (zh) | 客群查询方法、装置、计算机设备和存储介质 | |
CN116049350A (zh) | 数据检索方法、装置、计算机设备和存储介质 | |
CN116029026A (zh) | 模型文件处理方法、装置、设备、存储介质和程序产品 | |
CN118193396A (zh) | 测试方法、装置、计算机设备、存储介质和程序产品 | |
CN117009375A (zh) | 一种数据处理方法、装置及电子设备 | |
CN118229509A (zh) | 一种适用dsp的图像处理优化方法、系统、设备及介质 | |
CN116185305A (zh) | 业务数据存储方法、装置、计算机设备和存储介质 | |
CN116431630A (zh) | 一种基于隐私计算的数据处理方法及相关设备 |
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 |