CN116185307B - 一种模型数据的存储方法、装置、存储介质及电子设备 - Google Patents

一种模型数据的存储方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN116185307B
CN116185307B CN202310448220.XA CN202310448220A CN116185307B CN 116185307 B CN116185307 B CN 116185307B CN 202310448220 A CN202310448220 A CN 202310448220A CN 116185307 B CN116185307 B CN 116185307B
Authority
CN
China
Prior art keywords
model data
data
storage
attribute information
determining
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.)
Active
Application number
CN202310448220.XA
Other languages
English (en)
Other versions
CN116185307A (zh
Inventor
程稳
刘懿
吕波
李勇
黄章敏
崔钰
朱健
费军波
常璟飞
胡陈枢
陈�光
曾令仿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202310448220.XA priority Critical patent/CN116185307B/zh
Publication of CN116185307A publication Critical patent/CN116185307A/zh
Application granted granted Critical
Publication of CN116185307B publication Critical patent/CN116185307B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Neurology (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书公开了一种模型数据的存储方法、装置、存储介质及电子设备。所述模型数据的存储方法包括:接收模型数据的存储请求并获取模型数据,确定所述模型数据的属性信息,根据所述属性信息,确定所述模型数据对应的存储位置,若所述存储位置位于所述AI加速器的本地存储单元,则确定与所述属性信息相匹配的压缩方式,作为目标压缩方式,通过所述目标压缩方式对所述模型数据进行压缩,并将压缩后的模型数据存储在所述本地存储单元中的所述存储位置,以及若所述存储位置位于所述AI加速器的远端存储单元,则将所述模型数据存储在所述远端存储单元中的所述存储位置。

Description

一种模型数据的存储方法、装置、存储介质及电子设备
技术领域
本说明书涉及计算机技术领域,尤其涉及一种模型数据的存储方法、装置、存储介质及电子设备。
背景技术
人工智能(Artificial Intelligence,AI)加速器是一类专门的硬件加速器,旨在对诸如神经网络模型等人工智能应用进行加速,在通过AI加速器对模型进行训练的过程中,需要对模型数据进行存储以及访问。
对于一些较大的模型来说,通常需要在训练的过程中采用模型压缩技术对其进行压缩,从而减少占用的计算机资源,提高模型的训练效率。
然而,目前通常采用模型量化的方式对模型数据进行压缩从而减少对内存空间的占用,但是这种方式无法充分利用不同存储单元的特性,发挥不同存储单元的优势,导致模型训练的过程中对数据进行压缩以及存储的过程需要耗费大量时间,对模型训练的效率提升有限。
因此,如何在模型训练的过程中充分利用不同的存储单元,提升模型的训练过程中对数据的访存效率,进一步提升模型的训练效率,是一个亟待解决的问题。
发明内容
本说明书提供一种模型数据的存储方法、装置、存储介质及电子设备,以部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种模型数据的存储方法,包括:
接收模型数据的存储请求并获取模型数据;
确定所述模型数据的属性信息;
根据所述属性信息,确定所述模型数据对应的存储位置;
若所述存储位置位于所述AI加速器的本地存储单元,则确定与所述属性信息相匹配的压缩方式,作为目标压缩方式,通过所述目标压缩方式对所述模型数据进行压缩,并将压缩后的模型数据存储在所述本地存储单元中的所述存储位置,以及
若所述存储位置位于所述AI加速器的远端存储单元,则将所述模型数据存储在所述远端存储单元中的所述存储位置。
可选地,在确定所述模型数据的属性信息之前,所述方法还包括:
基于所述模型数据的数据量以及所述AI加速器对应接收单元当前的空闲程度,判断是否对所述模型数据进行聚合处理;
若是,对所述模型数据进行聚合处理。
可选地,基于所述模型数据的数据量以及所述AI加速器对应接收单元当前的空闲程度,判断是否对所述模型数据进行聚合处理,具体包括:
若所述数据量小于预设阈值,和/或所述接收单元当前的空闲程度大于预设空闲程度,则对所述模型数据进行聚合处理。
可选地,确定所述模型数据的属性信息,具体包括:
基于所述模型数据对应的属性信息,对所述模型数据进行标记,所述标记用于确定所述模型数据是否允许分割、是否与其他模型数据关联、是否允许压缩以及存储位置中的至少一种。
可选地,根据所述属性信息,确定所述模型数据对应的存储位置,具体包括:
根据所述属性信息以及所述标记,生成所述模型数据对应的属性表并存储在本地;
基于所述属性表,确定所述模型数据对应的存储位置。
可选地,所述属性信息包括:所述模型数据对应的访问频率等级、当前训练阶段对所述模型数据的精度需求信息、所述模型数据所需的资源信息中的至少一种。
可选地,若所述存储位置位于所述AI加速器的本地存储单元,则确定与所述属性信息相匹配的压缩方式,作为目标压缩方式,通过所述目标压缩方式对所述模型数据进行压缩,并将压缩后的模型数据存储在所述本地存储单元中的所述存储位置,具体包括:
若所述存储位置位于所述AI加速器的本地存储单元,则对所述模型数据进行聚合处理,得到聚合后数据;
通过所述目标压缩方式对所述聚合后数据进行压缩,并将压缩后的聚合后数据存储在所述本地存储单元中的所述存储位置。
可选地,若所述存储位置位于所述AI加速器的远端存储单元,则将所述模型数据进行聚合处理,得到聚合后数据;
将所述聚合后数据存储在所述远端存储单元中的所述存储位置。
可选地,所述方法还包括:
接收数据访问请求;
根据所述访问请求,从所述存储位置读取所述模型数据。
本说明书提供了一种模型数据的存储装置,包括:
接收模块,接收模型数据的存储请求并获取模型数据;
第一确定模块,确定所述模型数据的属性信息;
第二确定模块,根据所述属性信息,确定所述模型数据对应的存储位置;
存储模块,若所述存储位置位于所述AI加速器的本地存储单元,则确定与所述属性信息相匹配的压缩方式,作为目标压缩方式,通过所述目标压缩方式对所述模型数据进行压缩,并将压缩后的模型数据存储在所述本地存储单元中的所述存储位置,以及
若所述存储位置位于所述AI加速器的远端存储单元,则将所述模型数据存储在所述远端存储单元中的所述存储位置。
可选地,在确定所述模型数据的属性信息之前,所述第一确定模块还用于,基于所述模型数据的数据量以及所述AI加速器对应接收单元当前的空闲程度,判断是否对所述模型数据进行聚合处理;若是,对所述模型数据进行聚合处理。
可选地,所述第一确定模块具体用于,若所述数据量小于预设阈值,和/或所述接收单元当前的空闲程度大于预设空闲程度,则对所述模型数据进行聚合处理。
可选地,所述第一确定模块具体用于,基于所述模型数据对应的属性信息,对所述模型数据进行标记,所述标记用于确定所述模型数据是否允许分割、是否与其他模型数据关联、是否允许压缩以及存储位置中的至少一种。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述模型数据的存储方法。
本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述模型数据的存储方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
在本说明书提供的模型数据的存储方法中,AI加速器接收模型数据的存储请求并获取模型数据,确定所述模型数据的属性信息,根据所述属性信息,确定所述模型数据对应的存储位置,若所述存储位置位于AI加速器的本地存储单元,则确定与所述属性信息相匹配的压缩方式,作为目标压缩方式,通过所述目标压缩方式对所述模型数据进行压缩,并将压缩后的模型数据存储在所述本地存储单元中的所述存储位置,以及若所述存储位置位于AI加速器的远端存储单元,则将所述模型数据存储在所述远端存储单元中的所述存储位置。
从上述方法可以看出,本方案中只有模型数据需要存储在本地存储单元时才需要进行压缩,并且压缩方式与模型数据的属性信息相匹配,而在模型数据需要存储在远端存储单元时,由于远端存储单元通常有较大的存储空间,因此不需要对模型数据进行压缩,这样一来,当对存储在远端存储单元中的模型数据进行访存时就可以省略对模型数据进行压缩以及解压缩的过程,提高模型的训练效率,减少对计算资源的占用。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书中提供的一种模型数据的存储方法的流程示意图;
图2为本说明书中提供的一种数据访问的过程示意图;
图3为本说明书中提供的一种数据存储系统示意图;
图4为本说明书提供的一种模型数据的存储装置的示意图;
图5为本说明书提供的一种对应于图1的电子设备示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书中提供的一种模型数据的存储方法的流程示意图,包括以下步骤:
S101:接收模型数据的存储请求并获取模型数据。
通常情况下,加速AI模型或应用的硬件都可以称为AI加速器,在实际应用中,AI加速器可以包括:图形处理器(Graphics Processing Unit ,GPU)、数据处理器(DataProcessing Unit,DPU)、集成电路(Application Specific Integrated Circuit,ASIC)芯片等。
虽然AI加速器架构种类繁多,但随着工艺与研发的深入,主流AI加速器核心模块设计慢慢趋于相同,通常其核心模块包括:专职计算的高密集计算阵列、大容量片内存储模块、超高速互联片上网络、高速互联接口、片上专用控制单元、专用加速模块等。当核心模块被固定后,AI芯片的整体架构就已确定并且不再更改(神经拟态、存算一体以及可重构类加速器除外)。
目前面向AI加速器的存储层级较为明显,本说明书中的本地存储单元为AI加速器的本地存储层级,该本地存储单元可以包括:芯片内多级缓存(AI加速器处理单元内的多级缓存、片上系统级缓存等)以及芯片外多级缓存(高带宽缓存、本地CPU缓存、本地动态随机存取存储器(Dynamic Random Access Memory,DRAM)、本地持久内存、本地高速固态盘等)。
远端存储单元为AI加速器的远端存储层级,该远端存储层级并不位于AI加速器上,可以包括:Compute Express Link共享内存层、并行文件系统层、冷备份存储层和远端存储阵列(通常由大容量机械硬盘组成)等。
不同存储单元之间的性能和容量差异较大,对于性能来说,如片上缓存响应延迟为一纳秒到数十纳秒,DRAM响应延迟小于一百纳秒,机械硬盘响应延迟在毫秒级,对于存储空间来说,片上缓存从几KB到数十MB不等,DRAM容量一般在GB级别,机械硬盘则在TB级别。其中,远端存储单元的存储空间要远大于本地存储单元,但性能要低于本地存储单元。
在AI模型训练过程中,计算阶段与存储阶段之间存在着密切的交互和依赖关系。模型的训练一般包括多个阶段,每个阶段对计算与存储需求各异,如数据收集与存储需要较多存储资源、前向传播和后向传播需要大量算力、迭代优化是计算和存储密集型,并且各个阶段对精度的敏感性也不尽相同。另外,AI模型普遍存在稀疏性和鲁棒性,数据中存在噪声或数据缺失时,它仍然可以从中提取有用的信息并做出较准确的预测,模型压缩核心理念与近似计算和存储契合。
基于此,本说明书提供了一种模型数据的存储方法,以根据AI模型训练过程中各阶段需求判断是否对模型数据进行压缩,进而将模型数据进行分层存储。
其中,AI加速器可以在模型训练的过程中接收模型数据的存储请求,并获取需要写入的模型数据,该模型数据可以为目标模型的模型代码以及参数等数据。
AI加速器可以对接收到的模型数据进行按需聚合,基于模型数据的数据量以及AI加速器对应接收单元当前的空闲程度,判断是否需要对模型数据进行聚合处理,当模型数据的数据量小于预设阈值,和/或接收单元当前的空闲程度大于预设空闲程度,对模型数据进行聚合处理,从而提升数据传输效率。
S102:确定所述模型数据的属性信息。
S103:根据所述属性信息,确定所述模型数据对应的存储位置。
具体的,AI加速器可以获取模型数据对应的属性信息,模型数据的属性信息可以包含数据的基础属性以及训练的阶段性需求,数据属性是指数据的访问频率等级(即数据的冷、温、热状态),训练的阶段性需求是当前训练阶段对模型的精度需求信息、模型数据所需的资源信息(如内存、带宽等)。
而后AI加速器可以基于模型数据对应的属性信息,对模型数据进行标记,该标记用于确定模型数据是否允许分割、是否与其他模型数据关联、是否允许压缩以及存储位置中的至少一种。该存储位置用于表示该模型数据对应的存储单元以及在对应存储单元中的具体存储位置。
AI加速器可以根据上述属性信息以及标记,生成模型数据对应的属性表并存储在本地,在接收数据访问请求时,AI加速器可以根据访问请求查询已缓存的数据属性表,在接收数据存储请求时,AI加速器可以根据该属性表中的标记确定模型数据的存储位置。
S104:若所述存储位置位于所述AI加速器的本地存储单元,则确定与所述属性信息相匹配的压缩方式,作为目标压缩方式,通过所述目标压缩方式对所述模型数据进行压缩,并将压缩后的模型数据存储在所述本地存储单元中的所述存储位置,以及若所述存储位置位于所述AI加速器的远端存储单元,则将所述模型数据存储在所述远端存储单元中的所述存储位置。
AI加速器可以接收数据以及数据属性表,并对数据进行聚合,得到聚合后数据,根据数据属性表,将聚合后数据传输给相应的存储单元进行数据存储,该存储单元包括本地存储单元和远端存储单元。
具体的,若确定当前模型数据的存储位置为AI加速器的本地存储单元,并且基于该模型数据对应属性表中的标记确定该模型数据允许被压缩,则AI加速器可以确定与该模型数据的属性信息相匹配的压缩方式,在本说明书中,对模型数据进行压缩的压缩方式可以包括:哈夫曼编码、重复数据删除、自动精简配置、量化存储以及低精度替换等。
例如,由于哈夫曼编码可以通过对数据进行频率统计,将出现频率高的符号用较短的编码表示,出现频率低的符号用较长的编码表示,从而达到无损压缩数据的目的,并且压缩率较高,所以对于精度需求较高以及内存需求较大的模型数据可以采用该压缩方法进行压缩。
而对于自动精简配置、量化存储以及低精度替换等压缩方法,由于这些压缩方法为有损压缩,因此对于一些精度需求较低的模型数据可以采用这些方式来进行压缩,而当重复的模型数据较多时,则可以采用重复数据删除的方式对模型数据进行压缩。
在通过相应的压缩方式对聚合后数据进行压缩后,可以将其存储在上述本地存储单元中的存储位置。
需要说明的是,当模型数据第一次存储或数据属性信息与需求发生变动时,才需要对相关模型数据进行压缩,其他数据访问请求,直接根据数据属性表,跨存储层级访问已存储的数据,并对关联数据进行按需预取与替换。
而若确定当前模型数据的存储位置位于AI加速器的远端存储单元,由于远端存储单元的空间较大,因此可以不对模型数据进行压缩,而是将聚合后数据直接存储在远端存储单元中相应的存储位置,从而避免对模型数据进行压缩以及解压缩的过程,减少数据读写时间以及对计算资源的占用。
将模型数据进行存储后,AI加速器还可以获取数据访问请求,进而根据该访问请求,从相应的存储位置读取所需的模型数据。为了便于理解,本说明书还提供了一种数据访问的过程示意图,如图2所示。
图2为本说明书中提供的一种数据访问的过程示意图。
其中,AI加速器可以接收数据存储请求以及模型数据,并按需对接收到的模型数据进行处理,而后可以根据数据基础属性以及数据阶段性需求,对数据进行标记,并基于数据属性信息以及标记生成属性表,基于该属性表,对存储位置为本地存储单元的模型数据进行压缩,并将压缩后的模型数据存储在本地存储单元,存储位置为远端存储单元的模型数据直接存储在远端存储单元。而后根据请求类型,进行数据存储或数据访问。
另外,本说明书中的数据存储方法也可以部署在相应的数据存储系统中,通过该数据存储系统执行数据访问,为了便于理解,本说明书提供了一种数据存储系统示意图,如图3所示。
图3为本说明书中提供的一种数据存储系统示意图。
该数据存储系统可以包括:
接收单元:接收数据或数据访问请求,并对接收到的数据进行按需聚合,其中,按需是指根据数据量多少、接收单元当前的运行状态等,如当接收的数据量偏少时,会进行数据聚合,当接收单元相对空闲时,会进行数据聚合;
分析单元:接收单元将数据或数据访问请求传输给分析单元,分析单元会根据数据属性和训练数据阶段性需求,对数据进行标记,形成数据属性表,缓存在本地,或根据数据访问请求查询已缓存的数据属性表,当数据第一次存储或数据属性与需求发生变动时,才需要将数据传输给模型压缩单元进行数据压缩,其他数据访问请求,直接根据数据属性表,跨级访问已存储在第一存储层级单元或第二存储层级单元的数据,并对关联数据进行按需预取与替换;
模型压缩单元:接收分析单元传递的数据以及数据属性表,根据数据属性表对数据采用不同的近似存储技术进行按需压缩。
数据分发单元:接收数据以及数据属性表,并对数据进行聚合,根据数据属性表,将数据传输给相应的存储层级进行数据存储。
远端存储单元:接收来自数据分发单元的数据存储任务或来自分析单元的数据访问请求,并进行相应的处理。
本地存储单元:接收来自数据分发单元的数据存储任务或来自分析单元的数据访问请求,并进行相应的处理。
其中,本地存储单元通常由高性能低容量的设备组成,存储在其中的数据会采用近似存储技术,按需压缩存储数据,远端存储单元通常由性能较低但容量加大的设备组成,存储在其中的数据不会压缩,这样可以很好的平衡高速层数据量和低速层吞吐量需求,并且数据仅存储在本地存储单元或远端存储层级。
从上述方法可以看出,本发明提供的数存储方法通过对模型数据进行差异化存储,高性能低容量的设备会采用近似存储技术,按需压缩存储模型数据,性能较低但容量加大的设备不会压缩数据,这样可以很好的平衡高速层数据量和低速层吞吐量需求,并且数据只存储在某一种缓存单元中,消除传统层次化缓存架构中数据多设备存储造成的存储空间浪费、需要层间迁移与同步开销等问题,全方位提升缓存存储空间利用率,加速AI模型训练效率,可以有效解决AI模型训练过程中计算存储供需失衡导致AI模型训练低能效甚至不能训练等技术问题。
另外,本方案从层次化缓存优化入手,综合考虑AI模型训练数据阶段性需求,利用近似存储技术并设计合理的缓存预取与替换策略,提升数据供给效率,减少计算单元等待时间,提高AI模型训练速率,通过分阶段聚合(如接收单元、数据分发单元),减轻其他单元压力,批量处理,提升数据吞吐量,加速数据的存储或访问。
进一步的,本方案创新性引入了数据属性表,通过数据属性表,构建系统资源统一管理方案,采用跨层级存储与访问方法,进一步提升AI模型训练速率。
以上为本说明书的一个或多个实施模型数据的存储方法,基于同样的思路,本说明书还提供了相应的模型数据的存储装置,如图4所示。
图4为本说明书提供的一种模型数据的存储装置的示意图,包括:
接收模块401,用于接收模型数据的存储请求并获取模型数据;
第一确定模块402,用于确定所述模型数据的属性信息;
第二确定模块403,用于根据所述属性信息,确定所述模型数据对应的存储位置;
存储模块404,用于若所述存储位置位于所述AI加速器的本地存储单元,则确定与所述属性信息相匹配的压缩方式,作为目标压缩方式,通过所述目标压缩方式对所述模型数据进行压缩,并将压缩后的模型数据存储在所述本地存储单元中的所述存储位置,以及
若所述存储位置位于所述AI加速器的远端存储单元,则将所述模型数据存储在所述远端存储单元中的所述存储位置。
可选地,在确定所述模型数据的属性信息之前,所述第一确定模块402还用于,基于所述模型数据的数据量以及所述AI加速器对应接收单元当前的空闲程度,判断是否对所述模型数据进行聚合处理;若是,对所述模型数据进行聚合处理。
可选地,所述第一确定模块402具体用于,若所述数据量小于预设阈值,和/或所述接收单元当前的空闲程度大于预设空闲程度,则对所述模型数据进行聚合处理。
可选地,所述第一确定模块402具体用于,基于所述模型数据对应的属性信息,对所述模型数据进行标记,所述标记用于确定所述模型数据是否允许分割、是否与其他模型数据关联、是否允许压缩以及存储位置中的至少一种。
可选地,所述第二确定模块403具体用于,根据所述属性信息以及所述标记,生成所述模型数据对应的属性表并存储在本地;基于所述属性表,确定所述模型数据对应的存储位置。
可选地,所述属性信息包括:所述模型数据对应的访问频率等级、当前训练阶段对所述模型数据的精度需求信息、所述模型数据所需的资源信息中的至少一种。
可选地,所述存储模块404具体用于,若所述存储位置位于所述AI加速器的本地存储单元,则对所述模型数据进行聚合处理,得到聚合后数据;通过所述目标压缩方式对所述聚合后数据进行压缩,并将压缩后的聚合后数据存储在所述本地存储单元中的所述存储位置。
可选地,所述存储模块404具体用于,若所述存储位置位于所述AI加速器的远端存储单元,则将所述模型数据进行聚合处理,得到聚合后数据;
将所述聚合后数据存储在所述远端存储单元中的所述存储位置。
可选地,所述装置还包括:
访问模块405,用于接收数据访问请求;根据所述访问请求,从所述存储位置读取所述模型数据。
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的一种模型数据的存储方法。
本说明书还提供了图5所示的一种对应于图1的电子设备的示意结构图。如图5所述,在硬件层面,该电子设备包括AI加速器、处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的模型数据的存储方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogic Device, PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(HardwareDescription Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(AdvancedBoolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(JavaHardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby HardwareDescription Language)等,目前最普遍使用的是VHDL(Very-High-Speed IntegratedCircuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (15)

1.一种模型数据的存储方法,其特征在于,所述方法应用于人工智能AI加速器,包括:
接收模型数据的存储请求并获取模型数据;
确定所述模型数据的属性信息;
根据所述属性信息,确定所述模型数据对应的存储位置;
若所述存储位置位于所述AI加速器的本地存储单元,则确定与所述属性信息相匹配的压缩方式,作为目标压缩方式,通过所述目标压缩方式对所述模型数据进行压缩,并将压缩后的模型数据存储在所述本地存储单元中的所述存储位置,以及
若所述存储位置位于所述AI加速器的远端存储单元,则将所述模型数据存储在所述远端存储单元中的所述存储位置,其中,存储在所述远端存储单元中的模型数据为未被压缩的模型数据。
2.如权利要求1所述的方法,其特征在于,在确定所述模型数据的属性信息之前,所述方法还包括:
基于所述模型数据的数据量以及所述AI加速器对应接收单元当前的空闲程度,判断是否对所述模型数据进行聚合处理;
若是,对所述模型数据进行聚合处理。
3.如权利要求2所述的方法,其特征在于,基于所述模型数据的数据量以及所述AI加速器对应接收单元当前的空闲程度,判断是否对所述模型数据进行聚合处理,具体包括:
若所述数据量小于预设阈值,和/或所述接收单元当前的空闲程度大于预设空闲程度,则对所述模型数据进行聚合处理。
4.如权利要求1所述的方法,其特征在于,确定所述模型数据的属性信息,具体包括:
基于所述模型数据对应的属性信息,对所述模型数据进行标记,所述标记用于确定所述模型数据是否允许分割、是否与其他模型数据关联、是否允许压缩以及存储位置中的至少一种。
5.如权利要求4所述的方法,其特征在于,根据所述属性信息,确定所述模型数据对应的存储位置,具体包括:
根据所述属性信息以及所述标记,生成所述模型数据对应的属性表并存储在本地;
基于所述属性表,确定所述模型数据对应的存储位置。
6.如权利要求4所述的方法,其特征在于,所述属性信息包括:所述模型数据对应的访问频率等级、当前训练阶段对所述模型数据的精度需求信息、所述模型数据所需的资源信息中的至少一种。
7.如权利要求1所述的方法,其特征在于,若所述存储位置位于所述AI加速器的本地存储单元,则确定与所述属性信息相匹配的压缩方式,作为目标压缩方式,通过所述目标压缩方式对所述模型数据进行压缩,并将压缩后的模型数据存储在所述本地存储单元中的所述存储位置,具体包括:
若所述存储位置位于所述AI加速器的本地存储单元,则对所述模型数据进行聚合处理,得到聚合后数据;
通过所述目标压缩方式对所述聚合后数据进行压缩,并将压缩后的聚合后数据存储在所述本地存储单元中的所述存储位置。
8.如权利要求1所述的方法,其特征在于,若所述存储位置位于所述AI加速器的远端存储单元,则将所述模型数据进行聚合处理,得到聚合后数据;
将所述聚合后数据存储在所述远端存储单元中的所述存储位置。
9.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收数据访问请求;
根据所述访问请求,从所述存储位置读取所述模型数据。
10.一种模型数据的存储装置,其特征在于,包括:
接收模块,接收模型数据的存储请求并获取模型数据;
第一确定模块,确定所述模型数据的属性信息;
第二确定模块,根据所述属性信息,确定所述模型数据对应的存储位置;
存储模块,若所述存储位置位于AI加速器的本地存储单元,则确定与所述属性信息相匹配的压缩方式,作为目标压缩方式,通过所述目标压缩方式对所述模型数据进行压缩,并将压缩后的模型数据存储在所述本地存储单元中的所述存储位置,以及
若所述存储位置位于所述AI加速器的远端存储单元,则将所述模型数据存储在所述远端存储单元中的所述存储位置,其中,存储在所述远端存储单元中的模型数据为未被压缩的模型数据。
11.如权利要求10所述的装置,其特征在于,在确定所述模型数据的属性信息之前,所述第一确定模块还用于,基于所述模型数据的数据量以及所述AI加速器对应接收单元当前的空闲程度,判断是否对所述模型数据进行聚合处理;若是,对所述模型数据进行聚合处理。
12.如权利要求11所述的装置,其特征在于,所述第一确定模块具体用于,若所述数据量小于预设阈值,和/或所述接收单元当前的空闲程度大于预设空闲程度,则对所述模型数据进行聚合处理。
13.如权利要求10所述的装置,其特征在于,所述第一确定模块具体用于,基于所述模型数据对应的属性信息,对所述模型数据进行标记,所述标记用于确定所述模型数据是否允许分割、是否与其他模型数据关联、是否允许压缩以及存储位置中的至少一种。
14.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~9任一项所述的方法。
15.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~9任一项所述的方法。
CN202310448220.XA 2023-04-24 2023-04-24 一种模型数据的存储方法、装置、存储介质及电子设备 Active CN116185307B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310448220.XA CN116185307B (zh) 2023-04-24 2023-04-24 一种模型数据的存储方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310448220.XA CN116185307B (zh) 2023-04-24 2023-04-24 一种模型数据的存储方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN116185307A CN116185307A (zh) 2023-05-30
CN116185307B true CN116185307B (zh) 2023-07-04

Family

ID=86452471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310448220.XA Active CN116185307B (zh) 2023-04-24 2023-04-24 一种模型数据的存储方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN116185307B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109299780A (zh) * 2018-09-05 2019-02-01 深圳灵图慧视科技有限公司 神经网络模型压缩方法、装置和计算机设备
CN115618237A (zh) * 2022-12-12 2023-01-17 支付宝(杭州)信息技术有限公司 一种模型训练的方法、装置、存储介质及电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112306925B (zh) * 2019-08-02 2023-02-10 华为技术有限公司 访问请求的处理方法、装置、设备及存储介质
CN111667054B (zh) * 2020-06-05 2023-09-01 北京百度网讯科技有限公司 生成神经网络模型的方法、装置、电子设备以及存储介质
CN115129791A (zh) * 2021-03-11 2022-09-30 中国移动通信集团四川有限公司 一种数据压缩存储方法、装置及设备
CN113361697A (zh) * 2021-07-14 2021-09-07 深圳思悦创新有限公司 一种卷积网络模型压缩方法、系统及存储介质
CN113886382A (zh) * 2021-08-23 2022-01-04 阿里云计算有限公司 数据库任务处理方法、设备及存储介质
CN114861911B (zh) * 2022-05-19 2023-04-07 北京百度网讯科技有限公司 深度学习模型的训练方法、装置、系统、设备和介质
CN114723033B (zh) * 2022-06-10 2022-08-19 成都登临科技有限公司 数据处理方法、装置、ai芯片、电子设备及存储介质
CN115292033A (zh) * 2022-07-04 2022-11-04 Oppo广东移动通信有限公司 模型运行方法、装置、存储介质及电子设备
CN115543945B (zh) * 2022-11-29 2023-06-20 支付宝(杭州)信息技术有限公司 一种模型压缩的方法、装置、存储介质及电子设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109299780A (zh) * 2018-09-05 2019-02-01 深圳灵图慧视科技有限公司 神经网络模型压缩方法、装置和计算机设备
CN115618237A (zh) * 2022-12-12 2023-01-17 支付宝(杭州)信息技术有限公司 一种模型训练的方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN116185307A (zh) 2023-05-30

Similar Documents

Publication Publication Date Title
CN110879800B (zh) 数据写入、压缩和读取方法、数据处理方法及装置
CN110968253B (zh) 一种数据存储方法、装置及系统
CN109614404B (zh) 一种数据缓存系统及方法
CN116521380A (zh) 一种资源自适应协同的模型训练加速方法、装置及设备
US10817178B2 (en) Compressing and compacting memory on a memory device wherein compressed memory pages are organized by size
CN116432778B (zh) 一种数据处理的方法、装置、存储介质及电子设备
CN117312394B (zh) 一种数据访问方法、装置、存储介质及电子设备
CN117195997B (zh) 一种模型训练方法、装置、存储介质及电子设备
CN111190655B (zh) 一种应用缓存数据的处理方法、装置、设备及系统
CN115617799A (zh) 一种数据存储的方法、装置、设备及存储介质
CN103514140B (zh) 用于实现可重构系统中配置信息多发射的重构控制器
CN116822657B (zh) 一种模型训练加速的方法、装置、存储介质及电子设备
CN116185307B (zh) 一种模型数据的存储方法、装置、存储介质及电子设备
CN115981751B (zh) 一种近存计算系统以及近存计算方法、装置、介质及设备
CN115543945B (zh) 一种模型压缩的方法、装置、存储介质及电子设备
US10838727B2 (en) Device and method for cache utilization aware data compression
CN107645541B (zh) 数据存储方法、装置及服务器
CN116521713B (zh) 一种数据查询的方法、装置、设备及存储介质
CN117035123B (zh) 一种并行训练中的节点通信方法、存储介质、设备
CN117555697B (zh) 一种面向分布式训练的缓存加载系统、方法、装置及设备
CN117522669B (zh) 一种图形处理器内存优化方法、装置、介质及设备
CN111722785A (zh) 一种缓存更新方法和装置
CN116126750B (zh) 一种基于硬件特性的数据处理的方法及装置
CN117873789B (zh) 一种基于分段量化的检查点写入方法及装置
CN117391166A (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
GR01 Patent grant
GR01 Patent grant