一种异构计算系统的构建方法及系统与流程

文档序号:29090687发布日期:2022-03-02 02:42阅读:149来源:国知局
一种异构计算系统的构建方法及系统与流程

1.本发明涉及计算机技术领域,尤其涉及一种异构计算系统的构建方法及系统。


背景技术:

2.随着云计算、大数据和人工智能技术应用的发展,智能世界对算力的需求以每年十倍的速度在增长,计算的边界也在延伸,从数据中心,走到边缘,走进终端,智能计算无所不及。多年来,主流的智能计算平台由国外厂家和开源社区主控,硬件厂商和智能计算框架大多被一些厂家所垄断,严重制约着对智能计算的发展和成本控制。
3.如何有效地防止被垄断,通过保证智能计算平台应用的多样性和部署环境快速多变,且满足自主可控、系统快速部署、动态调整等需求,是目前急需解决的问题。


技术实现要素:

4.本发明意在提供一种异构计算系统的构建方法及系统,以解决现有技术中存在的不足,本发明要解决的技术问题通过以下技术方案来实现。
5.第一个方面,本发明实施例提供一种异构计算系统的构建方法,所述方法包括:根据不同的业务需求,确定与所述业务需求对应的任务类型;根据所述任务类型,获取与所述任务类型对应的训练数据,并构建与所述任务类型对应的神经网络模型;采用预先建立的异构计算系统,采用所述训练数据对所述神经网络模型进行训练,得到与所述任务类型对应的模型文件;采用xpu加速栈对与所述任务类型对应的模型文件进行转换,得到与所述xpu加速栈对应的模型部署文件和配置文件;采用所述预先建立的异构计算系统,对所述模型部署文件和配置文件进行封装,得到不同的业务服务,并将所述业务服务进行发布。
6.可选地,所述根据所述任务类型,获取与所述任务类型对应的训练数据,包括:根据所述任务类型,接收用户输入的与所述任务类型对应的训练数据;或者根据网络爬取方式获取与所述任务类型对应的训练数据。
7.可选地,所述构建与所述任务类型对应的神经网络模型,包括:对所述训练数据进行数据清洗、数据标注和数据集类型分类,得到处理后的训练数据;将所述处理后的训练数据存储在预先建立的数据库中;根据所述处理后的训练数据,建立与所述训练数据对应的神经网络模型;根据所述神经网络模型生成计算图。
8.可选地,所述预先建立的异构计算系统至少包括处理器、加速卡、操作系统和深度学习框架组件,其中,所述处理器、加速卡、操作系统和深度学习框架组件是不同类型的,所
述预先建立的异构计算系统至少包括图像分类、目标识别、推荐、语音、文本和强化学习中的一种。
9.可选地,所述采用预先建立的异构计算系统,采用与所述任务对应的训练数据对所述神经网络模型进行训练,得到与所述任务类型对应的模型文件,包括:所述采用预先建立的异构计算系统,采用与所述任务对应的训练数据对所述神经网络模型进行训练,生成与任务类型对应的模型文件,且所述模型文件的输出格式至少包括可扩展的计算图模块、标准数据类型或内置运算符中的一种。
10.可选地,所述采用xpu加速栈对与所述任务类型对应的模型文件进行转换,得到与所述xpu加速栈对应的模型部署文件和配置文件,包括:采用不同的加速卡对应的加速栈对所述与任务类型对应的模型文件进行预设规则的推理,得到与所述神经网络模型对应的处理结果,其中,所述预设规则至少包括计算图剪枝算法、算子融合算法、模型int8量化算法中的一种;根据不同的异构计算系统,采用静态编译的方式对所述处理结果进行编译,得到与所述xpu加速栈对应的模型部署文件和配置文件。
11.可选地,所述采用所述预先建立的异构计算系统,对所述模型部署文件和配置文件进行封装,得到不同的业务服务,并将所述业务服务进行发布,包括:对于不同的预先建立的异构计算系统,采用容器化部署方式,对所述模型部署文件和配置进行封装,得到不同的业务服务器,并将所述业务服务进行发布。
12.可选地,所述方法还包括:将所述业务服务作为远程调用端口,以供远程控制端调用该业务服务执行对应操作。
13.第二个方面,本发明实施例提供一种异构计算系统,所述装置包括:异构计算系统至少包括处理器、加速卡、操作系统和深度学习框架组件,其中,所述处理器和加速卡分别为不同类型的板卡,所述异构计算系统用于执行第一方面的异构计算系统的构建方法。
14.可选地,所述系统还包括远程控制端,所述远程控制端用于调用所述异构计算系统生成的各种服务。
15.本发明实施例包括以下优点:本发明实施例提供的异构计算系统的构建方法及异构计算系统,通过根据不同的业务需求,确定与业务需求对应的任务类型;根据任务类型,获取与任务类型对应的训练数据,并构建与任务类型对应的神经网络模型;采用预先建立的异构计算系统,采用训练数据对神经网络模型进行训练,得到与任务类型对应的模型文件;采用xpu加速栈对与任务类型对应的模型文件进行转换,得到与xpu加速栈对应的模型部署文件和配置文件;采用预先建立的异构计算系统,对模型部署文件和配置文件进行封装,得到不同的业务服务,并将业务服务进行发布,可以有效的防止被垄断的风险,同时对于未来智能应用的多样性、部署环境快速多变、信息系统对底层信息基础软硬件设施等方面,满足自主可控、系统快速部署、动态调整等需求。
附图说明
16.图1是本发明的一种异构计算系统的构建方法实施例的步骤流程示意图;
图2是本发明的又一种异构计算系统的构建方法实施例的步骤流程示意图;图3是本发明的一种异构计算系统的结构示意图。
具体实施方式
17.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
18.参照图1,示出了本发明的一种异构计算系统的构建方法实施例的步骤流程图,该方法具体可以包括如下步骤:s101、根据不同的业务需求,确定与业务需求对应的任务类型;具体地,该异构计算系统包括硬件设备和硬件设备上承载的软件,其中,硬件设备上承载的软件包括各种不同类型、不同厂家、不同型号的操作系统和深度学习框架组件。
19.基于该异构计算系统,用户可以输入不同的业务需求,并根据不同的业务需求,确定与该业务需求对应的任务类型,例如进行图像处理的业务或者语音识别业务等。
20.在实际应用中,通过用户输入的业务需求,确定待业务需求的应用领域,例如,图像、自然语言、语音、推荐和强化学习等,然后结合不同的应用领域分析具体的业务需求,确定明确的任务类型,进而在异构计算系统中结合对应的软件和硬件执行后续操作。
21.s102、根据任务类型,获取与任务类型对应的训练数据,并构建与任务类型对应的神经网络模型;具体的,异构计算系统在确定用户需求的任务类型后,需要获取与任务类型对应的训练数据,并根据这些训练数据来建立与任务类型对应的神经网络模型。收集相关任务需要的数据集,设计相应的网络模型;也就是说,在确定了任务类型后,进一步的收集相关任务需要的数据集,建立相应的神经网络模型;示例性地,若任务类型为人脸识别的任务,需要获取与人脸识别任务对应的训练数据,即采集大量的不同人物、不同角度的脸部照片作为训练数据。
22.s103、采用预先建立的异构计算系统,采用训练数据对神经网络模型进行训练,得到与任务类型对应的模型文件;具体地,基于该预先建立的异构计算系统,采用获取的训练数据即与业务类型对应的数据集,对神经网络模型进行训练,得到与任务类型对应的模型文件,该模型文件按照统一的模型输出格式输出,该统一的模型输出格式包括以下三种组件:(1)可扩展的计算图模型的定义,(2)标准数据类型的定义,(3)内置运算符的定义;s104、采用xpu加速栈对与任务类型对应的模型文件进行转换,得到与xpu加速栈对应的模型部署文件和配置文件;具体的,预先建立的异构计算系统在确定了训练模型后,由于该异构计算系统中包含有不同的xpu加速卡,则可以采用不同的xpu加速卡对生成的训练模型进行推理加速,具体包括算子融合,计算图键值、模型量化等推理加速方式,经过不同xpu加速栈优化后生成对应不同xpu的模型运行模型库或者可执行文件,同时生成对应的配置文件;s105、采用预先建立的异构计算系统,对模型部署文件和配置文件进行封装,得到不同的业务服务,并将业务服务进行发布。
23.具体地,采用预先建立的异构计算系统,将不同类型的模型部署文件和配置文件分别进行封装,得到不同的业务服务,并将该业务服务进行发布。
24.示例性地,若是人脸识别业务,则将与人脸识别对应的模型部署文件和配置文件进行封装,得到人脸识别的业务服务,这样,其他用户如果要执行人脸识别业务则可以直接调用该服务。
25.再例如,若是语音识别业务,则将与语音识别业务对应的模型部署文件和配置文件进行封装,得到语音识别的业务服务,这样,其他用户使用该语音识别业务时,则可以直接调用该语音识别的服务。
26.本发明实施例提供的异构计算系统的构建方法,通过根据不同的业务需求,确定与业务需求对应的任务类型;根据任务类型,获取与任务类型对应的训练数据,并构建与任务类型对应的神经网络模型;采用预先建立的异构计算系统,采用训练数据对神经网络模型进行训练,得到与任务类型对应的模型文件;采用xpu加速栈对与任务类型对应的模型文件进行转换,得到与xpu加速栈对应的模型部署文件和配置文件;采用预先建立的异构计算系统,对模型部署文件和配置文件进行封装,得到不同的业务服务,并将业务服务进行发布,可以有效的防止被垄断的风险,同时对于未来智能应用的多样性、部署环境快速多变、信息系统对底层信息基础软硬件设施等方面,满足自主可控、系统快速部署、动态调整等需求。
27.本发明又一实施例对上述实施例提供的异构计算系统的构建方法做进一步补充说明。
28.可选地,根据任务类型,获取与任务类型对应的训练数据,包括:根据任务类型,接收用户输入的与任务类型对应的训练数据;具体地,用户可以预先准备与任务类型对应的训练数据,然后将该训练数据输入到预先建立的异构计算系统中。
29.或者根据网络爬取方式获取与任务类型对应的训练数据。
30.具体地,网络爬取方式即是按照预设规则,通过可以自动地抓取万维网信息的程序或者脚本,获取与任务类型对应的训练数据。
31.可选地,构建与任务类型对应的神经网络模型,包括:对训练数据进行数据清洗、数据标注和数据集类型分类,得到处理后的训练数据;将处理后的训练数据存储在预先建立的数据库中;根据处理后的训练数据,建立与与训练数据对应的神经网络模型;根据神经网络模型生成计算图。
32.具体的,根据用户提供或者网络爬取等方式获取大量训练数据,这些训练数据会包括一些格式不符合的数据,需要对这些数据进行清洗,也就是说对训练数据进行数据一致性检测,并将无效值的数据进行删除和确定缺失值数据等。在数据清洗完成后,将该训练数据中的有效数据进行标注,例如,将人脸识别数据中的关键点位置的数据进行标注,然后根据不同类型对训练数据进行分类,以便于后续对不同类型的神经网络模型进行训练,并将分类后的训练数据分别存储在数据库中,也即是根据数据集类型、任务类型建立匹配的神经网络模型结构,生成计算图。
33.其中,神经网络模型至少包括:bp网络,该bp网络包括多层前馈网络、rbf(径向基函数)网络、hopfield(联想记忆)网络、som自组织特征映射模型或art自适应共振理论网络、量子神经网络。在本发明实施例中不做具体限定。
34.可选地,预先建立的异构计算系统至少包括处理器、加速卡、操作系统和深度学习框架组件,其中,处理器、加速卡、操作系统和深度学习框架组件是不同类型的,预先建立的异构计算系统至少包括图像分类、目标识别、推荐、语音、文本和强化学习中的一种。
35.其中,处理器为各种类型的cpu(central processing unit),加速卡为xpu,其中,xpu可以是gpu、tpu、npu、apu、fpu、hpu、ipu、mpu、rpu、vpu、wpu、xpu、zpu等,在本发明实施例中不做具体限定,每一种不同的加速卡上可以安装不同的操作系统和/或深度学习框架组件,其中,操作系统和深度学习框架组件也可以是任意厂家任意型号。在本发明实施例中,cpu可以是国内不同厂家的不同类型的芯片、cpu可以和不同的xpu加速卡进行组合来执行本发明实施例中的方案。
36.可选地,采用预先建立的异构计算系统,采用与任务对应的训练数据对神经网络模型进行训练,得到与任务类型对应的模型文件,包括:采用预先建立的异构计算系统,采用与任务对应的训练数据对神经网络模型进行训练,生成与任务类型对应的模型文件,且模型文件的输出格式至少包括可扩展的计算图模块、标准数据类型或内置运算符中的一种。
37.可选地,采用xpu加速栈对与任务类型对应的模型文件进行转换,得到与xpu加速栈对应的模型部署文件和配置文件,包括:采用不同的加速卡对应的加速栈对与任务类型对应的模型文件进行预设规则的推理,得到与神经网络模型对应的处理结果,其中,预设规则至少包括计算图剪枝算法、算子融合算法、模型int8量化算法中的一种;具体地,计算图剪枝算法具体为:剪枝算法从“完全生长“的决策树的底端剪去一些子树,使决策树变小(模型变简单),从而能够对未知数据有更准确的预测。cart剪枝算法由两步组成:首先从生成算法产生的决策树t0底端开始不断剪枝,直到t0的根节点,形成一个子树序列{t0,t1 ,

, tn};然后通过交叉验证法在独立的验证数据集上对子树序列进行测试,从中选择最优子树。
38.根据不同的异构计算系统,采用静态编译的方式对处理结果进行编译,得到与xpu加速栈对应的模型部署文件和配置文件。
39.具体地,使用xpu加速栈转换预训练模型,生成对应的模型部署文件和配置文件,具体方式如下:不同的xpu加速卡有不同的加速栈来对预训练模型进行转换,目的是将预训练模型进行推理优化,来更好的适配xpu硬件,该过程包括计算图剪枝、算子融合、模型int8量化等方法。同时根据不同的部署平台,可是使用静态编译的方法来规避平台的差异性,实现一次编译多平台部署。最终输出物为对应xpu硬件的模型部署文件和配置文件。
40.可选地,采用预先建立的异构计算系统,对模型部署文件和配置文件进行封装,得到不同的业务服务,并将业务服务进行发布,包括:对于不同的预先建立的异构计算系统,采用容器化部署方式,对模型部署文件和配置进行进行封装,得到不同的业务服务器,并将业务服务进行发布。
41.可选地,该方法还包括:将业务服务作为远程调用端口,以供远程控制端调用该业务服务执行对应操作。
42.根据不同的智能异构计算系统,封装成对应的服务进行发布,同时支持容器化部署和远程api调用,具体方法如下:针对不同的计算平台底层环境,为了实现模型应用的快速部署,采用容器化部署方案,在极大程度上规避因硬件差异造成的运行时错误,同时采用静态编译技术避免了智能异构计算系统的多次编译问题,降低了部署难度。容器化部署方案同时支持远程api调用功能。
43.生成的模型文件和配置文件,根据不用的智能异构计算系统,封装成对应的服务进行发布,同时支持容器化部署和远程api调用。
44.图2是本发明的又一种异构计算系统的构建方法实施例的步骤流程图,如图2所示,该异构计算系统的构建方法包括:s201、收集用户需求,定义任务类型;s202、收集数据集,构建深度学习模型;s203、基于国产智能异构计算系统,完成模型训练和统一格式模型存储;s204、根据不同npu加速栈完成对模型的推理加速和部署引擎输出;s205、根据智能异构计算系统软硬件配置,容器化部署对应的模型文件和api远程调用接口。
45.本发明实施例提出了一种基于国产软硬件的智能异构计算系统开发系统,根据实际的任务类型,确定深度学习的应用领域,比如图像分类、目标识别、推荐、语音、文本和强化学习;收集相关任务需要的数据集,并设计相应的网络模型;使用国产计算框架和对应的国产训练xpu进行模型训练,并按照既定的模型输出格式,存储训练模型;针对不用的xpu加速栈和cpu平台,完成对模型的优化,并生成对应的模型部署文件和配置文档;针对目标部署平台,部署智能应用模型,执行模型推理流程,同时支持容器化部署、api远程访问等功能。
46.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
47.本发明实施例提供的异构计算系统的构建方法,通过根据不同的业务需求,确定与业务需求对应的任务类型;根据任务类型,获取与任务类型对应的训练数据,并构建与任务类型对应的神经网络模型;采用预先建立的异构计算系统,采用训练数据对神经网络模型进行训练,得到与任务类型对应的模型文件;采用xpu加速栈对与任务类型对应的模型文件进行转换,得到与xpu加速栈对应的模型部署文件和配置文件;采用预先建立的异构计算系统,对模型部署文件和配置文件进行封装,得到不同的业务服务,并将业务服务进行发布,可以有效的防止被垄断的风险,同时对于未来智能应用的多样性、部署环境快速多变、信息系统对底层信息基础软硬件设施等方面,满足自主可控、系统快速部署、动态调整等需求。
48.本发明另一实施例提供一种异构计算系统,用于执行上述实施例提供的异构计算系统的构建方法。
49.参照图3,示出了本发明的一种异构计算系统的结构示意图,该异构计算系统至少包括处理器、加速卡、操作系统和深度学习框架组件,其中,处理器和加速卡分别为不同类型的板卡,异构计算系统用于执行上述的异构计算系统的构建方法。
50.具体地,包括模型训练模块、推理加速模块、服务发布模块,该模型训练模块包括训练集、深度学习框架、xpu异构集群,然后根据训练集,对深度学习框架进行训练,得到神经网络模型;该推理加速模块包括xpu加速栈模块、模型部署文件,通过xpu加速栈对神经网络模型进行加速推理,生成模型部署文件和配置文件;服务发布模块对模型部署文件和配置文件进行容器化部署,然后作为api服务接口供远程终端使用。
51.示例性地,本发明实施例提供的异构计算系统,为国产智能异构计算平台,也就是基于国产cpu、xpu、操作系统、深度学习框架组件的自主可控的计算平台。cpu部分支持飞腾2000plus、申威6bcpu型号;xpu部分支持华为atlas系列、百度昆仑系列、比特大陆sc5系列、寒武纪mlu系列,支持训练的xpu加速卡有华为atlas300t、寒武纪mlu290、百度昆仑k200等;国产深度学习框架有百度paddlepaddle、华为mindspore、清华jittor等,针对上述软硬件已完成功能适配和整体性测试。
52.可选地,该系统还包括远程控制端,远程控制端用于调用异构计算系统生成的各种服务。
53.根据本实施例的异构计算系统,通过根据不同的业务需求,确定与业务需求对应的任务类型;根据任务类型,获取与任务类型对应的训练数据,并构建与任务类型对应的神经网络模型;采用预先建立的异构计算系统,采用训练数据对神经网络模型进行训练,得到与任务类型对应的模型文件;采用xpu加速栈对与任务类型对应的模型文件进行转换,得到与xpu加速栈对应的模型部署文件和配置文件;采用预先建立的异构计算系统,对模型部署文件和配置文件进行封装,得到不同的业务服务,并将业务服务进行发布,可以有效的防止被垄断的风险,同时对于未来智能应用的多样性、部署环境快速多变、信息系统对底层信息基础软硬件设施等方面,满足自主可控、系统快速部署、动态调整等需求。
54.应该指出,上述详细说明都是示例性的,旨在对本技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语均具有与本技术所属技术领域的普通技术人员的通常理解所相同的含义。
55.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式。此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
56.需要说明的是,本技术中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便这里描述的本技术的实施方式能够以除了在这里图示或描述的那些以外的顺序实施。
57.此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例
如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
58.为了便于描述,在这里可以使用空间相对术语,如“在
……
之上”、“在
……
上方”、“在
……
上表面”、“上面的”等,用来描述如在图中所示的一个器件或特征与其他器件或特征的空间位置关系。应当理解的是,空间相对术语旨在包含除了器件在图中所描述的方位之外的在使用或操作中的不同方位。例如,如果附图中的器件被倒置,则描述为“在其他器件或构造上方”或“在其他器件或构造之上”的器件之后将被定位为“在其他器件或构造下方”或“在其他器件或构造之下”。因而,示例性术语“在
……
上方”可以包括“在
……
上方”和“在
……
下方”两种方位。该器件也可以其他不同方式定位,如旋转90度或处于其他方位,并且对这里所使用的空间相对描述作出相应解释。
59.在上面详细的说明中,参考了附图,附图形成本文的一部分。在附图中,类似的符号典型地确定类似的部件,除非上下文以其他方式指明。在详细的说明书、附图中所描述的图示说明的实施方案不意味是限制性的。在不脱离本文所呈现的主题的精神或范围下,其他实施方案可以被使用,并且可以作其他改变。
60.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1