CN117453888A - 训练数据的生成方法、装置、设备及存储介质 - Google Patents

训练数据的生成方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117453888A
CN117453888A CN202311495596.2A CN202311495596A CN117453888A CN 117453888 A CN117453888 A CN 117453888A CN 202311495596 A CN202311495596 A CN 202311495596A CN 117453888 A CN117453888 A CN 117453888A
Authority
CN
China
Prior art keywords
language model
sentence
optimized
input sentence
generative
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311495596.2A
Other languages
English (en)
Inventor
刘秋男
潘伟洲
王家晔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202311495596.2A priority Critical patent/CN117453888A/zh
Publication of CN117453888A publication Critical patent/CN117453888A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Machine Translation (AREA)

Abstract

本申请公开了一种训练数据的生成方法、装置、设备及存储介质,涉及人工智能技术领域。该方法包括:将样本输入语句和进化提示,输入第一生成式语言模型生成优化输入语句,样本输入语句为训练集中已有的用于指示第三生成式语言模型生成代码的提示语句,优化输入语句为优化后的用于指示第三生成式语言生成代码的提示语句;将优化输入语句输入第二生成式语言模型,生成与优化输入语句对应的应答语句;基于优化输入语句和应答语句,确定用于优化第三生成式语言模型生成代码的能力的训练数据。本申请提供了一种基于训练集中已有输入语句来拓展输入语句,进而生成用于优化生成式语言模型的训练数据的方法。

Description

训练数据的生成方法、装置、设备及存储介质
技术领域
本申请涉及人工智能领域,特别涉及一种训练数据的生成方法、装置、设备及存储介质。
背景技术
生成式语言模型(Generative Language Model,GLM)是一种用于生成语言数据的机器学习模型,其可以应用于代码生成、机器翻译、问答系统、文本摘要等多种任务中。在运用生成式语言模型的过程中,给定输入语句,生成式语言模型会基于输入语句生成相应的应答语句。
生成式语言模型的训练通常需要大量的文本数据,以便模型可以学习各种语言结构和语境。相关技术中,采用现有的生成式语言模型,通过人工提问获取模型应答的方式来扩展生成式语言模型的训练集,提升训练集的多样性和覆盖范围,以优化模型的训练效果。
然而,相关技术中毫无根据的扩充数据会导致模型的数据分布割裂的问题,例如人工制造的问题难度突然增大,会降低模型在普通数据上的泛化能力。如何能够拓展训练集的数据多样性,生成更有效的用于模型优化的训练数据,是需要解决的问题。
发明内容
本申请实施例提供了一种训练数据的生成方法、装置、设备及存储介质,可以提供一种拓展训练集的数据多样性,生成更有效的用于模型优化的训练数据的方法,提升了训练数据的质量与优化效果。所述技术方案如下:
根据本申请的一个方面,提供了一种训练数据的生成方法,所述方法包括:
将样本输入语句和进化提示,输入第一生成式语言模型生成优化输入语句,所述样本输入语句为训练集中已有的用于指示第三生成式语言模型生成代码的提示语句,所述优化输入语句为优化后的用于指示所述第三生成式语言生成代码的提示语句,所述进化提示用于指示生成所述优化输入语句的方式,所述第三生成式语言模型为用于生成代码的生成式语言模型;
将所述优化输入语句输入第二生成式语言模型,生成与所述优化输入语句对应的应答语句,所述应答语句为包含代码的语句;
基于所述优化输入语句和所述应答语句,确定用于优化所述第三生成式语言模型生成代码的能力的训练数据;
其中,所述第一生成式语言模型、所述第二生成式语言模型、所述第三生成式语言模型中的至少两个为同一生成式语言模型,或均为不同的生成式语言模型。
根据本申请的另一方面,提供了一种训练数据的生成装置,所述装置包括:
生成模块,用于将样本输入语句和进化提示,输入第一生成式语言模型生成优化输入语句,所述样本输入语句为训练集中已有的用于指示第三生成式语言模型生成代码的提示语句,所述优化输入语句为优化后的用于指示所述第三生成式语言生成代码的提示语句,所述进化提示用于指示生成所述优化输入语句的方式,所述第三生成式语言模型为用于生成代码的生成式语言模型;
所述生成模块,用于将所述优化输入语句输入第二生成式语言模型,生成与所述优化输入语句对应的应答语句,所述应答语句为包含代码的语句;
确定模块,用于基于所述优化输入语句和所述应答语句,确定用于优化所述第三生成式语言模型生成代码的能力的训练数据;
其中,所述第一生成式语言模型、所述第二生成式语言模型、所述第三生成式语言模型中的至少两个为同一生成式语言模型,或均为不同的生成式语言模型。
根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如上方面所述的训练数据的生成方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如上方面所述的训练数据的生成方法。
根据本申请的另一方面,提供了一种计算机程序产品,所述计算机程序产品中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如上方面所述的训练数据的生成方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过将第三生成式语言模型的训练集中已有的样本输入语句和进化提示输入生成式语言模型,生成将样本输入语句拓展后的优化输入语句,并且生成该优化输入语句对应的应答语句,基于新生成的优化输入语句和应答语句的数据对,确定第三生成式语言模型的训练数据,提升训练数据的质量与优化效果;由于新生成的训练数据是基于已有的样本输入语句多次拓展生成的,使得训练集中的训练数据的难度均匀提升,有助于提升生成式语言模型的问题处理能力和泛化能力。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请一个示例性实施例提供的计算机系统的结构框图;
图2是本申请一个示例性实施例提供的训练数据的生成方法的流程图;
图3是本申请一个示例性实施例提供的训练数据的生成方法的流程图;
图4是本申请一个示例性实施例提供的基于样本输入语句生成训练数据的流程图;
图5是本申请一个示例性实施例提供的训练数据的生成方法的流程图;
图6是本申请一个示例性实施例提供的训练数据的生成方法的流程图;
图7是本申请一个示例性实施例提供的生成式语言模型的评估系统的整体架构图;
图8是本申请一个示例性实施例提供的对第三生成式语言模型进行模型评估的界面示意图;
图9是本申请一个示例性实施例提供的对第三生成式语言模型进行模型评估的评测集列表的界面示意图;
图10是本申请一个示例性实施例提供的对第三生成式语言模型进行模型评估的每一个评测集的界面示意图;
图11是本申请一个示例性实施例提供的对第三生成式语言模型进行模型评估的反馈输出信息的界面示意图;
图12是本申请一个示例性实施例提供的对第三生成式语言模型进行模型评估中新建评测集的界面示意图;
图13是本申请一个示例性实施例提供的对第三生成式语言模型进行模型评估中编辑评测集的界面示意图;
图14是本申请一个示例性实施例提供的对第三生成式语言模型进行模型评估中导入评测集的界面示意图;
图15是本申请一个示例性实施例提供的对第三生成式语言模型进行模型评估中导出评测集的界面示意图;
图16是本申请一个示例性实施例提供的对第三生成式语言模型进行模型评估中帮助页面的界面示意图;
图17是本申请一个示例性实施例提供的对第三生成式语言模型进行模型评估中系统日志页面的界面示意图;
图18是本申请一个示例性实施例提供的对第三生成式语言模型进行模型评估中数据库和评测机的系统日志的界面示意图;
图19是本申请一个示例性实施例提供的训练数据的生成装置的结构框图;
图20是本申请一个示例性实施例提供的计算机设备的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请中可能出现的名词进行解释。
大语言模型(Large Language Model,LLM):其为生成式语言模型的一类,用于处理和理解自然语言文本。其在大量的文本数据上进行训练,可以执行文本总结、翻译、问答、代码生成等多种任务。LLM基于深度神经网络,是指模型参数超过第一阈值,或者训练数据超过第二阈值,或者计算量超过第三阈值的语言模型,其中,第一阈值、第二阈值和第三阈值都为千亿级别的数值。
生成预训练转换器(Generative Pre-trained Transformer,GPT):其为基于转换器(Transformer)架构的生成式语言模型,用于生成自然语言文本。GPT模型的主要特点是经过大规模的预训练,以学习自然语言的语法、语义和上下文信息。这些模型可以用于文本生成、文本分类、问答系统、语言理解和各种自然语言处理任务。
图1示出了本申请一个示例性实施例提供的计算机系统的结构框图。该计算机系统包括:终端120和服务器140。
终端120能够是智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器或MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器,膝上型便携计算机,智能机器人,自助支付设备中的至少一种。终端120安装和运行有支持生成式语言模型的运行或优化的应用程序,例如,该应用程序能够是系统应用、搜索引擎、新闻推送应用、购物应用、社交应用、编程应用,等等。
在一个示意性的例子中,终端120上显示有用于评估模型性能的人机交互(HumanComputer Interaction,HCI)界面,用户通过该HCI界面上传用于评估模型性能的评测集或评测脚本;在模型评测完成后,终端显示模型评测结果。
在另一个示意性的例子中,终端120上显示有生成式语言模型的运行界面,用户在该界面上输入文本内容,终端显示生成式语言模型所生成的应答语句。
终端120通过无线网络或有线网络与服务器140相连。
服务器140包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。服务器140用于为客户端提供后台服务。可选地,服务器140承担主要计算工作,终端承担次要计算工作;或者,服务器140承担次要计算工作,终端承担主要计算工作;或者,服务器140和终端之间采用分布式计算架构进行协同计算。
在一个示意性的例子中,服务器140包括处理器、数据库、触发器(trigger)服务、面向用户的输入/输出接口(Input/Output Interface,I/O接口)。其中,处理器用于加载服务器140中存储的指令,处理数据库和触发器服务的数据;数据库用于存储运行和评测生成式语言模型的相关数据;触发器服务用于从HCI界面或其他平台检测触发,例如对模型进行评测的触发。
本领域技术人员能够知晓,上述终端120、服务器140的数量能够更多或更少。比如上述终端120、服务器140能够仅为一个,或者上述终端120、服务器140为几十个或几百个,或者更多数量,本申请实施例对终端或服务器的数量和设备类型不加以限定。
图2示出了本申请一个示例性实施例提供的训练数据的生成方法的流程图。本实施例以该方法由图1所示的终端或服务器执行来举例说明。该方法包括:
步骤220:将样本输入语句和进化提示,输入第一生成式语言模型生成优化输入语句;
样本输入语句为训练集中已有的用于指示第三生成式语言模型生成代码的提示语句,优化输入语句为优化后的用于指示第三生成式语言生成代码的提示语句,其中,第三生成式语言模型为用于生成代码的生成式语言模型;即,样本输入语句为第三生成式语言模型的训练集中的已有输入语句,优化输入语句为将样本输入语句优化后得到的输入语句,优化输入语句用于优化第三生成式语言模型;也即,基于训练集中的已有的样本输入语句,将其作为基础,经过拓展后得到优化输入语句。
进化提示用于指示生成优化输入语句的方式;即,进化提示指示了样本输入语句拓展为优化输入语句的拓展方式。
第一生成式语言模型为用于生成优化输入语句的生成式语言模型。第一生成式语言模型可以为第三生成式语言模型,即待优化的生成式语言模型;第一生成式语言模型也可以为除第三生成式语言模型外的其他生成式语言模型。即,可以采用待优化的第三生成式语言模型本身对训练集中的已有输入语句进行拓展;或者,也可以采用其他现有的其他生成式语言模型对该已有输入语句进行拓展,例如GPT模型。
在一些实施例中,将样本输入语句和第一进化提示,输入第一生成式语言模型生成优化输入语句;其中,第一进化提示用于指示通过将样本输入语句复杂化的方式生成优化输入语句。例如,第一进化提示指示在样本输入语句的基础上,增加输入语句的词汇数量以生成优化输入语句。
在一些实施例中,将样本输入语句和第二进化提示,输入第一生成式语言模型生成优化输入语句;其中,第二进化提示通过增加第一错误代码参考指示生成优化输入语句的方式,第一错误代码参考为给第三生成式语言模型作为参考的包含错误代码的应答语句。例如,第二进化提示给出一段错误的代码作为参考。
在一些实施例中,将样本输入语句和第三进化提示,输入第一生成式语言模型生成优化输入语句;其中,第三进化提示通过增加第二错误代码参考指示生成优化输入语句的方式,第二错误代码参考为给第三生成式语言模型作为参考的包含错误代码的应答语句,第二错误代码参考与样本输入语句的约束条件有关。例如,第三进化提示给出一段试图解决问题但是包含错误的代码作为参考,且该错误与约束条件有关。
在一些实施例中,将样本输入语句和第四进化提示,输入第一生成式语言模型生成优化输入语句;其中,第四进化提示用于指示通过扩展样本输入语句的多样性的方式生成优化输入语句。例如,第四进化提示指示在样本输入语句的基础上,拓展话题多样性以生成优化输入语句。
在一些实施例中,根据进化提示,通过第一生成式语言模型,将一个样本输入语句进化M次,得到M个优化输入语句;即,将第i次进化生成的优化输入语句和进化提示,输入第一生成式语言模型,生成第i+1个优化输入语句;其中,M为正整数,i为小于M的正整数。
步骤240:将优化输入语句输入第二生成式语言模型,生成与优化输入语句对应的应答语句;
应答语句为包含代码的语句;即,优化输入语句为优化后的用于指示生成代码的提示语句,则与优化输入语句对应的应答语句为包含代码的回答语句。
第二生成式语言模型为用于生成与优化输入语句对应的应答语句的生成式语言模型,即第二生成式语言模型为可用于生成代码的生成式语言模型。第二生成式语言模型可以为第三生成式语言模型,即待优化的生成式语言模型;第二生成式语言模型也可以为除第三生成式语言模型外的其他生成式语言模型。即,可以采用待优化的第三生成式语言模型本身生成与优化输入语句对应的应答语句;或者,也可以采用其他现有的生成式语言模型来生成与优化输入语句对应的应答语句,例如GPT模型。
其中,第一生成式语言模型、第二生成式语言模型、第三生成式语言模型中的至少两个为同一生成式语言模型,或均为不同的生成式语言模型。例如,第一生成式语言模型、第二生成式语言模型及第三生成式语言模型都为待优化的生成式语言模型;再例如,第一生成式语言模型和第二生成式语言模型为GPT模型,第三生成式语言模型为待优化的生成式语言模型;再例如,第一生成式语言模型为GPT模型,第二生成式语言模型为大语言模型元人工智能(Large Language Model Meta Artificial intelligence,LLaMA)模型,第三生成式语言模型为待优化的生成式语言模型,等等。本身请对此不加以限制。
在一些实施例中,第二生成式语言模型与第三生成式语言模型不同,且该第二生成式语言模型具有优于第三生成式语言模型的模型性能,以此得到更高质量的应答语句来优化第三生成式语言模型。
在通过步骤220基于样本输入语句和进化提示生成优化输入语句后,将优化输入语句输入第二生成式语言模型,生成与该优化输入语句对应的应答语句。即,将优化输入语句输入第二生成式语言模型,获取第二生成式语言模型对该优化输入语句的回答内容。
步骤260:基于优化输入语句和应答语句,确定用于优化第三生成式语言模型生成代码的能力的训练数据。
在得到优化输入语句和应答语句后,对其进行筛选;即,筛选优化输入语句和应答语句,得到用于优化第三生成式语言模型生成代码的能力的训练数据。例如,将格式不正确的优化输入语句删除;再例如,将与优化输入语句不对应的应答语句删除,等等。
在一些实施例中,通过如下方式中的至少一种筛选优化输入语句:
•删除优化输入语句中信息量不足的输入语句;例如,采用人工方式判断优化输入语句的信息量,将信息量不足的优化输入语句删除;再例如,通过生成式语言模型(第一生成式语言模型、第二生成式语言模型、第三生成式语言模型皆可)判定优化输入语句的信息量,将信息量不足的优化输入语句删除,其中判定信息量的方式可以为语句长度判断、计算信息熵、计算语义复杂度等;
·删除优化输入语句中格式不正确的输入语句;例如,期待优化输入语句为json格式,则将markdown格式的优化输入语句删除。
在一些实施例中,通过如下方式中的至少一种筛选应答语句:
·删除应答语句中与优化输入语句不对应的应答语句;即,在文不对题的情况下删除该应答语句;例如,采用人工方式判断应答语句是否与优化输入语句对应,将不对应的应答语句删除;再例如,通过生成式语言模型判定应答语句是否与优化输入语句对应,例如计算信息熵或者将应答语句过长的删除等;
·删除应答语句中长度小于第一阈值的应答语句;第一阈值为预设的应答语句长度阈值。
在一些实施例中,对优化输入语句和应答语句进行随机采样,得到用于优化第三生成式语言模型生成代码的能力的训练数据;通过随机采样来保证用于第三生成式语言模型优化的训练数据的分布的均匀化。
在一些实施例中,将优化输入语句和其对应的应答语句对应地确定为第三生成式语言模型的训练数据;即,每个优化输入语句和其对应的应答语句为一个数据对,用于后续对第三生成式语言模型的训练,以优化第三生成式语言模型。
在基于优化输入语句和应答语句确定用于优化第三生成式语言模型生成代码的能力的训练数据后,对第三生成式语言模型生成代码的能力进行优化;即,通过训练数据,对第三生成式语言模型的模型参数进行微调,使得第三生成式语言模型生成的代码更加准确和有针对性。
需要注意的是,除了生成代码的能力,本申请实施例提供的方法还可以运用在生成文本、总结文本摘要、医学领域问答等多个应用场景中。本申请对此不加以限制。
综上所述,本申请实施例提供的方法,通过基于第三生成式语言模型的训练集中已有的样本输入语句,在进化提示的指示下生成优化输入语句,并通过生成式语言模型生成该优化输入语句对应的应答语句,进而基于优化输入语句和应答语句生成用于优化第三生成式语言模型生成代码的能力的训练数据,提升了训练数据的多样性与数据质量。
此外,由于用于优化第三生成式语言模型的优化输入语句为基于已有的样本输入语句拓展得到的,使得训练集中的数据由易到难的连续分布,有助于提升了模型的泛化能力;避免了毫无根据的新增训练数据而导致的训练数据难度分布不均进而损害生成式语言模型的泛化能力的问题。
图3示出了本申请一个示例性实施例提供的训练数据的生成方法的流程图。本实施例以该方法由图1所示的终端或服务器执行来举例说明。该方法包括:
步骤320:将样本输入语句和进化提示,输入第一生成式语言模型生成优化输入语句;
样本输入语句为训练集中已有的用于指示第三生成式语言模型生成代码的提示语句,优化输入语句为优化后的用于指示第三生成式语言生成代码的提示语句,其中,第三生成式语言模型为用于生成代码的生成式语言模型;即,样本输入语句为第三生成式语言模型的训练集中的已有输入语句,优化输入语句为将样本输入语句优化后得到的输入语句,优化输入语句用于优化第三生成式语言模型;也即,基于训练集中的已有的样本输入语句,将其作为基础,经过拓展后得到优化输入语句。
进化提示用于指示生成优化输入语句的方式;即,进化提示指示了样本输入语句拓展为优化输入语句的拓展方式。
第一生成式语言模型为用于生成优化输入语句的生成式语言模型。第一生成式语言模型可以为第三生成式语言模型,即待优化的生成式语言模型;第一生成式语言模型也可以为除第三生成式语言模型外的其他生成式语言模型。即,可以采用待优化的第三生成式语言模型本身对训练集中的已有输入语句进行拓展;或者,也可以采用其他现有的其他生成式语言模型对该已有输入语句进行拓展,例如GPT模型。
以下对通过进化提示指示生成优化输入语句的方式进行举例:
•在一些实施例中,将样本输入语句和第一进化提示,输入第一生成式语言模型生成优化输入语句;其中,第一进化提示用于指示通过将样本输入语句复杂化的方式生成优化输入语句。
例如,向第一生成式语言模型输入如下文本:“现在你扮演输入语句的重写者的角色,将给定的输入语句重写成更复杂的版本,让生成式语言模型更难处理。对于重写后的输入语句遵循以下规则:
1.重写出来的输入语句必须能够被人类理解和回答;
2.不要遗漏给定的输入语句中非文本的部分,比如:表格、代码等;
3.重写的输入语句不要太长,在原有的输入语句基础上增加10至20个词。
需要重写的输入语句为(此处填写样本输入语句的内容);请输出重写后的输入语句。”模型的输出即为样本输入语句经过复杂化后的优化输入语句。
·在一些实施例中,将样本输入语句和第二进化提示,输入第一生成式语言模型生成优化输入语句;其中,第二进化提示通过增加第一错误代码参考指示生成优化输入语句的方式,第一错误代码参考为给第三生成式语言模型作为参考的包含错误代码的应答语句。
例如,向第一生成式语言模型输入如下文本:“现在你扮演输入语句的重写者的角色,根据错误代码将给定的输入语句重写,让生成式语言模型更难处理。给定的输入语句为:编写一个函数,找出给定矩阵中的不同状态的数量。矩阵中的每个状态可以由一个字符或字符串表示,矩阵最多可以有数量为106的行和列。你的解决方案的时间复杂度应该是O(N),其中N是矩阵中字符的总数。错误的代码为……正确的代码为……。”其中,第一错误代码参考为一段试图解决问题但包含错误的代码。
·在一些实施例中,将样本输入语句和第三进化提示,输入第一生成式语言模型生成优化输入语句;其中,第三进化提示通过增加第二错误代码参考指示生成优化输入语句的方式,第二错误代码参考为给第三生成式语言模型作为参考的包含错误代码的应答语句,第二错误代码参考与样本输入语句的约束条件有关。
例如,向第一生成式语言模型输入如下文本:“现在你扮演输入语句的重写者的角色,根据错误代码和约束条件将给定的输入语句重写,让生成式语言模型更难处理编写代码。给定的输入语句为:从给定的字符串中删除空格和标点符号,并返回修改后的字符串。输入字符串可包含大写字母、小写字母、空格、标点符号(如句号、逗号、感叹号等)和数字。修改后的字符串应只包含字母数字字符(大写字母、小写字母、数字),不包含任何空格或标点符号。然而,解决方案的时间复杂度应为O(n),其中n是输入字符串的长度。此外,解决方案不应使用任何内置的字符串操作函数或正则表达式。错误的代码为……正确的代码为……。”其中,第二错误代码参考为一段试图解决问题但包含错误的代码,该错误代码与约束条件有关,例如输入字符串中的特殊字符。
·在一些实施例中,将样本输入语句和第四进化提示,输入第一生成式语言模型生成优化输入语句;其中,第四进化提示用于指示通过扩展样本输入语句的多样性的方式生成优化输入语句。
例如,第四进化提示用于指示通过扩展样本输入语句的话题多样性、技能多样性、数据多样性的方式生成优化输入语句。其中,话题多样性是指输入语句应该涉及不同的话题或主题,例如,关于社交媒体的话题范围可能包括旅行、美食、音乐等;技能多样性是指输入语句应该涉及不同的技能或任务,例如,输入语句可能涵盖机器翻译、文本生成、问答等多种技能;数据多样性是指输入语句应包括不同类别或属性的数据,例如不同语言的数据、不同时间段的数据、不同类别的数据等等。本申请对扩展样本输入语句的多样性的范围不加以限制。
在一些实施例中,根据进化提示,通过第一生成式语言模型,将一个样本输入语句进化M次,得到M个优化输入语句;即,从样本输入语句开始进化,在每一次进化中将第i次进化生成的优化输入语句和进化提示,输入第一生成式语言模型,生成第i+1个优化输入语句;其中,M为正整数,i为小于M的正整数。
步骤340:将优化输入语句输入第二生成式语言模型,生成与优化输入语句对应的应答语句;
应答语句为包含代码的语句;即,优化输入语句为优化后的用于指示生成代码的提示语句,则与优化输入语句对应的应答语句为包含代码的回答语句。
第二生成式语言模型为用于生成与优化输入语句对应的应答语句的生成式语言模型,即第二生成式语言模型为可用于生成代码的生成式语言模型。第二生成式语言模型可以为第三生成式语言模型,即待优化的生成式语言模型;第二生成式语言模型也可以为除第三生成式语言模型外的其他生成式语言模型。即,可以采用待优化的第三生成式语言模型本身生成与优化输入语句对应的应答语句;或者,也可以采用其他现有的生成式语言模型来生成与优化输入语句对应的应答语句,例如GPT模型。
其中,第一生成式语言模型、第二生成式语言模型、第三生成式语言模型中的至少两个为同一生成式语言模型,或均为不同的生成式语言模型。例如,第一生成式语言模型、第二生成式语言模型及第三生成式语言模型都为待优化的生成式语言模型;再例如,第一生成式语言模型和第二生成式语言模型为GPT模型,第三生成式语言模型为待优化的生成式语言模型;再例如,第一生成式语言模型为GPT模型,第二生成式语言模型为LLaMA模型,第三生成式语言模型为待优化的生成式语言模型,等等。本身请对此不加以限制。
在一些实施例中,第二生成式语言模型与第三生成式语言模型不同,且该第二生成式语言模型具有优于第三生成式语言模型的模型性能,以此得到更高质量的应答语句来优化第三生成式语言模型。
在通过步骤320基于样本输入语句和进化提示生成优化输入语句后,将优化输入语句输入第二生成式语言模型,生成与该优化输入语句对应的应答语句。即,将优化输入语句输入第二生成式语言模型,获取第二生成式语言模型对该优化输入语句的回答内容,该回答内容中包含第二生成式语言模型根据优化输入语句生成的代码。
即,第三生成式语言模型的初始训练集为其中,/>为训练集中第k个样本输入语句,/>表示第k个样本输入语句对应的模型输出,N表示训练集中的样本输入语句的数量(即训练集中已有的输入语句的数量)。在第t次根据进化提示生成优化输入语句的过程中,将D(t)中的I(t)进化为I(t+1),再根据I(t+1)获得其对应的应答语句R(t+1),即获得D(t+1)。在经过M次迭代后获得全部训练数据集[D(1),D(2),……,D(M)]。其中,N为正整数,k为小于或等于N的正整数;M为正整数,t为小于M的正整数。
步骤350:筛选优化输入语句和应答语句,得到用于优化第三生成式语言模型生成代码的能力的训练数据;
在得到优化输入语句和其对应的应答语句的情况下,对其进行筛选,得到用于优化第三生成式语言模型生成代码的能力的训练数据。
在一些实施例中,通过如下方式中的至少一种筛选优化输入语句:
•删除优化输入语句中信息量不足的输入语句;例如,采用人工方式判断优化输入语句的信息量,将信息量不足的优化输入语句删除;再例如,通过生成式语言模型(第一生成式语言模型、第二生成式语言模型、第三生成式语言模型皆可)判定优化输入语句的信息量,将信息量不足的优化输入语句删除,其中判定信息量的方式可以为语句长度判断、计算信息熵、计算语义复杂度等;
·删除优化输入语句中格式不正确的输入语句;例如,期待优化输入语句为json格式,则将markdown格式的优化输入语句删除。
在一些实施例中,通过如下方式中的至少一种筛选应答语句:
·删除应答语句中与优化输入语句不对应的应答语句;即,在文不对题的情况下删除该应答语句;例如,采用人工方式判断应答语句是否与优化输入语句对应,将不对应的应答语句删除;再例如,通过生成式语言模型判定应答语句是否与优化输入语句对应,例如计算信息熵或者将应答语句过长的删除等;
·删除应答语句中长度小于第一阈值的应答语句;第一阈值为预设的应答语句长度阈值。
在一些实施例中,对优化输入语句和应答语句进行随机采样,得到用于优化第三生成式语言模型生成代码的能力的训练数据;通过随机采样来保证用于第三生成式语言模型优化的训练数据的分布的均匀化。
在一些实施例中,在通过筛选得到训练数据后,基于模型对该训练数据进行质量评估;即,基于模型对筛选后的优化输入语句和应答语句进行质量评估。该用于质量评估的模型不限于生成式语言模型,凡是可用于对数据进行质量评估的模型都可以被应用于对训练数据的质量评估,本申请对用于训练数据的质量评估模型不加以限定。
在一种可能的实施方式中,单独训练一个用于对训练数据进行质量评估的数据集质量评估模型。即,训练数据集质量评估模型,该数据集质量评估模型用于对训练数据进行质量评估;基于该数据集质量评估模型对训练数据进行质量评估。
在另一种可能的实施方式中,利用第三生成式语言模型对训练数据进行质量评估。即,通过增加输出分支,将第三生成式语言模型修改为多任务学习模型,该增加的输出分支用于对训练数据进行质量评估;基于第三生成式语言模型对训练数据进行质量评估。
在对训练数据进行质量评估的过程中,基于损失函数对该训练数据进行质量评估。即,基于对训练数据的打分,确定训练数据的损失函数,损失函数用于优化对训练数据进行质量评估的模型。例如,用户对于每一个优化输入语句x和其对应的应答语句组成的数据对,都进行打分(score),即每一个优化输入语句x对应有{yans,yscore},其中,为yans应答语句,yscore为用户对该数据对的分级,比如设置1-5共5个级别;对于打分这部分的损失函数使用交叉熵损失函数,让用于数据集质量评估的模型学习到用户对当前数据的喜好。交叉熵损失函数Lscore的定义如下:
图4示出了基于样本输入语句生成训练数据的示意图。该基于样本输入语句生成训练数据的过程也可以称作进化或拓展,用于生成优化输入语句的生成式语言模型可以称作进化器。本申请对此不加以限制。
如图4所示,在训练集中的数据(即样本输入语句)不敏感的情况下,可以在公有的云端部署的进化器(即用于生成优化输入语句的生成式语言模型)上,进行样本输入语句到优化输入语句的拓展,例如GPT模型;在数据敏感的情况下,可以在私有化部署的进化器上,进行样本输入语句到优化输入语句的拓展。
对于有毒数据(toxic data,即可能对模型训练和应用产生负面影响的数据,例如不安全或不当的数据、隐私敏感数据、冗余数据或虚假数据等)可以直接将其删除,或者对其进行针对有毒数据的样本输入语句的拓展,例如使用GPT等防毒进化器生成无害输出。
对于非有毒数据(或称无害数据),对其进行深度拓展或广度拓展。其中,深度拓展包括输入格式多样化(例如输入格式拓展为表格形式)、思维链条式引导(即逐步引导生成式语言模型生成相关的文本或应答)和增加限制条件(例如第三进化提示中示出的增加约束)中的至少一种的拓展。广度拓展包括对其进行话题多样性(覆盖不同的话题或主题)、技能多样性(覆盖不同的任务或技能)和数据多样性(覆盖不同类别或属性的数据)中的至少一种的拓展。
在对数据进行拓展后,即基于样本输入语句生成优化输入语句和其对应的应答语句之后,进行数据集筛选,筛选得到用于第三生成式语言模型优化的训练数据。筛选可以采取的原则也为尽量满足话题多样性(覆盖不同的话题或主题)、技能多样性(覆盖不同的任务或技能)和数据多样性(覆盖不同类别或属性的数据)中的至少一种。
在确定筛选后的优化输入指令和应答语句作为训练数据后,对训练数据进行数据集质量评估。例如,基于单独训练的质量评估模型对训练数据进行数据集质量评估;再例如,通过增加输出的方式将第三生成式语言模型修改为多任务学习模型,对训练数据进行数据集质量评估。
步骤360:基于训练数据,优化第三生成式语言模型生成代码的能力;
基于步骤350确定的训练数据,对第三生成式语言模型的生成代码的能力进行优化;即,每个优化输入语句和其对应的应答语句为一个数据对,用于后续对第三生成式语言模型的训练,以优化第三生成式语言模型生成代码的能力。
示例性的,基于训练数据,优化第三生成式语言模型生成代码的能力;即,通过训练数据,对第三生成式语言模型的模型参数进行微调,使得第三生成式语言模型生成的代码更加准确和有针对性。
图5示出了第三生成式语言模型的优化过程示意图。其分为输入语句自进化、人工打分和训练三部分。
在输入语句自进化部分,样本输入语句(训练集中的已有输入语句)通过进化器(第一生成式语言模型)不断迭代,得到优化输入语句,再将优化输入语句输入第二生成式语言模型获得与其对应的应答语句。其中,自进化是指该输入语句的拓展过程是在已有的输入语句的基础上进行的,而非通过重新问答的方式获取优化输入语句与应答语句。
在人工打分部分,先将优化输入语句和应答语句进行筛选(例如信息量检测等方式),得到筛选后的训练数据,再对训练数据进行打分,获得已打分的优化输入语句和应答语句。
在训练部分,基于获取的已打分的优化输入语句和应答语句,形成{优化输入语句,应答语句,打分}的数据对,基于该数据对对第三生成式语言模型生成代码的能力进行优化。
步骤370:基于评测集或评测脚本,对第三生成式语言模型生成代码的能力进行模型评估。
对于优化后的第三生成式语言模型,为了了解其优化后的生成代码的能力,对其进行模型评估。例如,基于评测集或评测脚本,对第三生成式语言模型生成代码的能力进行模型评估;其中,评测集为用于评估模型生成代码的能力的数据集,评测脚本为用于评估模型生成代码的能力的脚本。
对第三生成式语言模型进行模型评估的指标包括多样性、主题一致性、语法和语义准确性、生成速度,等等。本申请对此不加以限制。
示例性的,用户上传评测集或按照特定需求编写评测脚本,以实现在不同超参数的情况下对第三生成式语言模型生成代码的能力进行模型评估。其中,超参数包括温度(用于调整生成文本或代码的多样性;较高的温度值会增加生成文本或代码的随机性,使其更具多样性,但也可能会导致其不够连贯;较低的温度值会减少生成文本或代码的随机性,使其更加确定和连贯)、重复惩罚(用于控制生成文本或代码中的重复词汇或短语。通过增加重复惩罚,可以降低生成文本或代码中相同词汇或短语的出现频率,从而使生成文本或代码更具多样性)等。
综上所述,本申请实施例提供的方法,通过基于第三生成式语言模型的训练集中已有的样本输入语句,在进化提示的指示下生成优化输入语句,并通过生成式语言模型生成该优化输入语句对应的应答语句,进而基于优化输入语句和应答语句生成第三生成式语言模型的训练数据,提升了训练数据的多样性与数据质量,有助于优化第三生成式语言模型生成代码的能力。
此外,由于用于优化第三生成式语言模型的优化输入语句为基于已有的样本输入语句拓展得到的,使得训练集中的数据由易到难的连续分布,有助于提升模型的泛化能力;避免了毫无根据的新增训练数据而导致的训练数据难度分布不均进而损害生成式语言模型的泛化能力的问题。
此外,通过将样本输入语句复杂化、增加错误代码参考、增加约束等方式对样本输入语句进行深度拓展,生成优化输入语句,使得训练数据从易到难的连续分布,有助于提升第三生成式语言模型的解决问题的能力和泛化能力,避免了因训练数据分布不均而导致的对泛化能力的损害。
此外,通过将样本输入语句进行话题多样化、技能多样化、数据多样化等方式对样本输入语句进行多种广度拓展,生成优化输入语句,增强了训练数据的多样性,有助于提升第三生成式语言模型的性能。
此外,通过对优化输入语句和应答语句进行筛选,提升了用于训练第三生成式语言模型的训练数据的质量;通过随机采样可以使得训练数据的分布更均匀。
图6示出了本申请一个示例性实施例提供的训练数据的生成方法的流程图。本实施例以该方法由图1所示的终端或服务器执行来举例说明。该方法包括:
步骤410:基于评测集或评测脚本,对第三生成式语言模型生成代码的能力进行模型评估;
对于第三生成式语言模型,为了了解其在优化前的生成代码的能力,并且后续可以针对不足之处进行有针对性的优化,对其生成代码的能力进行模型评估。例如,基于评测集或评测脚本,对第三生成式语言模型生成代码的能力进行模型评估;其中,评测集为用于评估模型生成代码的能力的数据集,评测脚本为用于评估模型生成代码的能力的脚本。
对第三生成式语言模型进行模型评估的指标包括多样性、主题一致性、语法和语义准确性、生成速度,等等。本申请对此不加以限制。
示例性的,用户上传评测集或按照特定需求编写评测脚本,以实现在不同超参数的情况下对第三生成式语言模型生成代码的能力进行模型评估。其中,超参数包括温度(用于调整生成文本或代码的多样性;较高的温度值会增加生成文本或代码的随机性,使其更具多样性,但也可能会导致生成的文本或代码不够连贯;较低的温度值会减少生成文本或代码的随机性,使其更加确定和连贯)、重复惩罚(用于控制生成文本或代码中的重复词汇或短语。通过增加重复惩罚,可以降低生成文本或代码中相同词汇或短语的出现频率,从而使生成文本或代码更具多样性)等。
图7示出了对第三生成式语言模型生成代码的能力进行模型评估的整体架构图。该架构主要包括如下重要组成部分:
·人机交互界面(HCI)
由网络应用程序(Web Application)提供第三生成式语言模型的综合能力的数据可视化,该人机交互界面用于显示评测列表、评测集、评测状态,用于评测结果的查看与修改,以及评测集的上传解析、在线编辑。其包含用户使用说明文档、系统日志等系统信息的展示功能,可以调用评测触发器和生成式语言模型调优器。
•数据库服务
其提供后端数据的创建、读取、更新及删除(Create、Read、Update、Delete,CRUD)服务,提供满足HCI和其他服务调用的数据结构和数据库接口,实现数据的持久化、自动备份、系统数据的增删查改,其需要满足多并发、快速响应等需求。
·触发器(trigger)服务
其为一个独立的后端服务,用以从HCI端、社交应用程序机器人等平台检测触发,联动数据库和评测机运行评测解释器、生成式语言模型调优器等工作,然后通过CRUD服务将数据保存到数据库。
·评测解释器服务
其为一个运行特定格式代码的解释器,需要一套定义好的评测生命周期、数据流向、方法、接口和数据类型,在一个隔离的环境运行评测脚本,得到评测结果,然后保存到数据库。
·生成式语言模型调优器服务
一个基于人类反馈和其他生成式语言模型反馈,结合输入语句自进化方法,对生成式语言模型进行调优的服务。
如图7所示,用户通过人机交互界面上传评测集,该评测集被保存到数据库。在触发器检测到用户触发或系统环境中的触发时,联动数据库和评测机,运行评测解释器和生成式语言模型调优器;评测解释器基于评测脚本和输入语句输入第三生成式语言模型后对应的输出语句,对第三生成式语言模型生成代码的能力进行打分或给出反馈,该反馈通过可视化方式展现至用户,并且基于该打分/反馈,生成式语言模型调优器对该第三生成式语言模型进行调优。此外,除了机器反馈,该架构还结合了人类反馈,通过强化学习方式对第三生成式语言模型进行调优,例如,通过以依据人类反馈强化学习(ReinforcementLearning from Human Feedback,RLHF)的方式优化第三生成式语言模型。
图8至图18示出了基于评测集或评测脚本对第三生成式语言模型生成代码的能力进行模型评估的界面示意图。
图8示出了对第三生成式语言模型进行模型评估的人机交互界面。如图所示,上方导航栏10用以展示当前平台的名字11、图形标志(logo)12和平台状态13,并提供导航到其他页面的控件14;左侧的标签栏15可切换表现图、评测集、帮助、日志等页面;右边卡片包含评测选择框16和可视化图表17,其中,评测选择框16用于选择对应的评测集;可视化图表17显示评测集基本信息和历史所有评测的状态、得分和反馈信息。
图9示出了对第三生成式语言模型进行模型评估的评测集列表界面。该界面上展示有若干评测集的基本信息(图9中所示为评测集18和评测集19),不同评测集的图表分别对应显示该评测集的历史评测状态。
图10示出了对第三生成式语言模型进行模型评估的评测集列表界面上每一个评测集的显示方式。如图10(a)所示,每个评测集以卡片方式展示,卡片头左侧显示评测集名称20,卡片头右侧是评测集的最新评测状态(如评测状态控件23上显示的“评测完成”)与更新时间22,点击评测状态控件23可以手动触发评测;卡片内容显示评测集的基本信息24(例如评测的第三生成式语言模型的名称)和默认参数21(例如超参数为温度、重复惩罚系数),图表25可视化显示评测集的历史评测状态;卡片底端编辑控件26可用于删除、编辑或详细查看评测。如图10(b)所示,鼠标悬浮在评测集名称20上,可以查看评测集的简介27。如图10(c)所示,鼠标悬浮在评测状态控件23上,可以查看评测状态原因28(例如失败原因),会给予导致该评测状态的原因提示;通过点击界面下方的分页导航控件29可以切换页面。
图11示出了对第三生成式语言模型进行模型评估的反馈输出信息的界面示意图。如图所示,表格给出评测集中的每一项到评测脚本的详细反馈输出信息。通过鼠标悬浮在表格的一项上以查看该项的详细评测反馈30。
图12示出了对第三生成式语言模型进行模型评估中新建评测集的界面示意图。如图所示,用户在新建评测集时需要输入对应的评测默认参数31(例如默认温度、默认重复惩罚);用户输入评测集名字时会联动数据库和后端检测数据是否合法,通过评测集名字状态控件32及时反馈用户(例如对号表示合法);此外,提供一个随机生成评测集名字控件33以快捷生成评测集名字,提交后激活编辑评测集按钮。
图13示出了对第三生成式语言模型进行模型评估中编辑评测集的界面示意图。如图所示,下拉输入框选项34选中一个存在的评测集后,用户界面渲染一个可编辑的表格35,同时左侧侧边栏显示悬浮的快捷控件36,该快捷控件36用于编辑选中项、删除选中项或添加一行表格;表格的输入框可以通过快捷筛选37来快速查找对应行信息;输入完毕之后点击提交数据控件38确认提交数据,该数据就会同步到数据库。
图14示出了对第三生成式语言模型进行模型评估中导入评测集的界面示意图。评测集导入支持用户在本地编辑若干评测集后批量导入评测系统数据库,系统会解析CSV文件到标准数据格式,如果CSV格式缺少评测必要信息会反馈导入失败。例如图14中显示的导入成功信息47、导入失败信息48。
图15示出了对第三生成式语言模型进行模型评估中导出评测集的界面示意图。评测集导出通过点击选择评测集控件40,在点击导出控件41,将评测集按照单个或批量的方式导出为CSV格式文件。导出结果42会显示在编辑框,编辑框的右上角通过复制控件43可以快捷复制到剪贴板,也可以直接下载文件到本地。
图16示出了对第三生成式语言模型进行模型评估中帮助页面的界面示意图。帮助页面中示出了该评测平台的功能和使用帮助。
图17示出了对第三生成式语言模型进行模型评估中系统日志页面的界面示意图。系统日志页面提供后台日志查看,方便开发人员了解用户使用状况和系统错误的原因。
图18示出了对第三生成式语言模型进行模型评估中数据库和评测机的系统日志的界面示意图。其中数据库采用Redis系统,界面43为数据库的客户端的系统日志界面,界面44为数据库的服务器端的系统日志界面;评测机是一个单独的进程,用以运行评测脚本,支持触发器触发,也支持定时触发,可以将评测反馈记录到数据库,界面45为评测机的系统日志界面。
步骤420:将样本输入语句和进化提示,输入第一生成式语言模型生成优化输入语句;
样本输入语句为训练集中已有的用于指示第三生成式语言模型生成代码的提示语句,优化输入语句为优化后的用于指示第三生成式语言生成代码的提示语句,其中,第三生成式语言模型为用于生成代码的生成式语言模型;即,样本输入语句为第三生成式语言模型的训练集中的已有输入语句,优化输入语句为将样本输入语句优化后得到的输入语句,优化输入语句用于优化第三生成式语言模型;也即,基于训练集中的已有的样本输入语句,将其作为基础,经过拓展后得到优化输入语句。
进化提示用于指示生成优化输入语句的方式;即,进化提示指示了样本输入语句拓展为优化输入语句的拓展方式。
第一生成式语言模型为用于生成优化输入语句的生成式语言模型。第一生成式语言模型可以为第三生成式语言模型,即待优化的生成式语言模型;第一生成式语言模型也可以为除第三生成式语言模型外的其他生成式语言模型。即,可以采用待优化的第三生成式语言模型本身对训练集中的已有输入语句进行拓展;或者,也可以采用其他现有的其他生成式语言模型对该已有输入语句进行拓展,例如GPT模型。
在一些实施例中,将样本输入语句和第一进化提示,输入第一生成式语言模型生成优化输入语句;其中,第一进化提示用于指示通过将样本输入语句复杂化的方式生成优化输入语句。例如,第一进化提示指示在样本输入语句的基础上,增加输入语句的词汇数量以生成优化输入语句。
在一些实施例中,将样本输入语句和第二进化提示,输入第一生成式语言模型生成优化输入语句;其中,第二进化提示通过增加第一错误代码参考指示生成优化输入语句的方式,第一错误代码参考为给第三生成式语言模型作为参考的包含错误代码的应答语句。例如,第二进化提示给出一段错误的代码作为参考。
在一些实施例中,将样本输入语句和第三进化提示,输入第一生成式语言模型生成优化输入语句;其中,第三进化提示通过增加第二错误代码参考指示生成优化输入语句的方式,第二错误代码参考为给第三生成式语言模型作为参考的包含错误代码的应答语句,第二错误代码参考与样本输入语句的约束条件有关。例如,第三进化提示给出一段试图解决问题但是包含错误的代码作为参考,且该错误与约束条件有关。
在一些实施例中,将样本输入语句和第四进化提示,输入第一生成式语言模型生成优化输入语句;其中,第四进化提示用于指示通过扩展样本输入语句的多样性的方式生成优化输入语句。例如,第四进化提示指示在样本输入语句的基础上,拓展话题多样性以生成优化输入语句。
在一些实施例中,根据进化提示,通过第一生成式语言模型,将一个样本输入语句进化M次,得到M个优化输入语句;即,将第i次进化生成的优化输入语句和进化提示,输入第一生成式语言模型,生成第i+1个优化输入语句;其中,M为正整数,i为小于M的正整数。
步骤440:将优化输入语句输入第二生成式语言模型,生成与优化输入语句对应的应答语句;
应答语句为包含代码的语句;即,优化输入语句为优化后的用于指示生成代码的提示语句,则与优化输入语句对应的应答语句为包含代码的回答语句。
第二生成式语言模型为用于生成与优化输入语句对应的应答语句的生成式语言模型,即第二生成式语言模型为可用于生成代码的生成式语言模型。第二生成式语言模型可以为第三生成式语言模型,即待优化的生成式语言模型;第二生成式语言模型也可以为除第三生成式语言模型外的其他生成式语言模型。即,可以采用待优化的第三生成式语言模型本身生成与优化输入语句对应的应答语句;或者,也可以采用其他现有的生成式语言模型来生成与优化输入语句对应的应答语句,例如GPT模型。
其中,第一生成式语言模型、第二生成式语言模型、第三生成式语言模型中的至少两个为同一生成式语言模型,或均为不同的生成式语言模型。例如,第一生成式语言模型、第二生成式语言模型及第三生成式语言模型都为待优化的生成式语言模型;再例如,第一生成式语言模型和第二生成式语言模型为GPT模型,第三生成式语言模型为待优化的生成式语言模型;再例如,第一生成式语言模型为GPT模型,第二生成式语言模型为LLaMA模型,第三生成式语言模型为待优化的生成式语言模型,等等。本身请对此不加以限制。
在一些实施例中,第二生成式语言模型与第三生成式语言模型不同,且该第二生成式语言模型具有优于第三生成式语言模型的模型性能,以此得到更高质量的应答语句来优化第三生成式语言模型。
在通过步骤420基于样本输入语句和进化提示生成优化输入语句后,将优化输入语句输入第二生成式语言模型,生成与该优化输入语句对应的应答语句。即,将优化输入语句输入第二生成式语言模型,获取第二生成式语言模型对该优化输入语句的回答内容,该回答内容中包含第二生成式语言模型根据优化输入语句生成的代码。
在一些实施例中,在得到优化输入语句和应答语句后,对其进行筛选;即,筛选优化输入语句和应答语句,得到第三生成式语言模型的训练数据。例如,将格式不正确的优化输入语句删除;再例如,将与优化输入语句不对应的应答语句删除,等等。
步骤450:基于优化输入语句和应答语句,确定用于优化第三生成式语言模型生成代码的能力的训练数据;
在得到优化输入语句和应答语句后,对其进行筛选;即,筛选优化输入语句和应答语句,得到用于优化第三生成式语言模型生成代码的能力的训练数据。例如,将格式不正确的优化输入语句删除;再例如,将与优化输入语句不对应的应答语句删除,等等。
在一些实施例中,通过如下方式中的至少一种筛选优化输入语句:
·删除优化输入语句中信息量不足的输入语句;例如,采用人工方式判断优化输入语句的信息量,将信息量不足的优化输入语句删除;再例如,通过生成式语言模型(第一生成式语言模型、第二生成式语言模型、第三生成式语言模型皆可)判定优化输入语句的信息量,将信息量不足的优化输入语句删除,其中判定信息量的方式可以为语句长度判断、计算信息熵、计算语义复杂度等;
·删除优化输入语句中格式不正确的输入语句;例如,期待优化输入语句为json格式,则将markdown格式的优化输入语句删除。
在一些实施例中,通过如下方式中的至少一种筛选应答语句:
·删除应答语句中与优化输入语句不对应的应答语句;即,在文不对题的情况下删除该应答语句;例如,采用人工方式判断应答语句是否与优化输入语句对应,将不对应的应答语句删除;再例如,通过生成式语言模型判定应答语句是否与优化输入语句对应,例如计算信息熵或者将应答语句过长的删除等;
·删除应答语句中长度小于第一阈值的应答语句;第一阈值为预设的应答语句长度阈值。
在一些实施例中,对优化输入语句和应答语句进行随机采样,得到用于优化第三生成式语言模型生成代码的能力的训练数据;通过随机采样来保证用于第三生成式语言模型优化的训练数据的分布的均匀化。
步骤460:基于训练数据,优化第三生成式语言模型生成代码的能力。
将优化输入语句和其对应的应答语句对应地确定为第三生成式语言模型的训练数据;即,每个优化输入语句和其对应的应答语句为一个数据对,用于后续对第三生成式语言模型的训练,以优化第三生成式语言模型生成代码的能力。
示例性的,基于训练数据,优化第三生成式语言模型生成代码的能力;即,通过训练数据,对第三生成式语言模型的模型参数进行微调,使得第三生成式语言模型生成的代码更加准确和有针对性。
综上所述,本申请实施例提供的方法,通过基于第三生成式语言模型的训练集中已有的样本输入语句,在进化提示的指示下生成优化输入语句,并通过生成式语言模型生成该优化输入语句对应的应答语句,进而基于优化输入语句和应答语句生成用于优化第三生成式语言模型生成代码的能力的训练数据,提升了训练数据的多样性与数据质量。
此外,由于用于优化第三生成式语言模型的优化输入语句为基于已有的样本输入语句拓展得到的,使得训练集中的数据由易到难的连续分布,有助于提升模型的泛化能力;避免了毫无根据的新增训练数据而导致的训练数据难度分布不均进而损害生成式语言模型的泛化能力的问题。
此外,通过在优化前先对第三生成式语言模型进行模型评估,获取模型生成代码的能力,可以针对第三生成式语言模型回答不佳的方面进行优化,更有针对性的生成第三生成式语言模型的训练数据,有助于更高效的提升第三生成式语言模型的模型性能。
需要说明的是,图2、图3和图6所示的实施例中的步骤可以通过不同的组合方式,实现为新的实施例。例如,将步骤410与图3所示实施例组合,即在第三生成式语言模型的优化前后都对其进行模型评估,以观测其优化效果。本申请对不同实施例间步骤的组合方式不加以限制。
图19示出了本申请一个示例性实施例提供的训练数据的生成装置的结构框图。所述装置包括:
生成模块620,用于将样本输入语句和进化提示,输入第一生成式语言模型生成优化输入语句,所述样本输入语句为训练集中已有的用于指示第三生成式语言模型生成代码的提示语句,所述优化输入语句为优化后的用于指示所述第三生成式语言生成代码的提示语句,所述进化提示用于指示生成所述优化输入语句的方式,所述第三生成式语言模型为用于生成代码的生成式语言模型;
所述生成模块620,用于将所述优化输入语句输入第二生成式语言模型,生成与所述优化输入语句对应的应答语句,所述应答语句为包含代码的语句;
确定模块640,用于基于所述优化输入语句和所述应答语句,确定用于优化所述第三生成式语言模型生成代码的能力的训练数据;
其中,所述第一生成式语言模型、所述第二生成式语言模型、所述第三生成式语言模型中的至少两个为同一生成式语言模型,或均为不同的生成式语言模型。
在一种可能的实施方式中,所述生成模块620,用于将所述样本输入语句和第一进化提示,输入第一生成式语言模型生成优化输入语句;其中,所述第一进化提示用于指示通过将所述样本输入语句复杂化的方式生成所述优化输入语句。
在一种可能的实施方式中,所述生成模块620,用于将样本输入语句和第二进化提示,输入第一生成式语言模型生成优化输入语句;其中,所述第二进化提示通过增加第一错误代码参考指示生成所述优化输入语句的方式,所述第一错误代码参考为给所述第三生成式语言模型作为参考的包含错误代码的应答语句。
在一种可能的实施方式中,所述生成模块620,用于将样本输入语句和第三进化提示,输入第一生成式语言模型生成优化输入语句;其中,所述第三进化提示通过增加第二错误代码参考指示生成所述优化输入语句的方式,所述第二错误代码参考为给所述第三生成式语言模型作为参考的包含错误代码的应答语句,所述第二错误代码参考与所述样本输入语句的约束条件有关。
在一种可能的实施方式中,所述生成模块620,用于将样本输入语句和第四进化提示,输入第一生成式语言模型生成优化输入语句;其中,所述第四进化提示用于指示通过扩展所述样本输入语句的多样性的方式生成所述优化输入语句。
在一种可能的实施方式中,所述确定模块640,用于筛选所述优化输入语句和所述应答语句,得到用于优化所述第三生成式语言模型生成代码的能力的训练数据。
在一种可能的实施方式中,所述确定模块640,用于通过如下方式中的至少一种筛选所述优化输入语句:删除所述优化输入语句中信息量不足的输入语句;删除所述优化输入语句中格式不正确的输入语句。
在一种可能的实施方式中,所述确定模块640,用于通过如下方式中的至少一种筛选所述应答语句:删除所述应答语句中与所述优化输入语句不对应的应答语句;删除所述应答语句中长度小于第一阈值的应答语句。
在一种可能的实施方式中,所述确定模块640,用于对所述优化输入语句和所述应答语句进行随机采样,得到用于优化所述第三生成式语言模型生成代码的能力的训练数据。
在一种可能的实施方式中,所述生成模块620,用于基于模型对所述训练数据进行质量评估。
在一种可能的实施方式中,基于数据集质量评估模型对所述训练数据进行质量评估;所述生成模块620,用于训练所述数据集质量评估模型,所述数据集质量评估模型用于对所述训练数据进行质量评估。
在一种可能的实施方式中,基于所述第三生成式语言模型对所述训练数据进行质量评估;所述生成模块620,用于通过增加输出分支,将所述第三生成式语言模型修改为多任务学习模型,所述增加的输出分支用于对所述训练数据进行质量评估。
在一种可能的实施方式中,所述生成模块620,用于基于对所述训练数据的打分,确定所述训练数据的损失函数,所述损失函数用于优化所述对所述训练数据进行质量评估的模型。
在一种可能的实施方式中,所述生成模块620,用于基于评测集或评测脚本,对所述第三生成式语言模型生成代码的能力进行模型评估,所述评测集为用于评估模型生成代码的能力的数据集,所述评测脚本为用于评估模型生成代码的能力的脚本。
图20是根据一示例性实施例示出的一种计算机设备的结构示意图。该计算机设备可以包括终端或服务器。所述计算机设备1300包括中央处理单元(Central ProcessingUnit,CPU)1301、包括随机存取存储器(Random Access Memory,RAM)1302和只读存储器(Read-Only Memory,ROM)1303的系统存储器1304,以及连接系统存储器1304和中央处理单元1301的系统总线1305。在一些实施例中,所述计算机设备1300还可以包括帮助计算机设备内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)1306,和用于存储操作系统1313、应用程序1314和其他程序模块1315的大容量存储设备1307。
所述基本输入/输出系统1306包括有用于显示信息的显示器1308和用于用户输入信息的诸如鼠标、键盘之类的输入设备1309。其中所述显示器1308和输入设备1309都通过连接到系统总线1305的输入输出控制器1310连接到中央处理单元1301。所述基本输入/输出系统1306还可以包括输入输出控制器1310以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1310还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1307通过连接到系统总线1305的大容量存储控制器(未示出)连接到中央处理单元1301。所述大容量存储设备1307及其相关联的计算机设备可读介质为计算机设备1300提供非易失性存储。也就是说,所述大容量存储设备1307可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机设备可读介质(未示出)。
不失一般性,所述计算机设备可读介质可以包括计算机设备存储介质和通信介质。计算机设备存储介质包括以用于存储诸如计算机设备可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机设备存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable ReadOnly Memory,EPROM)、带电可擦可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,EEPROM),CD-ROM、数字视频光盘(Digital Video Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机设备存储介质不局限于上述几种。上述的系统存储器1304和大容量存储设备1307可以统称为存储器。
根据本公开的各种实施例,所述计算机设备1300还可以通过诸如因特网等网络连接到网络上的远程计算机设备运行。也即计算机设备1300可以通过连接在所述系统总线1305上的网络接口单元1312连接到网络1311,或者说,也可以使用网络接口单元1312来连接到其他类型的网络或远程计算机设备系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器1301通过执行该一个或一个以上程序来实现上述训练数据的生成方法的全部或者部分步骤。
本申请提供了一种计算机可读存储介质,所述存储介质中存储有至少一条程序,所述至少一段程序由所述处理器加载并执行上述各个方法实施例提供的训练数据的生成方法。
本申请还提供了一种计算机程序产品,所述计算机程序产品中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行上述各个方法实施例提供的训练数据的生成方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (18)

1.一种训练数据的生成方法,其特征在于,所述方法包括:
将样本输入语句和进化提示,输入第一生成式语言模型生成优化输入语句,所述样本输入语句为训练集中已有的用于指示第三生成式语言模型生成代码的提示语句,所述优化输入语句为优化后的用于指示所述第三生成式语言生成代码的提示语句,所述进化提示用于指示生成所述优化输入语句的方式,所述第三生成式语言模型为用于生成代码的生成式语言模型;
将所述优化输入语句输入第二生成式语言模型,生成与所述优化输入语句对应的应答语句,所述应答语句为包含代码的语句;
基于所述优化输入语句和所述应答语句,确定用于优化所述第三生成式语言模型生成代码的能力的训练数据;
其中,所述第一生成式语言模型、所述第二生成式语言模型、所述第三生成式语言模型中的至少两个为同一生成式语言模型,或均为不同的生成式语言模型。
2.根据权利要求1所述的方法,其特征在于,所述将样本输入语句和进化提示,输入第一生成式语言模型生成优化输入语句,包括:
将所述样本输入语句和第一进化提示,输入第一生成式语言模型生成优化输入语句;
其中,所述第一进化提示用于指示通过将所述样本输入语句复杂化的方式生成所述优化输入语句。
3.根据权利要求1所述的方法,其特征在于,所述将样本输入语句和进化提示,输入第一生成式语言模型生成优化输入语句,包括:
将样本输入语句和第二进化提示,输入第一生成式语言模型生成优化输入语句;
其中,所述第二进化提示通过增加第一错误代码参考指示生成所述优化输入语句的方式,所述第一错误代码参考为给所述第三生成式语言模型作为参考的包含错误代码的应答语句。
4.根据权利要求1所述的方法,其特征在于,所述将样本输入语句和进化提示,输入第一生成式语言模型生成优化输入语句,包括:
将样本输入语句和第三进化提示,输入第一生成式语言模型生成优化输入语句;
其中,所述第三进化提示通过增加第二错误代码参考指示生成所述优化输入语句的方式,所述第二错误代码参考为给所述第三生成式语言模型作为参考的包含错误代码的应答语句,所述第二错误代码参考与所述样本输入语句的约束条件有关。
5.根据权利要求1所述的方法,其特征在于,所述将样本输入语句和进化提示,输入第一生成式语言模型生成优化输入语句,包括:
将样本输入语句和第四进化提示,输入第一生成式语言模型生成优化输入语句;
其中,所述第四进化提示用于指示通过扩展所述样本输入语句的多样性的方式生成所述优化输入语句。
6.根据权利要求1至5任一所述的方法,其特征在于,所述基于所述优化输入语句和所述应答语句,确定用于优化所述第三生成式语言模型生成代码的能力的训练数据,包括:
筛选所述优化输入语句和所述应答语句,得到用于优化所述第三生成式语言模型生成代码的能力的训练数据。
7.根据权利要求6所述的方法,其特征在于,通过如下方式中的至少一种筛选所述优化输入语句:
删除所述优化输入语句中信息量不足的输入语句;
删除所述优化输入语句中格式不正确的输入语句。
8.根据权利要求6所述的方法,其特征在于,通过如下方式中的至少一种筛选所述应答语句:
删除所述应答语句中与所述优化输入语句不对应的应答语句;
删除所述应答语句中长度小于第一阈值的应答语句。
9.根据权利要求6所述的方法,其特征在于,所述筛选所述优化输入语句和所述应答语句,得到用于优化所述第三生成式语言模型生成代码的能力的训练数据,包括:
对所述优化输入语句和所述应答语句进行随机采样,得到用于优化所述第三生成式语言模型生成代码的能力的训练数据。
10.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:
基于模型对所述训练数据进行质量评估。
11.根据权利要求10所述的方法,其特征在于,基于数据集质量评估模型对所述训练数据进行质量评估;
所述方法还包括:
训练所述数据集质量评估模型,所述数据集质量评估模型用于对所述训练数据进行质量评估。
12.根据权利要求10所述的方法,其特征在于,基于所述第三生成式语言模型对所述训练数据进行质量评估;
所述方法还包括:
通过增加输出分支,将所述第三生成式语言模型修改为多任务学习模型,所述增加的输出分支用于对所述训练数据进行质量评估。
13.根据权利要求10所述的方法,其特征在于,所述方法还包括:
基于对所述训练数据的打分,确定所述训练数据的损失函数,所述损失函数用于优化所述对所述训练数据进行质量评估的模型。
14.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于评测集或评测脚本,对所述第三生成式语言模型生成代码的能力进行模型评估,所述评测集为用于评估模型生成代码的能力的数据集,所述评测脚本为用于评估模型生成代码的能力的脚本。
15.一种训练数据的生成装置,其特征在于,所述装置包括:
生成模块,用于将样本输入语句和进化提示,输入第一生成式语言模型生成优化输入语句,所述样本输入语句为训练集中已有的用于指示第三生成式语言模型生成代码的提示语句,所述优化输入语句为优化后的用于指示所述第三生成式语言生成代码的提示语句,所述进化提示用于指示生成所述优化输入语句的方式,所述第三生成式语言模型为用于生成代码的生成式语言模型;
所述生成模块,用于将所述优化输入语句输入第二生成式语言模型,生成与所述优化输入语句对应的应答语句,所述应答语句为包含代码的语句;
确定模块,用于基于所述优化输入语句和所述应答语句,确定用于优化所述第三生成式语言模型生成代码的能力的训练数据;
其中,所述第一生成式语言模型、所述第二生成式语言模型、所述第三生成式语言模型中的至少两个为同一生成式语言模型,或均为不同的生成式语言模型。
16.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至14任一所述的训练数据的生成方法。
17.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至14任一所述的训练数据的生成方法。
18.一种计算机程序产品,其特征在于,所述计算机程序产品中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至14任一所述的训练数据的生成方法。
CN202311495596.2A 2023-11-09 2023-11-09 训练数据的生成方法、装置、设备及存储介质 Pending CN117453888A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311495596.2A CN117453888A (zh) 2023-11-09 2023-11-09 训练数据的生成方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311495596.2A CN117453888A (zh) 2023-11-09 2023-11-09 训练数据的生成方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN117453888A true CN117453888A (zh) 2024-01-26

Family

ID=89592777

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311495596.2A Pending CN117453888A (zh) 2023-11-09 2023-11-09 训练数据的生成方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117453888A (zh)

Similar Documents

Publication Publication Date Title
CN1457041B (zh) 为一个自然语言理解系统用来自动注解训练数据的一个系统
US8909653B1 (en) Apparatus, systems and methods for interactive dissemination of knowledge
US10262547B2 (en) Generating scores and feedback for writing assessment and instruction using electronic process logs
US8832117B2 (en) Apparatus, systems and methods for interactive dissemination of knowledge
US20180102062A1 (en) Learning Map Methods and Systems
JP6836294B2 (ja) 検索用資料情報記憶装置
AU2018260889B2 (en) Dynamic user experience workflow
AU2018267674B2 (en) Method and system for organized user experience workflow
Barclay et al. Exploring the learning burden and decay of foreign language vocabulary knowledge: The effect of part of speech and word length
US20070136672A1 (en) Simulation authoring tool
CN117494814A (zh) 提示词全生命周期管理方法、系统、电子设备、存储介质
US20090269730A1 (en) Simulation authoring tool
Chopra et al. Data Science with Python: Combine Python with machine learning principles to discover hidden patterns in raw data
KR102501297B1 (ko) 지식맵의 업데이트 방법 및 시스템
McGregor Practical Python Data Wrangling and Data Quality
CN117453888A (zh) 训练数据的生成方法、装置、设备及存储介质
CN112951013A (zh) 一种学习交互方法、装置、电子设备以及存储介质
US20240086768A1 (en) Learning device, inference device, non-transitory computer-readable medium, learning method, and inference method
KR102619939B1 (ko) 글쓰기 교육 및 평가를 위한 방법 및 시스템
Saengkeaw Application of association rule mining with concept-effect relationship model for learning diagnosis
CN117592468B (zh) 基于人工智能的文本处理方法、装置、设备及存储介质
Arafat et al. Automated essay grading with recommendation
Svanberg Suggested Blocks: Using Neural Networks To Aid Novice Programmers In App Inventor
Stanislav Online Problems for Mathematics and Computer Science Education
Pintar Development of Machine Learning Tutorials for R

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication