CN117453915A - 一种基于可规划工作流的大语言模型的复杂任务处理方法 - Google Patents

一种基于可规划工作流的大语言模型的复杂任务处理方法 Download PDF

Info

Publication number
CN117453915A
CN117453915A CN202311344150.XA CN202311344150A CN117453915A CN 117453915 A CN117453915 A CN 117453915A CN 202311344150 A CN202311344150 A CN 202311344150A CN 117453915 A CN117453915 A CN 117453915A
Authority
CN
China
Prior art keywords
model
data
workflow
training
task
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
CN202311344150.XA
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.)
Shanghai Touchmai Digital Medical Technology Co ltd
Original Assignee
Shanghai Touchmai Digital Medical 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 Shanghai Touchmai Digital Medical Technology Co ltd filed Critical Shanghai Touchmai Digital Medical Technology Co ltd
Priority to CN202311344150.XA priority Critical patent/CN117453915A/zh
Publication of CN117453915A publication Critical patent/CN117453915A/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/35Clustering; Classification
    • 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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • 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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/098Distributed learning, e.g. federated learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Machine Translation (AREA)

Abstract

本发明的一种基于可规划工作流的大语言模型的复杂任务处理方法,属于大语言模型处理技术领域,包括采用训练优化后的大语言模型与工作流集成,工作流为可编辑的工作流机制,生成满足用户需求的数据处理结果。本实施例方法利用可规划的工作流机制,用户可以更加灵活地控制大模型的生成过程,使得任务完成更加高效和准确。且可以利用人类常规思维模式来与大模型进行交互,使得交互更加友好和自然。

Description

一种基于可规划工作流的大语言模型的复杂任务处理方法
技术领域
本发明属于大语言模型处理技术领域,具体来说是一种基于可规划工作流的大语言模型的复杂任务处理方法。
背景技术
AI技术在过去的10年间得到了史无前例的发展,这是得益于数据和算力的发展。如今,大语言模型的出现,直接改变了AI能力的生产范式,给未来AI发展提供了前所未有的想象空间。然而大语言模型通常是抽象和泛化的代表,不能从具体业务上很好地应用大模型的能力,特别是在使用大模型、或者说微调大模型,需要优秀的prompt(提示)能力,这本身就是使用和应用大模型的障碍。
现有的工作流技术是一项比较成熟的技术,在传统应用程序中经常会被使用到,但是与大模型相结合的工作流机制具有一定的融合复杂度,大语言模型本身驱动是需要依靠prompt,因此并不能很好的满足现有的需求,交互体验较差且对于大模型根据工作流控制的任务返回的结果需要再次加工以满足真实任务的需要,目前需要进一步优化。
发明内容
1.发明要解决的技术问题
本发明的目的在于解决现有的工作流技术难以满足真实任务的需要的问题。
2.技术方案
为达到上述目的,本发明提供的技术方案为:
本发明的一种基于可规划工作流的大语言模型的复杂任务处理方法,所述方法包括采用训练优化后的大语言模型与工作流集成,工作流为可编辑的工作流机制,生成满足用户需求的数据处理结果。
优选的,所述方法包括步骤如下:
a、设计可编辑的工作流机制;
b、将训练优化后的大语言模型集成到工作流中;
c、设计可评审的响应数据格式;
d、实现流程控制和数据传递。
优选的,所述大语言模型建立过程如下:
S100、收集数据;
S200、数据处理;
S300、模型基石;
S400、针对性大规模训练;
S500、模型训练;
S600、模型评估及优化。
优选的,所述步骤S100具体为通过网络爬虫获取专业医疗论文数据集并将其转化为指令数据集。
优选的,所述步骤S200具体包括
S210、数据清洗;
S220、数据划分,将原始数据划分为多个批次,每个批次包含原始数据的一部分,并对批次大小和序列长度进行调整,以获得最佳的训练效果和数据量;其次对每个批次的数据进行评估,以评估批次划分的效果;最后进行批次更新,根据评估结果,更新批次划分规则,以不断优化批次划分策略;
S230、数据注释,对于部分数据,进行数据注释;
S240、数据增强;
S250、数据降维,包括将文本转换成词向量,以减少文本中的冗余信息;截取字符串的子字符串,以减少字符串中的冗余信息;通过统计每个词汇出现的次数,以减少词汇表中的冗余信息;对数据进行压缩,以减少模型的存储空间。
优选的,所述步骤S300具体为选择中英文双语大型预训练语言模型ChatGLM2-6B并采用General Language Model(GLM)算法。
优选的,所述步骤S400具体为
ChatGLM2-6B基于Transformer,利用自回归填空作为训练目标;对于文本序列x=[x1,…,xn],从中采样文本区间{s1,…,sm},其中si表示连续的标记区间用单个mask标记替换它们,形成xcorrupt;模型自回归地恢复这些损坏的区间;为了允许损坏区间之间的交互,它们之间的可见性由顺序上进行的随机采样置换决定;预训练目标定义为:
其中,Zm表示序列的所有排列的集合,表示/>
对于每个具体的任务,都会针对该任务进行微调,以适应不同的语言理解和生成需求。
优选的,所述微调包括设置损失函数:
选择交叉熵损失,用于度量模型的预测与真实标签之间的距离;在下游自然语言理解(NLU)任务中,采用了PET的方法,将NLU分类任务重新定义为填空生成任务;
具体为给定一个带有标签的示例(x,y),通过包含单个掩码标记的模式将输入文本x转换为一个填空问题c(x);该模式以自然语言方式编写,以表示任务的语义;
其中情感分类任务可以被构建为“{SENTENCE}.It’s really[MASK]”;候选标签y∈Y也被映射为填空问题的答案,称为v(y);在情感分类中,标签“positive”和“negative”被映射为单词“good”和“bad”;给定输入x的情况下预测y的条件概率为
其中Y是标签集合;因此,句子属于正面或负面的概率与在填空中预测“good”或“bad”成正比,然后,使用交叉熵损失对ChatGLM2-6B进行微调;
对多标签分类任务中的一类任务,交叉熵损失函数为:
总的交叉熵为多标签分类任务中每一类的交叉熵之和。
优选的,所述S500具体为
将数据集划分为训练集、验证集和测试集;其中,训练集用于模型的训练,验证集用于评估模型的性能和调整超参数,测试集用于最终评估模型的性能;
优化包括:数据增强、分布式训练、学习率调度、层归一化和优化算法,其中优化算法为采用Adam优化算法最小化模型的损失函数,如下
mt=β1mt-1+(1-β1)gt
其中,梯度gt为损失函数对θt求偏导;mt为时刻,梯度在动量形式下的一阶矩估计;vt为梯度在动量形式下的二阶矩估计;/>为偏差纠正后的一阶矩估计(/>是β1的t次方);/>为偏差纠正后的二阶矩估计;最后一项为更新公式。
优选的,所述步骤S600的模型评估及优化具体为
使用准确率(Accuracy)作为分类任务指标,用于衡量模型正确预测的样本比例;
使用F1分数(F1-Score),F1分数是精确率(Precision)和召回率(Recall)的调和平均值,对于分类任务,用于综合评估模型的预测性能;
通过ROC曲线和AUC(Area Under the Curve),对于二分类问题,衡量模型的分类性能;
使用平均精确率均值(Average Precision),对于排序和推荐任务,衡量模型在不同阈值下的平均精确率;
利用标签相关性指标(Label-related metrics),特定任务需要针对数据集的特征定义相关的评估指标,包括医疗领域的敏感性(Sensitivity)、特异性(Specificity)、预测值(Precision)、召回率(Recall)
3.有益效果
采用本发明提供的技术方案,与现有技术相比,具有如下有益效果:
本发明的一种基于可规划工作流的大语言模型的复杂任务处理方法,包括采用训练优化后的大语言模型与工作流集成,工作流为可编辑的工作流机制,生成满足用户需求的数据处理结果。本实施例方法利用可规划的工作流机制,用户可以更加灵活地控制大模型的生成过程,使得任务完成更加高效和准确。且可以利用人类常规思维模式来与大模型进行交互,使得交互更加友好和自然。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将结合实施例来详细说明本申请。
实施例1
本实施例的一种基于可规划工作流的大语言模型的复杂任务处理方法,所述方法包括采用训练优化后的大语言模型与工作流集成,工作流为可编辑的工作流机制,生成满足用户需求的数据处理结果。本实施例方法利用可规划的工作流机制,用户可以更加灵活地控制大模型的生成过程,使得任务完成更加高效和准确。且可以利用人类常规思维模式来与大模型进行交互,使得交互更加友好和自然。
a、设计可编辑的工作流机制。该机制允许用户通过图形界面设计工作流,包括任务的输入、输出、逻辑判断、跳转等。与现有的类似技术相比,本发明的工作流机制更加灵活,能够满足更多复杂任务的需求。
b、将大语言模型集成到工作流中。在工作流中,用户可以将大语言模型作为一个任务节点,用于生成文本、回答问题等。与现有的类似技术相比,本发明将大语言模型与工作流紧密结合,使其能够更好地适应特定任务的需求。
c、设计可评审的响应数据格式。在大语言模型返回的响应数据中,本发明增加了评审标记,用于标识模型生成的文本是否符合用户的期望。与现有的类似技术相比,本发明的评审标记更加细致、全面,能够更好地反映模型的生成能力。
d、实现流程控制和数据传递。在工作流中,本发明实现了流程控制和数据传递,包括逻辑判断、跳转、数据共享等。与现有的类似技术相比,本发明的流程控制更加灵活、多样化,能够更好地适应不同任务的需求。
本实施例方法可以帮助用户更加方便地定义任务的流程和逻辑,同时利用大语言模型的能力,生成更加符合用户需求的文本和回答。通过评审标记和流程控制等功能,用户可以更好地评估模型的生成能力,提高任务完成的质量和效率。
所述大语言模型建立过程如下:
S100、收集数据;
S200、数据处理;
S300、模型基石;
S400、针对性大规模训练;
S500、模型训练;
S600、模型评估及优化。
其中,所述步骤S100具体为通过网络爬虫获取专业医疗论文数据集并将其转化为指令数据集。
所述步骤S200具体包括
S210、数据清洗,通过去除HTML标签、转换大小写、去除停用词等操作,去除文本中的噪声和不相关的信息,使得数据更加干净和可用于模型训练,提高模型对语义的理解和生成能力;
S220、数据划分,将原始数据划分为多个批次,每个批次包含原始数据的一部分,并对批次大小和序列长度进行调整,以获得最佳的训练效果和数据量;其次对每个批次的数据进行评估,以评估批次划分的效果;最后进行批次更新,根据评估结果,更新批次划分规则,以不断优化批次划分策略;
S230、数据注释,对于部分数据,进行数据注释,用于进行监督学习任务(如文本分类、命名实体识别等),为数据进行标注和生成对应的标签,以帮助模型更好地理解数据的含义;
S240、数据增强,通过增加词汇量、对词汇进行小写化等操作,增加数据的多样性,提高模型在语言理解和生成方面的能力;
S250、数据降维,包括将文本转换成词向量,以减少文本中的冗余信息;截取字符串的子字符串,以减少字符串中的冗余信息;通过统计每个词汇出现的次数,以减少词汇表中的冗余信息;对数据进行压缩,以减少模型的存储空间。
通过合理的数据收集和预处理技术,为大语言模型提供高质量、多样性的训练数据,从而提高模型的性能和适应能力。同时通过优化数据的处理方式,减少噪声和冗余信息的影响,提取出关键特征,以帮助模型更好地理解和学习文本数据,进而提升模型的训练效果。这些技术措施有助于模型更好地适应不同的文本情境,并提高模型在自然语言处理和生成任务中的表现。
所述步骤S300具体为选择中英文双语大型预训练语言模型ChatGLM2-6B并采用General Language Model(GLM)算法。选择双语(英文和中文)大型预训练语言模型ChatGLM2-6B,采用General Language Model(GLM)算法,以利用其双向注意力和自回归的空白填充目标优势。ChatGLM2-6B通过跨任务共享模型参数,充分利用预训练和微调技术,提升模型整体性能,使得模型在理解和生成任务中的表现更加出色。作为一种中英双语LLM,ChatGLM2-6B在中文任务上的相关基准测试中也始终且显著优于最大的中文语言模型ERNIE TITAN 3.0 260B——最大的中文LLM。
ChatGLM2-6B首先将文章问题转换成为问答形式的任务。这意味着将原始文章视为问题,要求模型生成相应的答案,而答案则是摘要或总结。通过这种方式,模型被要求理解和理解文章的内容,并能够生成相关的答案。此外,ChatGLM2-6B引入了指令操作作为扩充语言模型知识学习能力的一种方法。通过在问题中添加特定指令,模型可以更加有针对性地学习文章的知识,专注于文章中特定的知识点或细节,并在生成答案时更准确地关注相关信息。这种方法为语言模型提供了更强大的学习能力,使其能够更好地理解文章内容,并在问答任务中提供更准确和相关的答案。
所述步骤S400具体为
ChatGLM2-6B基于Transformer,利用自回归填空作为训练目标;对于文本序列x=[x1,…,xn],从中采样文本区间{s1,…,sm},其中si表示连续的标记区间用单个mask标记替换它们,形成xcorrupt;模型自回归地恢复这些损坏的区间;为了允许损坏区间之间的交互,它们之间的可见性由顺序上进行的随机采样置换决定;预训练目标定义为:
其中,Zm表示序列的所有排列的集合,表示/>
对于每个具体的任务,都会针对该任务进行微调,以适应不同的语言理解和生成需求。
在微调过程中,主要采用了以下技术:
(1)冻结底层参数:一般情况下,预训练模型的底层参数已经具有较好的泛化能力,因此选择冻结这些底层参数,只微调顶部的几层。
(2)添加任务特定的层:根据具体任务的需求,在预训练模型的顶部添加适当的层,如全连接层、卷积层等,以适应特定任务的输入和输出格式。预训练模型采用多层封装,通过层次间的按权展开来融合不同层的信息。在微调过程中,对多层进行进一步的调整,以适应不同的语言理解和生成需求。
(3)设置损失函数:选择交叉熵损失,用于度量模型的预测与真实标签之间的距离。在下游自然语言理解(NLU)任务中,采用了PET的方法,将NLU分类任务重新定义为填空生成任务。具体而言,给定一个带有标签的示例(x,y),通过包含单个掩码标记的模式将输入文本x转换为一个填空问题c(x)。该模式以自然语言方式编写,以表示任务的语义。例如,情感分类任务可以被构建为“{SENTENCE}.It’s really[MASK]”。候选标签y∈Y也被映射为填空问题的答案,称为v(y)。在情感分类中,标签“positive”和“negative”被映射为单词“good”和“bad”。给定输入x的情况下预测y的条件概率为
其中Y是标签集合。因此,句子属于正面或负面的概率与在填空中预测“good”或“bad”成正比。然后,使用交叉熵损失对ChatGLM2-6B进行微调。
对多标签分类任务中的一类任务,交叉熵损失函数为:
总的交叉熵为多标签分类任务中每一类的交叉熵之和。
而对于文本生成任务,给定的上下文构成输入的A部分,末尾附加一个掩码标记。模型通过自回归方式生成B部分的文本。可以直接使用预训练的ChatGLM2-6B进行无条件生成,或者在下游的条件生成任务上对其进行微调。
(4)超参数调整:训练过程采用动态调整学习率的方式,通过不断调整学习率来控制模型的收敛速度,避免过拟合。
(5)迭代训练:通过在任务特定数据集上反复训练和调整模型参数,使模型逐渐适应任务需求,并提高性能。
(6)模型微调:ChatGLM2-6B的模型微调采用共享层、精简化等技术,以帮助模型更好地利用已有的知识,提高模型的训练效率和泛化能力。
(7)使用P-Tuning v2,通过优化和适应前缀调整和深度提示调整技术,改善不同规模和任务下模型的性能。P-Tuning v2是针对自然语言理解(NLU)任务中提示方法进行了优化和增强的方法,通过引入连续提示的概念,即将前缀标记作为连续提示添加到输入序列中。这些提示在指导模型进行预测时发挥作用,并根据特定的NLU任务进行定制。通过使用连续提示,P-Tuning v2能够更好地控制模型输出,并在序列标记等复杂任务上提高性能。
(8)通过LoRA(low-rank adaptation)的方式微调ChatGLM2-6B,Lora原理:首先,在预训练神经网络模型中选择要应用LoRA的目标层;初始化映射矩阵和逆映射矩阵:为目标层创建两个较小的矩阵A和B;将目标层的原始参数矩阵W通过映射矩阵A和逆映射矩阵B进行变换。计算公式为:W′=W+A*B,这里W′是变换后的参数矩阵;使用新的参数矩阵W′替换目标层的原始参数矩阵W,然后在特定任务的训练数据上对模型进行微调;在微调过程中,计算损失函数关于映射矩阵A和逆映射矩阵B的梯度,并使用优化算法(Adam)对A和B进行更新;在训练的每个批次中,重复步骤3-5,直到达到预定的训练轮次(epoch)或满足收敛条件。
(9)量化感知训练(QAT):使用QAT在训练过程中模拟量化,让模型在不损失精度的情况下适应更低的位宽。将训练数据量化为适当的位宽,在训练过程中,使用量化模型进行正向和反向传递,并在每个epoch或batch结束时使用反量化操作计算精度损失,过程中使用反量化操作重新量化模型参数,并使用新的量化参数继续训练。
所述S500具体为
将数据集划分为训练集、验证集和测试集;其中,训练集用于模型的训练,验证集用于评估模型的性能和调整超参数,测试集用于最终评估模型的性能;
优化包括:数据增强、分布式训练、学习率调度、层归一化和优化算法,
ChatGLM2-6B的训练过程采用了一系列技术优化,主要包括以下几个方面:
(1)数据增强:为了提高模型的泛化能力,采用了数据增强操作。包括随机遮盖、随机插入空白和词汇替换等操作,以减少过拟合和增添模型对输入的鲁棒性。
(2)分布式训练:采用分布式技术,在多个服务器上进行训练,以获得全局最优的模型,提高训练效率和扩展性。
(3)学习率调度:学习率调度策略使用余弦退火算法,根据训练的进程动态地调整学习率,学习率决定了每次参数更新的步长,使模型快速收敛并避免陷入局部最优,以获得更好的模型性能。余弦退火(Cosine annealing)通过余弦函数来降低学习率。余弦函数中随着的增加余弦值首先缓慢下降,然后加速下降,再次缓慢下降。这种下降模式和学习率配合,以十分有效的计算方式来产生很好的效果。余弦退火的原理如下:
其中,i代表第几次run(索引值);和/>分别表示学习率的最大值和最小值,定义了学习率的范围。在每次restart之后,减少/>和/>的值;Tcur则表示当前执行了epoch个数,Tcur在每个batch运行之后进行更新;Ti表示第i次run中总的epoch数。
(4)层归一化(Layer Normalization):层归一化是在每个隐藏层的输出上进行归一化操作。计算每个隐藏层输出的均值和方差,并通过缩放和平移来对其进行归一化,有效地减少不同层之间的协变量偏移,使得模型更容易收敛并提高泛化能力。此外,通过一系列修改来优化模型性能,包括重新排列层归一化和残差连接的顺序以助于避免数值错误的累积,使用单一线性层进行标记预测简化了模型结构,提升了计算效率,以及采用GeLU激活函数替换ReLU函数改善模型的表示能力和性能。这些改进使得ChatGLM2-6B在各种任务上表现出更好的性能与效率。
(5)优化算法:训练过程使用Adam优化算法最小化模型的损失函数。算法自动调整每个参数的学习率,以便在训练过程中更好地适应不同参数的梯度情况。Adam算法结合了AdaGrad的梯度累积和RMSProp的梯度平方累积。Adam算法通过使用估计值对参数的学习率进行自适应调整,以在不同的参数空间中实现更准确的更新。
Adam算法原理:
mt=β1mt-1+(1-β1)gt
其中,梯度gt为损失函数对θt求偏导;mt为时刻,梯度在动量形式下的一阶矩估计;vt为梯度在动量形式下的二阶矩估计;/>为偏差纠正后的一阶矩估计(/>是β1的t次方);/>为偏差纠正后的二阶矩估计;最后一项为更新公式。
在训练过程进行监控:使用指标包括训练损失、验证损失、准确率等。使用图表、指标记录和日志等方式进行监控,并进行可视化展示,便于分析和调整模型的超参数。以下是一些训练过程的监控方法:
(1)损失函数:使用交叉熵损失。对多标签分类任务中的一类任务,交叉熵损失函数为:
总的交叉熵为多标签分类任务中每一类的交叉熵之和。损失函数在训练过程中衡量模型的性能,并在训练完成后用于评估模型的效果。
(2)验证集指标:使用独立于训练集的验证集来评估模型的性能和泛化能力。在每个训练轮次结束后,计算模型在验证集上的指标(准确率、召回率、F1分数),以了解模型在未见过的数据上的性能。通过监控验证集指标的变化,判断是否出现过拟合现象,或者进行早期停止等策略。
(3)学习曲线:学习曲线展示模型在训练和验证集上的性能随着训练轮次的变化。通过对比训练集和验证集的学习曲线,判断模型的拟合情况、过拟合或欠拟合的程度。如果训练集的性能不断提升,而验证集的性能停滞或下降,可能意味着模型在训练集上过拟合。
(4)参数更新和学习率:观察参数的更新速度和幅度,以及学习率的衰减过程,以确保模型的收敛和稳定。
(5)可视化工具:使用TensorBoard等工具可以实时可视化训练和验证的指标、损失函数的变化趋势、参数的分布,观察和比较不同模型配置和超参数设置对训练效果的影响。
通过监控训练过程,及时掌握模型的表现,并根据监控结果进行调整和优化。同时,理解模型的训练动态和性能瓶颈,为后续的训练和调优提供指导。
所述步骤S600的模型评估及优化具体为
使用准确率(Accuracy)作为分类任务指标,用于衡量模型正确预测的样本比例;
使用F1分数(F1-Score),F1分数是精确率(Precision)和召回率(Recall)的调和平均值,对于分类任务,用于综合评估模型的预测性能;
通过ROC曲线和AUC(Area Under the Curve),对于二分类问题,衡量模型的分类性能;
使用平均精确率均值(Average Precision),对于排序和推荐任务,衡量模型在不同阈值下的平均精确率;
利用标签相关性指标(Label-related metrics),特定任务需要针对数据集的特征定义相关的评估指标,包括医疗领域的敏感性(Sensitivity)、特异性(Specificity)、预测值(Precision)、召回率(Recall)。
调整超参数:训练过程采用动态调整学习率的方式,通过不断调整学习率来控制模型的收敛速度,避免过拟合。
增加训练数据:增加训练数据缓解模型过拟合的问题,提高模型的泛化能力。并使用数据增强技术来扩充训练集。例如,对于文本分类任务,使用数据增强技术如词语替换、添加噪声、随机删除等来生成更多的训练样本。
-增加模型的复杂度:增加模型的复杂度旨在提高模型的表达能力和拟合能力,以更好地适应复杂的任务和数据。以下是一些增加模型复杂度的技术细节:采用GeLU激活函数替换ReLU函数改善模型的表示能力和性能,以增加模型的非线性,使其在自然语言处理任务中更能够适应复杂的数学表达;使用注意力机制帮助模型关注输入数据中的关键部分,提高模型对输入信息的重要性分配能力。这些改进使得ChatGLM2-6B在各种任务上表现出更好的性能与效率。
本实施例的模型部署和应用如下:
模型部署方式:将模型部署为API接口,使用Web框架,将训练好的模型部署为一个服务。客户端通过HTTP请求将数据发送到API接口,模型对数据进行处理,并将结果返回给客户端。这种方式使得模型能够以服务的形式提供给其他应用进行调用,适用于各种类型的应用场景。
数据输入和输出:在应用中,通过调用模型的API接口,将特定的文本数据作为输入发送给模型。模型对输入数据进行处理,并输出生成的文本或答案。输出结果通过API接口返回给应用程序,在移动应用或网站上进行展示或应用。
模型优化:在应用中,为了提高模型的响应速度和准确率,对模型进行优化。模型优化技术包括:
(1)缓存模型输出结果:通过缓存模型的输出结果,避免重复计算,提高模型的效率和响应速度。
(2)使用GPU加速计算:通过使用图形处理单元(GPU)来加速模型的计算,显著加快推理速度。GPU在并行计算方面具有出色的性能,在大量的矩阵计算、卷积运算或并行处理的任务中尤为有效。
(3)深度模型压缩:通过模型压缩技术来减小模型的体积和计算量,以提高模型的性能和效率,压缩技术包括剪枝、量化和蒸馏。
(4)并行化和分布式计算:利用并行计算和分布式计算来加快训练和推理过程。通过将计算任务分发到多个计算节点上,提高计算效率和吞吐量。
以上是模型部署和应用过程中的技术细节,针对具体的业务需求和技术要求,考虑其他相关的技术和方法,如负载均衡、容器化部署、自动扩展等,以满足更高效、可靠和稳定的需求。
本实施例还包括采用基于ChatGLM2-6B的agent技术是代理系统中用于与用户进行交互和执行任务的关键组件。以下为技术细节:
(1)自然语言处理(NLP)能力:具备强大的自然语言处理能力,解析用户的指令、问题或需求,并根据用户输入进行相应的操作和生成回复。
(2)可编辑的工作流机制:用户通过图形化界面交互方式,创建任务的流程图或流程图示。设置条件、逻辑跳转和结果处理等功能,以构建任务的流程和逻辑,并提供了更直观的任务流程设计和控制方式。可编辑的工作流机制允许用户定义逻辑控制,例如条件语句和跳转。用户决定任务流程的不同路径和操作,并定义在任务执行过程中需要回收的结果数据。例如,在某个执行节点生成的数据在后续节点中使用。这样,用户可以对结果数据进行处理和利用,支持任务执行的连贯性和完整性。
(3)大语言模型与工作流集成:ChatGLM2-6B具备强大的自然语言处理(NLP)能力,解析用户的指令、问题或需求,并根据用户输入进行相应的操作和生成回复。用户在工作流中的适当节点,向大语言模型发送prompt。Prompt是一个输入提示,描述了用户对模型的请求或问题。通过向模型发送prompt,工作流引导模型生成与任务要求相关的文本或回答。在任务执行过程中,通过优化prompt的发送和结果数据的回收过程,加快任务的完成速度。此外,ChatGLM2-6B的agent技术具有结果回收和二次处理能力:模型生成的结果,工作流使用变量与数据通道来传递输入数据和保存生成的结果,用于后续的数据处理或二次处理。在工作流的后续节点中,使用模型生成的文本或回答作为输入数据进行二次处理或下一步的操作,包括对生成的文本进行评审和修改,或者将生成的输出与其他步骤或数据进行整合。通过二次处理功能,用户进一步优化生成结果,工作流充分利用模型的生成能力,使其更符合任务要求和预期结果。
(4)评审标记和流程控制:使用预定义的评审规则和算法,对模型生成的结果进行自动化评估和标记。包括语法检查、情感分析、关键字匹配等评审标准。根据评审规则的结果,将生成结果标记为通过或不通过。将自动化评审标记的结果与自动化流程引导相结合。根据评估的结果,自动选择合适的分支路径或执行特定的操作。例如,如果评审标记为通过,自动流程控制引导任务继续往下执行;如果评审标记为不通过,自动流程控制可以返回到特定节点进行二次处理或修改。最后,在工作流中引入用户交互式的控制机制,使用户能够直接参与评审标记和流程控制。用户对生成结果进行人工评审并提供反馈,根据用户的反馈和判断进行流程控制。这种方式提高对任务流程和生成结果的灵活性和人为干预能力。流程控制功能允许用户根据评审标记和其他条件设置工作流中的控制流程。根据评审结果,流程控制指导工作流选择不同的路径或执行特定的操作。
(5)用户反馈和迭代:ChatGLM2-6B的agent具备处理用户反馈和迭代的能力,了解用户对生成结果的满意程度,并根据反馈进行模型调整和改进,以逐步提升生成结果的质量和符合用户需求的能力。
ChatGLM2-6B的agent技术实现了与用户的交互、任务执行和结果处理等功能,并能根据用户反馈和需求进行迭代和改进,使得ChatGLM2-6B的agent技术能够有效地提供更高质量和定制化的生成结果。
以上所述实施例仅表达了本发明的某种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制;应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围;因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于可规划工作流的大语言模型的复杂任务处理方法,其特征在于:所述方法包括采用训练优化后的大语言模型与工作流集成,工作流为可编辑的工作流机制,生成满足用户需求的数据处理结果。
2.根据权利要求1所述的一种基于可规划工作流的大语言模型的复杂任务处理方法,其特征在于:所述方法包括步骤如下:
a、设计可编辑的工作流机制;
b、将训练优化后的大语言模型集成到工作流中;
c、设计可评审的响应数据格式;
d、实现流程控制和数据传递。
3.根据权利要求2所述的一种基于可规划工作流的大语言模型的复杂任务处理方法,其特征在于,所述大语言模型建立过程如下:
S100、收集数据;
S200、数据处理;
S300、模型基石;
S400、针对性大规模训练;
S500、模型训练;
S600、模型评估及优化。
4.根据权利要求3所述的一种基于可规划工作流的大语言模型的复杂任务处理方法,其特征在于:所述步骤S100具体为通过网络爬虫获取专业医疗论文数据集并将其转化为指令数据集。
5.根据权利要求4所述的一种基于可规划工作流的大语言模型的复杂任务处理方法,其特征在于,所述步骤S200具体包括
S210、数据清洗;
S220、数据划分,将原始数据划分为多个批次,每个批次包含原始数据的一部分,并对批次大小和序列长度进行调整,以获得最佳的训练效果和数据量;其次对每个批次的数据进行评估,以评估批次划分的效果;最后进行批次更新,根据评估结果,更新批次划分规则,以不断优化批次划分策略;
S230、数据注释,对于部分数据,进行数据注释;
S240、数据增强;
S250、数据降维,包括将文本转换成词向量,以减少文本中的冗余信息;截取字符串的子字符串,以减少字符串中的冗余信息;通过统计每个词汇出现的次数,以减少词汇表中的冗余信息;对数据进行压缩,以减少模型的存储空间。
6.根据权利要求4所述的一种基于可规划工作流的大语言模型的复杂任务处理方法,其特征在于:所述步骤S300具体为选择中英文双语大型预训练语言模型ChatGLM2-6B并采用General Language Model(GLM)算法。
7.根据权利要求6所述的一种基于可规划工作流的大语言模型的复杂任务处理方法,其特征在于:所述步骤S400具体为
ChatGLM2-6B基于Transformer,利用自回归填空作为训练目标;对于文本序列x=[x1,…,xn],从中采样文本区间{s1,…,sm},其中si表示连续的标记区间用单个mask标记替换它们,形成xcorrupt;模型自回归地恢复这些损坏的区间;为了允许损坏区间之间的交互,它们之间的可见性由顺序上进行的随机采样置换决定;预训练目标定义为:
其中,Zm表示序列的所有排列的集合,表示/>
对于每个具体的任务,都会针对该任务进行微调,以适应不同的语言理解和生成需求。
8.根据权利要求7所述的一种基于可规划工作流的大语言模型的复杂任务处理方法,其特征在于,所述微调包括设置损失函数:
选择交叉熵损失,用于度量模型的预测与真实标签之间的距离;在下游自然语言理解(NLU)任务中,采用了PET的方法,将NLU分类任务重新定义为填空生成任务;
具体为给定一个带有标签的示例(x,y),通过包含单个掩码标记的模式将输入文本x转换为一个填空问题c(x);该模式以自然语言方式编写,以表示任务的语义;
其中情感分类任务可以被构建为“{SENTENCE}.It’s really[MASK]”;候选标签y∈Y也被映射为填空问题的答案,称为v(y);在情感分类中,标签“positive”和“negative”被映射为单词“good”和“bad”;给定输入x的情况下预测y的条件概率为
其中Y是标签集合;因此,句子属于正面或负面的概率与在填空中预测“good”或“bad”成正比,然后,使用交叉熵损失对ChatGLM2-6B进行微调;
对多标签分类任务中的一类任务,交叉熵损失函数为:
总的交叉熵为多标签分类任务中每一类的交叉熵之和。
9.根据权利要求8所述的一种基于可规划工作流的大语言模型的复杂任务处理方法,其特征在于,所述S500具体为
将数据集划分为训练集、验证集和测试集;其中,训练集用于模型的训练,验证集用于评估模型的性能和调整超参数,测试集用于最终评估模型的性能;
优化包括:数据增强、分布式训练、学习率调度、层归一化和优化算法,其中优化算法为采用Adam优化算法最小化模型的损失函数,如下
mt=β1mt-1+(1-β1)gt
其中,梯度gt为损失函数对θt求偏导;mt为时刻,梯度在动量形式下的一阶矩估计;vt为梯度在动量形式下的二阶矩估计;/>为偏差纠正后的一阶矩估计(/>是β1的t次方);/>为偏差纠正后的二阶矩估计;最后一项为更新公式。
10.根据权利要求9所述的一种基于可规划工作流的大语言模型的复杂任务处理方法,其特征在于,所述步骤S600的模型评估及优化具体为
使用准确率(Accuracy)作为分类任务指标,用于衡量模型正确预测的样本比例;
使用F1分数(F1-Score),F1分数是精确率(Precision)和召回率(Recall)的调和平均值,对于分类任务,用于综合评估模型的预测性能;
通过ROC曲线和AUC(Area Under the Curve),对于二分类问题,衡量模型的分类性能;
使用平均精确率均值(Average Precision),对于排序和推荐任务,衡量模型在不同阈值下的平均精确率;
利用标签相关性指标(Label-related metrics),特定任务需要针对数据集的特征定义相关的评估指标,包括医疗领域的敏感性(Sensitivity)、特异性(Specificity)、预测值(Precision)、召回率(Recall)。
CN202311344150.XA 2023-10-17 2023-10-17 一种基于可规划工作流的大语言模型的复杂任务处理方法 Pending CN117453915A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311344150.XA CN117453915A (zh) 2023-10-17 2023-10-17 一种基于可规划工作流的大语言模型的复杂任务处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311344150.XA CN117453915A (zh) 2023-10-17 2023-10-17 一种基于可规划工作流的大语言模型的复杂任务处理方法

Publications (1)

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

Family

ID=89580841

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311344150.XA Pending CN117453915A (zh) 2023-10-17 2023-10-17 一种基于可规划工作流的大语言模型的复杂任务处理方法

Country Status (1)

Country Link
CN (1) CN117453915A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117763093A (zh) * 2024-02-22 2024-03-26 数字苏州建设有限公司 一种基于预训练语言模型的信息记录数据分块方法
CN117875273A (zh) * 2024-03-13 2024-04-12 中南大学 基于大型语言模型的新闻摘要自动生成方法、设备及介质
CN117951038A (zh) * 2024-03-27 2024-04-30 浙江大学 基于代码大模型的Rust语言文档测试自动生成方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117763093A (zh) * 2024-02-22 2024-03-26 数字苏州建设有限公司 一种基于预训练语言模型的信息记录数据分块方法
CN117763093B (zh) * 2024-02-22 2024-05-03 数字苏州建设有限公司 一种基于预训练语言模型的信息记录数据分块方法
CN117875273A (zh) * 2024-03-13 2024-04-12 中南大学 基于大型语言模型的新闻摘要自动生成方法、设备及介质
CN117875273B (zh) * 2024-03-13 2024-05-28 中南大学 基于大型语言模型的新闻摘要自动生成方法、设备及介质
CN117951038A (zh) * 2024-03-27 2024-04-30 浙江大学 基于代码大模型的Rust语言文档测试自动生成方法及装置

Similar Documents

Publication Publication Date Title
CN111095259B (zh) 使用n-gram机器的自然语言处理
CN117453915A (zh) 一种基于可规划工作流的大语言模型的复杂任务处理方法
CN110019736B (zh) 基于语言模型的问答匹配方法、系统、设备及存储介质
CN110046707B (zh) 一种神经网络模型的评估优化方法和系统
CN116737129B (zh) 一种供应链控制塔生成式大语言模型及其构建方法
CN116738959B (zh) 一种基于人工智能的简历改写方法及系统
Cao et al. Relmkg: reasoning with pre-trained language models and knowledge graphs for complex question answering
CN115526321A (zh) 基于智能体动态路径补全策略的知识推理方法及系统
Song et al. Ada-boundary: accelerating DNN training via adaptive boundary batch selection
CN115511082A (zh) 一种基于图神经网络和强化学习的事实验证方法
CN117171326A (zh) 一种金融问答算法的快速构建方法及生命周期管理平台
CN117193823A (zh) 一种软件需求变更的代码工作量评估方法、系统及设备
CN116578336A (zh) 一种基于抄袭者-检测器对抗的软件克隆检测方法
CN114239575B (zh) 语句分析模型的构建方法、语句分析方法、装置、介质和计算设备
CN116069337A (zh) 一种结合修复模板与深度学习的代码缺陷自动修复方法
CN115827879A (zh) 基于样本增强和自训练的低资源文本智能评阅方法和装置
CN113537731B (zh) 基于强化学习的设计资源能力评估方法
CN115757464A (zh) 一种基于深度强化学习的智能物化视图查询方法
CN115862862A (zh) 疾病预测方法、装置及计算机可读存储介质
CN114388108A (zh) 一种基于多任务学习的用户反馈分析方法
CN118195032A (zh) 一种具备主动学习能力的大模型自动进化系统及方法
CN113282705B (zh) 一种能够自动更新的案件预判智能体训练方法及系统
CN116976294B (zh) 一种用于实现复杂电子表格自动填充的方法及系统
Fang et al. Hagan: Hierarchical attentive adversarial learning for task-oriented dialogue system
Vázquez Representation learning in multilingual neural machine translation

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