AI工具集自动化部署方法和装置与流程
本技术涉及软件部署,具体涉及一种ai工具集自动化部署方法和装置。
背景技术:
1、随着人工智能技术的快速发展,完成一项ai(artificial intelligence,人工智能)任务往往不再依赖单一模型或单一工具,而需要由推理框架、模型库、加速组件、数据处理工具等多种ai工具协同构成的工具集共同支撑。然而,在实际部署此类ai工具集各ai工具之间往往存在复杂的相互依赖关系,不同工具及其各自版本之间对彼此版本存在严格的兼容约束,一旦版本搭配不当便极易引发依赖冲突,导致部署失败或运行时异常,而现有技术中依赖人工进行部署,人工经验不同且易出错导致部署成功率和部署效率较低。
技术实现思路
1、针对现有技术中的问题,本技术提供一种ai工具集自动化部署方法和装置,能够有效提高部署效率和部署成功率。
2、为了解决上述问题中的至少一个,本技术提供以下技术方案:
3、第一方面,本技术提供一种ai工具集自动化部署方法,包括:获取ai任务的任务类型和任务描述,对所述任务类型进行规则匹配得到第一ai工具集,利用机器学习模型对所述任务描述进行预测处理,得到第二ai工具集,基于所述第一ai工具集、所述第二ai工具集以及ai工具图谱生成子ai工具图谱,基于所述子ai工具图谱确定出各待部署ai工具的部署排序和版本数量;基于各所述部署排序和各所述版本数量、结合所述子ai工具图谱对各所述待部署ai工具进行版本约束校验,基于与所述待部署ai工具版本未冲突的多个其他待部署ai工具对所述子ai工具图谱进行版本更新,得到新的所述子ai工具图谱,若所述待部署ai工具对应的目标边关系不存在版本未冲突的相邻ai工具,则对所述子ai工具图谱进行所述目标边关系的版本根因冲突定位,得到解决方案,利用所述解决方案对所述子ai工具图谱进行更新,得到新的所述子ai工具图谱;针对各所述部署排序从小到大的顺序依次对应的各所述ai工具,基于所述子ai工具图谱中所述ai工具的各版本分别对目标部署环境进行内容寻址处理,若所述目标部署环境不存在任一版本的所述ai工具,则将目标版本的所述ai工具部署至所述目标部署环境中,以部署可执行所述ai任务的ai工具集。
4、在一些实施例中,对所述任务类型进行规则匹配得到第一ai工具集,利用机器学习模型对所述任务描述进行预测处理,得到第二ai工具集,基于所述第一ai工具集、所述第二ai工具集以及ai工具图谱生成子ai工具图谱,基于所述子ai工具图谱确定出各待部署ai工具的部署排序和版本数量,包括:获取任务类型与ai工具的预设映射规则,对所述任务类型进行规则匹配,将匹配命中的各第一ai工具确定为所述第一ai工具集,将所述任务描述输入预先训练的机器学习模型,预测得到所述任务描述对应的各候选ai工具的预测概率,基于所述ai任务的部署精度需求确定出预设预测阈值,并将所述预测概率大于所述预设预测阈值的候选ai工具确定为所述第二ai工具集;对所述第一ai工具集与所述第二ai工具集取并集,得到待部署ai工具集,在所述ai工具图谱中检索所述待部署ai工具集中各待部署ai工具所对应的节点,将检索到的节点以及节点之间的边关系抽取出来,生成所述子ai工具图谱,并对所述子ai工具图谱中各所述待部署ai工具进行依赖拓扑排序和版本统计,得到各所述待部署ai工具的部署排序和版本数量。
5、在一些实施例中,基于各所述部署排序和各所述版本数量、结合所述子ai工具图谱对各所述待部署ai工具进行版本约束校验,包括:基于各所述部署排序从小到大的顺序计算相邻一对所述待部署ai工具的版本数量差,若所述版本数量差超过预设差值,则将收敛突变值加一,并将一对所述待部署ai工具中部署排序较大的部署排序作为收敛突变部署排序,统计所述子ai工具图谱中所述待部署ai工具的工具数量;若所述收敛突变值大于预设突变点值、或各所述收敛突变部署排序中最大值超过二分之一所述工具数量,则利用最受约束变量优先启发式策略,结合各所述收敛突变部署排序、所述子ai工具图谱对各所述待部署ai工具进行版本约束校验;若所述收敛突变值不大于预设突变点值、且各所述收敛突变部署排序中最大值不超过二分之一所述工具数量,则利用约束传播策略结合所述子ai工具图谱、各所述部署排序对各所述待部署ai工具进行版本约束校验。
6、在一些实施例中,利用最受约束变量优先启发式策略,结合各所述收敛突变部署排序、所述子ai工具图谱对各所述待部署ai工具进行版本约束校验,包括:将各所述收敛突变部署排序中最大的所述收敛突变部署排序对应的待部署ai工具的作为首个进行约束校验的起点待部署ai工具,将所述起点待部署ai工具的各版本作为已选定版本,获取所述起点待部署ai工具直接被依赖的第一依赖ai工具和直接依赖的第一被依赖ai工具,从所述子ai工具图中获取所述起点待部署ai工具与所述第一依赖ai工具之间的第一被依赖边约束,所述起点待部署ai工具与所述第一被依赖ai工具之间的第一依赖边约束,并获取所述起点待部署ai工具的起点配置文件、所述第一被依赖ai工具的第一被依赖配置文件以及所述第一依赖ai工具的第一依赖配置文件;将所述起点配置文件、所述第一依赖配置文件以及所述第一被依赖边约束中指示的,所述第一依赖ai工具中不与所述已选定版本中任一版本冲突的依赖版本作为所述第一依赖ai工具的未冲突版本,将所述起点配置文件、所述第一被依赖配置文件以及所述第一依赖边约束中指示的,所述第一被依赖ai工具中不与所述已选定版本中任一版本冲突的被依赖版本作为所述第一被依赖ai工具的未冲突版本;将所述第一依赖ai工具和所述第一被依赖ai工具作为下一个并行进行版本约束校验的待部署ai工具,获取所述第一依赖ai工具直接被依赖的第二依赖ai工具,基于所述第二依赖ai工具的第二依赖配置文件、所述第二依赖ai工具与所述第一依赖ai工具的第二被依赖边约束、所述第一依赖配置文件,以及所述第一依赖ai工具的未冲突版本确定出所述第二依赖ai工具的未冲突版本,依次类推,得到各依赖ai工具的未冲突版本;获取所述第一被依赖ai工具直接依赖的第二被依赖ai工具,基于所述第二被依赖ai工具的第二被依赖配置文件、所述第二被依赖ai工具与所述第一被依赖ai工具的第二依赖边约束、所述第一被依赖配置文件,以及所述第一被依赖ai工具的未冲突版本确定出所述第二被依赖ai工具的未冲突版本,依次类推,得到各被依赖ai工具的未冲突版本,进而实现对所述待部署ai工具进行版本约束校验,得到各所述待部署ai工具进行版本约束后的未冲突版本。
7、在一些实施例中,利用约束传播策略结合所述子ai工具图谱、各所述部署排序对各所述待部署ai工具进行版本约束校验,包括:针对各所述部署排序从小到大的顺序依次对应的各所述待部署ai工具,从所述子ai工具图谱中确定出直接依赖所述待部署ai工具的第三依赖ai工具,并获取所述待部署ai工具与所述第三依赖ai工具之间的第三被依赖边约束,获取所述第三依赖ai工具的第三依赖配置文件,所述待部署ai工具的第四依赖配置文件;将所述部署排序最小的所述待部署ai工具在所述子ai工具图谱记载的版本作为所述待部署ai工具的未冲突版本,将所述待部署ai工具的未冲突版本作为已选定版本,将所述第三被依赖边约束、所述第三依赖配置文件以及所述第四依赖配置文件指示的,所述第三依赖ai工具中不与所述已选定版本中任一版本冲突的依赖版本作为所述第三依赖ai工具的未冲突版本,进而实现对所述待部署ai工具进行版本约束校验,得到各所述待部署ai工具进行版本约束后的未冲突版本;所述基于与所述待部署ai工具版本未冲突的多个其他待部署ai工具对所述子ai工具图谱进行版本更新,得到新的所述子ai工具图谱,包括:针对各所述待部署ai工具,若直接依赖所述待部署ai工具的其他待部署ai工具存在未冲突版本,则将所述子ai工具图谱中记载的所述其他待部署ai工具的版本替换为所述其他待部署ai工具的未冲突版本,以对所述子ai工具图谱进行版本更新,得到新的所述子ai工具图谱。
8、在一些实施例中,若所述待部署ai工具对应的目标边关系不存在版本未冲突的相邻ai工具,则对所述子ai工具图谱进行所述目标边关系的版本根因冲突定位,得到解决方案,利用所述解决方案对所述子ai工具图谱进行更新,得到新的所述子ai工具图谱,包括:基于所述待部署ai工具的边关系确定出直接依赖所述待部署ai工具的至少一个相邻ai工具,针对各所述相邻ai工具,若所述相邻ai工具不存在与所述待部署ai工具版本未冲突的未冲突版本,则视为所述待部署ai工具对应的目标边关系不存在版本未冲突的相邻ai工具,其中,所述目标边关系为所述相邻ai工具与所述待部署ai工具对应的边关系;从所述目标边关系对应的相邻ai工具回溯所述子ai工具图谱,以确定出导致所述目标边关系产生版本冲突的冲突项集合,所述冲突项集合包括所述目标边关系两端的待部署ai工具的版本约束以及回溯路径上各边关系的版本约束;将所述冲突项集合中,直接导致所述目标边关系对应版本均被排除的最小不可满足约束子集确定为根因约束项,并将所述根因约束项所对应的待部署ai工具确定为根因ai工具;基于所述根因ai工具及所述根因约束项,从预设解决方案库中匹配得到所述解决方案,所述解决方案包括以下至少一种:放宽所述根因约束项对应的版本约束区间、替换所述根因ai工具为功能等价的替代ai工具、以及回溯并变更所述根因ai工具的已选定版本;利用所述解决方案对所述子ai工具图谱中所述根因ai工具的版本约束或节点进行更新,并重新对所述目标边关系执行版本约束校验,直至所述目标边关系存在版本未冲突的相邻ai工具,得到新的所述子ai工具图谱。
9、在一些实施例中,所述方法还包括:利用多维性能测试对部署所述ai工具集的所述目标部署环境进行测试,获取多维性能测试结果,所述多维性能测试结果包括所述ai工具集在计算资源占用、推理时延、吞吐量以及任务精度中的至少两个维度的性能指标;基于所述多维性能测试结果结合多维自动调优策略,并参照所述子ai工具图谱的各配置文件,对所述目标部署环境进行自动调优;所述自动调优包括:将各维度的所述性能指标与所述ai任务对应的多维性能阈值进行比较,确定出未达到所述多维性能阈值的目标性能维度,并从所述多维自动调优策略中确定出与所述目标性能维度相对应的目标调优参数;参照所述子ai工具图谱中各ai工具的配置文件所记载的可调参数范围,结合所述目标调优参数对所述目标部署环境进行调优处理,将所述目标调优参数回写至对应ai工具的配置文件;对调优后的所述目标部署环境重新执行所述多维性能测试,若所述多维性能测试结果的各维度性能指标均达到所述多维性能阈值、或所述自动调优的迭代次数达到预设迭代上限,则结束自动调优,得到调优后的所述ai工具集。
10、第二方面,本技术提供一种ai工具集自动化部署装置,包括:获取单元,用于获取ai任务的任务类型和任务描述,对所述任务类型进行规则匹配得到第一ai工具集,利用机器学习模型对所述任务描述进行预测处理,得到第二ai工具集,基于所述第一ai工具集、所述第二ai工具集以及ai工具图谱生成子ai工具图谱,基于所述子ai工具图谱确定出各待部署ai工具的部署排序和版本数量;校验单元,用于基于各所述部署排序和各所述版本数量、结合所述子ai工具图谱对各所述待部署ai工具进行版本约束校验,基于与所述待部署ai工具版本未冲突的多个其他待部署ai工具对所述子ai工具图谱进行版本更新,得到新的所述子ai工具图谱,若所述待部署ai工具对应的目标边关系不存在版本未冲突的相邻ai工具,则对所述子ai工具图谱进行所述目标边关系的版本根因冲突定位,得到解决方案,利用所述解决方案对所述子ai工具图谱进行更新,得到新的所述子ai工具图谱;部署单元,用于针对各所述部署排序从小到大的顺序依次对应的各所述ai工具,基于所述子ai工具图谱中所述ai工具的各版本分别对目标部署环境进行内容寻址处理,若所述目标部署环境不存在任一版本的所述ai工具,则将目标版本的所述ai工具部署至所述目标部署环境中,以部署可执行所述ai任务的ai工具集。
11、第三方面,本技术提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的ai工具集自动化部署方法的步骤。
12、第四方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的ai工具集自动化部署方法的步骤。
13、第五方面,本技术提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现所述的ai工具集自动化部署方法的步骤。
14、由上述技术方案可知,本技术提供一种ai工具集自动化部署方法和装置,通过对任务类型进行规则匹配、同时利用机器学习模型对任务描述进行预测,将确定性的规则筛选与语义层面的智能推荐相结合,既保证了ai工具选取的准确可靠,又能兼顾任务描述中隐含的细粒度需求,从而更全面、更精准地圈定出执行ai任务所需的ai工具,避免了单一方式选型时的遗漏或偏差。在此基础上,依托ai工具图谱生成聚焦于当前任务的子ai工具图谱,并据此确定各ai工具的部署排序与版本数量,使部署过程有序、可控。随后结合部署排序与版本数量对各ai工具进行版本约束校验,凡存在版本相容的ai工具即据以更新子ai工具图谱,凡出现相邻工具无相容版本的硬冲突则触发版本根因冲突定位、匹配解决方案,从而将复杂的版本兼容问题在部署前自动化消解,显著降低了因依赖冲突导致部署失败或运行异常的风险。最后对各ai工具的各版本基于内容寻址处理逐一判定目标部署环境是否已存在,仅在任一版本都不存在时才部署该ai工具,既避免了重复安装与冗余下载,又保证了环境中最终集齐可协同执行ai任务的完整ai工具集。整体而言,本方案将工具选型、依赖消解与按需部署贯通为一条自动化闭环流程,大幅提升了ai工具部署的智能化程度、兼容成功率与整体部署效率,有效减少了人工介入选型、排查冲突与手动安装的成本。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com