一种基于张量异步硬盘读写的异构空间优化器制造技术

技术编号:37878342 阅读:8 留言:0更新日期:2023-06-15 21:06
本发明专利技术公开了一种基于张量异步硬盘读写的异构空间优化器,涉及硬盘读写技术领域包括AdamOptimizer主流优化器、SGDOptimizer主流优化器、NVMeOptimizer基类优化器与TensorNVMe异步读写库;所述AdamOptimizer主流优化器,现有的主流优化器;所述SGDOptimizer主流优化器,现有的主流优化器;所述NVMeOptimizer基类优化器,通过调用TensorNVMe异步读写库,将优化过程中的计算和硬盘读写重叠起来;该基于张量异步硬盘读写的异构空间优化器,本异构空间优化器通过采用NVMeOptimizer基类优化器,使得NVMeOptimizer基类优化器通过调用TensorNVMe异步读写库,将优化过程中的计算和硬盘读写重叠起来,从而大大提升了运行效率,本异构空间优化器通过继承NVMeOptimizer基类优化器,只需进行简单的修改,即可兼容现有的主流优化器。即可兼容现有的主流优化器。即可兼容现有的主流优化器。

【技术实现步骤摘要】
一种基于张量异步硬盘读写的异构空间优化器


[0001]本专利技术涉及硬盘读写
,具体为一种基于张量异步硬盘读写的异构空间优化器。

技术介绍

[0002]以BERT、GPT为代表的预训练模型(PTM)的出现是自然语言处理(NLP)领域的里程碑事件。NLP正在进入预训练时代。PTM使用堆叠了多个Transformer结构的神经网络,在大量文本上预训练通用语言特征表示,然后通过微调将学到的知识转移到不同的下游任务。使用来自互联网的海量文本数据,PTM可以捕获自然语言的细微特征,并使下游任务获得更加惊艳的表现效果。因此,AI社区的共识是采用PTM作为特定NLP任务的主干,而不是在与任务相关的数据集上从头开始训练模型。
[0003]PTM的力量源泉是它拥有的数以亿计的参数规模,这对运行它的计算与内存资源都提出了极高的要求。由于PTM模型数据无法容纳在单个GPU的内存中,因此大多数深度学习训练框架所采用的数据并行技术不适用于PTM。GPU硬件的有限的存储规模上限,像一堵墙限制了PTM的可训练规模,因此从业人员通常称之为“GPU内存墙”现象。近两年来,业界通过利用并行训练在多个GPU内存之间分配模型数据,例如ZeRO

DP、模型并行,流水线并行等尝试使PTM大小突破GPU内存墙限制。但是,这些技术仍严重依赖不断扩大GPU规模,而异构训练技术则成为破局者。它不仅可以显著提升单GPU训练模型的规模,而且可以和并行训练技术正交使用。我们将神经网络的每一个训练步分为三个阶段:前向传播、反向传播、优化器优化
[0004]微软DeepSpeed首先提出了基于张量同步硬盘读写的异构空间优化器。它通过同步的将优化器状态卸载到硬盘上来完成异构训练,即在前向和反向传播时,优化器状态保存在硬盘上,在优化器优化时,从硬盘中读取优化器状态,进行相应的计算,然后再将其卸载到硬盘上。在使用单精度浮点数的训练模式和Adam优化器时,模型参数量为N,则模型所需的内存为4N(参数)+4N(梯度)+8N(优化器状态)=16N。通过将优化器状态卸载到硬盘,可以将模型所需的内存缩小一半,从而突破了内存墙的限制。
[0005]由于优化器优化的过程对于每一个参数、优化器状态来说是独立的,顺序的优化各个参数和并发的优化各个参数并不会影响正确性。除此之外,硬盘读写和计算这两个任务所需的资源是相对正交的,即硬盘读写和计算可以同时进行。DeepSpeed顺序的进行读取、计算、卸载,并没有将硬盘读写和计算重叠,从而导致了实际运行效率低下。

技术实现思路

[0006]针对现有技术的不足,本专利技术提供了一种基于张量异步硬盘读写的异构空间优化器,解决了上述
技术介绍
中提出的问题。
[0007]为实现以上目的,本专利技术通过以下技术方案予以实现:一种基于张量异步硬盘读写的异构空间优化器,包括AdamOptimizer主流优化器、SGDOptimizer主流优化器、
NVMeOptimizer基类优化器与TensorNVMe异步读写库;
[0008]所述AdamOptimizer主流优化器,现有的主流优化器;
[0009]所述SGDOptimizer主流优化器,现有的主流优化器;
[0010]所述NVMeOptimizer基类优化器,通过调用TensorNVMe异步读写库,将优化过程中的计算和硬盘读写重叠起来;
[0011]所述TensorNVMe异步读写库,能够异步的将张量从硬盘中读取到内存中或者从内存中卸载到硬盘中。
[0012]可选的,所述异构空间优化器通过继承NVMeOptimizer,进行修改,即可兼容现有的主流优化器。
[0013]可选的,一种基于张量异步硬盘读写的异构空间优化方法,包括以下步骤:
[0014]S1:将优化器状态存储在硬盘中;
[0015]S2:在优化时,动态的将其读取到内存中,然后将其与参数一起进行计算;
[0016]S3:计算完毕后再卸载回硬盘中。
[0017]可选的,所述S2在优化时,动态的将其读取到内存中,然后将其与参数一起进行计算的步骤中优化器优化的过程对于每一个参数、优化器状态来说是独立的,顺序的优化各个参数和并发的优化各个参数并不影响正确性。
[0018]可选的,所述S2在优化时,动态的将其读取到内存中,然后将其与参数一起进行计算任务中硬盘读写和计算这两个任务所需的资源是相对正交的,硬盘读写和计算可以同时进行。
[0019]可选的,所述S2在优化时,动态的将其读取到内存中,然后将其与参数一起进行计算步骤中将张量在硬盘上的读写分为两个阶段:提交任务、等待任务完成。
[0020]可选的,通过所述S1将优化器状态存储在硬盘中的步骤、S2在优化时,动态的将其读取到内存中,然后将其与参数一起进行计算的步骤与S3计算完毕后再卸载回硬盘中的步骤,通过张量的异步读写,将计算和硬盘读写重叠起来。
[0021]本专利技术提供了一种基于张量异步硬盘读写的异构空间优化器,具备以下有益效果:
[0022]1、该基于张量异步硬盘读写的异构空间优化器,本异构空间优化器通过采用NVMeOptimizer基类优化器,使得NVMeOptimizer基类优化器通过调用TensorNVMe异步读写库,将优化过程中的计算和硬盘读写重叠起来,从而大大提升了运行效率,本异构空间优化器通过继承NVMeOptimizer基类优化器,只需进行简单的修改,即可兼容现有的主流优化器。
[0023]2、该基于张量异步硬盘读写的异构空间优化器,通过张量异步硬盘读写方法,对硬盘读写和计算进行重叠,从而改进了优化器的运行效率,进一步突破了现有硬件的内存墙限制,极大的提高了AI大模型的可用性,显著降低了训练AI大模型时的硬件要求和经济负担。
附图说明
[0024]图1为本专利技术系统结构示意图;
[0025]图2为本专利技术优化器优化流程图;
[0026]图3为本专利技术异构空间优化方法图。
[0027]图中:1、AdamOptimizer主流优化器;2、SGDOptimizer主流优化器;3、NVMeOptimizer基类优化器;4、TensorNVMe异步读写库。
具体实施方式
[0028]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。
[0029]请参阅图1至图3,本专利技术提供一种技术方案:一种基于张量异步硬盘读写的异构空间优化器,包括AdamOptimizer主流优化器1、SGDOptimizer主流优化器2、NVMeOptimizer基类优化器3与TensorNVMe异步读写库4;
[0030]AdamOptimizer主流优化器1,现有的主流优化器;
[0031]SGDOptimizer主流优化器2,现有的主流优化器;
[0032]NVMeOptimizer基类优化器3,通过本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于张量异步硬盘读写的异构空间优化器,其特征在于:包括AdamOptimizer主流优化器(1)、SGDOptimizer主流优化器(2)、NVMeOptimizer基类优化器(3)与TensorNVMe异步读写库(4);所述AdamOptimizer主流优化器(1),现有的主流优化器;所述SGDOptimizer主流优化器(2),现有的主流优化器;所述NVMeOptimizer基类优化器(3),通过调用TensorNVMe异步读写库(4),将优化过程中的计算和硬盘读写重叠起来;所述TensorNVMe异步读写库(4),能够异步的将张量从硬盘中读取到内存中或者从内存中卸载到硬盘中。2.根据权利要求1所述的一种基于张量异步硬盘读写的异构空间优化器,其特征在于:所述异构空间优化器通过继承NVMeOptimizer,进行修改,即可兼容现有的主流优化器。3.一种基于张量异步硬盘读写的异构空间优化方法,其特征在于:包括以下步骤:S1:将优化器状态存储在硬盘中;S2:在优化时,动态的将其读取到内存中,然后将其与参数一起进行计算;S3:计算完毕后再卸载回硬盘中。4.根据权利要...

【专利技术属性】
技术研发人员:柳泓鑫赵轩磊李升桂方佳瑞卞正达李永彬麦思琪刘育良黄海晨娄宇轩吴俊铭路广阳陈巍文
申请(专利权)人:北京潞晨科技有限公司
类型:发明
国别省市:

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

1