[发明专利]机器学习计算优化方法和平台有效
申请号: | 202210290092.6 | 申请日: | 2022-03-23 |
公开(公告)号: | CN114418127B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 赵汉宇;任仕儒;李永 | 申请(专利权)人: | 阿里云计算有限公司 |
主分类号: | G06N20/00 | 分类号: | G06N20/00;G06N3/08 |
代理公司: | 北京展翼知识产权代理事务所(特殊普通合伙) 11452 | 代理人: | 张阳 |
地址: | 310024 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 机器 学习 计算 优化 方法 平台 | ||
1.一种机器学习计算优化方法,包括:
在编译阶段:
识别机器学习计算图中的有状态节点,其中,所述有状态节点是训练时基于损失函数的反向传播会发生改变的节点,
将所述机器学习计算图切分为由所述有状态节点的上游节点组成的数据工作子图以及由所述有状态节点及其下游节点组成的训练工作子图,
在被切分边的两侧,向所述数据工作子图添加数据发送节点,并向所述训练工作子图添加数据接收节点;以及
异步执行所述数据工作子图和所述训练工作子图,
其中,基于CPU执行所述数据工作子图,基于异构处理单元执行所述训练工作子图。
2.如权利要求1所述的方法,其中,异步执行所述数据工作子图和所述训练工作子图包括:
基于所述数据工作子图的数据产生和所述训练工作子图的数据消耗的失配指标,动态伸缩执行所述数据工作子图的CPU资源量。
3.如权利要求2所述的方法,其中,动态伸缩执行所述数据工作子图的CPU资源量包括如下至少一项:
在失配指标指示失配时,增加参与执行所述数据工作子图的CPU核的数量;以及
在失配指标指示失配时,请求用于独立执行所述数据工作子图的新的CPU资源。
4.如权利要求3所述的方法,其中,所述新的CPU资源在被分配后,复制所述数据工作子图,选取训练数据集中的训练数据进行处理,并将经处理的训练数据送至相同的所述数据接收节点。
5.如权利要求1所述的方法,其中,异步执行所述数据工作子图和所述训练工作子图包括:
数据工作单元获取第一预定量的训练数据并基于所述数据工作子图进行预处理操作;
经预处理的数据被从所述数据发送节点发送至对应的预处理结果存放队列;
所述数据接收节点从所述对应的处理结果存放队列中获取所述经预处理的数据;以及
根据所述经预处理的数据,训练工作单元基于所述训练工作子图进行训练操作。
6.如权利要求5所述的方法,其中,经预处理的数据被从所述数据发送节点发送至对应的预处理结果存放队列包括:
所述数据接收节点对应的数据接收算子维护所述预处理结果存放队列,并且持续从所述数据发送节点将所述经预处理的数据拉取至所述预处理结果存放队列。
7.如权利要求5所述的方法,其中,所述数据接收节点每次从所述预处理结果存放队列中拉取第二预定量的所述经预处理的数据,并向所述数据工作单元分发新的第一预定量的训练数据索引。
8.如权利要求1所述的方法,其中,将所述机器学习计算图切分为由所述有状态节点的上游节点组成的数据工作子图以及由所述有状态节点及其下游节点组成的训练工作子图包括:
从所述计算图中所有进行模型参数更新的有状态节点开始,搜索找到所有下游节点,得到的节点集合及其边构成所述训练工作子图;
从源节点进行搜索,获得不包含所述训练工作子图节点的节点集合,得到所述训练工作子图。
9.一种机器学习计算优化方法,包括:
基于CPU执行计算的数据工作单元获取第一预定量的训练数据并基于数据工作子图进行预处理操作,并经由数据发送节点发送经预处理的数据;
基于异构处理单元执行深度学习计算的训练工作单元经由数据接收节点获取所述经预处理的数据以基于训练工作子图进行训练操作,
其中,在编译阶段将当前机器学习任务的计算图切分为由有状态节点的上游节点组成的所述数据工作子图以及由所述有状态节点及其下游节点组成的所述训练工作子图,并且在被切分边的两侧,向所述数据工作子图添加数据发送节点,并向所述训练工作子图添加数据接收节点,其中,所述有状态节点是训练时基于损失函数的反向传播发生改变的节点,并且所述数据工作子图和所述训练工作子图被异步执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里云计算有限公司,未经阿里云计算有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210290092.6/1.html,转载请声明来源钻瓜专利网。