[发明专利]大规模多机多卡预训练方法、系统、设备及服务器集群在审

专利信息
申请号: 202111042840.0 申请日: 2021-09-07
公开(公告)号: CN113723552A 公开(公告)日: 2021-11-30
发明(设计)人: 李革;任俞睿;王耀威;白鑫贝;郭明月 申请(专利权)人: 北京大学深圳研究生院
主分类号: G06K9/62 分类号: G06K9/62;G06N3/04;G06N3/08
代理公司: 北京京万通知识产权代理有限公司 11440 代理人: 万学堂
地址: 518055 广东省深圳*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 大规模 多机多卡预 训练 方法 系统 设备 服务器 集群
【权利要求书】:

1.一种大规模多机多卡预训练方法,其特征在于,所述大规模多机多卡预训练方法包括:

在多个服务器上部署多机多卡,进行同构机型和异构混合机型的多机多卡并行;

基于slurm框架进行大规模多机多卡训练及评测,以无监督特征学习BYOL算法为例予以实施;

基于Horovod框架进行大规模多机多卡训练及评测,以视频语义无监督学习PRP算法予以实施;

所述训练包括环境配置、任务配置、通信配置、任务加速。

2.如权利要求1所述大规模多机多卡预训练方法,其特征在于,所述大规模多机多卡预训练方法包括以下步骤:

步骤一,基于slurm框架的多机多卡并行的无监督特征学习:采用BYOL算法进行多机多卡部署;

步骤二,基于Horovod框架的多机多卡并行的视频语义无监督学习:采用PRP算法进行多机多卡部署;

步骤三,进行多机多卡混合机型训练。

3.如权利要求2所述大规模多机多卡预训练方法,其特征在于,所述步骤一进一步包括:

使用N台DGX2共16×N块V100,采用无监督特征学习BYOL算法对Imagenet2012数据集进行训练,获得预训练模型,将训练时间从7天压缩到5小时6分钟;

设置一个CPU服务器作为主节点,其他GPU服务器作为计算节点,主节点和其中一台GPU服务器共享;主节点和各子节点提交相应部署脚本。

4.如权利要求2所述大规模多机多卡预训练方法,其特征在于,所述步骤一进一步包括:

(1)在云脑I上基于slurm进行多机部署,由于控制节点,即主节点不参与计算,仅为控制节点申请CPU即可;

若服务器机型为DGX2,则所述节点参数的配置情况,包括:

1)以镜像的方式为每个节点配置运行环境;

2)控制节点的配置为:控制节点任务不申请GPU,CPU核数申请6核,内存申请100G,并设置为主干任务;子节点的配置为:每个子节点任务申请16个GPU,CPU核数申请80核,内存申请1T;根据控制节点和子节点共享一台服务器,总共使用的机器数量等于子节点的数量;

3)控制节点和子节点均采用IB/RDMA进行多机通信,将内存的一半配置为共享内存;

4)配置启动命令和训练脚本,开始运行并行训练任务;

(2)基于debug模式配置多机slurm环境;

通过debug模式对DGX2的机器进行调试:通过SSH进入到DGX2上执行的任务中;若环境中没有安装slurm相关软件,则进行安装,若已经预先安装好slurm相关软件,则通过slurmd-V和slurmd-C指令进行验证,并查看CPU核数;在云脑版slurm多机部署中,修改masterip.txt和slaveip.txt,在masterip.txt中添加主节点,即控制节点的ip;在slaveip.txt中添加子节点,即计算节点的ip,并修改slurm_autoconfig.sh脚本中的ControlMachine变量,再执行bash slurm_autoconfig.sh脚本,即可完成多机slurm环境的配置;

(3)启动云脑I高速多机通信IB/RDMA

1)选用Nvidia NGC19.10作为基础镜像,镜像链接为:https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes/rel_19-10.html#rel_19-10;

2)在训练脚本中指定IB网卡:

①os.environ['NCCL_IB_HCA']=mlx5_0;

②os.environ['NCCL_DEBUG']=INFO;

(4)大规模任务的加速方案

采用如下措施对训练过程进行加速:

1)数据集存储加速:采用开辟一个专用数据集存储空间并挂载内存的方式,在不重启的情况下一直使用数据集,通过加速数据读取达到加速训练的目的;

2)采用IB/RDMA进行多机通信,通过加速训练中的多台机器之间的数据交互过程,达到提高训练速度的目的;

3)采用Apex混合精度的方式进行训练,占用显存相较单精度浮点型减少一半,因此也可以将batchsize扩大一倍;

4)采用适合大规模大batchsize情况的优化器,例如lars、lamb、yogi等,通过优化器加速达到提高训练速度的目的;

5)针对slurm优化了CPU核数的分配,在总核数一定的情况下,尽可能提高CPU分配job效率;

(5)基于步骤(1)~步骤(4),将BYOL算法的slurm框架下多机多卡并行版本进行大规模多机多卡的模型预训练;

(6)利用单机多卡对BYOL算法的预训练模型进行评测。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学深圳研究生院,未经北京大学深圳研究生院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202111042840.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top