本发明涉及信息,尤其涉及一种代码生成模型的训练方法。
背景技术:
1、随着信息技术的飞速发展,软件系统的规模日趋庞大,分布化程度日益加深,在软件系统的开发及部署过程中,开发者需要部署服务器、工作站、嵌入式板卡等硬件平台的环境,包括所需驱动、软件工具以及相关库的安装。
2、目前对硬件平台的环境配置依赖人工完成,由于配置过程中对不同硬件平台需要进行不同的配置,因此需要大量的工程经验,对工程师的专业性要求较高。并且当软件系统分布化程度较高时,需要配置的硬件平台数量较大,工程师需要进行重复性手动配置,导致效率低、成本高,不利于软件系统的交付。
3、使用代码生成模型对硬件平台环境进行自动配置与管理可有效解决上述问题,但使用文本训练代码生成模型会导致训练效率低、模型预测的精确性和格式化输出的能力低。
技术实现思路
1、鉴于上述的分析,本发明旨在提供一种代码生成模型的训练方法,用以解决使用文本训练代码生成模型导致训练效率低、模型预测的精确性和格式化输出的能力低的问题。
2、本发明提供了一种代码生成模型的训练方法,所述方法包括以下步骤:
3、收集业务领域中硬件平台的类型、型号、第一软件及硬件环境信息、第一软件及硬件环境信息中元素的对应关系,根据所述第一软件及硬件环境信息中元素的对应关系将所述硬件平台的类型、型号、第一软件及硬件环境信息整理为第一表格数据;
4、构建代码生成模型,根据所述第一表格数据构建第一指令数据集,对所述第一指令数据集进行扩充得到第二指令数据集,使用所述第二指令数据集对所述代码生成模型进行训练得到训练好的代码生成模型。
5、进一步地,所述第一软件及硬件环境信息中元素的对应关系包括硬件与相应驱动的对应关系、编程语言与相应代码编辑器、编译器及调试器的对应关系、编程语言与相关库的对应关系、驱动版本与相关库的对应关系。
6、进一步地,根据所述第一软件及硬件环境信息中元素的对应关系由开发人员提出有关待安装的驱动、软件工具、相关库的版本及其对应安装代码的问题并给出相应答案,将所述相应答案作为标签对所述第一表格数据进行标注得到若干样本,所述若干样本的集合构成所述第一指令数据集。
7、进一步地,根据所述第一指令数据集中样本的问题及相应答案创建新的问题或相应答案,根据新创建的问题或相应答案得到新的样本,通过所述新的样本对所述第一指令数据集进行扩充得到第二指令数据集。
8、进一步地,所述根据所述第一指令数据集中样本的问题及相应答案创建新的问题或相应答案包括:
9、改变所述第一指令数据集中样本的问题描述的顺序来创建新的问题;
10、对所述第一指令数据集中样本的问题进行同义词替换或改变其表述方式来创建新的问题;
11、对所述第一指令数据集中样本的相应答案进行同义词替换或改变其表述方式来创建新的相应答案。
12、进一步地,将新创建的问题对应的相应答案以及新创建的相应答案作为标签对所述第一表格数据进行标注得到若干新的样本,所述若干新的样本与所述第一指令数据集的集合构成所述第二指令数据集。
13、进一步地,将所述第二指令数据集输入所述代码生成模型进行训练,输出待安装的驱动、软件工具、相关库的列表及其对应的安装代码,当损失函数达到阈值时得到训练好的代码生成模型。
14、进一步地,所述硬件平台的第一软件及硬件环境信息包括该硬件平台的cpu信息及其驱动版本、gpu信息及其驱动版本、内存信息、硬盘空间信息、操作系统信息、编程语言信息。
15、进一步地,所述代码生成模型的损失函数为:
16、
17、其中,c为类别的总数;pc为所述模型预测样本属于类别c的概率;qc为0或1,当类别c为样本的正确分类时qc为1,否则qc为0;γ为超参数。
18、进一步地,所述训练好的代码生成模型具有逻辑对话功能,用于解答用户提出的环境配置相关问题。
19、与现有技术相比,本发明至少可实现如下有益效果之一:
20、1、本发明使用统一格式的表格数据而非直接使用非结构化的文本训练所述代码生成模型,提高了模型预测的精确性和格式化输出的能力。
21、2、本发明根据第一软件及硬件环境信息中元素的对应关系由开发人员提出有关待安装的驱动、软件工具、相关库的版本及其对应安装代码的问题并给出相应答案作为标签,从而构建指令数据集训练代码生成模型,提高了模型的训练效率及模型预测的精确性。
22、3、本发明通过自动获取待部署硬件平台的软件、硬件环境信息,并将所述信息输入训练好的代码生成模型得到待安装的驱动、软件工具、相关库的列表及其对应的安装代码,实现了硬件平台环境的自动检测、配置,解决了目前硬件平台环境配置依赖人工完成的问题,提高了工作效率,节约了成本。
23、4、本发明根据不同的硬件平台类型得到相应的待安装的驱动、软件工具、相关库的列表,支持跨硬件平台;根据不同的操作系统得到相应的安装代码,支持跨软件平台,提高了通用性。
24、本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
1.一种代码生成模型的训练方法,其特征在于,所述方法包括以下步骤:
2.根据权利要求1所述的代码生成模型的训练方法,其特征在于,所述第一软件及硬件环境信息中元素的对应关系包括硬件与相应驱动的对应关系、编程语言与相应代码编辑器、编译器及调试器的对应关系、编程语言与相关库的对应关系、驱动版本与相关库的对应关系。
3.根据权利要求1所述的代码生成模型的训练方法,其特征在于,根据所述第一软件及硬件环境信息中元素的对应关系由开发人员提出有关待安装的驱动、软件工具、相关库的版本及其对应安装代码的问题并给出相应答案,将所述相应答案作为标签对所述第一表格数据进行标注得到若干样本,所述若干样本的集合构成所述第一指令数据集。
4.根据权利要求3所述的代码生成模型的训练方法,其特征在于,根据所述第一指令数据集中样本的问题及相应答案创建新的问题或相应答案,根据新创建的问题或相应答案得到新的样本,通过所述新的样本对所述第一指令数据集进行扩充得到第二指令数据集。
5.根据权利要求4所述的代码生成模型的训练方法,其特征在于,所述根据所述第一指令数据集中样本的问题及相应答案创建新的问题或相应答案包括:
6.根据权利要求4所述的代码生成模型的训练方法,其特征在于,将新创建的问题对应的相应答案以及新创建的相应答案作为标签对所述第一表格数据进行标注得到若干新的样本,所述若干新的样本与所述第一指令数据集的集合构成所述第二指令数据集。
7.根据权利要求1至6中任一项所述的代码生成模型的训练方法,其特征在于,将所述第二指令数据集输入所述代码生成模型进行训练,输出待安装的驱动、软件工具、相关库的列表及其对应的安装代码,当损失函数达到阈值时得到训练好的代码生成模型。
8.根据权利要求1至6中任一项所述的代码生成模型的训练方法,其特征在于,所述硬件平台的第一软件及硬件环境信息包括该硬件平台的cpu信息及其驱动版本、gpu信息及其驱动版本、内存信息、硬盘空间信息、操作系统信息、编程语言信息。
9.根据权利要求1至6中任一项所述的代码生成模型的训练方法,其特征在于,所述代码生成模型的损失函数为:
10.根据权利要求1至6中任一项所述的代码生成模型的训练方法,其特征在于,所述训练好的代码生成模型具有逻辑对话功能,用于解答用户提出的环境配置相关问题。
