CN116560631B - 一种机器学习模型代码的生成方法及装置 - Google Patents

一种机器学习模型代码的生成方法及装置 Download PDF

Info

Publication number
CN116560631B
CN116560631B CN202310849920.XA CN202310849920A CN116560631B CN 116560631 B CN116560631 B CN 116560631B CN 202310849920 A CN202310849920 A CN 202310849920A CN 116560631 B CN116560631 B CN 116560631B
Authority
CN
China
Prior art keywords
model
code
machine learning
developed
text
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.)
Active
Application number
CN202310849920.XA
Other languages
English (en)
Other versions
CN116560631A (zh
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.)
Bairong Yunchuang Technology Co ltd
Original Assignee
Bairong Yunchuang Technology 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 Bairong Yunchuang Technology Co ltd filed Critical Bairong Yunchuang Technology Co ltd
Priority to CN202310849920.XA priority Critical patent/CN116560631B/zh
Publication of CN116560631A publication Critical patent/CN116560631A/zh
Application granted granted Critical
Publication of CN116560631B publication Critical patent/CN116560631B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种机器学习模型代码的生成方法及装置,涉及计算机技术领域,主要目的在于提高机器学习模型的开发效率以及缩短机器学习模型的部署周期;主要技术方案包括:确定与待开发模型匹配的提示文本;对所述待开发模型对应的任务问题文本和所确定的提示文本进行拼接处理,形成目标样本;基于所述目标样本,利用目标代码生成模型,生成用于训练所述待开发模型的机器学习模型代码;其中,所述目标代码生成模型是通过与待部署所述待开发模型的系统环境匹配的调整样本调整后的代码生成模型。

Description

一种机器学习模型代码的生成方法及装置
技术领域
本申请涉及计算机技术领域,特别是涉及一种机器学习模型代码的生成方法及装置。
背景技术
随着机器学习技术的不断发展,诸如金融、银行、电商等领域越来越多的使用机器学习模型进行相关业务数据的分析和处理。机器学习模型通过机器学习模型代码训练而得。目前,机器学习模型代码的开发通常需要业务问题专家、数据科学家、算法专家等人员高度手工参与,导致机器学习模型代码的开发不仅开发门槛高,且开发效率较低。另外,由于业务问题专家、数据科学家、算法专家等人员不熟悉待部署机器学习模型的系统环境,使得开发出的机器学习模型代码不能有效对接系统环境,在部署机器学习模型时还需要人工二次调整修改机器学习模型代码,从而导致机器学习模型的部署周期较长。
发明内容
有鉴于此,本申请提出了一种机器学习模型代码的生成方法及装置,主要目的在于提高机器学习模型的开发效率以及缩短机器学习模型的部署周期。
为了达到上述目的,本申请主要提供了如下技术方案:
第一方面,本申请提供了一种机器学习模型代码的生成方法,该机器学习模型代码的生成方法包括:
确定与待开发模型匹配的提示文本;
对所述待开发模型对应的任务问题文本和所确定的提示文本进行拼接处理,形成目标样本;
基于所述目标样本,利用目标代码生成模型,生成用于训练所述待开发模型的机器学习模型代码;其中,所述目标代码生成模型是通过与待部署所述待开发模型的系统环境匹配的调整样本调整后的代码生成模型。
在本申请一些实施例中,确定与待开发模型匹配的提示文本,包括:获取目标代码;其中,所述目标代码为已成功部署的目标模型对应的机器学习模型代码;所述目标模型与所述待开发模型具有相同的业务应用和系统环境;通过注释提取模型处理所述目标代码,得到所述目标代码涉及的代码注释文本;对于所得的每一条代码注释文本:确定所述代码注释文本在对应的目标代码中对应的代码行;拼接处理所述代码注释文本和所确定的代码行,形成对应的提示文本。
在本申请一些实施例中,在拼接处理所述代码注释文本和所确定的代码行之前,该机器学习模型代码的生成方法还包括:判断所确定的代码行是否为核心代码行;若是,则转入执行拼接处理所述代码注释文本和所确定的代码行的步骤。
在本申请一些实施例中,对所述待开发模型对应的任务问题文本和所确定的提示文本进行拼接处理,形成目标样本,包括:对于所述待开发模型对应的每一个任务问题文本:从所确定的提示文本中查找所述任务问题文本涉及的提示文本;对所述任务问题文本和所查找到的提示文本进行拼接处理,得到对应的目标样本。
在本申请一些实施例中,该机器学习模型代码的生成方法还包括:确定与所述待开发模型的模型类型匹配的代码生成模型;确定与所述待开发模型的环境信息匹配的调试样本;其中,所述环境信息用于描述待部署待开发模型的系统环境;通过所述调整样本调整所述代码生成模型的梯度参数,得到所述目标代码生成模型。
在本申请一些实施例中,该机器学习模型代码的生成方法还包括:基于待部署所述待开发模型的系统可用的代码语言,将所述机器学习模型转换为所述系统可部署的机器学习模型代码;基于转换后的机器学习模型代码在所述系统部署所述待开发模型。
在本申请一些实施例中,该机器学习模型代码的生成方法还包括:基于所述机器学习模型代码训练所述待开发模型;若判定训练所得的待开发模型的业务能力达到预期要求,则转入执行基于待部署所述待开发模型的系统可用的代码语言,将所述机器学习模型转换为所述系统可部署的机器学习模型代码的步骤。
第二方面,本申请提供了一种机器学习模型代码的生成装置,该机器学习模型代码的生成装置包括:
确定模块,用于确定与待开发模型匹配的提示文本;
处理模块,用于对所述待开发模型对应的任务问题文本和所确定的提示文本进行拼接处理,形成目标样本;
生成模块,用于基于所述目标样本,利用目标代码生成模型,生成用于训练所述待开发模型的机器学习模型代码;其中,所述目标代码生成模型是通过与待部署所述待开发模型的系统环境匹配的调整样本调整后的代码生成模型。
第三方面,本申请提供了一种计算机可读存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行第一方面所述的机器学习模型代码的生成方法。
第四方面,本申请提供了一种电子设备,所述电子设备包括:存储器,用于存储程序;处理器,耦合至所述存储器,用于运行所述程序以执行第一方面所述的机器学习模型代码的生成方法。
本申请提供的机器学习模型代码的生成方法及装置,在确定待开发模型之后,通过迁移学习和强化学习技术对与待部署待开发模型的系统环境匹配的调整样本调整代码生成模型,这样能够使代码生成模型学习到系统环境常用的框架、API等标准用法,从而使得代码生成模型生成能够对接系统环境的机器学习模型代码。然后将调整后的代码生成模型作为目标代码生成模型,并通过提示学习技术确定与待开发模型匹配的提示文本,对待开发模型对应的任务问题文本和所确定的提示文本进行拼接处理形成目标样本。最后基于目标样本,利用目标代码生成模型,生成用于训练待开发模型的机器学习模型代码。通过上述可知,本申请实施例通过代码生成模型生成机器学习模型代码,这样能够减少人工对机器学习模型代码开发的参与度,提高机器学习模型的开发效率。另外,本申请实施例由于通过迁移学习技术、强化学习和提示学习技术使得生成机器学习模型代码的代码生成模型在生成机器学习模型代码时知道更多的与系统环境相关的业务和系统标准,从而使得代码生成模型生成能够对接系统环境的机器学习模型代码。这样,在部署机器学习模型时减少或杜绝二次调整修改机器学习模型代码,从而能够缩短机器学习模型的部署周期较长。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个实施例提供的一种机器学习模型代码的生成方法的流程图;
图2示出了本申请一个实施例提供的一种机器学习模型代码的生成装置的结构示意图;
图3示出了本申请另一个实施例提供的一种机器学习模型代码的生成装置的结构示意图。
具体实施方式
下面将参照附图更加详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
一套机器学习模型的完整研发流程通常包括模型代码开发、模型训练、模型评估、模型部署等环节。目前,在模型代码开发环节,机器学习模型代码的开发通常需要业务问题专家、数据科学家、算法专家等人员高度手工参与,这样,导致机器学习模型代码的开发不仅开发门槛高,且开发效率较低。在模型部署环节,由于业务问题专家、数据科学家、算法专家等人员不熟悉待部署机器学习模型的系统环境,使得开发出的机器学习模型代码不能有效对接系统环境,因此,在部署机器学习模型时还需要人工二次调整修改机器学习模型代码,从而导致机器学习模型的部署周期较长。
发明人经过研究发现,可以通过代码生成模型生成机器学习模型代码。具体为,在确定待开发模型之后,通过迁移学习技术和强化学习技术对与待部署待开发模型的系统环境匹配的调整样本调整代码生成模型,这样能够使代码生成模型学习到系统环境常用的框架、API(Application Programming Interface,应用程序编程接口)等标准用法,从而使得代码生成模型生成能够对接系统环境的机器学习模型代码。然后将调整后的代码生成模型作为目标代码生成模型,并通过提示学习技术确定与待开发模型匹配的提示文本,对待开发模型对应的任务问题文本和所确定的提示文本进行拼接处理形成目标样本。最后基于目标样本,利用目标代码生成模型,生成用于训练待开发模型的机器学习模型代码。通过上述可知,通过代码生成模型生成机器学习模型代码,这样能够减少人工对机器学习模型代码开发的参与度,提高机器学习模型的开发效率。另外,由于通过迁移学习技术、强化学习和提示学习技术使得生成机器学习模型代码的代码生成模型在生成机器学习模型代码时知道更多的与系统环境相关的业务和系统标准,从而使得代码生成模型生成能够对接系统环境的机器学习模型代码。这样,在部署机器学习模型时减少或杜绝二次调整修改机器学习模型代码,从而能够缩短机器学习模型的部署周期较长。
基于上述考虑,本申请实施例提供了一种用于生成机器学习模型代码的技术方案,基于该技术方案,本申请实施例具体提供了一种机器学习模型代码的生成方法及装置。本申请实施例对待开发模型的类型不做限定,也就是说,任意一种类型的待开发的机器学习模型,均可适用本申请实施例提供的机器学习模型代码的生成方法及装置进行机器学习模型代码的生成。
下面对本申请实施例提供的机器学习模型代码的生成方法及装置进行具体说明。
如图1所示,本申请实施例提供了一种机器学习模型代码的生成方法,该机器学习模型代码的生成方法主要包括如下步骤101至103:
101、确定与待开发模型匹配的提示文本。
待开发模型为待开发的机器学习模型,其需要部署到指定系统环境中,用于对指定系统环境中的业务数据进行指定的数据处理(比如,预测处理)。开发待开发模型的首要环节是机器学习模型代码生成,以便利用生成的机器学生模型代码训练出待开发模型。
为了减少人工对机器学习模型代码开发的参与度,提高机器学习模型代码的开发效率,本申请实施例通过代码生成模型生成机器学习模型代码。为了使得代码生成模型能够生成更适用于系统环境的机器学习模型代码,需要确定与待开发模型匹配的提示文本,以便通过提示文本让生成机器学习代码的代码生成模型知道更多业务和系统标准。
确定与待开发模型匹配的提示文本的具体过程包括如下步骤101A至101C:
101A、获取目标代码;其中,目标代码为已成功部署的目标模型对应的机器学习模型代码;目标模型与待开发模型具有相同的业务应用和系统环境。
确定与待开发模型具有相同的业务应用和系统环境,且已成功部署的目标模型,将目标模型对应的机器学习模型代码获取为目标代码。需要说明的是,为了提供出更多的提示文本,目标模型可选择多个,则相应的目标代码也为多个。
101B、通过注释提取模型处理目标代码,得到目标代码涉及的代码注释文本。
对于任意一个目标模型对应的目标代码来说,在目标代码开发时,目标代码的一些代码行会标注有对应的代码注释文本,以通过代码注释文本解释对应的代码行背后的意图和目的。为了使得这些代码注释文本能够指导代码生成模型生成机器学习模型代码,则在获取到目标代码之后,针对所获取的每一个目标代码均执行:将目标代码输入至注释提取模型,其中,注释提取模型为预先训练好的,用于提取代码中代码注释文本的机器学习模型;在目标代码输入至注释提取模型之后,注释提取模型处理目标代码,得到目标代码涉及的代码注释文本。
101C、对于所得的每一条代码注释文本:确定代码注释文本在对应的目标代码中对应的代码行;拼接处理代码注释文本和所确定的代码行,形成对应的提示文本。
在通过注释提取模型处理完所有的目标代码之后,对于所得的每一条代码注释文本均执行如下步骤101C1至101C2:
101C1、确定代码注释文本在对应的目标代码中对应的代码行。
代码注释文本主要用于解释对应的代码行背后的意图和目的,因此需要确定出代码注释文本在对应的目标代码中对应的代码行,以便知晓代码注释文本是对哪个代码行的解释。
确定代码注释文本在对应的目标代码中对应的代码行的方法至少包括如下两种:
一种是,注释提取模型在输出代码注释文本时,相应的输出代码注释文本对应的代码行,则依据注释提示模型的输出结果确定代码注释文本在对应的目标代码中对应的代码行。
另一种是,注释提取模型在输出代码注释文本时,相应的输出代码注释文本对应的目标代码,但未输出对应的代码行,此时可通过正则表达式等数据查询手段在对应的目标代码中查找代码注释文本对应的代码行,并将查询到的代码行确定为代码注释文本在对应的目标代码中对应的代码行。
101C2、拼接处理代码注释文本和所确定的代码行,形成对应的提示文本。
在确定出代码注释文本对应的代码行之后,拼接处理代码注释文本和所确定的代码行,以形成对应的提示文本。拼接处理代码注释文本和所确定的代码行的具体方法可以为:确定预设的拼接格式,通过拼接格式拼接代码注释文本和所确定的代码行。这里的拼接格式可基于业务需求灵活设定。示例性的,拼接格式为:“文本行”and“代码注释文本”。
所形成的提示文本用于供代码生成模型提示学习使用,以便让代码生成模型在生成待开发模型对应的机器学习模型代码时,知道更多与待开发模型业务应用和系统标准,以便生成与实际业务和系统环境更为拟合的机器学习模型代码供训练待开发模型使用。
进一步的,代码生成模型使用的提示文本越多,则其训练消耗越大,为了在减少消耗的同时,需要更有针对性的向代码生成模型提供提示文本,因此在上述步骤101C2拼接处理代码注释文本和所确定的代码行之前,该机器学习模型代码的生成方法还可以包括如下步骤101C3:
101C3、判断所确定的代码行是否为核心代码行;若是,则转入执行上述步骤101C2拼接处理代码注释文本和所确定的代码行的步骤。若否,则不拼接处理代码注释文本和所确定的代码行,剔除代码注释文本和所确定的代码行即可。
核心代码行对模型的训练起着主导作用,其关联模型的准确性以及模型与业务和系统标准的拟合性,因此需要判断所确定的代码行是否为核心代码行。这样,可仅利用核心代码行生成提示文本,这样不仅能够减少提示文本的使用量,且也不会因为提示文本使用量的减少,影响代码生成模型生成的机器学习模型代码与待开发模型的业务和环境标准的拟合性。
102、对待开发模型对应的任务问题文本和所确定的提示文本进行拼接处理,形成目标样本。
在确定需要开发待开发模型之后,待开发模型需要解决的具体问题将以任务问题文本的形式明确出来,每一个任务问题文本分别用于明确待开发模型对应解决的一个具体问题。为了明确在历史已上线的模型是通过哪些方式来解决这些问题的,则需要对待开发模型对应的任务问题文本和所确定的提示文本进行拼接处理形成目标样本,以通过目标样本使代码生成模型在生成机器学习模型代码时知道更多的与系统环境相关的业务和系统标准,从而使得代码生成模型生成能够在待开发模型对应的系统环境中可部署的机器学习模型代码。
对待开发模型对应的任务问题文本和所确定的提示文本进行拼接处理形成目标样本的具体过程可以为,对于待开发模型对应的每一个任务问题文本均执行如下步骤102A至102B:
102A、从所确定的提示文本中查找任务问题文本涉及的提示文本。
从所确定的提示文本中查找任务问题文本涉及的提示文本的方法可以不包括如下两种:
第一种,将所确定的提示文本和任务问题文本均输入至确定模型,以通过确定模型确定出任务问题文本涉及的提示文本。这里的确定模型为预先训练出的,用于为任务问题文本确定对应的提示文本的机器学习模型。
第二种,确定任务问题文本中的关键字,基于关键字构建用于查询提示文本的查询语句(比如,正则表达式语句),通过查询语句在所确定的提示文本中确定任务问题涉及的提示文本。
102B、对任务问题文本和所查找到的提示文本进行拼接处理,得到对应的目标样本。
对任务问题文本和所查找到的提示文本进行拼接处理的目的,是为了明确出解决任务问题文本对应的问题时用到了哪些具有指定目标和意图的代码行。
对任务问题文本和所查找到的提示文本进行拼接处理的具体过程可以为:选取拼接格式,通过拼接格式拼接任务问题文本和所查找到的提示文本,形成对应的目标样本。这里的拼接格式可基于业务需求灵活设定。示例性的,拼接格式为:“任务问题文本”and“所查找到的提示文本”。
目标样本由于由任务问题文本和任务问题文本对应的提示文本组成,因此在代码生成时,目标样本不仅能够让代码生成模型生成代码时知道更多业务和系统标准,且能够让代码生成模型生成代码时,知道如何开发出符合业务需求的代码。
103、基于目标样本,利用目标代码生成模型,生成用于训练待开发模型的机器学习模型代码;其中,目标代码生成模型是通过与待部署待开发模型的系统环境匹配的调整样本调整后的代码生成模型。
在形成目标样本之后,基于目标样本,利用目标代码生成模型,生成用于训练待开发模型的机器学习模型代码。需要说明的是,为了使得生成机器学习模型代码的代码生成模型在生成机器学习模型代码时知道更多的与系统环境相关的业务和系统标准,使得能够生成与业务更为拟合的机器学习模型代码,这里的目标代码生成模型是通过与待部署待开发模型的系统环境匹配的调整样本调整后的代码生成模型。
进一步的,可通过如下步骤104至106生成目标代码生成模型:
104、确定与待开发模型的模型类型匹配的代码生成模型。
代码生成模型为用于生成待开发模型对应的机器学习模型代码的机器学习模型。为了更有针对性的为不同模型类型的待开发模型生成对应的机器学习模型代码,则可预置出多个不同代码生成模型,且每个代码生成模型用于为对应的模型类型生成机器学习模型代码。
在确定出待开发模型之后,将与待开发模型的模型类型对应的代码生成模型确定为与待开发模型的匹配的代码生成模型。示例性的,预置了三个代码生成模型“模型1、模型2和模型3”,其中,模型1对应的模型类型为类型1、模型2对应的模型类型为类型2、模型3对应的模型类型为类型3。现确定待开发模型的模型类型为“类型2”,则将模型2确定为与待开发模型的模型类型匹配的代码生成模型。
代码生成模型可通过如下方法生成:抓取开源的机器学习模型代码,其中,所抓取的机器学习模型代码均为代码生成模型所对应的模型类型的模型对应的代码;所抓取的机器学习模型代码的数量可基于业务需求确定。通过所抓取的机器学习模型代码训练,形成对应的代码生成模型。开源代码可以为企业内部开放的机器学习模型代码,也可以是诸如github等开发的机器学习模型代码。
105、确定与待开发模型的环境信息匹配的调试样本;其中,环境信息用于描述待部署待开发模型的系统环境。
可通过迁移学习和强化学习技术对与待部署待开发模型的系统环境匹配的调整样本调整代码生成模型,这样能够使代码生成模型学习到系统环境(如sklearn、ORCA、数据库等系统环境)常用的框架、API等标准用法,从而使得代码生成模型生成能够对接系统环境的机器学习模型代码。需要说明的是,代码生成模型可针对待开发模型生成多套机器学习模型代码,为了能够使用与系统环境更为拟合的那套机器学习模型代码进行待开发模型的训练,因此可通过强化学习技术使得代码生成模型可基于与系统环境的拟合度对多多套机器学习模型代码进行排序,并将拟合度最高的那套机器学习模型代码输出为最终用于训练待开发模型的机器学习模型代码。
在确定代码生成模型之后,为了能够通过迁移学习和强化学习技术对代码生成模型进行调整,则需要确定与待开发模型的环境信息匹配的调试样本。确定与待开发模型的环境信息匹配的调试样本的具体过程可以包括:确定环境信息中关键字段,基于关键字段从调试样本库中选取与待开发模型的环境信息匹配的调试样本。调试样本的数量本申请实施例不做具体限定。示例性的,调试样本的数量可以在1-5万条。
调试样本主要用于对于代码生成模型的梯度参数做调整,以使代码生成模型能够输出直接可部署在待开发模型待部署的系统环境中。调整样本主要让代码生成模型知道遇到什么问题应该做哪些修改。示例性的,调试样本:{"prompt": "使用orca_ml创建pipeline","completion": "from orca_ml import Pipeline"}。
106、通过调整样本调整代码生成模型的梯度参数,得到目标代码生成模型。
在确定调整样本之后,将调整样本输入至代码生成模型,以通过调整样本调整代码生成模型的梯度参数,从而使得代码生成模型能够输出与待开发模型待部署系统的系统环境更为拟合的机器学习模型代码。这里的梯度参数为代码生成模型中影响代码生成模型输出的参数。在通过调整样本调整代码生成模型的梯度参数之后,即得到了目标代码生成模型。
在确定目标代码生成模型和目标样本之后,将目标样本作为输入,给到目标代码生成模型。目标代码生成模型训练目标样本生成待开发模型对应的机器学习模型代码。
本申请实施例提供的机器学习模型代码的生成方法,在确定待开发模型之后,通过迁移学习和强化学习技术对与待部署待开发模型的系统环境匹配的调整样本调整代码生成模型,这样能够使代码生成模型学习到系统环境常用的框架、API等标准用法,从而使得代码生成模型生成能够对接系统环境的机器学习模型代码。然后将调整后的代码生成模型作为目标代码生成模型,并通过提示学习技术确定与待开发模型匹配的提示文本,对待开发模型对应的任务问题文本和所确定的提示文本进行拼接处理形成目标样本。最后基于目标样本,利用目标代码生成模型,生成用于训练待开发模型的机器学习模型代码。通过上述可知,本申请实施例通过代码生成模型生成机器学习模型代码,这样能够减少人工对机器学习模型代码开发的参与度,提高机器学习模型的开发效率。另外,本申请实施例由于通过迁移学习技术、强化学习技术和提示学习技术使得生成机器学习模型代码的代码生成模型在生成机器学习模型代码时知道更多的与系统环境相关的业务和系统标准,从而使得代码生成模型生成能够对接系统环境的机器学习模型代码。这样,在部署机器学习模型时减少或杜绝二次调整修改机器学习模型代码,从而能够缩短机器学习模型的部署周期较长。
在本申请一些实施例中,为了更便于待开发模型的部署,则该机器学习模型代码的生成方法还可以包括如下步骤107至108:
107、基于待部署待开发模型的系统可用的代码语言,将机器学习模型转换为系统可部署的机器学习模型代码。
通常情况下模型开发人员通常使用python语言开发机器学习模型代码,因此为了便于模型开发人员的开发操作,通过目标代码生成模型生成的用于训练待开发模型的机器学习模型代码通常也为python语言的代码。而部署待开发模型的系统的代码语言通常为java或C++等代码语言,因此为了便于待开发模型的部署,需要基于待部署待开发模型的系统可用的代码语言,将机器学习模型转换为系统可部署的机器学习模型代码。比如,将python语言的机器学习模型代码转换为java语言的机器学习模型代码。
108、基于转换后的机器学习模型代码在系统部署待开发模型。
在转换完成后,基于转换后的机器学习模型代码在系统部署待开发模型,以供待开发模型在系统中执行其相应的数据处理操作。
进一步的,在生成用于训练待开发模型的机器学习模型代码之后,为了验证机器学习模型代码的可用性,需要基于机器学习模型代码训练待开发模型。因此该机器学习模型代码的生成方法还可以包括如下步骤109:
109、基于机器学习模型代码训练待开发模型;若判定训练所得的待开发模型的业务能力达到预期要求,则转入执行上述步骤107基于待部署待开发模型的系统可用的代码语言,将机器学习模型转换为系统可部署的机器学习模型代码的步骤。
基于机器学习模型代码训练待开发模型的方法可以为: 编译机器学习模型代码形成待开发模型,采用待开发模型对应的训练样本训练待开发模型。若判定训练所得的待开发模型的业务能力未达到预期要求,可执行如下两种操作:一是,将待开发模型当前对应的机器学习模型代码提供给模型开发人员,以供模型开发人员对代码进行调整;二是,采用训练样本继续训练待开发模型。若判定训练所得待开发模型的业务能力达到预期要求,则说明待开发模型可以完成相应的数据处理,且处理能力符合要求,因此转入执行上述步骤107。需要说明的是,这里转入步骤107时,转换时所使用的机器学习模型代码为待开发模型在业务能力达到预期要求时,所对应的机器学习模型代码。
进一步的,本申请的另一个实施例还提供了一种机器学习模型代码的生成装置,如图2所示,该机器学习模型代码的生成装置包括:
确定模块21,用于确定与待开发模型匹配的提示文本;
处理模块22,用于对所述待开发模型对应的任务问题文本和所确定的提示文本进行拼接处理,形成目标样本;
生成模块23,用于基于所述目标样本,利用目标代码生成模型,生成用于训练所述待开发模型的机器学习模型代码;其中,所述目标代码生成模型是通过与待部署所述待开发模型的系统环境匹配的调整样本调整后的代码生成模型。
本申请实施例提供的机器学习模型代码的生成装置,在确定待开发模型之后,通过迁移学习和强化学习技术对与待部署待开发模型的系统环境匹配的调整样本调整代码生成模型,这样能够使代码生成模型学习到系统环境常用的框架、API等标准用法,从而使得代码生成模型生成能够对接系统环境的机器学习模型代码。然后将调整后的代码生成模型作为目标代码生成模型,并通过提示学习技术确定与待开发模型匹配的提示文本,对待开发模型对应的任务问题文本和所确定的提示文本进行拼接处理形成目标样本。最后基于目标样本,利用目标代码生成模型,生成用于训练待开发模型的机器学习模型代码。通过上述可知,本申请实施例通过代码生成模型生成机器学习模型代码,这样能够减少人工对机器学习模型代码开发的参与度,提高机器学习模型的开发效率。另外,本申请实施例由于通过迁移学习技术、强化学习技术和提示学习技术使得生成机器学习模型代码的代码生成模型在生成机器学习模型代码时知道更多的与系统环境相关的业务和系统标准,从而使得代码生成模型生成能够对接系统环境的机器学习模型代码。这样,在部署机器学习模型时减少或杜绝二次调整修改机器学习模型代码,从而能够缩短机器学习模型的部署周期较长。
在本申请一些实施例中,如图3所示,确定模块21包括:
获取单元211,用于获取目标代码;其中,所述目标代码为已成功部署的目标模型对应的机器学习模型代码;所述目标模型与所述待开发模型具有相同的业务应用和系统环境;
处理单元212,用于通过注释提取模型处理所述目标代码,得到所述目标代码涉及的代码注释文本;
生成单元213,用于对于所得的每一条代码注释文本:确定所述代码注释文本在所述目标代码中对应的代码行;拼接处理所述代码注释文本和所确定的代码行,形成对应的提示文本。
在本申请一些实施例中,如图3所示,生成单元213,还用于在拼接处理所述代码注释文本和所确定的代码行之前,判断所确定的代码行是否为核心代码行;若是,则转入执行拼接处理所述代码注释文本和所确定的代码行的步骤。
在本申请一些实施例中,如图3所示,处理模块22,具体用于对于所述待开发模型对应的每一个任务问题文本:从所确定的提示文本中查找所述任务问题文本涉及的提示文本;对所述任务问题文本和所查找到的提示文本进行拼接处理,得到对应的目标样本。
在本申请一些实施例中,如图3所示,该机器学习模型代码的生成装置还包括:
调整模块24,用于确定与所述待开发模型的模型类型匹配的代码生成模型;确定与所述待开发模型的环境信息匹配的调试样本;其中,所述环境信息用于描述待部署待开发模型的系统环境;通过所述调整样本调整所述代码生成模型的梯度参数,得到所述目标代码生成模型。
在本申请一些实施例中,如图3所示,该机器学习模型代码的生成装置还包括:
转换模块25,用于基于待部署所述待开发模型的系统可用的代码语言,将所述机器学习模型转换为所述系统可部署的机器学习模型代码;基于转换后的机器学习模型代码在所述系统部署所述待开发模型。
在本申请一些实施例中,如图3所示,该机器学习模型代码的生成装置还包括:
训练模块26,用于基于所述机器学习模型代码训练所述待开发模型;若判定训练所得的待开发模型的业务能力达到预期要求,则触发转换模块25基于待部署所述待开发模型的系统可用的代码语言,将所述机器学习模型转换为所述系统可部署的机器学习模型代码。
本申请实施例提供的机器学习模型代码的生成装置中,各个功能模块运行过程中所采用的详解可以参见上述方法实施例的对应详解,在此不再赘述。
进一步的,本申请的一个实施例还提供了一种计算机可读存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述的机器学习模型代码的生成方法。
进一步的,本申请的一个实施例还提供了一种电子设备,所述电子设备包括:存储器,用于存储程序;处理器,耦合至所述存储器,用于运行所述程序以执行上述的机器学习模型代码的生成方法。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的优选实施方式。
此外,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据割接设备的处理器以产生一个机器,使得通过计算机或其他可编程数据割接设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据割接设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据割接设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (9)

1.一种机器学习模型代码的生成方法,其特征在于,所述方法包括:
确定与待开发模型匹配的提示文本;
对所述待开发模型对应的任务问题文本和所确定的提示文本进行拼接处理,形成目标样本;
基于所述目标样本,利用目标代码生成模型,生成用于训练所述待开发模型的机器学习模型代码;其中,所述目标代码生成模型是通过与待部署所述待开发模型的系统环境匹配的调整样本调整后的代码生成模型;
确定与待开发模型匹配的提示文本,包括:获取目标代码;其中,所述目标代码为已成功部署的目标模型对应的机器学习模型代码;所述目标模型与所述待开发模型具有相同的业务应用和系统环境;通过注释提取模型处理所述目标代码,得到所述目标代码涉及的代码注释文本;对于所得的每一条代码注释文本:确定所述代码注释文本在对应的目标代码中对应的代码行;拼接处理所述代码注释文本和所确定的代码行,形成对应的提示文本;
所述调整样本用于调整所述代码生成模型的梯度参数,以使调整后的代码生成模型生成能够对接所述系统环境的机器学习模型代码;
所述方法还包括:通过所述调整样本调整所述代码生成模型的梯度参数,得到所述目标代码生成模型。
2.根据权利要求1所述的方法,其特征在于,在拼接处理所述代码注释文本和所确定的代码行之前,所述方法还包括:
判断所确定的代码行是否为核心代码行;
若是,则转入执行拼接处理所述代码注释文本和所确定的代码行的步骤。
3.根据权利要求1所述的方法,其特征在于,对所述待开发模型对应的任务问题文本和所确定的提示文本进行拼接处理,形成目标样本,包括:
对于所述待开发模型对应的每一个任务问题文本:从所确定的提示文本中查找所述任务问题文本涉及的提示文本;对所述任务问题文本和所查找到的提示文本进行拼接处理,得到对应的目标样本。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定与所述待开发模型的模型类型匹配的代码生成模型;
确定与所述待开发模型的环境信息匹配的调试样本;其中,所述环境信息用于描述待部署待开发模型的系统环境;
通过所述调整样本调整所述代码生成模型的梯度参数,得到所述目标代码生成模型。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
基于待部署所述待开发模型的系统可用的代码语言,将所述机器学习模型转换为所述系统可部署的机器学习模型代码;
基于转换后的机器学习模型代码在所述系统部署所述待开发模型。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
基于所述机器学习模型代码训练所述待开发模型;
若判定训练所得的待开发模型的业务能力达到预期要求,则转入执行基于待部署所述待开发模型的系统可用的代码语言,将所述机器学习模型转换为所述系统可部署的机器学习模型代码的步骤。
7.一种机器学习模型代码的生成装置,其特征在于,所述装置包括:
确定模块,用于确定与待开发模型匹配的提示文本;
处理模块,用于对所述待开发模型对应的任务问题文本和所确定的提示文本进行拼接处理,形成目标样本;
生成模块,用于基于所述目标样本,利用目标代码生成模型,生成用于训练所述待开发模型的机器学习模型代码;其中,所述目标代码生成模型是通过与待部署所述待开发模型的系统环境匹配的调整样本调整后的代码生成模型;所述调整样本用于调整所述代码生成模型的梯度参数,以使调整后的代码生成模型生成能够对接所述系统环境的机器学习模型代码;通过所述调整样本调整所述代码生成模型的梯度参数,得到所述目标代码生成模型;
所述确定模块包括:
获取单元,用于获取目标代码;其中,所述目标代码为已成功部署的目标模型对应的机器学习模型代码;所述目标模型与所述待开发模型具有相同的业务应用和系统环境;
处理单元,用于通过注释提取模型处理所述目标代码,得到所述目标代码涉及的代码注释文本;
生成单元,用于对于所得的每一条代码注释文本:确定所述代码注释文本在对应的目标代码中对应的代码行;拼接处理所述代码注释文本和所确定的代码行,形成对应的提示文本。
8.一种计算机可读存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至权利要求6中任意一项所述的机器学习模型代码的生成方法。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于运行所述程序以执行权利要求1至权利要求6中任意一项所述的机器学习模型代码的生成方法。
CN202310849920.XA 2023-07-12 2023-07-12 一种机器学习模型代码的生成方法及装置 Active CN116560631B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310849920.XA CN116560631B (zh) 2023-07-12 2023-07-12 一种机器学习模型代码的生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310849920.XA CN116560631B (zh) 2023-07-12 2023-07-12 一种机器学习模型代码的生成方法及装置

Publications (2)

Publication Number Publication Date
CN116560631A CN116560631A (zh) 2023-08-08
CN116560631B true CN116560631B (zh) 2023-10-17

Family

ID=87488402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310849920.XA Active CN116560631B (zh) 2023-07-12 2023-07-12 一种机器学习模型代码的生成方法及装置

Country Status (1)

Country Link
CN (1) CN116560631B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117369783B (zh) * 2023-12-06 2024-02-23 之江实验室 一种安全代码生成模型的训练方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110688098A (zh) * 2019-09-02 2020-01-14 深圳壹账通智能科技有限公司 生成系统框架代码的方法、装置、电子设备及存储介质
CN110795077A (zh) * 2019-09-26 2020-02-14 北京你财富计算机科技有限公司 一种基于人工智能的软件开发方法、装置及电子设备
CN113791791A (zh) * 2021-09-01 2021-12-14 中国船舶重工集团公司第七一六研究所 基于自然语言理解与转化的业务逻辑无代码开发方法
CN113805861A (zh) * 2021-09-17 2021-12-17 平安银行股份有限公司 基于机器学习的代码生成方法、代码编辑系统及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230161562A1 (en) * 2021-11-19 2023-05-25 Jpmorgan Chase Bank, N.A. System and method for generating a similarity matrix/score between intended requirements context data and source code context data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110688098A (zh) * 2019-09-02 2020-01-14 深圳壹账通智能科技有限公司 生成系统框架代码的方法、装置、电子设备及存储介质
CN110795077A (zh) * 2019-09-26 2020-02-14 北京你财富计算机科技有限公司 一种基于人工智能的软件开发方法、装置及电子设备
CN113791791A (zh) * 2021-09-01 2021-12-14 中国船舶重工集团公司第七一六研究所 基于自然语言理解与转化的业务逻辑无代码开发方法
CN113805861A (zh) * 2021-09-17 2021-12-17 平安银行股份有限公司 基于机器学习的代码生成方法、代码编辑系统及存储介质

Also Published As

Publication number Publication date
CN116560631A (zh) 2023-08-08

Similar Documents

Publication Publication Date Title
US11899800B2 (en) Open source vulnerability prediction with machine learning ensemble
CN109086199B (zh) 一种自动化生成测试脚本的方法、终端和可存储介质
Kondo et al. The impact of context metrics on just-in-time defect prediction
CN110968695A (zh) 基于弱监督技术主动学习的智能标注方法、装置及平台
CN104573099A (zh) 题目的搜索方法及装置
CN116560631B (zh) 一种机器学习模型代码的生成方法及装置
CN110807311B (zh) 用于生成信息的方法和装置
WO2023278052A1 (en) Automated troubleshooter
Baquero et al. Predicting the programming language: Extracting knowledge from stack overflow posts
Gupta et al. Natural language processing in mining unstructured data from software repositories: a review
EP4258107A1 (en) Method and system for automated discovery of artificial intelligence and machine learning assets in an enterprise
CN117492703A (zh) 一种基于人工智能的软件开发方法、设备及介质
Trautmann Large Language Model Prompt Chaining for Long Legal Document Classification
JP2007122207A (ja) プログラム分析プログラム、プログラム分析装置、プログラム分析方法
Jubair et al. A multi‐agent K‐means with case‐based reasoning for an automated quality assessment of software requirement specification
US20100305986A1 (en) Using Service Exposure Criteria
Zhao et al. A survey of automatic generation of code comments
Khtira et al. Detecting feature duplication in natural language specifications when evolving software product lines
Bayrı et al. AI-Powered Software Testing: The Impact of Large Language Models on Testing Methodologies
Bellan et al. Leveraging pre-trained language models for conversational information seeking from text
Khan et al. Non Functional Requirements Identification and Classification Using Transfer Learning Model
Wang et al. Using workflow patterns to model and validate service requirements
Ahmed et al. The role of Natural Language Processing in requirement engineering
Reyna et al. How to Generate and Import Functional Test Cases into a Project Management Software System using Natural Language Processing
CN116719514B (zh) 一种基于bert的rpa代码自动生成方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant