[发明专利]内存调度方法及装置、电子设备和存储介质在审
申请号: | 202211280037.5 | 申请日: | 2022-10-19 |
公开(公告)号: | CN115688893A | 公开(公告)日: | 2023-02-03 |
发明(设计)人: | 沈亮;郝宏翔;吴志华;于佃海 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/08 |
代理公司: | 北京市汉坤律师事务所 11602 | 代理人: | 姜浩然;吴丽丽 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 调度 方法 装置 电子设备 存储 介质 | ||
1.一种内存调度方法,包括:
获取待训练的第一模型,其中,所述第一模型包括多个前向算子;
在执行所述多个前向算子中的任一前向算子之前,获取当前的可用内存量和该前向算子输出的中间计算结果的内存占用量;以及
基于所述可用内存量和所述内存占用量,确定是否将所述中间计算结果保留于内存中。
2.根据权利要求1所述的方法,其中,所述基于所述可用内存量和所述内存占用量,确定是否将所述中间计算结果保留于内存中包括:
响应于所述可用内存量大于或等于所述内存占用量,将所述中间计算结果保留于内存中。
3.根据权利要求1或2所述的方法,其中,所述基于所述可用内存量和所述内存占用量,确定是否存储所述中间计算结果包括:
响应于所述可用内存量小于所述内存占用量,将所述中间计算结果从内存中删除。
4.根据权利要求1-3中任一项所述的方法,其中,所述第一模型还包括多个反向算子;
所述方法还包括:
在执行所述多个反向算子中的任一反向算子之前,响应于内存中不存在执行该反向算子所需要的目标中间计算结果,获取检查点计算结果,其中,所述检查点计算结果为位于所述目标中间计算结果之前的最新的中间计算结果;以及
基于所述检查点计算结果进行前向重计算,以得到所述目标中间计算结果。
5.根据权利要求1-4中任一项所述的方法,其中,所述第一模型为多个子模型中的任一子模型,所述多个子模型通过对待训练的第二模型进行切分得到,在所述第一模型的训练过程中,前向计算和反向计算交叉进行。
6.根据权利要求1-5中任一项所述的方法,其中,所述第一模型的训练过程包括多次迭代,所述方法在所述多次迭代的每次迭代中执行。
7.根据权利要求1-5中任一项所述的方法,其中,所述第一模型的训练过程包括多次迭代,所述方法在所述多次迭代中的首次迭代和变化迭代中执行,所述变化迭代为训练数据量发生变化的迭代。
8.一种内存调度装置,包括:
第一获取模块,被配置为获取待训练的第一模型,其中,所述第一模型包括多个前向算子;
第二获取模块,被配置为在执行所述多个前向算子中的任一前向算子之前,获取当前的可用内存量和该前向算子输出的中间计算结果的内存占用量;以及
确定模块,被配置为基于所述可用内存量和所述内存占用量,确定是否将所述中间计算结果保留于内存中。
9.根据权利要求8所述的装置,其中,所述确定模块进一步被配置为:
响应于所述可用内存量大于或等于所述内存占用量,将所述中间计算结果保留于内存中。
10.根据权利要求8或9所述的装置,其中,所述确定模块进一步被配置为:
响应于所述可用内存量小于所述内存占用量,将所述中间计算结果从内存中删除。
11.根据权利要求8-10中任一项所述的装置,其中,所述第一模型还包括多个反向算子;
所述装置还包括:
第三获取模块,被配置为在执行所述多个反向算子中的任一反向算子之前,响应于内存中不存在执行该反向算子所需要的目标中间计算结果,获取检查点计算结果,其中,所述检查点计算结果为位于所述目标中间计算结果之前的最新的中间计算结果;以及
重计算模块,被配置为基于所述检查点计算结果进行前向重计算,以得到所述目标中间计算结果。
12.根据权利要求8-11中任一项所述的装置,其中,所述第一模型为多个子模型中的任一子模型,所述多个子模型通过对待训练的第二模型进行切分得到,在所述第一模型的训练过程中,前向计算和反向计算交叉进行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211280037.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:石膏板成品包装自动放护板系统
- 下一篇:一种黄铜板带生产加工用尺寸检测装置