System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种大语言模型分层加载方法及装置制造方法及图纸_技高网

一种大语言模型分层加载方法及装置制造方法及图纸

技术编号:40080639 阅读:21 留言:0更新日期:2024-01-17 02:39
本发明专利技术提供了一种大语言模型分层加载方法及装置,属于模型加载技术领域。方法包括:根据大语言模型的模型层次结构,在内存中创建对应的空模型,并确定空模型中参数层的元数据信息;依据空模型中参数层的元数据信息进行空间占用计算,并根据空间占用计算结果确定空模型中参数层的设备分布状况;基于空模型中参数层的设备分布状况,从磁盘中分层加载空模型的模型参数权重,并将分层加载的模型参数权重拷贝至空模型中各参数层对应的分布设备;释放已拷贝至分布设备的模型参数权重所占用的内存资源,完成大语言模型的分层加载。本发明专利技术可以大幅度提升模型的加载速度,减少模型的加载时间,实现了时间资源与空间资源的模型双向优化加载。

【技术实现步骤摘要】

本专利技术涉及模型加载,尤其涉及一种大语言模型分层加载方法及装置


技术介绍

1、深度学习是目前主流的实现大语言模型的方式,在深度学习中,模型的训练和部署都需要定义并加载相应的模型,传统的深度学习模型参数量小,模型层次结构少,在模型加载时无需消耗太多时间。

2、得益于大语言模型的突破性进展,越来越多的研究人员投身于大模型相关的研究,于是便面临到一些问题,模型加载需要的时间越来越长,数十亿参数的模型需要100秒至200秒,更大的模型还需要更长的时间;模型加载需要的内存空间越来越大,一百亿浮点数参数的模型加载时需要80g的内存。采用传统的模型加载方式来进行训练和推理会花费大量时间在加载等待上,且硬件资源需求越来越高。为了缓解模型加载造成的时间开销问题以及内存需求问题,降低大模型研究门槛与研究成本,需要提供一种更加快速、资源消耗更少的模型加载方法。


技术实现思路

1、有鉴于此,本专利技术实施例提供了一种大语言模型分层加载方法及装置,用以解决现有模型加载方法内存消耗大,且模型加载时间较长的问题。

2、本专利技术采用的技术方案是:

3、第一方面,本专利技术提供了一种大语言模型分层加载方法,包括:

4、根据大语言模型的模型层次结构,在内存中创建对应的空模型,并确定所述空模型中参数层的元数据信息;

5、依据所述空模型中参数层的元数据信息进行空间占用计算,并根据空间占用计算结果确定空模型中参数层的设备分布状况;

6、基于空模型中参数层的设备分布状况,从磁盘中分层加载所述空模型的模型参数权重,并将分层加载的模型参数权重拷贝至空模型中各参数层对应的分布设备;

7、释放已拷贝至分布设备的模型参数权重所占用的内存资源,完成大语言模型的分层加载。

8、进一步地,所述根据大语言模型的模型层次结构,在内存中创建对应的空模型,并确定所述空模型中参数层的元数据信息,包括:

9、根据大语言模型的模型层次结构,在内存中创建与所述模型层次结构相对应的空模型,所述空模型不包含实际的模型参数权重;

10、在内存中进行空模型初始化操作,加载所述空模型中各参数层的元数据信息,所述元数据信息包括空模型中各参数层的参数维度和数据类型。

11、进一步地,所述依据所述空模型中参数层的元数据信息进行空间占用计算,并根据空间占用计算结果确定空模型中参数层的设备分布状况,包括:

12、依据所述空模型中各参数层的参数维度和数据类型,计算出各参数层的实际占用内存空间;

13、根据所述各参数层的实际占用内存空间,结合多个待加载设备的内存和显存信息,推断出每个参数层对应分布的待加载设备,得到空模型中参数层的设备分布状况。

14、进一步地,所述基于空模型中参数层的设备分布状况,从磁盘中分层加载所述空模型的模型参数权重,并将分层加载的模型参数权重拷贝至空模型中各参数层对应的分布设备,包括:

15、根据空模型中的参数层连接顺序,从磁盘中依次分层加载空模型的模型参数权重至内存中;

16、并将内存中分层加载的空模型的模型参数权重分别加载到空模型对应的参数层中,得到具有实际模型参数权重和已分配内存空间的实参数层;

17、根据空模型中参数层的设备分布状况,按照空模型中的参数层连接顺序依次将所述空模型的所有实参数层拷贝至对应的待加载设备。

18、进一步地,方法还包括:若空模型参数层对应分布的待加载设备为cpu,则不进行实参数层拷贝操作。

19、进一步地,所述释放已拷贝至分布设备的模型参数权重所占用的内存资源,完成大语言模型的分层加载,包括:

20、若实参数层已拷贝至待加载设备,则释放对应实参数层所占用的内存;

21、若空模型参数层对应分布的待加载设备为cpu,则不释放内存。

22、第二方面,本专利技术提供一种大语言模型分层加载装置,包括:

23、空模型创建模块,用于根据大语言模型的模型层次结构,在内存中创建对应的空模型,并确定所述空模型中参数层的元数据信息;

24、设备分布计算模块,用于依据所述空模型中参数层的元数据信息进行空间占用计算,并根据空间占用计算结果确定空模型中参数层的设备分布状况;

25、模型分层加载模块,用于基于空模型中参数层的设备分布状况,从磁盘中分层加载所述空模型的模型参数权重,并将分层加载的模型参数权重拷贝至空模型中各参数层对应的分布设备;

26、内存释放模块,用于释放已拷贝至分布设备的模型参数权重所占用的内存资源,完成大语言模型的分层加载。

27、综上所述,本专利技术的有益效果如下:

28、本专利技术提供的一种大语言模型分层加载方法,通过在内存中创建大语言模型对应的空模型,并确定空模型中参数层的元数据信息,不需要进行实际的内存分配和参数初始化,这样可依据空模型中参数层的元数据信息进行空间占用计算,从而确定各个参数层实际占用内存空间大小,可以计算、推断出模型各参数层具体应该如何分布在不同设备上,确定空模型中参数层的设备分布状况。最后基于空模型中参数层的设备分布状况,从磁盘中分层加载空模型的模型参数权重,并将分层加载的模型参数权重拷贝至空模型中各参数层对应的分布设备,实现大语言模型的分层加载,相比于传统的模型加载方法,可以大幅度提升模型的加载速度,减少模型的加载时间,实现了时间资源与空间资源的模型双向优化加载。

本文档来自技高网...

【技术保护点】

1.一种大语言模型分层加载方法,其特征在于,包括:

2.根据权利要求1所述的大语言模型分层加载方法,其特征在于,所述根据大语言模型的模型层次结构,在内存中创建对应的空模型,并确定所述空模型中参数层的元数据信息,包括:

3.根据权利要求1所述的大语言模型分层加载方法,其特征在于,所述依据所述空模型中参数层的元数据信息进行空间占用计算,并根据空间占用计算结果确定空模型中参数层的设备分布状况,包括:

4.根据权利要求1所述的大语言模型分层加载方法,其特征在于,所述基于空模型中参数层的设备分布状况,从磁盘中分层加载所述空模型的模型参数权重,并将分层加载的模型参数权重拷贝至空模型中各参数层对应的分布设备,包括:

5.根据权利要求4所述的大语言模型分层加载方法,其特征在于,还包括:若空模型参数层对应分布的待加载设备为CPU,则不进行实参数层拷贝操作。

6.根据权利要求1所述的大语言模型分层加载方法,其特征在于,所述释放已拷贝至分布设备的模型参数权重所占用的内存资源,完成大语言模型的分层加载,包括:

7.一种大语言模型分层加载装置,其特征在于,包括:

...

【技术特征摘要】

1.一种大语言模型分层加载方法,其特征在于,包括:

2.根据权利要求1所述的大语言模型分层加载方法,其特征在于,所述根据大语言模型的模型层次结构,在内存中创建对应的空模型,并确定所述空模型中参数层的元数据信息,包括:

3.根据权利要求1所述的大语言模型分层加载方法,其特征在于,所述依据所述空模型中参数层的元数据信息进行空间占用计算,并根据空间占用计算结果确定空模型中参数层的设备分布状况,包括:

4.根据权利要求1所述的大语言模型分层加载方法,其特征在于,所述基于空模型中参...

【专利技术属性】
技术研发人员:陈泽源何维周礼周天友姚易佳杨岗
申请(专利权)人:创意信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1