Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

基于多SSD的单GPU大模型训练方法及系统 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:浙江大学

摘要:本发明公开了一种基于多SSD的单GPU大模型训练方法及系统,属于模型异构训练技术领域。本发明通过搭载多块SSD和单个GPU的软硬件协同设计,在CPU和GPU上额外申请一块空间用于异步的通信,在不影响计算的同时隐藏了通信带来的开销,解决了SSD‑CPU和CPU‑GPU之间带宽差异导致训练性能下降的问题,可大幅提高可训练模型规模和训练效率,同时降低训练成本。另外,本发明在大模型异构训练过程中引入主动卸载技术,使用多进程技术将GPU上的反向计算和CPU上的优化器计算并行,同时将CPU上的优化器计算和SSD‑CPU之间的通信并行起来,从而减少通信和计算串行带来的开销,避免梯度冗余传输问题。

主权项:1.一种基于多SSD的单GPU大模型训练方法,其特征在于,所述训练方法基于安装单块GPU和多块SSD的服务器实现;所述训练方法包括如下步骤:S1、在GPU上,按照FP16格式对待训练大模型的模型参数进行初始化,并将初始化得到的模型参数传输至SSD中存储;然后将FP16格式的模型参数从SSD读取至服务器的CPU中,在CPU上初始化得到对应的FP32格式的模型参数副本,并基于FP32格式的模型参数副本初始化梯度以及优化器状态,再将CPU上初始化得到的FP32格式的模型参数和优化器状态传输到SSD中存储;S2、以所有计算和通信都串行执行的方式,对初始化完毕的待训练大模型执行训练迭代过程的第一次训练,并对系统信息进行记录和分析,确定GPU和CPU的内存空闲量、计算占比、通信占比和所有网络层各自的参数量;然后在CPU和GPU上各自申请一块不超过内存空闲量的缓冲区,缓冲区大小不低于待训练大模型中参数量最大的网络层的参数量大小;S3、以计算和通信异步执行的方式,按照由前向传播阶段和反向传播-优化器更新并行阶段组成的两阶段模式,由GPU对待训练大模型进行训练迭代过程的下一次训练,同时记录系统信息;所述前向传播阶段中,GPU逐层对待训练大模型的模型参数进行更新,且在执行当前网络层的前向计算过程中,GPU需通过CPU预先从SSD中不断读入后续网络层的FP16格式模型参数直至存满GPU上的缓冲区,同时GPU需将已计算完毕的上一层梯度检查点通过CPU卸载至SSD中;每层网络层的前向计算完毕后,GPU需立即释放这一网络层的模型参数并开始下一网络层的前向计算;所述反向传播-优化器更新并行阶段中,GPU对待训练大模型逐层进行重计算和反向传播,而CPU则逐层对优化器状态进行更新;GPU在执行当前网络层的重计算和反向传播过程中,GPU需通过CPU预先从SSD中不断读入后续网络层的FP16格式模型参数和梯度检查点直至存满GPU上的缓冲区,同时GPU需要将上一网络层反向传播获得的梯度卸载到CPU上;每层网络层的重计算和反向传播计算完毕后,GPU需立即释放这一网络层的模型参数和梯度检查点,并开始下一网络层的重计算和反向传播;CPU在执行当前网络层的优化器状态更新过程中,需将上一层更新完成的优化器状态写回SSD中,同时预先从SSD上读入下一层的优化器状态并生成FP32格式的模型参数副本,从而在收到GPU卸载的下一层梯度后立即开始下一层的优化器状态更新;S4、不断重复S3,直至完成训练迭代过程的所有训练轮次;且在每次重复S3之前,根据上一次训练过程中记录的系统信息分析是否需要扩增CPU和GPU上的缓冲区大小,从而最大化训练性能。

全文数据:

权利要求:

百度查询: 浙江大学 基于多SSD的单GPU大模型训练方法及系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。