人工智能分布式训练平台的搭建方法及平台与流程

文档序号:25212513发布日期:2021-05-28 14:08阅读:120来源:国知局
人工智能分布式训练平台的搭建方法及平台与流程

本发明涉及人工智能、云平台技术领域,特别是人工智能分布式训练平台的搭建方法及平台。



背景技术:

当前ai人工智能越来越普及,基于人工智能的算法训练也越来越受到关注。所谓人工只能训练,是数据科学家通过将数据集输入到一个算法代码中,经过算法的训练,生成一个模型。这个模型可以用来作为人工智能识别的支撑。比如拿一张照片,输入到算法中,算法结合模型,能够分辨出这张图片是猫还是狗。

人工智能的训练过程是极其耗费计算资源的,而且显卡又非常昂贵。集合有多显卡的设备价格更不是一般小企业所能承受的。



技术实现要素:

本发明的目的在于提出人工智能分布式训练平台的搭建方法及平台,通过此方法,可以集合公司装有显卡的计算机设备,搭建一套训练平台,将所有的显卡作为一个集群服务。

为解决上述的技术问题,本发明采用以下技术方案:

一种人工智能分布式训练平台的搭建方法,包括如下步骤:

1)总控管理模块其实现方式包括如下步骤:

步骤1.1:安装docker;

步骤1.2:下载并安装kubeadm;

步骤1.2.1:添加镜像源;步骤1.2.2安装kubeadm、kubelet、kubectl;

步骤1.3:初始化kubemetes环境;

步骤1.4:安装gpu设备管控插件;

2)计算机设备模块其实现方式包括如下步骤:

步骤2.1:搭建基础环境:同上述步骤1中的1.1、1.2,安装docker和kubeadm;

步骤2.2:在总控管理模块上,获取加入总控的指令:

步骤2.3:将计算机设备作为资源加入总控管理模块中;

3)镜像构建模块其实现方式包括如下步骤:

步骤3.1:编写dockerfile文件;

步骤3.2:构建镜像;

步骤3.3:编写yaml文件,作为部署文件;

步骤3.4:开始训练。

本发明还公开一种人工智能分布式训练平台,包括总控管理模块、计算机设备模块和镜像构建模块。

进一步,总控管理模块管理各个计算机的gpu资源,开发人员在此模块创建训练任务,创建的训练任务分发到各台独立的计算机设备上。

进一步,计算机设备模块是部署在各个计算机设备上,管控计算机的gpu资源,并上报给总控管理模块。

进一步,镜像构建模块为镜像构建模块,将开发人员提交的算法代码,集合运行环境,构建成一个docker镜像,总控管理模块获取构建出来的镜像,将镜像部署到计算机设备模块上进行训练。

与现有技术相比,本发明至少具有以下有益效果之一:

1.充分利用公司的pc作为计算资源,降低企业成本,提高训练速度。

2.屏蔽开发人员对gpu资源的感知。

3.做到gpu资源的隔离,每个开发人员只能看到自己使用的gpu资源,不会出现资源抢占冲突。

附图说明

图1为本发明模块系统图。

图中,100-总控管理模块;200-计算机设备模块;300-镜像构建模块。

具体实施方式

如图1示,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例

一种人工智能分布式训练平台的搭建方法,包括如下步骤:

1)总控管理模块(100)其实现方式包括如下步骤:

步骤1.1:安装docker;

步骤1.2:下载并安装kubeadm;

步骤1.2.1:添加镜像源;步骤1.2.2安装kubeadm、kubelet、kubectl;

步骤1.3:初始化kubernetes环境;

步骤1.4:安装gpu设备管控插件;

2)计算机设备模块(200)其实现方式包括如下步骤:

步骤2.1:搭建基础环境:同上述步骤1中的1.1、1.2,安装docker和kubeadm;

步骤2.2:在总控管理模块(100)上,获取加入总控的指令:

步骤2.3:将计算机设备(200)作为资源加入总控管理模块(100)中;

3)镜像构建模块(300)其实现方式包括如下步骤:

步骤3.1:编写dockerfile文件;

步骤3.2:构建镜像;

步骤3.3:编写yaml文件,作为部署文件;

步骤3.4:开始训练。

更为具体的实施过程如下:

一种人工智能分布式训练平台的搭建方法,包括如下步骤:

1)总控管理模块100其实现方式包括如下步骤:

步骤1.1:安装docker,apt-getinstalldocker.io;

步骤1.2:下载并安装kubeadm;

步骤1.2.1:添加镜像源,curl-shttps://packages.cloud.google.com/apt/doc/apt-key.gpg|apt-keyadd-

cat<<eof>/etc/apt/sources.1ist.d/kubernetes.list

debhttp://mirrors.ustc.edu.cn/kubernetes/aptkubemetes-xenialmain

eof;

步骤1.2.2安装kubeadm、kubelet、kubectl,apt-getinstallkubeadm=1.14.3-00kubelet=1.14.3-00kubectl=1.14.3-00--allow-unauthenticated;

步骤1.3:初始化kubernetes环境,kubeadminit--pod-network-cidr=10.244.0.0/16--image-repositoryregistry.cn-hangzhou.aliyuncs.com/google_containers;

步骤1.4:安装gpu设备管控插件,

kubectlcreate-fhttps://raw.githubusercontent.com/nvidia/k8s-device-plugin/1.0.0-beta4/nvidia-device-plugin.yml:

2)计算机设备模块200其实现方式包括如下步骤:

步骤2.1:搭建基础环境:同上述步骤1中的1.1、1.2,安装docker和kubeadm;

步骤2.2:在总控管理模块100上,获取加入总控的指令,

root@ubuntu:~#kubeadmtokencreate--print-join-command

kubeadmjoin192.168.5.31:6443-tokennvvob8.ikonwk1jh99nmx4b

--discovery-token

rt-hash

sha256:7be69827ca9c687bc8438015663ad822302dc01d137beac8950a1612c9b25

cc3

root@ubuntu:~#;

步骤2.3:将计算机设备200作为资源加入总控管理模块100中,

kubeadmjoin192.168.3.14:6443--tokenlwo4ez.dcah2dv49swggwrx\

--discovery-token-ca-cert-hash;

3)镜像构建模块300其实现方式包括如下步骤:

步骤3.1:编写dockerfile文件,如下为示例文件:

frommxnet/python:gpu

workdir/app

copy./app

runexportpythonunbuffere=θ

cmd【“python”,“test.py”】;

步骤3.2:构建镜像($name、$version为可变参数,根据实际情况填写),

dockerbuild-t$name:$version.

将构建一个以$name为名称,$version为版本号的镜像文件;

步骤3.3:编写yaml文件,作为部署文件,示例如下,设定要使用的gpu个数

步骤3.4:开始训练,执行如下命令

kubectlcreate-f${filename}。

如图1所示,本发明还公开一种人工智能分布式训练平台,包括总控管理模块100、计算机设备模块200和镜像构建模块300;总控管理模块100为总控模块,管理各个计算机的gpu资源,开发人员在此模块创建训练任务,创建的训练任务分发到各台独立的计算机设备上;计算机设备模块200是部署在各个计算机设备上,管控计算机的gpu资源,并上报给总控管理模块100;镜像构建模块300为镜像构建模块,将开发人员提交的算法代码,集合运行环境,构建成一个docker镜像,总控管理模块100获取构建出来的镜像,将镜像部署到计算机设备模块200上进行训练,充分利用公司的pc作为计算资源,降低企业成本,提高训练速度。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内,凡是落入本发明权利要求界定范围内的技术方案,均落在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1