CN118244993A - 数据存储方法、数据处理方法及装置、电子设备、介质 - Google Patents
数据存储方法、数据处理方法及装置、电子设备、介质 Download PDFInfo
- Publication number
- CN118244993A CN118244993A CN202410636185.9A CN202410636185A CN118244993A CN 118244993 A CN118244993 A CN 118244993A CN 202410636185 A CN202410636185 A CN 202410636185A CN 118244993 A CN118244993 A CN 118244993A
- Authority
- CN
- China
- Prior art keywords
- data
- pieces
- bits
- storage space
- preset condition
- 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
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000013500 data storage Methods 0.000 title claims abstract description 39
- 238000003672 processing method Methods 0.000 title abstract description 18
- 238000003860 storage Methods 0.000 claims abstract description 80
- 238000007906 compression Methods 0.000 claims abstract description 19
- 230000006835 compression Effects 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims description 52
- 238000009826 distribution Methods 0.000 claims description 47
- 238000013528 artificial neural network Methods 0.000 claims description 32
- 230000004913 activation Effects 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 17
- 238000007667 floating Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 12
- 230000002829 reductive effect Effects 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 22
- 238000004422 calculation algorithm Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 210000002569 neuron Anatomy 0.000 description 7
- 238000013144 data compression Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本公开提供了一种数据存储方法、数据处理方法及装置、电子设备、介质,该方法包括:对待存储的m个第一数据分别进行拆分,得到m个第二数据和m个第三数据;对m个第二数据进行压缩编码,得到与m个第二数据对应的第四数据;将第四数据存储于第一存储空间,并将m个第三数据存储于第二存储空间。根据本公开的实施例能够降低对存储空间的占用,提升存储空间的利用效率。
Description
技术领域
本公开涉及计算机技术领域,特别涉及一种数据存储方法、数据处理方法及装置、电子设备、介质。
背景技术
神经网络一般由多个网络层构成,每个网络层中通常包含有多个神经元,每一网络层中的神经元都会与前一层的神经元或输入数据相连,神经网络在前向传播过程中,每一网络层在处理计算任务的过程中,通常需要先读取存储空间中存储的前一网络层中神经元输出的多个激活值,并基于该多个激活值和自身神经元的权重进行计算,得到自身的输出数据。
由于神经网络,尤其复杂结构的神经网络中各网络层包含的神经元较多,因此,在神经网络执行计算任务时,针对前向传播过程中每一网络层输出的激活值均需要进行存储,存在对存储空间的占用较多的问题。
发明内容
本公开提供一种数据存储方法、数据处理方法及装置、电子设备、介质。
第一方面,本公开提供了一种数据存储方法,该数据存储方法包括:
对待存储的m个第一数据分别进行拆分,得到m个第二数据和m个第三数据,其中,所述m个第二数据的取值分布满足预设条件,所述m个第三数据的取值分布不满足所述预设条件,所述预设条件包括:数值的取值分布的熵值小于预设阈值,m>1;
对所述m个第二数据进行压缩编码,得到与所述m个第二数据对应的第四数据,其中,所述第四数据的数据量小于所述m个第二数据的数据量;
将所述第四数据存储于第一存储空间,并将所述m个第三数据存储于第二存储空间。
第二方面,本公开提供了一种数据处理方法,该数据处理方法包括:
在神经网络执行目标处理任务的情况下,针对所述神经网络的第一网络层,从第一存储空间读取第四数据,并从第二存储空间读取m个第三数据,其中,所述第四数据和所述m个第三数据是根据上述第一方面的数据存储方法对m个第一数据进行存储后得到的,所述m个第一数据为所述第一网络层在前向传播过程中输出的m个激活值;
对所述第四数据进行解压缩处理,得到m个第二数据;
根据所述m个第二数据和所述m个第三数据,生成所述m个第一数据;
将所述m个第一数据作为所述神经网络的第二网络层的输入数据,基于所述第二网络层对所述输入数据进行处理,得到所述第二网络层的输出数据。
第三方面,本公开提供了一种数据存储装置,该数据存储装置包括:
数据拆分模块,用于对待存储的m个第一数据分别进行拆分,得到m个第二数据和m个第三数据,其中,所述m个第二数据的取值分布满足预设条件,所述m个第三数据的取值分布不满足所述预设条件,所述预设条件包括:数值的取值分布的熵值小于预设阈值,m>1;
数据编码模块,用于对所述m个第二数据进行压缩编码,得到与所述m个第二数据对应的第四数据,其中,所述第四数据的数据量小于所述m个第二数据的数据量;
数据存储模块,用于将所述第四数据存储于第一存储空间,并将所述m个第三数据存储于第二存储空间。
第四方面,本公开提供了一种数据处理装置,该数据处理装置包括:
数据读取模块,用于在神经网络执行目标处理任务的情况下,针对所述神经网络的第一网络层,从第一存储空间读取第四数据,并从第二存储空间读取m个第三数据,其中,所述第四数据和所述m个第三数据是根据上述第一方面的数据存储方法对m个第一数据进行存储后得到的,所述m个第一数据为所述第一网络层在前向传播过程中输出的m个激活值;
数据解压模块,用于对所述第四数据进行解压缩处理,得到m个第二数据;
数据生成模块,用于根据所述m个第二数据和所述m个第三数据,生成所述m个第一数据;
数据处理模块,用于将所述m个第一数据作为所述神经网络的第二网络层的输入数据,基于所述第二网络层对所述输入数据进行处理,得到所述第二网络层的输出数据。
第五方面,本公开提供了一种电子设备,该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序,一个或多个所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面的数据存储方法或上述第二方面的数据处理方法。
第六方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现上述第一方面的数据存储方法或上述第二方面的数据处理方法。
本公开所提供的实施例,考虑到针对m个第一数据,其整体取值分布虽然并不满足进行数据压缩的预设条件,该预设条件例如可以为:数值的取值分布的熵值小于预设阈值,然而,在将数据进行局部拆分的情况下,拆分后的数据可能存在满足进行数据压缩的预设条件,因此,通过分别对每个第一数据中进行拆分,得到第一数据中取值分布满足预设条件的数据作为第二数据以及不满足该预设条件的数据作为第三数据,之后,通过对满足预设条件的第二数据进行压缩编码,就可以将m个第一数据中取值分布可以被压缩的部分进行压缩,例如,可以将m个第一数据中数值的取值分布的熵值小于预设阈值的部分进行压缩,从而得到数据量小于原始的m个第二数据的数据量的第四数据,这样,相较于直接存储m个第一数据所需要耗费的存储空间,通过分别存储压缩后的第四数据以及该m个第三数据,可以降低对存储空间的过多占用,提升存储空间的利用效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1为本公开实施例提供的一种数据存储方法的流程图;
图2为本公开实施例提供的数据拆分处理的流程图;
图3为本公开实施例提供的浮点型数据的数据位示意图;
图4为本公开实施例提供的压缩编码处理的流程图;
图5a为本公开实施例提供的差分处理的第一示意图;
图5b为本公开实施例提供的差分处理的第二示意图;
图6为本公开实施例提供的数据处理方法的流程图;
图7为本公开实施例提供的一种数据存储装置的框图;
图8为本公开实施例提供的一种数据处理装置的框图;
图9为本公开实施例提供的一种电子设备的框图。
具体实施方式
为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
电子设备在执行计算任务的情况下,针对一组数据,通常可以直接对该组数据进行存储,并在需要用到该组数据时,再从存储空间中读取该组数据进行使用,在数据的数据量较小或硬件资源充足的情况下,该种针对数据直接存储的方式并不会对存储带来负载;而在数据量较大或硬件资源不足的情况下,该种针对数据直接存储的方式则通常会对存储带来较大负载,影响存储空间的利用效率。例如,在神经网络执行计算任务的情况下,其在前向传播的过程中,每一网络层均可能输出多个激活值,若针对每一网络层的该多个激活值均采用直接存储的方式进行存储,则往往会占用较多存储空间,影响存储空间的利用效率。
在相关技术中,为了降低一组数据对存储空间的过多占用,通常考虑使用压缩算法对数据进行压缩,以降低需要存储的数据量。
例如,基于 LZW(Lempel-Ziv-Welch Encoding)编码算法,该算法是通过建立一个字符转换表,以根据该字符转换表将输入字符串映射为可变长度的码字。在基于该LZW编码算法对数据进行编码的过程中,如果当前字符在字符转换表中,则直接使用其在字典中对应的编码;如果当前字符不在字符转换表中,则将其加入字典,并使用一个特殊的编码来表示。通过这种方式实现对数据的压缩,以降低需要存储的数据量。
另一个例子是基于 Huffman 编码的压缩算法,该算法使用变长编码表对来源符号进行编码。这个编码表是根据符号的频率来构建的,出现频率高的符号通常使用较短的编码。Huffman 编码的构建通常包括构建 Huffman 树的过程,其中频率较低的符号位于树的较深位置,频率较高的符号位于树的较浅位置,从而使编码之后的字符串的平均长度期望值降低,以达到数据压缩的目的。
当然,相关技术中也存在其他针对一组数据进行压缩的压缩算法,然而,如上述对于LZW编码算法以及霍夫曼编码算法的简单说明所示,该类算法通常均要求待存储的一组数据满足一定的规律,例如,LZW编码算法需要一组数据中存在可以被进行随机编码的较多字符串,而若是该组数据中的字符均是随机的,则基于LZW编码算法可能并不能降低数据量;而在基于霍夫曼编码算法对一组数据进行编码压缩时,其同样对该组数据中字符的出现几率,即频次存在要求,若该组数据中字符的出现完全是随机的,则其同样可能并不能降低数据量。
有鉴于此,在本公开实施例提供的数据存储方法中,考虑到针对m个第一数据,其整体取值分布虽然并不满足进行数据压缩的预设条件,该预设条件例如可以为:数值的取值分布的熵值小于预设阈值,然而,在将数据进行局部拆分的情况下,拆分后的数据可能存在满足进行数据压缩的预设条件,因此,通过分别对每个第一数据进行拆分,得到第一数据中取值分布满足预设条件的数据作为第二数据以及不满足该预设条件的数据作为第三数据,之后,通过对满足预设条件的第二数据进行压缩编码,就可以将m个第一数据中取值分布可以被压缩的部分进行压缩,例如,可以将m个第一数据中数值的取值分布的熵值小于预设阈值的部分进行压缩,从而得到数据量小于原始的m个第二数据的数据量的第四数据,这样,相较于直接存储m个第一数据所需要耗费的存储空间,通过分别存储压缩后的第四数据以及该m个第三数据,可以降低对存储空间的过多占用,提升存储空间的利用效率。
根据本公开实施例的数据存储方法以及数据处理方法可以由终端设备或服务器等电子设备执行,终端设备可以为车载设备、用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等,所述方法可以通过处理器调用存储器中存储的计算机可读程序指令的方式来实现。或者,可通过服务器执行所述方法。
图1为本公开实施例提供的一种数据存储方法的流程图。参照图1,该方法包括:
在步骤S11中,对待存储的m个第一数据分别进行拆分,得到m个第二数据和m个第三数据;
其中,m个第二数据的取值分布满足预设条件,m个第三数据的取值分布不满足预设条件,m>1,该预设条件例如可以包括:数值的取值分布的熵值小于预设阈值。
在本公开实施例中,该m个第一数据,可以是电子设备执行计算任务过程中生成或获取到的一组数据,例如,该第一数据可以为神经网络前向传播过程中的激活值;其中,该神经网络可以用于执行目标处理任务,该目标处理任务可以为图像处理任务、语音处理任务、文本处理任务、视频处理任务中的任意一种。当然,第一数据也可以为神经网络各网络层的神经元的权重值,或者也可以根据需要进行设置,此处不做特殊限定。
在本公开实施例中,第一数据可以为包括至少一个数据位的任意类型的数据。需要说明的是,本公开实施例中的数据位,可以用于表示单个数据中的一部分数据。
例如,在第一数据为浮点型数据(Floating Point Value)的情况下,其可以包括指数位、有效数字位(也称尾数位)以及符号位,指数位用于表示该浮点型数据的指数部分的数值,符号位用于表示该浮点型数据的符号部分,有效数字位用于表示该浮点型数据的有效数字部分,例如,针对浮点型数据“-9.625”,其符号位为“1”,指数位为“10000010”,有效数字位为“0011010000000000000”;当然,第一数据也可以为由多个数据字段构成的数据,每个数据字段可以视为该数据的一个数据位,例如,第一数据可以是由“编号”、“姓名”两个数据字段构成的数据,则针对“0010user01”,其“编号”数据位为“0010”,其“姓名”数据位为“user01”。
需要说明的是,在本公开实施例中,上述预设条件,是用于判断数值的取值分布是否满足被数据压缩的条件,该预设条件例如可以为上述说明中所述的数值的取值分布的熵值小于预设阈值,该预设阈值可以根据需要进行设置;又例如,该预设条件可以为:数值中预设长度的字符串的出现频次或概率大于预设阈值,在实际实施时,该预设条件也可以根据需要进行设置,此处不做特殊限定。
在步骤S12中,对m个第二数据进行压缩编码,得到与m个第二数据对应的第四数据,其中,第四数据的数据量小于m个第二数据的数据量;
在步骤S13中,将第四数据存储于第一存储空间,并将m个第三数据存储于第二存储空间。
在本公开实施例中,该第一存储空间和第二存储空间可以为任意不同的两处存储空间,本公开实施例不对此做特殊限定。
可见,根据本公开的实施例,通过分别对每个第一数据中进行拆分,得到第一数据中取值分布满足预设条件,例如数值的取值分布的熵值小于预设阈值的数据作为第二数据以及不满足该预设条件的数据作为第三数据,之后,通过对满足预设条件的第二数据进行压缩编码,就可以将m个第一数据中取值分布可以被压缩的部分进行压缩,得到数据量小于原始的m个第二数据的数据量的第四数据,这样,相较于直接存储m个第一数据所需要耗费的存储空间,通过分别存储压缩后的第四数据以及该m个第三数据,可以降低对存储空间的过多占用,提升存储空间的利用效率。
图2为本公开实施例提供的数据拆分处理的流程图。在一些可能的实现方式中,第一数据可以包括多个数据位;参照图2,在该种实施方式中,在步骤S11中,所述对待存储的m个第一数据分别进行拆分,得到m个第二数据和m个第三数据,可以包括:
在步骤S111中,针对任一第一数据,将第一数据的数据位中满足预设条件的数据位,作为与第一数据对应的第二数据;
在步骤S112中,将第一数据中除第二数据以外的数据位,作为与第一数据对应的第三数据。
在信息论中,熵,通常可以用来描述信源的不确定性的大小,通常熵值可以为信息熵、交叉熵、相对熵、条件熵等中的任一种,在本公开实施例中,数值的取值分布的熵值可以是获取多个数值的信息熵,或者也可以根据需要进行设置,此处不做特殊限定。
即,在本公开实施例中,针对m个第一数据中的不同数据位,可以对不同类别的数据位中的数据进行拆分,之后,通过分别求取每一类别的数据位中数值的取值分布的熵值,并将其与预设阈值比较,若某一类别的数据位中数值的取值分布的熵值较低,则说明其数值较为稳定,其取值分布通常处于一定的数据范围之内,因此,可以考虑将该类别的数据位中数据作为第二数据。
以m为10,第一数据分别包括数据位1和数据位2为例,则可以从10个数据中,拆分数据位1的数值,得到与该10个数据对应的10个子数据1,以及拆分数据位2的数值,得到与该10个数据对应的10个子数据2,若计算得到10个子数据1的取值分布的熵值为e1,10个子数据2的取值分布的熵值为e2,且e1小于预设阈值,e2大于该预设阈值,则可以将该10个子数据1视为本公开实施例中的第二数据,将该10个子数据2视为本公开实施例中的第三数据。
由于该10个子数据1的熵值较低,即,其数值的取值分布通常处于一定数据范围内,因此,可以对该10个子数据1进行压缩编码,例如,使用相关技术中的LZW编码算法或霍夫曼编码算法等对该部分数据进行编码,得到数据量远小于该10个子数据1的第四数据,之后通过分别存储该第四数据以及该10个子数据2,即可降低数据存储量,达到有效利用存储空间的效果。
在一些可能的实现方式中,m个第一数据可以为浮点型数据,数据位可以包括指数位;在该种实施方式中,步骤S111中所述的将第一数据的数据位中满足预设条件的数据位,作为与第一数据对应的第二数据,包括:将第一数据的指数位作为第二数据;步骤S112中所述的将第一数据中除第二数据以外的数据位,作为与第一数据对应的第三数据,包括:将第一数据中除指数位以外的数据位作为第三数据。
具体地,参照图3,其为本公开实施例提供的浮点型数据的数据位示意图。如图3所示,针对10进制表示的浮点类型数据“-9.625”,其在被存储于计算机中时,通常以“符号位”、“指数位”以及“有效数字位”的格式存储,因此可以在符号位中设置“1”以表示“-9.625”的符号位负,在指数位中设置“10000010”以表示其指数位为3,在有效数字位中设置“0011010000000000000”以表示其有效数字位。
在数据为浮点型数据的情况下,其指数位和有效数据位中数值的取值分布的熵值往往会有不同的分布,即,通常情况下一组浮点型数据中,其有效数字位的熵值通常较高,指数位的熵值往往较低。例如,在神经网络执行计算任务的情况下,针对输入数据0,同一网络层在前向传播过程中生成的多个激活值往往均是处于一定的数据范围之内,这也就导致其指数位往往是同一数据,或者是数据相差较小的数据,而有效数字位则往往会比较多样,例如,针对10个激活值:“-9.625、-10.245、-8.176、-7.121、-9.963、-6.315、-8.425、-10.831、-9.462、-10.429”,其指数位的取值或是为3,或是为4,而有效数字位则随机性较强,因此,在本公开实施例中,在该m个第一数据为浮点型数据的情况下,可以将每个第一数据的指数位作为第二数据,将每个第一数据中除指数位以外的数据位作为第三数据。
例如,针对上述10个激活值:“-9.625、-10.245、-8.176、-7.121、-9.963、-6.315、-8.425、-10.831、-9.462、-10.429”,可以考虑将各自数据的指数位作为其第二数据,将其他数据位,例如符号位和有效数字位作为其第三数据,在将该10个激活值的指数位作为其第二数据的情况下,由于得到的10个第二数据的取值或是为3,或是为4,因此,可以通过将该10个第二数据压缩为1个第四数据,并存储该第四数据以及其他的第三数据,即可在不丢失原始数据的情况下,降低对存储空间的占用的效果。
可见,基于本公开实施例提供的该方法,通过基于第一数据的数据位对多个第一数据进行拆分,并对不同数据位中数值的取值分布是否满足预设条件进行判断,以及对满足预设条件的数据位进行压缩,相较于直接存储该多个第一数据,可以实现降低对存储空间的过多占用,提升存储空间的利用效率的效果。
在一些可能的实现方式中,在步骤S12中,所述对m个第二数据进行压缩编码,得到与m个第二数据对应的第四数据,包括:获取n个基准数据,其中,n个基准数据包括从m个第二数据中选取的n个数据,1≤n<m;基于n个基准数据和m个第二数据,得到第四数据。
图4为本公开实施例提供的压缩编码处理的流程图。参照图4,在一些可能的实现方式中,所述基于n个基准数据和m个第二数据,得到第四数据,可以包括:在步骤S121中,将m个第二数据与n个基准数据进行差分处理,得到m个差分值;在步骤S122中,根据n个基准数据和m个差分值,得到第四数据。
在一些可能的实现方式中,所述根据n个基准数据和m个差分值,得到第四数据,可以包括:基于该m个差分值生成m个第二数据对应的稀疏编码,基于该n个基准数据和该稀疏编码生成该第四数据。
在一些可能的实现方式中,在步骤S121中,所述将m个第二数据与n个基准数据进行差分处理,得到m个差分值,包括:在n等于1的情况下,将m个第二数据分别与基准数据进行差分处理,得到m个差分值;或者,在n大于1的情况下,获取n个基准数据与m个第二数据之间的映射关系,基于映射关系,将每个第二数据与目标基准数据进行差分,得到m个差分值,其中,目标基准数据为n个基准数据中与第二数据存在映射关系的基准数据。
在n等于1的情况下,该基准数据可以为m个第二数据中的任一第二数据。参照图5a,其为本公开实施例提供的差分处理的第一示意图。如图5a所示,在m个第一数据为10个激活值:“-9.625、-10.245、-8.176、-7.121、-9.963、-6.315、-8.425、-10.831、-9.462、-10.429”的情况下,其第二数据可以分别表示“3、4、3、3、3、3、3、4、3、4”,若基准数据为3,则通过将该m个第二数据分别与该基准数据进行差分,可以得到差分值为“0、1、0、0、0、0、0、1、0、1”,基于该10个差分值生成稀疏编码“0100100101”,则在第四数据为“基准数据+稀疏编码”的形式下,原始的10个第一数据对应的第四数据可以表示为:“3+“0100000101”,相较于分别存储原始的10个激活值所需耗费的存储空间,通过存储压缩该10个第二数据得到的第四数据和该10个激活值对应的10个第三数据,可以显著降低对存储空间的占用。
另外,在n大于1的情况下,该基准数据可以为m个第二数据中的任意n个第二数据,参照图5b,其为本公开实施例提供的差分处理的第二示意图。如图5b所示,在m个第一数据为10个激活值:“-9.625、-10.245、-8.176、-7.121、-9.963、-6.315、-8.425、-10.831、-9.462、-10.429”的情况下,其第二数据可以分1别表示“3、4、3、3、3、3、3、4、3、4”,基准数据1为3,基准数据2为4,则例如可以建立如下映射关系,基准数据1与第1、3~7、9个第二数据对应,基准数据2与第2、8、10个第二数据对应,则通过将第1、3~7、9个第二数据进行差分可得差分值1为0,将第2、8、10个第二数据与基准数据2进行差分可得差分值2为0,则基于该差分值1和差分值2可以生成稀疏编码“0000000000”,从而基于该两个基准数据和该系数编码生成第四数据:“3+“0100000101”,当然,在该种情况下,该第四数据也可以包括上述映射关系,或者也可以将该映射关系作为默认配置进行存储,此处不做特殊限定。
需要说明的是,以上仅为举例说明,在一些可能的实施方式中,在n等于1的情况下,该基准数据也可以根据需要进行设置,例如,可以为m个第二数据的平均值或中位数,或者为任意数值。另外,在n大于1的情况下,该n个基准数据也可以设置为:将该m个第二数据中第i个第二数据作为第i+1个第二数据的基准数据,其中,i<m,例如,针对上述第二数据“3、4、3、3、3、3、3、4、3、4”,可以将第1个第二数据作为第2个第二数据的基准数据,将第2个第二数据作为第3个第二数据的基准数据,…,将第9个第二数据作为第10个第二数据的基准数据,即,将每一第二数据与其前值进行差分,并基于得到的差分值生成稀疏编码,此处不做特殊限定。
可见,基于本公开实施例提供的该数据存储方法,过分别对每个第一数据中进行拆分,得到第一数据中取值分布满足预设条件的数据作为第二数据以及不满足该预设条件的数据作为第三数据,之后,通过对满足预设条件的第二数据进行压缩编码,就可以将m个第一数据中取值分布可以被压缩的部分进行压缩,得到数据量小于原始的m个第二数据的数据量的第四数据,这样,相较于直接存储m个第一数据所需要耗费的存储空间,通过分别存储压缩后的第四数据以及该m个第三数据,可以降低对存储空间的过多占用,提升存储空间的利用效率。
与本公开实施例提供的数据存储方法对应,本公开实施例还提供一种数据处理方法,图6为本公开实施例提供的一种数据处理方法的流程图。参照图6,该方法包括:
在步骤S61中,在神经网络执行目标处理任务的情况下,针对神经网络的第一网络层,从第一存储空间读取第四数据,并从第二存储空间读取m个第三数据;
其中,第四数据和m个第三数据是根据本公开实施例的数据存储方法对m个第一数据进行存储后得到的,m个第一数据为第一网络层在前向传播过程中输出的m个激活值;
在步骤S62中,对第四数据进行解压缩处理,得到m个第二数据;
在步骤S63中,根据m个第二数据和m个第三数据,生成m个第一数据;
在步骤S64中,将m个第一数据作为神经网络的第二网络层的输入数据,基于第二网络层对输入数据进行处理,得到第二网络层的输出数据。
该神经网络可以为任意结构的神经网络,本公开实施例不对此作特殊限定。
该目标处理任务可以为图像处理任务、语音处理任务、文本处理任务、视频处理任务中的任意一种,例如可以为文本处理任务中的文本分类任务。
在该种实施方式中,该神经网络在执行该目标处理任务的情况下,为提升存储空间的利用效率,第一网络层生成的m个激活值可以基于上述数据存储方法生成其对应的第四数据以及第三数据,以降低数据存储量,处于第一网络层之后的第二网络层可以通过读取该第四数据以及第三数据,并通过将第四数据还原为m个第二数据,进而基于该第二数据和该第三数据,无损得还原得到原始的m个激活值,以由第二网络层将其作为输入数据进行处理,得到其输出数据,基于该种方式,神经网络可以得到最终的输出结果。
可见,基于本公开实施例提供的该数据处理方法,神经网络在执行目标处理任务的情况下,通过基于上述数据存储方法对神经网络前向传播过程中各网络层生成的激活值进行存储,可以降低对存储空间的占用,提升存储空间的利用效率。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
此外,本公开还提供了数据存储装置、数据处理装置、电子设备、计算机可读存储介质,上述均可用来实现本公开提供的任一种数据存储方法或数据处理方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
图7为本公开实施例提供的一种数据存储装置的框图。
参照图7,本公开实施例提供了一种数据存储装置,该数据存储装置包括:数据拆分模块71、数据编码模块72以及数据存储模块73。
该数据拆分模块71,用于对待存储的m个第一数据分别进行拆分,得到m个第二数据和m个第三数据,其中,m个第二数据的取值分布满足预设条件,m个第三数据的取值分布不满足预设条件,预设条件包括:数值的取值分布的熵值小于预设阈值,m>1;
该数据编码模块72,用于对m个第二数据进行压缩编码,得到与m个第二数据对应的第四数据,其中,第四数据的数据量小于m个第二数据的数据量;
该数据存储模块73,用于将第四数据存储于第一存储空间,并将m个第三数据存储于第二存储空间。
在一些可能的实施方式中,第一数据包括多个数据位;数据拆分模块71在对待存储的m个第一数据分别进行拆分,得到m个第二数据和m个第三数据时,可以用于:针对任一第一数据,将所述第一数据的数据位中满足所述预设条件的数据位,作为与所述第一数据对应的第二数据;将所述第一数据中除所述第二数据以外的数据位,作为与所述第一数据对应的第三数据。
在一些可能的实施方式中,m个第一数据包括浮点型数据,数据位包括指数位;数据拆分模块71在将第一数据的数据位中满足预设条件的数据位,作为与第一数据对应的第二数据时,可以用于:将第一数据的指数位作为第二数据;在将第一数据中除第二数据以外的数据位,作为与第一数据对应的第三数据时,可以用于:将第一数据中除指数位以外的数据位作为第三数据。
在一些可能的实施方式中,数据编码模块72在对m个第二数据进行压缩编码,得到与m个第二数据对应的第四数据时,可以用于:获取n个基准数据,其中,n个基准数据包括从m个第二数据中选取的n个数据,1≤n<m;基于n个基准数据和m个第二数据,得到第四数据。
在一些可能的实施方式中,数据编码模块72在基于n个基准数据和m个第二数据,得到第四数据时,可以用于:将m个第二数据与n个基准数据进行差分处理,得到m个差分值;根据n个基准数据和m个差分值,得到第四数据。
在一些可能的实施方式中,数据编码模块72在将m个第二数据与n个基准数据进行差分处理,得到m个差分值时,可以用于:在n等于1的情况下,将m个第二数据分别与基准数据进行差分处理,得到m个差分值;或者,在n大于1的情况下,获取n个基准数据与m个第二数据之间的映射关系,基于映射关系,将每个第二数据与目标基准数据进行差分,得到m个差分值,其中,目标基准数据为n个基准数据中与第二数据存在映射关系的基准数据。
图8为本公开实施例提供的一种数据处理装置的框图。
参照图8,本公开实施例提供了一种数据处理装置,该数据处理装置包括:数据读取模块81、数据解压模块82、数据生成模块83以及数据处理模块84。
该数据读取模块81,用于在神经网络执行目标处理任务的情况下,针对所述神经网络的第一网络层,从第一存储空间读取第四数据,并从第二存储空间读取m个第三数据,其中,所述第四数据和所述m个第三数据是根据本公开实施例的数据存储方法对m个第一数据进行存储后得到的,所述m个第一数据为所述第一网络层在前向传播过程中输出的m个激活值;
该数据解压模块82,用于对所述第四数据进行解压缩处理,得到m个第二数据;
该数据生成模块83,用于根据所述m个第二数据和所述m个第三数据,生成所述m个第一数据;
该数据处理模块84,用于将所述m个第一数据作为所述神经网络的第二网络层的输入数据,基于所述第二网络层对所述输入数据进行处理,得到所述第二网络层的输出数据。
图9为本公开实施例提供的一种电子设备的框图。
参照图9,本公开实施例提供了一种电子设备,该电子设备包括:至少一个处理器901;至少一个存储器902,以及一个或多个I/O接口903,连接在处理器901与存储器902之间;其中,存储器902存储有可被至少一个处理器901执行的一个或多个计算机程序,一个或多个计算机程序被至少一个处理器901执行,以使至少一个处理器901能够执行上述的数据存储方法或数据处理方法。
在一些实施例中,该电子设备可以是类脑芯片,由于类脑芯片可以采用向量化计算方式,且需要通过外部内存例如双倍速率(Double Data Rate,DDR)同步动态随机存储器调入神经网络模型的权重信息等参数。因此,本公开实施例采用批处理的运算效率较高。
本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器/处理核执行时实现上述的数据存储方法或数据处理方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述的数据存储方法或数据处理方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读存储介质上,计算机可读存储介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。
如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读程序指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM)、静态随机存取存储器(SRAM)、闪存或其他存储器技术、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读程序指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里所描述的计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
这里参照根据本公开实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
Claims (11)
1.一种数据存储方法,其特征在于,包括:
对待存储的m个第一数据分别进行拆分,得到m个第二数据和m个第三数据,其中,所述m个第二数据的取值分布满足预设条件,所述m个第三数据的取值分布不满足所述预设条件,所述预设条件包括:数值的取值分布的熵值小于预设阈值,m>1;
对所述m个第二数据进行压缩编码,得到与所述m个第二数据对应的第四数据,其中,所述第四数据的数据量小于所述m个第二数据的数据量;
将所述第四数据存储于第一存储空间,并将所述m个第三数据存储于第二存储空间。
2.根据权利要求1所述的方法,其特征在于,所述第一数据包括多个数据位;所述对待存储的m个第一数据分别进行拆分,得到m个第二数据和m个第三数据,包括:
针对任一第一数据,将所述第一数据的数据位中满足所述预设条件的数据位,作为与所述第一数据对应的第二数据;
将所述第一数据中除所述第二数据以外的数据位,作为与所述第一数据对应的第三数据。
3.根据权利要求2所述的方法,其特征在于,所述m个第一数据包括浮点型数据,所述数据位包括指数位;
所述将所述第一数据的数据位中满足所述预设条件的数据位,作为与所述第一数据对应的第二数据,包括:将所述第一数据的指数位作为所述第二数据;
所述将所述第一数据中除所述第二数据以外的数据位,作为与所述第一数据对应的第三数据,包括:将所述第一数据中除指数位以外的数据位作为所述第三数据。
4.根据权利要求1所述的方法,其特征在于,所述对所述m个第二数据进行压缩编码,得到与所述m个第二数据对应的第四数据,包括:
获取n个基准数据,其中,所述n个基准数据包括从所述m个第二数据中选取的n个数据,1≤n<m;
基于所述n个基准数据和所述m个第二数据,得到所述第四数据。
5.根据权利要求4所述的方法,其特征在于,所述基于所述n个基准数据和所述m个第二数据,得到所述第四数据,包括:
将所述m个第二数据与所述n个基准数据进行差分处理,得到m个差分值;
根据所述n个基准数据和所述m个差分值,得到所述第四数据。
6.根据权利要求5所述的方法,其特征在于,所述将所述m个第二数据与所述n个基准数据进行差分处理,得到m个差分值,包括:
在n等于1的情况下,将所述m个第二数据分别与所述基准数据进行差分处理,得到所述m个差分值;或者,
在n大于1的情况下,获取所述n个基准数据与所述m个第二数据之间的映射关系,基于所述映射关系,将每个第二数据与目标基准数据进行差分,得到所述m个差分值,其中,所述目标基准数据为所述n个基准数据中与所述第二数据存在映射关系的基准数据。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述第一数据包括神经网络前向传播过程中的激活值。
8.一种数据处理方法,其特征在于,包括:
在神经网络执行目标处理任务的情况下,针对所述神经网络的第一网络层,从第一存储空间读取第四数据,并从第二存储空间读取m个第三数据,其中,所述第四数据和所述m个第三数据是根据权利要求1-7中任一项所述的方法对m个第一数据进行存储后得到的,所述m个第一数据为所述第一网络层在前向传播过程中输出的m个激活值;
对所述第四数据进行解压缩处理,得到m个第二数据;
根据所述m个第二数据和所述m个第三数据,生成所述m个第一数据;
将所述m个第一数据作为所述神经网络的第二网络层的输入数据,基于所述第二网络层对所述输入数据进行处理,得到所述第二网络层的输出数据。
9.一种数据存储装置,其特征在于,包括:
数据拆分模块,用于对待存储的m个第一数据分别进行拆分,得到m个第二数据和m个第三数据,其中,所述m个第二数据的取值分布满足预设条件,所述m个第三数据的取值分布不满足所述预设条件,所述预设条件包括:数值的取值分布的熵值小于预设阈值,m>1;
数据编码模块,用于对所述m个第二数据进行压缩编码,得到与所述m个第二数据对应的第四数据,其中,所述第四数据的数据量小于所述m个第二数据的数据量;
数据存储模块,用于将所述第四数据存储于第一存储空间,并将所述m个第三数据存储于第二存储空间。
10.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序,一个或多个所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序在被处理器执行时实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410636185.9A CN118244993A (zh) | 2024-05-22 | 2024-05-22 | 数据存储方法、数据处理方法及装置、电子设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410636185.9A CN118244993A (zh) | 2024-05-22 | 2024-05-22 | 数据存储方法、数据处理方法及装置、电子设备、介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118244993A true CN118244993A (zh) | 2024-06-25 |
Family
ID=91557497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410636185.9A Pending CN118244993A (zh) | 2024-05-22 | 2024-05-22 | 数据存储方法、数据处理方法及装置、电子设备、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118244993A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100019965A1 (en) * | 2008-07-25 | 2010-01-28 | Jing Xiao | Data Compression by Multi-Order Differencing |
CN107836083A (zh) * | 2015-05-21 | 2018-03-23 | 零点科技公司 | 用于语义值数据压缩和解压缩的方法、设备和*** |
US10452616B1 (en) * | 2018-10-29 | 2019-10-22 | EMC IP Holding Company LLC | Techniques for improving storage space efficiency with variable compression size unit |
CN111597154A (zh) * | 2020-05-07 | 2020-08-28 | 苏州浪潮智能科技有限公司 | 一种结构化交易数据压缩方法、相关方法及相关装置 |
CN112052916A (zh) * | 2020-10-10 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 基于神经网络的数据处理方法、装置以及可读存储介质 |
CN113348474A (zh) * | 2019-01-24 | 2021-09-03 | 微软技术许可有限责任公司 | 具有非均匀尾数的神经网络激活压缩 |
-
2024
- 2024-05-22 CN CN202410636185.9A patent/CN118244993A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100019965A1 (en) * | 2008-07-25 | 2010-01-28 | Jing Xiao | Data Compression by Multi-Order Differencing |
CN107836083A (zh) * | 2015-05-21 | 2018-03-23 | 零点科技公司 | 用于语义值数据压缩和解压缩的方法、设备和*** |
US10452616B1 (en) * | 2018-10-29 | 2019-10-22 | EMC IP Holding Company LLC | Techniques for improving storage space efficiency with variable compression size unit |
CN113348474A (zh) * | 2019-01-24 | 2021-09-03 | 微软技术许可有限责任公司 | 具有非均匀尾数的神经网络激活压缩 |
CN111597154A (zh) * | 2020-05-07 | 2020-08-28 | 苏州浪潮智能科技有限公司 | 一种结构化交易数据压缩方法、相关方法及相关装置 |
CN112052916A (zh) * | 2020-10-10 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 基于神经网络的数据处理方法、装置以及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
VINCENZO LIGUORI: "From a Lossless (~1.5:1) Compression Algorithm for Llama2 7B Weights to Variable Precision, Variable Range, Compressed Numeric Data Types for CNNs and LLMs", ARXIV.ORG, 16 April 2024 (2024-04-16), pages 1 - 17 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7365658B2 (en) | Method and apparatus for lossless run-length data encoding | |
US11722148B2 (en) | Systems and methods of data compression | |
JP6242074B2 (ja) | 信号データの圧縮および圧縮解除のための方法および装置(信号データの圧縮および圧縮解除) | |
US7907068B2 (en) | FIFO radix coder for electrical computers and digital data processing systems | |
RU2406222C1 (ru) | Способ кодирования и способ декодирования сигнала изображения, способ кодирования и декодирования источника информации, устройства для них и носители информации, на которых сохранены программы для них | |
CN105260776A (zh) | 神经网络处理器和卷积神经网络处理器 | |
CN110266316B (zh) | 一种数据压缩、解压方法、装置和设备 | |
WO2010044100A1 (en) | Lossless compression | |
US11615301B2 (en) | Lossless exponent and lossy mantissa weight compression for training deep neural networks | |
US20220114454A1 (en) | Electronic apparatus for decompressing a compressed artificial intelligence model and control method therefor | |
JP5619326B2 (ja) | 符号化装置、復号装置、符号化方法、符号化プログラム、復号方法および復号プログラム | |
CN111008698A (zh) | 用于混合压缩循环神经网络的稀疏矩阵乘法加速器 | |
CN111274950A (zh) | 特征向量数据编解码方法及服务器和终端 | |
CN118244993A (zh) | 数据存储方法、数据处理方法及装置、电子设备、介质 | |
Malach et al. | Hardware-based real-time deep neural network lossless weights compression | |
US8745110B2 (en) | Method for counting vectors in regular point networks | |
US20180145701A1 (en) | Sonic Boom: System For Reducing The Digital Footprint Of Data Streams Through Lossless Scalable Binary Substitution | |
CN112885364B (zh) | 音频编码方法和解码方法、音频编码装置和解码装置 | |
Ghuge | Map and Trie based Compression Algorithm for Data Transmission | |
Shukla et al. | A comparative analysis of lossless compression algorithms on uniformly quantized audio signals | |
CN112101548A (zh) | 数据压缩方法及装置、数据解压方法及装置、电子设备 | |
KR20230010854A (ko) | 뉴럴 네트워크 파라미터들의 표현에 대한 향상된 개념 | |
Mahmood et al. | Efficient compression scheme for large natural text using zipf distribution | |
Raja et al. | A new variable-length integer code for integer representation and its application to text compression | |
CN112200301B (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 |