一种基于大模型的知识蒸馏方法和装置与流程

文档序号:37519970发布日期:2024-04-01 14:34阅读:18来源:国知局
一种基于大模型的知识蒸馏方法和装置与流程

本发明涉及神经网络,尤其涉及一种基于大模型的知识蒸馏方法和装置。


背景技术:

1、随着深度学习和大模型的普及,微调预训练模型已经成为一种普遍的方法来适应特定的任务或应用场景。对于低代码框架,其提供了一种简化的编程方法,使非专业开发者也能快速构建应用程序。为了减少学习成本,许多企业开始探索如何通过微调预训练模型来自动将自然语言描述转化为底层代码。

2、现有技术中,常用的一种方法是使用self-instruct技术,该技术尝试借助现有大模型的知识来进行蒸馏。然而这种方法在处理特定领域,如自研的低代码框架时,常常因为其底层大模型在编写该框架的代码方面能力不足而表现得不尽如人意(其中原因可能是多样的,比如自研框架与其他框架的相似性、底层模型的训练数据中类似代码的比重小等等)。生成的代码常常缺乏准确性,这使得蒸馏得到的训练数据准确性极差,无法用于大模型的微调。

3、所以,现有的蒸馏方法不能充分理解和处理低代码框架的特有语法,导致生成的代码中存在非法字段,生成的代码存在语法错误过多无法使用,难以满足实际应用中对低代码框架的准确的代码生成需求。


技术实现思路

1、本发明提供一种基于大模型的知识蒸馏方法和装置,用以解决现有技术中的蒸馏方法难以满足对低代码框架的准确的代码生成需求的缺陷,实现更高的数据生成准确性。

2、本发明提供一种基于大模型的知识蒸馏方法,包括:

3、任务生成:在预定义的知识库中搜索各个组件名称,将各个组件名称、第一提示词以及样例指令输入至大模型中,输出以样例指令为样例的指令任务;其中,所述样例指令为与自研低代码框架相关的指令,所述第一提示词用于提示大模型按照样例指令的样式生成指令任务,且所述指令任务中包括的目标组件名称属于所述输入的组件名称;所述知识库中存储具有对应关系的组件名称和组件规范;

4、代码生成:将所述指令任务以及第二提示词输入至大模型中,在预定义的知识库中搜索所述目标组件名称对应的目标组件规范,根据所述目标组件名称以及所述目标组件规范生成代码文件;其中,所述第二提示词用于指示大模型根据指令任务以及目标组件规范生成对应的代码文件;

5、代码验证:将生成的代码文件、第三提示词以及目标组件规范输入至大模型中,进行代码验证,将验证通过的代码文件作为训练数据,以训练自研低代码框架相关的低代码大模型;其中,所述第三提示词用于指示大模型对生成的代码文件以及目标组件规范进行验证。

6、根据本发明提供的一种基于大模型的知识蒸馏方法,在所述任务生成之前,所述方法还包括:

7、根据输入指令,生成与自研低代码框架相关的样例指令;

8、对低代码框架相关的应用程序接口的内容进行提取和标准化,成为键值对的形式存储于所述预定义的知识库中,其中,所述键值对包括键名和键值,所述键名为组件名称,所述键值为组件规范。

9、根据本发明提供的一种基于大模型的知识蒸馏方法,每个所述样例指令包括对应的样例组件名称;

10、将各个组件名称、第一提示词以及样例指令输入至大模型中,输出以样例指令为样例的指令任务,包括:

11、将各个组件名称、第一提示词以及样例指令输入至大模型中,确定所述样例指令对应的样例组件名称;

12、根据样例组件名称和样例指令的对应关系,在所述各个组件名称中选择目标组件名称,并基于所述目标组件名称生成以样例指令为样例的所述指令任务。

13、根据本发明提供的一种基于大模型的知识蒸馏方法,所述组件规范包括组件属性和属性描述;

14、根据所述目标组件名称以及所述目标组件规范生成代码文件,包括:

15、根据所述目标组件名称、以及所述目标组件规范中的组件属性和属性描述,生成所述代码文件。

16、根据本发明提供的一种基于大模型的知识蒸馏方法,将生成的代码文件、第三提示词以及目标组件规范输入至大模型中,进行代码验证,包括:

17、将生成的代码文件、第三提示词以及目标组件规范输入至大模型中,根据所述代码文件,确定所述代码文件对应的待验证组件名称;

18、在预定义的知识库中搜索所述待验证组件名称对应的待验证组件规范,并将所述目标组件规范与所述待验证组件规范进行对比验证。

19、本发明还提供一种基于大模型的知识蒸馏装置,包括:

20、任务生成模块,用于在预定义的知识库中搜索各个组件名称,将各个组件名称、第一提示词以及样例指令输入至大模型中,输出以样例指令为样例的指令任务;其中,所述样例指令为与自研低代码框架相关的指令,所述第一提示词用于提示大模型按照样例指令的样式生成指令任务,且所述指令任务中包括的目标组件名称属于所述输入的组件名称;所述知识库中存储具有对应关系的组件名称和组件规范;

21、代码生成模块,用于将所述指令任务以及第二提示词输入至大模型中,在预定义的知识库中搜索所述目标组件名称对应的目标组件规范,根据所述目标组件名称以及所述目标组件规范生成代码文件;其中,所述第二提示词用于指示大模型根据指令任务以及目标组件规范生成对应的代码文件;

22、代码验证模块,用于将生成的代码文件、第三提示词以及目标组件规范输入至大模型中,进行代码验证,将验证通过的代码文件作为训练数据,以训练自研低代码框架相关的低代码大模型;其中,所述第三提示词用于指示大模型对生成的代码文件以及目标组件规范进行验证。

23、根据本发明提供的基于大模型的知识蒸馏装置,每个所述样例指令包括对应的样例组件名称;

24、所述任务生成模块,具体用于:

25、将各个组件名称、第一提示词以及样例指令输入至大模型中,确定所述样例指令对应的样例组件名称;

26、根据样例组件名称和样例指令的对应关系,在所述各个组件名称中选择目标组件名称,并基于所述目标组件名称生成以样例指令为样例的所述指令任务。

27、根据本发明提供的基于大模型的知识蒸馏装置,所述组件规范包括组件属性和属性描述;

28、代码生成模块,具体用于:根据所述目标组件名称、以及所述目标组件规范中的组件属性和属性描述,生成所述代码文件。

29、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于大模型的知识蒸馏方法的步骤。

30、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于大模型的知识蒸馏方法的步骤。

31、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于大模型的知识蒸馏方法的步骤。

32、本发明提供的基于大模型的知识蒸馏方法和装置,通过将知识蒸馏过程拆分为任务生成、代码生成、代码验证三个步骤,通过知识库中的组件名称和组件规范作为大模型输出指令任务和代码文件的依据,并最终通过验证来确保生成的代码文件与自研低代码框架相关,从而减少了错误和不相关的代码生成,提高了代码生成的准确性。

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