CN119150862A - 模型微调方法、文本处理方法、介质、设备及程序产品 - Google Patents
模型微调方法、文本处理方法、介质、设备及程序产品 Download PDFInfo
- Publication number
- CN119150862A CN119150862A CN202411132183.2A CN202411132183A CN119150862A CN 119150862 A CN119150862 A CN 119150862A CN 202411132183 A CN202411132183 A CN 202411132183A CN 119150862 A CN119150862 A CN 119150862A
- Authority
- CN
- China
- Prior art keywords
- word
- server
- language model
- text
- target
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 239000013598 vector Substances 0.000 claims abstract description 139
- 238000012545 processing Methods 0.000 claims abstract description 121
- 230000011218 segmentation Effects 0.000 claims abstract description 45
- 238000004590 computer program Methods 0.000 claims description 29
- 238000013145 classification model Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 19
- 230000007246 mechanism Effects 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 230000000694 effects Effects 0.000 abstract description 13
- 238000006467 substitution reaction Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 15
- 239000011159 matrix material Substances 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000010354 integration Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 230000008451 emotion Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 235000002198 Annona diversifolia Nutrition 0.000 description 1
- 241000282842 Lama glama Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Machine Translation (AREA)
Abstract
本公开涉及一种模型微调方法、文本处理方法、介质、设备及程序产品。方法包括:从服务端获取大语言模型的词表和嵌入层参数;对词表和嵌入层参数分別进行混淆处理,得到目标词表和目标嵌入层参数;将目标嵌入层参数发送至服务端,以由服务端将大语言模型的嵌入层参数更新为目标嵌入层参数,以得到新的大语言模型;利用目标词表,对文本样本进行分词和转索引操作,得到文本样本对应的第一词元索引;将第一词元索引发送至服务端,以由服务端基于第一词元索引对新的大语言模型进行微调。这样,可避免服务端获取到嵌入向量和词元之间的对应关系,从而能在有效保护服务端使用方数据的前提下,通过微调操作更好地保障模型效果。
Description
技术领域
本公开涉及隐私保护领域,具体地,涉及一种模型微调方法、文本处理方法、介质、设备及程序产品。
背景技术
大语言模型(Large Language Models,LLM)应用变得越来越广泛,许多客户想要使用云服务平台提供的LLM服务。客户通常会使用LLM服务提供的两种典型功能:微调和推理(即预测)。首先,客户会将私有的数据集上传到云服务平台用于微调部署在平台上的预训练模型,以提升模型在特定领域的任务效果。之后,客户会通过平台调用微调后所得的模型的推理功能,输入推理文本来获取预测结果。
然而,上述方案在为客户提供高效、可定制的LLM服务的同时,也带来了客户数据泄露的风险。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
第一方面,本公开提供一种大语言模型微调方法,包括:从服务端获取大语言模型的词表和嵌入层参数,其中,预训练好的所述大语言模型部署于所述服务端;对所述词表和所述嵌入层参数分別进行混淆处理,得到目标词表和目标嵌入层参数;将所述目标嵌入层参数发送至所述服务端,以由所述服务端将所述大语言模型的嵌入层参数更新为所述目标嵌入层参数,以得到新的大语言模型;利用所述目标词表,对文本样本进行分词和转索引操作,得到所述文本样本对应的第一词元索引;将所述第一词元索引发送至所述服务端,以由所述服务端基于所述第一词元索引对所述新的大语言模型进行微调。
第二方面,本公开提供一种大语言模型微调方法,应用于服务端,包括:响应于接收到服务端使用方发送的目标嵌入参数,将所述服务端的大语言模型的嵌入层参数更新为所述目标嵌入层参数,得到新的大语言模型,其中,所述目标嵌入层参数由所述服务端使用方对所述嵌入层参数进行混淆处理得到;响应于接收到所述服务端使用方发送的第一词元索引,基于所述第一词元索引对所述新的大语言模型进行微调,其中,所述第一词元索引由所述服务端使用方基于目标词表和文本样本生成,所述目标词表由所述服务端使用方对所述大语言模型的词表进行混淆处理得到。
第三方面,本公开提供一种文本处理方法,应用于服务端使用方,包括:获取待处理文本;利用目标词表对所述待处理文本进行分词和转索引操作,得到所述待处理文本对应的第二词元索引;将所述第二词元索引发送至服务端,以由所述服务端通过预先微调好的大语言模型基于所述第二词元索引,生成所述待处理文本的文本处理结果,并将所述文本处理结果发送至所述服务端使用方,其中,所述大语言模型是根据本公开第一方面和第二方面提供的所述大语言模型微调方法得到的;接收所述文本处理结果。
第四方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理装置执行时实现本公开第一方面和第二方面提供的所述大语言模型微调方法的步骤或者本公开第三方面提供的所述文本处理方法的步骤。
第五方面,本公开提供一种电子设备,包括:存储装置,其上存储有计算机程序;处理装置,用于执行所述存储装置中的所述计算机程序,以实现本公开第一方面和第二方面提供的所述大语言模型微调方法的步骤或者本公开第三方面提供的所述文本处理方法的步骤。
第六方面,本公开提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本公开第一方面和第二方面提供的所述大语言模型微调方法的步骤或者本公开第三方面提供的所述文本处理方法的步骤。
在上述技术方案中,在利用服务端使用方的文本样本对服务端预训练好的大语言模型进行微调之前,服务端使用方首先通过与服务端交互获取大语言模型的词表和嵌入层参数;之后,服务端使用方对大语言模型的词表和嵌入层参数分別进行混淆处理,得到目标词表和目标嵌入层参数,并将目标嵌入层参数发送至服务端,以由服务端将大语言模型的嵌入层参数更新为目标嵌入层参数,以得到新的大语言模型;服务端使用方利用目标词表,对文本样本进行分词和转索引操作,得到文本样本对应的第一词元索引;接下来,服务端使用方将第一词元索引发送至服务端,以由服务端基于第一词元索引对新的大语言模型进行微调。其中,将预训练好的大语言模型中的词表和嵌入层参数分别进行混淆,并且,只将混淆后的嵌入层参数(即目标嵌入层参数)发送至服务端,而将混淆后的词表(即目标词表)保留在服务端使用方,这样,可以避免服务端获取到嵌入向量和词元之间的对应关系,从而能够在有效保护服务端使用方数据的前提下,通过微调操作更好地保障模型效果。另外,目标词表保留在服务端使用方,在模型微调阶段和推理阶段,服务端使用方根据目标词表进行文本分词,使得服务端不直接接触服务端使用方私有数据,仅能获取到文本词元对应的索引,能够更好的保护服务端使用方数据。此外,仅需服务端使用方承担一次性的嵌入扰动开销(即对大语言模型的词表和嵌入层参数进行混淆),以及在微调和推理阶段中的文本分词开销,这样,服务端使用方在执行文本处理任务时不需要占用大量的CPU、内存或电池电量等资源,使得文本处理任务更容易在不同类型的服务端使用方上运行,让更多用户享受到这项技术的便利。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
图1是是根据一示例性实施例示出的一种大语言模型的结构示意图。
图2是是根据另一示例性实施例示出的一种大语言模型的结构示意图。
图3是是根据一示例性实施例示出的一种大语言模型微调和文本处理的过程示意图。
图4是根据一示例性实施例示出的一种应用于服务端使用方的大语言模型微调方法的流程图。
图5是根据一示例性实施例示出的一种应用于服务端的大语言模型微调方法的流程图。
图6是根据一示例性实施例示出的一种文本处理方法的流程图。
图7是根据一示例性实施例示出的一种应用于服务端使用方的大语言模型微调装置的框图。
图8是根据一示例性实施例示出的一种应用于服务端的大语言模型微调装置的框图。
图9是根据一示例性实施例示出的一种文本处理装置的框图。
图10是根据一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。
同时,可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
在介绍本公开的具体实施方式之前,首先对本公开涉及的大语言模型的结构进行阐述。
大语言模型是指用于分析、理解和生成文本数据的模型。大语言模型可以用于执行多种任务,包括但不限于:分类任务、生成任务等。
在一种实施方式中,上述大语言模型为LLM,如图1和图2所示,该大语言模型包括依次连接的含词表(Vocabulary)的分词器、输入嵌入层(Input embedding layer)、由变换器(Transformer)串联而成的主干网络以及与任务相关的输出层。
其中,含词表的分词器用于将一段输入文本划分为多个词元(Token),并根据这些词元在词表中的顺序映射为一系列索引(Index),并将词元索引输入至输入嵌入层,如图1和图2所示,词表包括多个词元以及每个词元各自对应的索引(Index)。
输入嵌入层用于根据上述词元索引,从输入嵌入层参数中获取上述多个词元对应的嵌入向量,得到输入文本中多个Token对应的嵌入向量矩阵,其中,输入嵌入层参数包括词表中各词元对应的嵌入向量。
主干网络通常为由多个Transformer结构串联而成的神经网络,比如基于变换器的双向编码器表示(Bidirectional Encoder Representation from Transformers,BERT)模型包含12层编码器-解码器(Encoder-Decoder)类型的Transformer,大型语言模型元人工智能(Large Language Model Meta AI,LLaMA)模型包含32层解码器(Decoder-only)类型的Transformer。其中,每个Transformer结构的输入和输出数据具有相同的形式:都是相同维度的嵌入向量矩阵。
当上述大语言模型执行分类任务时,其具体为文本分类模型,如图1所示,该文本分类模型的输出层一般采用多层感知器(Multilayer perceptron,MLP),其中,MLP取主干网络输出的嵌入向量矩阵的第一个向量(即嵌入向量矩阵的第一行)作为输入,最终输出一个向量,用于表示每个预设类别的概率。
当上述大语言模型执行生成任务时,其具体为文本生成模型,如图2所示,文本生成模型的输出层通常包括一个输出嵌入层(称为Language model head或Outputembedding layer)。该输出嵌入层,用于根据输出嵌入层参数,将主干网络的输出的嵌入向量矩阵转换为词表中各个Token的概率值,根据概率值的大小来决定下一个生成的Token,其中,输出嵌入层参数包括词表中各词元对应的嵌入向量。文本生成模型在模型微调阶段与推理阶段采取不同的处理逻辑:
在微调阶段,主干网络的最后一个Transformer输出的所有嵌入向量(即完整的嵌入向量矩阵)通常都会被输入到输出嵌入层中,计算每个Token对应下一个Token的概率值,并根据与输入文本的差异来更新模型。
在推理阶段,通常只取主干网络的最后一个Transformer输出的最后一个嵌入向量(即主干网络的最后一个Transformer输出的嵌入向量矩阵的最后一行)作为输出嵌入层的输入,计算基于输入文本预测的下一个Token。之后,如图2所示,本次输出的Token会拼接到输入文本中再次输入到模型中进行预测,直到模型输出一个停止标识符或者预测文本的长度达到最大长度限制时为止。
如图3所示,本公开中的大语言模型微调方法可以包括模型转换阶段和模型精调阶段。
其中,在模型转换阶段:服务端使用方对大语言模型的词表和嵌入层参数分别进行混淆,之后,保留混淆后所得的词表(即目标词表),仅将混淆后的嵌入层参数发送至服务端,以由服务端利用混淆后的嵌入层参数更新服务端的大语言模型的嵌入层参数。服务端使用方为客户侧设备,其可以是终端设备,也可以是服务器,服务端为云服务平台。
在模型精调阶段:服务端使用方利用目标词表对文本样本进行分词和转索引操作,得到词元索引集合(即第一词元索引),并将其发送至服务端,以由服务端基于第一词元索引对进行嵌入层参数更新后所得的大语言模型进行微调。
具体来说,如图4所示,本公开提供的应用于服务端使用方的大语言模型微调方法可以包括以下S101~S105。
在S101中,从服务端获取大语言模型的词表和嵌入层参数。
在本公开中,预训练好的大语言模型部署于服务端,其可以是服务端采用通用领域的大量文本进行预先训练得到的,该大语言模型可以是文本分类模型,也可以是文本生成模型。
其中,当大语言模型为文本分类模型时,如图1和图3所示,该文本分类模型包括输入嵌入层,此时,大语言模型的嵌入层参数包括输入嵌入层参数(例如,输入嵌入层参数矩阵)。
当大语言模型为文本生成模型时,如图2和图3所示,该文本生成模型包括输入嵌入层和输出嵌入层,此时,大语言模型的嵌入层参数包括输入嵌入层参数(例如,输入嵌入层参数矩阵)和输出嵌入层参数(例如,输出嵌入层参数矩阵)。
服务端使用方可以通过与服务端交互,来获取服务端中预先训练好的大语言模型的词表和嵌入层参数。
在S102中,对词表和嵌入层参数分別进行混淆处理,得到目标词表和目标嵌入层参数。
在S103中,将目标嵌入层参数发送至服务端,以由服务端将大语言模型的嵌入层参数更新为目标嵌入层参数,以得到新的大语言模型。
在本公开中,如图3所示,服务端使用方在对词表和嵌入层参数分別进行混淆处理后,可以得到目标词表和目标嵌入层参数,之后,保留目标词表在本地,仅将目标嵌入层参数(即混淆后的嵌入层参数矩阵)发送至服务端,以由服务端将大语言模型的嵌入层参数更新为目标嵌入层参数,以得到新的大语言模型。
在一种实施方式中,当上述大语言模型为文本分类模型时,嵌入层参数仅包括输入嵌入层参数,此时,服务端使用方对词表和输入嵌入层参数分別进行混淆处理,得到目标词表和混淆后的输入嵌入层参数,即目标嵌入层参数包括混淆后的输入嵌入层参数;之后,服务端使用方将混淆后的输入嵌入层参数发送至服务端;接下来,服务端将本地的大语言模型的输入嵌入层的参数更新为混淆后的输入嵌入层参数,得到新的大语言模型。
在另一种实施方式中,当上述大语言模型为文本生成模型时,嵌入层参数包括输入嵌入层参数和输出嵌入层参数,此时,服务端使用方对词表、输入嵌入层参数以及输出嵌入层参数分別进行混淆处理,得到目标词表、混淆后的输入嵌入层参数以及混淆后的输出嵌入层参数,即目标嵌入层参数包括混淆后的输入嵌入层参数和混淆后的输出嵌入层参数;之后,服务端使用方将混淆后的输入嵌入层参数和混淆后的输出嵌入层参数发送至服务端;接下来,服务端将本地的大语言模型的输入嵌入层的参数更新为混淆后的输入嵌入层参数,同时,将本地的大语言模型的输出嵌入层的参数更新为混淆后的输出嵌入层参数,从而得到新的大语言模型。
在S104中,利用目标词表,对文本样本进行分词和转索引操作,得到文本样本对应的第一词元索引。
在S105中,将第一词元索引发送至服务端,以由服务端基于第一词元索引对新的大语言模型进行微调。
在本公开中,如图3所示,服务端使用方在获取到目标词表后,可以先利用目标词表对文本样本进行分词;之后,根据目标词表分词与索引之间的对应关系(如图3中所示的目标词表),确定分词后所得的各词元各自对应的索引,即得到文本样本对应的第一词元索引,并将该第一词元索引发送至服务端;服务端接收到该第一词元索引后,基于第一词元索引对新的大语言模型进行微调。
需要说明的是,上述步骤S104和S105可以在上述S103之后执行(如图3所示),也可以在上述S103之前执行,还可以与上述S103同步执行,本公开对此不做具体限定。
在上述技术方案中,在利用服务端使用方的文本样本对服务端预训练好的大语言模型进行微调之前,服务端使用方首先通过与服务端交互获取大语言模型的词表和嵌入层参数;之后,服务端使用方对大语言模型的词表和嵌入层参数分別进行混淆处理,得到目标词表和目标嵌入层参数,并将目标嵌入层参数发送至服务端,以由服务端将大语言模型的嵌入层参数更新为目标嵌入层参数,以得到新的大语言模型;服务端使用方利用目标词表,对文本样本进行分词和转索引操作,得到文本样本对应的第一词元索引;接下来,服务端使用方将第一词元索引发送至服务端,以由服务端基于第一词元索引对新的大语言模型进行微调。其中,将预训练好的大语言模型中的词表和嵌入层参数分别进行混淆,并且,只将混淆后的嵌入层参数(即目标嵌入层参数)发送至服务端,而将混淆后的词表(即目标词表)保留在服务端使用方,这样,可以避免服务端获取到嵌入向量和词元之间的对应关系,从而能够在有效保护服务端使用方数据的前提下,通过微调操作更好地保障模型效果。另外,目标词表保留在服务端使用方,在模型微调阶段和推理阶段,服务端使用方根据目标词表进行文本分词,使得服务端不直接接触服务端使用方私有数据,仅能获取到文本词元对应的索引,能够更好的保护服务端使用方数据。此外,仅需服务端使用方承担一次性的嵌入扰动开销(即对大语言模型的词表和嵌入层参数进行混淆),以及在微调和推理阶段中的文本分词开销,这样,服务端使用方在执行文本处理任务时不需要占用大量的CPU、内存或电池电量等资源,使得文本处理任务更容易在不同类型的服务端使用方上运行,让更多用户享受到这项技术的便利。
下面针对上述S102中的对词表和嵌入层参数分別进行混淆处理,得到目标词表和目标嵌入层参数的具体实施方式进行详细说明。具体来说,可以通过以下步骤(1)~步骤(3)来实现:
步骤(1):生成随机置换。
步骤(2):利用随机置换对词表进行置换操作,得到目标词表,并利用随机置换对嵌入层参数进行置换操作,得到置换嵌入层参数。
在本公开中,随机置换可以为一个长度为n的索引序列,之后可以按照索引序列中各索引的先后顺序重新排列词表,以得到目标词表,其中,n为词表中词元的数量,也为目标词表中词元的数量。其中,采用同一随机置换,对词表和嵌入层参数进行置换操作。
示例地,n=3,随机置换为{2,3,1},则可以将词表的原第二个词元及其索引放在词表的第一个位置,将词表的原第三个词元及其索引放在词表的第二个位置,将词表的原第一个词元及其索引放在词表的第三个位置,从而得到目标词表。
又示例地,如图3所示的模型转换阶段中,通过随机置换,可以将图3中的词表置换为图3中所示的目标词表。
步骤(3):根据目标词表,对置换嵌入层参数进行噪声扰动处理,得到目标嵌入层参数。
在本公开中,如图3所示,对于嵌入层参数,需要先对其进行置换操作,之后,根据目标词表,对置换得到的嵌入层参数(即置换嵌入层参数)进行加噪处理(即噪声扰动处理),得到目标嵌入层参数,具体为混淆后的嵌入参数矩阵。
具体来说,可以通过以下步骤(31)和步骤(32)对置换嵌入层参数进行噪声扰动处理:
步骤(31):根据置换嵌入层参数,对目标词表中的词元进行聚类。
在本公开中,可以根据置换嵌入层参数,采用近邻保距离加噪(NeighborDistance Preserving Obfuscation,NDPO)算法、K均值聚类(K-means)等聚类方法对目标词表中的词元进行聚类。
优选地,可以采用NDPO算法对目标词表中的词元进行聚类,以减小服务端使用方的开销。
步骤(32):根据聚类结果,对置换嵌入层参数进行噪声扰动处理,得到目标嵌入层参数。
下面针对上述步骤(31)中的根据置换嵌入层参数,对目标词表中的词元进行聚类的具体实施方式进行详细说明。具体来说,可以根据置换嵌入层参数,采用NDPO算法通过以下步骤(311)~步骤(316)来实现:
步骤(311):将目标词表中的任一词元作为当前词元。
示例地,可以将目标词表的第一个词元作为当前词元。
步骤(312):根据置换嵌入层参数,分别计算当前词元与目标词表中每一未被聚类的其他词元之间的第二相似度。
步骤(313):将当前词元、以及与当前词元之间的第二相似度最高的K-1个未被聚类的其他词元作为一个聚类簇。
在本公开中,可以当前词元、以及与当前词元之间的第二相似度最高的K-1个未被聚类的其他词元作为一个聚类簇,也可以将当前词元的索引、以及与当前词元之间的第二相似度最高的K-1个未被聚类的其他词元的索引作为一个聚类簇。其中,K用于表征聚类簇中词元的数量,即簇大小,其可以为默认值,也可以是用户设定的值。
步骤(314):判断聚类簇的数量是否达到N。
在本公开中,n为目标词表中词元的数量,也即大语言模型的词表中词元的数量。
若聚类簇的数量未达到N,则执行以下步骤(315),之后,返回上述步骤(312);若聚类簇的数量达到N,则表明聚类完成,此时,可以执行以下步骤(316)。
步骤(315):将目标词表的未被聚类的词元中的任一词元作为当前词元。
步骤(316):将N个聚类簇作为聚类结果。
下面针对上述步骤(312)中的根据置换嵌入层参数,分别计算当前词元与目标词表中每一未被聚类的其他词元之间的第二相似度的具体实施方式进行详细说明。具体来说,可以通过以下步骤(a1)和步骤(a2)来实现。
步骤(a1):针对目标词表中未被聚类的每一其他词元,根据置换嵌入层参数,计算该其他词元与当前词元之间的语义相似度和编辑距离。
在本公开中,编辑距离(edit distance)也称为莱文斯坦(Levenshtein)距离,是测量两个字符串之间差异的一种方法,即从一个字符串转换到另一个字符串所需的最少单字符编辑(插入、删除或替换)操作次数。
具体来说,可以通过以下方式计算该其他词元与当前词元之间的语义相似度:从置换嵌入层参数中获取与该其他词元对应的第一嵌入向量、以及与当前词元对应的第二嵌入向量;然后,通过余弦度相似度、欧氏距离、曼哈顿距离、皮尔逊相关系数(PearsonCorrelation Coefficient)等衡量第一嵌入向量和第二嵌入向量之间的语义相似度,作为该其他词元与当前词元之间的语义相似度。
由于计算两个字符串之间的编辑距离的具体实施方式属于本领域技术人员所公知的,因此,本公开不再对计算该其他词元与当前词元之间的编辑距离的具体实施方式进行赘述。
步骤(a2):根据该其他词元与当前词元之间的语义相似度和编辑距离,确定该其他词元与当前词元之间的第二相似度。
示例地,可以根据语义相似度和编辑距离,通过以下等式(1)来确定该其他词元与当前词元之间的第二相似度:
其中,sij为其他词元与当前词元之间的第二相似度;e′i为与当前词元对应的第二嵌入向量;e′j为与该其他词元对应的第一嵌入向量;sim(e′i,e′j)为该其他词元与当前词元之间语义相似度;edit_dist(v′i,v′j)为该其他词元v′j与当前词元v′i之间的编辑距离;|v′i|为当前词元v′i的字符长度;|v′j|为该其他词元v′j的字符长度。
下面针对上述从置换嵌入层参数中获取与该其他词元对应的第一嵌入向量、以及与当前词元对应的第二嵌入向量的具体实施方式进行详细说明。
具体来说,可以根据目标词表,获取该其他词元的索引和当前词元的索引;然后,根据该其他词元的索引,从置换嵌入层参数中获取与该其他词元的索引对应的嵌入向量,作为第一嵌入向量,同时,根据当前词元的索引,从置换嵌入层参数中获取与当前词元的索引对应的嵌入向量,作为第二嵌入向量。
下面针对上述步骤(32)中根据聚类结果,对置换嵌入层参数进行噪声扰动处理,得到目标嵌入层参数的具体实施方式进行详细说明。具体来说,可以通过以下步骤(321)~步骤(323)来实现:
步骤(321):针对聚类结果中的每一聚类簇,从置换嵌入层参数中确定与该聚类簇对应的嵌入向量集。
在本公开中,可以从置换嵌入层参数中确定与该聚类簇中各词元或词元索引对应的嵌入向量,这些嵌入向量构成嵌入向量集。
步骤(322):利用差分隐私机制对与该聚类簇对应的嵌入向量集进行噪声扰动处理,得到该聚类簇对应的扰动向量集。
在本公开中,差分隐私是一种在嵌入向量集中添加受控制的随机性噪声,以防止服务端获取关于嵌入向量集中隐私数据的数学技术。其中,可以采用拉普拉斯、高斯等差分隐私机制对嵌入向量集进行噪声扰动处理。
优选地,可以采用拉普拉斯差分隐私机制对嵌入向量集进行噪声扰动处理,以使得服务端使用方数据的安全性更高。
步骤(323):整合每一聚类簇对应的扰动向量集,得到目标嵌入层参数。
在本公开中,可以根据N个聚类簇中各词元在目标词表中的先后顺序,整合这些聚类簇中各词元对应的扰动向量,以得到目标嵌入层参数。其中,聚类簇对应的扰动向量集包括该聚类簇中各词元对应的扰动向量。
下面针对上述步骤(322)中的利用差分隐私机制对与该聚类簇对应的嵌入向量集进行噪声扰动处理,得到该聚类簇对应的扰动向量集的具体实施方式进行详细说明。具体来说,可以采用拉普拉斯差分隐私机制,通过以下步骤(b1)~步骤(b6)对嵌入向量集进行噪声扰动处理:
步骤(b1):针对与该聚类簇对应的嵌入向量集中的每一嵌入向量,计算该嵌入向量与嵌入向量集中每一嵌入向量之间的第一相似度。
在本公开中,可以通过余弦度相似度、欧氏距离、曼哈顿距离、皮尔逊相关系数等衡量该嵌入向量与嵌入向量集中每一嵌入向量之间的第一相似度。
步骤(b2):根据预设隐私预算,将该嵌入向量对应的所有第一相似度映射为第一概率分布。
在本公开中,预设隐私预算用于控制第一概率分布的平滑度。
示例地,可以根据预设隐私预算,通过以下等式(2)将该嵌入向量对应的所有第一相似度映射为第一概率分布:
其中,第一概率分布W={wj|1≤j≤|T|};T为与该聚类簇对应的嵌入向量集;|T|为与该聚类簇对应的嵌入向量集中词元或词元索引的数量;σj为该嵌入向量与该聚类簇对应的嵌入向量集中的第j个嵌入向量uj之间的第一相似度;σk为该嵌入向量与该聚类簇对应的嵌入向量集中的第k个嵌入向量之间的第一相似度,1≤k≤|T|;∈为预设隐私预算;wj为第一概率分布中的第j个概率。
步骤(b3):根据预设隐私预算,对第一概率分布添加拉普拉斯噪声,得到第二概率分布。
具体来说,可以先第一概率分布中的最大概率与最小概率的差确定为敏感度s;然后,根据敏感度s和预设隐私预算,对第一概率分布添加拉普拉斯噪声,得到第二概率分布W′=W+其中,laplace()为拉普拉斯噪声函数。
步骤(b4):对第二概率分布进行归一化处理,得到第三概率分布。
示例地,可以通过以下等式(3)对第二概率分布W′进行归一化处理,得到第三概率分布W″:
其中,w″j为第三概率分布W″中的第j个概率;w′j为第二概率分布W′中的第j个概率;w′k为第二概率分布W′中的第k个概率。
步骤(b5):根据第三概率分布和嵌入向量集,确定该嵌入向量对应的扰动向量。
示例地,可以根据第三概率分布和嵌入向量集,通过以下等式(4)确定该嵌入向量对应的扰动向量:
其中,为该嵌入向量对应的扰动向量,ti为目标嵌入层参数中该嵌入向量的索引。
步骤(b6):整合每一嵌入向量对应的扰动向量,得到该聚类簇对应的扰动向量集。
在本公开中,在获取到与该聚类簇对应的嵌入向量集中、各嵌入向量各自对应的扰动向量后,将它们汇总,得到该聚类簇对应的扰动向量集。
需要说明的是,当上述大语言模型为文本分类模型时,可以针对输入嵌入层参数,通过步骤(1)~步骤(3)来实现输入嵌入层参数的混淆处理。
而当上述大语言模型为文本生成模型时,可以针对输入嵌入层参数,通过步骤(1)~步骤(3)来实现输入嵌入层参数的混淆处理,同时,针对输出嵌入层参数,通过步骤(1)~步骤(3)来实现输出嵌入层参数混淆处理。
其中,在对输入嵌入层参数混淆处理时所采用的聚类簇的簇大小,可以与输出嵌入层参数混淆处理时所采用的聚类簇的簇大小相同,也可以不同,在对输入嵌入层参数混淆处理时所采用的隐私预算,可以与输出嵌入层参数混淆处理时所采用的隐私预算相同,也可以不同,本公开不做具体限定。
在上述实施方式中,隐私预算越大、聚类簇的簇大小越小,模型效果越好,而隐私保护强度越小;反之,隐私预算越小、聚类簇簇大小越大,模型效果越差,而隐私保护强度越大。用户可以通过调整混淆处理时聚类簇簇大小和隐私预算,平衡模型效果和隐私性之间的关系,从而在保证模型效果的同时,为用户提供可调节的数据保护功能。
下面针对上述服务端基于第一词元索引对新的大语言模型进行微调的具体实施方式进行详细说明。
在一种实施方式中,上述大语言模型为文本分类模型;此时,上述应用于服务端使用方的大语言模型微调方法还可以包括以下步骤:
获取文本样本对应的分类标签;
此时,上述S105可以包括:
将第一词元索引和分类标签发送至服务端,以由服务端基于第一词元索引和分类标签对新的大语言模型进行微调。
在本公开中,服务端使用方先利用目标词表对文本样本进行分词;之后,根据目标词表分词与索引之间的对应关系(如图3中所示的目标词表),确定分词后所得的各词元各自对应的索引,即得到文本样本对应的第一词元索引,并将该第一词元索引和分类标签发送至服务端;服务端接收到该第一词元索引和分类标签后,基于第一词元索引和分类标签对新的大语言模型进行微调。
具体来说,服务端可以基于第一词元索引和分类标签,通过以下方式对新的大语言模型进行微调:
服务端可以将第一词元索引作为新的大语言模型的输入嵌入层的输入,将输入嵌入层的输出作为主干网络的输入,将主干网络输出的嵌入向量矩阵的第一个向量作为MLP的输入,以上述文本样本对应的分类标签作为MLP的目标输出的方式,对新的大语言模型进行微调。
其中,服务端可以基于MLP输出的预测类别和上述文本样本对应的分类标签的差异,计算模型损失,并根据该模型损失调整新的大语言模型的模型参数。
在另一种实施方式中,述大语言模型为文本生成模型,如图3所示,上,服务端使用方先利用目标词表对文本样本进行分词,之后,根据目标词表分词与索引之间的对应关系(如图3中所示的目标词表),确定分词后所得的各词元各自对应的索引,即得到文本样本对应的第一词元索引,并将该第一词元索引发送至服务端;服务端接收到该第一词元索引后,基于第一词元索引对新的大语言模型进行微调。
具体来说,服务端可以基于第一词元索引,通过以下方式对新的大语言模型进行微调:
如图3所示,服务端可以将第一词元索引作为新的大语言模型的输入嵌入层的输入,将输入嵌入层的输出作为主干网络的输入,将主干网络输出的嵌入向量矩阵作为输出嵌入层的输入,以上述文本样本作为输出嵌入层的目标输出的方式,对新的大语言模型进行微调。
其中,服务端可以基于输出嵌入层输出的预测词元索引和第一词元索引的差异,计算模型损失,并根据该模型损失调整新的大语言模型的模型参数。
图5是根据一示例性实施例示出的一种应用于服务端的大语言模型微调方法的流程图。如图5所示,应用于服务端的大语言模型微调方法可以包括以下S201和S202。
在S201中,响应于接收到服务端使用方发送的目标嵌入参数,将服务端的大语言模型的嵌入层参数更新为目标嵌入层参数,得到新的大语言模型。
其中,目标嵌入层参数由服务端使用方对嵌入层参数进行混淆处理得到。
在S202中,响应于接收到服务端使用方发送的第一词元索引,基于第一词元索引对新的大语言模型进行微调。
其中,第一词元索引由服务端使用方基于目标词表和文本样本生成,目标词表由服务端使用方对大语言模型的词表进行混淆处理得到。
在上述技术方案中,在利用服务端使用方的文本样本对服务端预训练好的大语言模型进行微调之前,服务端使用方首先通过与服务端交互获取大语言模型的词表和嵌入层参数;之后,服务端使用方对大语言模型的词表和嵌入层参数分別进行混淆处理,得到目标词表和目标嵌入层参数,并将目标嵌入层参数发送至服务端,以由服务端将大语言模型的嵌入层参数更新为目标嵌入层参数,以得到新的大语言模型;服务端使用方利用目标词表,对文本样本进行分词和转索引操作,得到文本样本对应的第一词元索引;接下来,服务端使用方将第一词元索引发送至服务端,以由服务端基于第一词元索引对新的大语言模型进行微调。其中,将预训练好的大语言模型中的词表和嵌入层参数分别进行混淆,并且,只将混淆后的嵌入层参数(即目标嵌入层参数)发送至服务端,而将混淆后的词表(即目标词表)保留在服务端使用方,这样,可以避免服务端获取到嵌入向量和词元之间的对应关系,从而能够在有效保护服务端使用方数据的前提下,通过微调操作更好地保障模型效果。另外,目标词表保留在服务端使用方,在模型微调阶段和推理阶段,服务端使用方根据目标词表进行文本分词,使得服务端不直接接触服务端使用方私有数据,仅能获取到文本词元对应的索引,能够更好的保护服务端使用方数据。此外,仅需服务端使用方承担一次性的嵌入扰动开销(即对大语言模型的词表和嵌入层参数进行混淆),以及在微调和推理阶段中的文本分词开销,这样,服务端使用方在执行文本处理任务时不需要占用大量的CPU、内存或电池电量等资源,使得文本处理任务更容易在不同类型的服务端使用方上运行,让更多用户享受到这项技术的便利。
在一种可能的实施方式中,所述大语言模型为文本分类模型;所述响应于接收到所述服务端使用方发送的第一词元索引,基于所述第一词元索引对所述新的大语言模型进行微调,包括:响应于接收到所述服务端使用方发送的第一词元索引和所述文本样本对应的分类标签,基于所述第一词元索引和所述分类标签,对所述新的大语言模型进行微调。
在一种可能的实施方式中,所述大语言模型为文本生成模型,其中,所述嵌入层参数包括输入嵌入层参数和输出嵌入层参数。
根据本公开实施例的应用于服务端的大语言模型微调方法中各个步骤的具体实现方式已经在根据本公开实施例的应用于服务端使用方的大语言模型微调方法中进行了详细描述,此处不再赘述。
图6是根据一示例性实施例示出的一种文本处理方法的流程图。其中,该文本处理方法可以应用于服务端使用方。如图6所示,该文本处理方法可以包括以下S301~S304。
在S301中,获取待处理文本。
在S302中,利用目标词表对待处理文本进行分词和转索引操作,得到待处理文本对应的第二词元索引。
在本公开中,可以采用与上述S104中利用目标词表,对文本样本进行分词和转索引操作类似的方式,利用目标词表对待处理文本进行分词和转索引操作,本公开不再赘述。
在S303中,将第二词元索引发送至服务端,以由服务端通过预先微调好的大语言模型基于第二词元索引,生成待处理文本的文本处理结果,并将文本处理结果发送至服务端使用方。
在本公开中,如图3所示,服务端使用方在获取到第二词元索引后,将其发发送至服务端;服务端在将接收到给第二词元索引后,基于第二词元索引,利用预先微调好的大语言模型生成待处理文本的文本处理结果。其中,当大语言模型为文本分类模型时,文本处理结果为待处理文本的类别。当大语言模型为文本生成模型时,文本处理结果为待处理文本对应的预测词元索引。
其中,大语言模型是根据本公开提供的上述大语言模型微调方法得到的。
在S304中,接收文本处理结果。
在本公开中,当大语言模型为文本分类模型时,上述文本处理方法可以用于分析待处理文本的情感类别,例如,将待处理文本划分为正面、负面或中性等情感类别,也可以用于新闻分类,此时,待处理文本为新闻文本,通过文本处理方法可以将新闻文本划分为体育、娱乐、科技等类别,还可以用于垃圾邮件检测,例如,将电子邮件划分为正常邮件和垃圾邮件。
当大语言模型为文本生成模型时,上述文本处理方法可以用于文本翻译、摘要生成等场景。
在上述技术方案中,在利用服务端使用方的文本样本对服务端预训练好的大语言模型进行微调之前,服务端使用方首先通过与服务端交互获取大语言模型的词表和嵌入层参数;之后,服务端使用方对大语言模型的词表和嵌入层参数分別进行混淆处理,得到目标词表和目标嵌入层参数,并将目标嵌入层参数发送至服务端,以由服务端将大语言模型的嵌入层参数更新为目标嵌入层参数,以得到新的大语言模型;服务端使用方利用目标词表,对文本样本进行分词和转索引操作,得到文本样本对应的第一词元索引;接下来,服务端使用方将第一词元索引发送至服务端,以由服务端基于第一词元索引对新的大语言模型进行微调。其中,将预训练好的大语言模型中的词表和嵌入层参数分别进行混淆,并且,只将混淆后的嵌入层参数(即目标嵌入层参数)发送至服务端,而将混淆后的词表(即目标词表)保留在服务端使用方,这样,可以避免服务端获取到嵌入向量和词元之间的对应关系,从而能够在有效保护服务端使用方数据的前提下,通过微调操作更好地保障模型效果。另外,目标词表保留在服务端使用方,在模型微调阶段和推理阶段,服务端使用方根据目标词表进行文本分词,使得服务端不直接接触服务端使用方私有数据,仅能获取到文本词元对应的索引,能够更好的保护服务端使用方数据。此外,仅需服务端使用方承担一次性的嵌入扰动开销(即对大语言模型的词表和嵌入层参数进行混淆),以及在微调和推理阶段中的文本分词开销,这样,服务端使用方在执行文本处理任务时不需要占用大量的CPU、内存或电池电量等资源,使得文本处理任务更容易在不同类型的服务端使用方上运行,让更多用户享受到这项技术的便利。
在上述大语言模型为文本生成模型时,文本处理结果为待处理文本对应的预测词元索引;此时,上述文本处理方法还可以包括以下步骤:
根据目标词表,确定与预测词元索引对应的文本,得到待处理文本对应的预测文本。
如图3所示,服务端在获取到待处理文本对应的预测词元索引后,将其发送至服务端使用方;服务端接收到该预测词元索引后,将使用目标词表将其还原为预测文本。
图7是根据一示例性实施例示出的一种应用于服务端使用方的大语言模型微调装置的框图。如图7所示,该应用于服务端使用方的大语言模型微调装置400包括:第一获取模块401,用于从服务端获取大语言模型的词表和嵌入层参数,其中,预训练好的所述大语言模型部署于所述服务端;混淆模块402,用于对所述词表和所述嵌入层参数分別进行混淆处理,得到目标词表和目标嵌入层参数;第一发送模块403,将所述目标嵌入层参数发送至所述服务端,以由所述服务端将所述大语言模型的嵌入层参数更新为所述目标嵌入层参数,以得到新的大语言模型;第一分词模块404,用于利用所述目标词表,对文本样本进行分词和转索引操作,得到所述文本样本对应的第一词元索引;所述第一发送模块403,还用于将所述第一词元索引发送至所述服务端,以由所述服务端基于所述第一词元索引对所述新的大语言模型进行微调。
在上述技术方案中,在利用服务端使用方的文本样本对服务端预训练好的大语言模型进行微调之前,服务端使用方首先通过与服务端交互获取大语言模型的词表和嵌入层参数;之后,服务端使用方对大语言模型的词表和嵌入层参数分別进行混淆处理,得到目标词表和目标嵌入层参数,并将目标嵌入层参数发送至服务端,以由服务端将大语言模型的嵌入层参数更新为目标嵌入层参数,以得到新的大语言模型;服务端使用方利用目标词表,对文本样本进行分词和转索引操作,得到文本样本对应的第一词元索引;接下来,服务端使用方将第一词元索引发送至服务端,以由服务端基于第一词元索引对新的大语言模型进行微调。其中,将预训练好的大语言模型中的词表和嵌入层参数分别进行混淆,并且,只将混淆后的嵌入层参数(即目标嵌入层参数)发送至服务端,而将混淆后的词表(即目标词表)保留在服务端使用方,这样,可以避免服务端获取到嵌入向量和词元之间的对应关系,从而能够在有效保护服务端使用方数据的前提下,通过微调操作更好地保障模型效果。另外,目标词表保留在服务端使用方,在模型微调阶段和推理阶段,服务端使用方根据目标词表进行文本分词,使得服务端不直接接触服务端使用方私有数据,仅能获取到文本词元对应的索引,能够更好的保护服务端使用方数据。此外,仅需服务端使用方承担一次性的嵌入扰动开销(即对大语言模型的词表和嵌入层参数进行混淆),以及在微调和推理阶段中的文本分词开销,这样,服务端使用方在执行文本处理任务时不需要占用大量的CPU、内存或电池电量等资源,使得文本处理任务更容易在不同类型的服务端使用方上运行,让更多用户享受到这项技术的便利。
可选地,所述混淆模块402包括:生成子模块,用于生成随机置换;置换子模块,用于利用所述随机置换对所述词表进行置换操作,得到目标词表,并利用所述随机置换对所述嵌入层参数进行置换操作,得到置换嵌入层参数;第一噪声扰动子模块,用于根据所述目标词表,对所述置换嵌入层参数进行噪声扰动处理,得到目标嵌入层参数。
可选地,第一噪声扰动子模块包括:聚类子模块,用于根据所述置换嵌入层参数,对所述目标词表中的词元进行聚类;第二噪声扰动子模块,用于根据聚类结果,对所述置换嵌入层参数进行噪声扰动处理,得到目标嵌入层参数。
可选地,所述第二噪声扰动子模块包括:第一确定子模块,用于针对所述聚类结果中的每一聚类簇,从所述置换嵌入层参数中确定与该聚类簇对应的嵌入向量集;第三噪声扰动子模块,用于利用差分隐私机制对所述嵌入向量集进行噪声扰动处理,得到该聚类簇对应的扰动向量集;第一整合子模块,用于整合每一所述聚类簇对应的扰动向量集,得到所述目标嵌入层参数。
可选地,所述第三噪声扰动子模块包括:第一计算子模块,用于针对所述嵌入向量集中的每一嵌入向量,计算该嵌入向量与所述嵌入向量集中每一嵌入向量之间的第一相似度;映射子模块,用于根据预设隐私预算,将该嵌入向量对应的所有所述第一相似度映射为第一概率分布,其中,所述预设隐私预算用于控制所述第一概率分布的平滑度;噪声添加子模块,用于根据所述预设隐私预算,对所述第一概率分布添加拉普拉斯噪声,得到第二概率分布;归一化处理子模块,用于对所述第二概率分布进行归一化处理,得到第三概率分布;第二确定子模块,用于根据所述第三概率分布和所述嵌入向量集,确定该嵌入向量对应的扰动向量;第二整合子模块,用于整合每一所述嵌入向量对应的扰动向量,得到该聚类簇对应的扰动向量集。
可选地,所述聚类子模块包括:第三确定子模块,用于将所述目标词表中的任一词元作为当前词元;第二计算子模块,用于根据所述置换嵌入层参数,分别计算所述当前词元与所述目标词表中每一未被聚类的其他词元之间的第二相似度;第四确定子模块,用于将所述当前词元、以及与所述当前词元之间的第二相似度最高的K-1个所述未被聚类的其他词元作为一个聚类簇;第五确定子模块,用于若所述聚类簇的数量未达到N,则将所述目标词表的未被聚类的词元中的任一词元作为当前词元,其中,n为所述目标词表中词元的数量;触发子模块,用于触发所述第二计算子模块根据所述置换嵌入层参数,分别计算所述当前词元与所述目标词表中每一未被聚类的其他词元之间的第二相似度的步骤,直到所述聚类簇的数量达到N时为止;第六确定子模块,用于若所述聚类簇的数量达到N,则将N个所述聚类簇作为所述聚类结果。
可选地,所述第二计算子模块包括:第三计算子模块,用于针对所述目标词表中未被聚类的每一其他词元,根据所述置换嵌入层参数,计算该其他词元与所述当前词元之间的语义相似度和编辑距离;第七确定子模块,用于根据所述语义相似度和所述编辑距离,确定该其他词元与所述当前词元之间的第二相似度。
可选地,所述大语言模型为文本分类模型;所述大语言模型微调装置400还包括:第三获取模块,用于获取所述文本样本对应的分类标签;所述第一发送模块403用于将所述第一词元索引和所述分类标签发送至所述服务端,以由所述服务端基于所述第一词元索引和所述分类标签对所述新的大语言模型进行微调。
可选地,所述大语言模型为文本生成模型,其中,所述嵌入层参数包括输入嵌入层参数和输出嵌入层参数。
图8是根据一示例性实施例示出的一种应用于服务端的大语言模型微调装置的框图。如图8所示,该应用于服务端的大语言模型微调装置500包括:更新模块501,用于响应于接收到服务端使用方发送的目标嵌入参数,将所述服务端的大语言模型的嵌入层参数更新为所述目标嵌入层参数,得到新的大语言模型,其中,所述目标嵌入层参数由所述服务端使用方对所述嵌入层参数进行混淆处理得到;微调模块502,用于响应于接收到所述服务端使用方发送的第一词元索引,基于所述第一词元索引对所述新的大语言模型进行微调,其中,所述第一词元索引由所述服务端使用方基于目标词表和文本样本生成,所述目标词表由所述服务端使用方对所述大语言模型的词表进行混淆处理得到。
在上述技术方案中,在利用服务端使用方的文本样本对服务端预训练好的大语言模型进行微调之前,服务端使用方首先通过与服务端交互获取大语言模型的词表和嵌入层参数;之后,服务端使用方对大语言模型的词表和嵌入层参数分別进行混淆处理,得到目标词表和目标嵌入层参数,并将目标嵌入层参数发送至服务端,以由服务端将大语言模型的嵌入层参数更新为目标嵌入层参数,以得到新的大语言模型;服务端使用方利用目标词表,对文本样本进行分词和转索引操作,得到文本样本对应的第一词元索引;接下来,服务端使用方将第一词元索引发送至服务端,以由服务端基于第一词元索引对新的大语言模型进行微调。其中,将预训练好的大语言模型中的词表和嵌入层参数分别进行混淆,并且,只将混淆后的嵌入层参数(即目标嵌入层参数)发送至服务端,而将混淆后的词表(即目标词表)保留在服务端使用方,这样,可以避免服务端获取到嵌入向量和词元之间的对应关系,从而能够在有效保护服务端使用方数据的前提下,通过微调操作更好地保障模型效果。另外,目标词表保留在服务端使用方,在模型微调阶段和推理阶段,服务端使用方根据目标词表进行文本分词,使得服务端不直接接触服务端使用方私有数据,仅能获取到文本词元对应的索引,能够更好的保护服务端使用方数据。此外,仅需服务端使用方承担一次性的嵌入扰动开销(即对大语言模型的词表和嵌入层参数进行混淆),以及在微调和推理阶段中的文本分词开销,这样,服务端使用方在执行文本处理任务时不需要占用大量的CPU、内存或电池电量等资源,使得文本处理任务更容易在不同类型的服务端使用方上运行,让更多用户享受到这项技术的便利。
可选地,所述大语言模型为文本分类模型;所述微调模块502用于响应于接收到所述服务端使用方发送的第一词元索引和所述文本样本对应的分类标签,基于所述第一词元索引和所述分类标签,对所述新的大语言模型进行微调。
可选地,所述大语言模型为文本生成模型,其中,所述嵌入层参数包括输入嵌入层参数和输出嵌入层参数。
图9是根据一示例性实施例示出的一种文本处理装置的框图,其中,该文本处理装置600应用于服务端使用方。如图9所示,该文本处理装置600包括:第二获取模块601,用于获取待处理文本;第二分词模块602,用于利用目标词表对所述待处理文本进行分词和转索引操作,得到所述待处理文本对应的第二词元索引;第二发送模块603,用于将所述第二词元索引发送至服务端,以由所述服务端通过预先微调好的大语言模型基于所述第二词元索引,生成所述待处理文本的文本处理结果,并将所述文本处理结果发送至所述服务端使用方,其中,所述大语言模型是根据本公开提供的上述大语言模型微调方法得到的;接收模块604,用于接收所述文本处理结果。
在上述技术方案中,在利用服务端使用方的文本样本对服务端预训练好的大语言模型进行微调之前,服务端使用方首先通过与服务端交互获取大语言模型的词表和嵌入层参数;之后,服务端使用方对大语言模型的词表和嵌入层参数分別进行混淆处理,得到目标词表和目标嵌入层参数,并将目标嵌入层参数发送至服务端,以由服务端将大语言模型的嵌入层参数更新为目标嵌入层参数,以得到新的大语言模型;服务端使用方利用目标词表,对文本样本进行分词和转索引操作,得到文本样本对应的第一词元索引;接下来,服务端使用方将第一词元索引发送至服务端,以由服务端基于第一词元索引对新的大语言模型进行微调。其中,将预训练好的大语言模型中的词表和嵌入层参数分别进行混淆,并且,只将混淆后的嵌入层参数(即目标嵌入层参数)发送至服务端,而将混淆后的词表(即目标词表)保留在服务端使用方,这样,可以避免服务端获取到嵌入向量和词元之间的对应关系,从而能够在有效保护服务端使用方数据的前提下,通过微调操作更好地保障模型效果。另外,目标词表保留在服务端使用方,在模型微调阶段和推理阶段,服务端使用方根据目标词表进行文本分词,使得服务端不直接接触服务端使用方私有数据,仅能获取到文本词元对应的索引,能够更好的保护服务端使用方数据。此外,仅需服务端使用方承担一次性的嵌入扰动开销(即对大语言模型的词表和嵌入层参数进行混淆),以及在微调和推理阶段中的文本分词开销,这样,服务端使用方在执行文本处理任务时不需要占用大量的CPU、内存或电池电量等资源,使得文本处理任务更容易在不同类型的服务端使用方上运行,让更多用户享受到这项技术的便利。
可选地,所述大语言模型为文本分类模型,所述文本处理结果为所述待处理文本的类别。
可选地,所述大语言模型为文本生成模型,所述文本处理结果为所述待处理文本对应的预测词元索引;所述文本处理装置600还包括:确定模块,用于根据所述目标词表,确定与所述预测词元索引对应的文本,得到所述待处理文本对应的预测文本。
本公开还提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理装置执行时实现本公开提供的上述大语言模型微调方法的步骤或者本公开提供的上述文本处理方法的步骤。
本公开还提供一种电子设备,包括:存储装置,其上存储有计算机程序;处理装置,用于执行所述存储装置中的所述计算机程序,以实现本公开提供的上述大语言模型微调方法的步骤或者本公开提供的上述文本处理方法的步骤。
本公开还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本公开提供的上述大语言模型微调方法的步骤或者本公开提供的上述文本处理方法的步骤。
下面参考图10,其示出了适于用来实现本公开实施例的电子设备(例如终端设备或服务器)700的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图10示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,电子设备700可以包括处理装置(例如中央处理器、图形处理器等)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储装置708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有电子设备700操作所需的各种程序和数据。处理装置701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
通常,以下装置可以连接至I/O接口705:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置706;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置707;包括例如磁带、硬盘等的存储装置708;以及通信装置709。通信装置709可以允许电子设备700与其他设备进行无线或有线通信以交换数据。虽然图10示出了具有各种装置的电子设备700,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置709从网络上被下载和安装,或者从存储装置708被安装,或者从ROM 702被安装。在该计算机程序被处理装置701执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:从服务端获取大语言模型的词表和嵌入层参数,其中,预训练好的所述大语言模型部署于所述服务端;对所述词表和所述嵌入层参数分別进行混淆处理,得到目标词表和目标嵌入层参数;将所述目标嵌入层参数发送至所述服务端,以由所述服务端将所述大语言模型的嵌入层参数更新为所述目标嵌入层参数,以得到新的大语言模型;利用所述目标词表,对文本样本进行分词和转索引操作,得到所述文本样本对应的第一词元索引;将所述第一词元索引发送至所述服务端,以由所述服务端基于所述第一词元索引对所述新的大语言模型进行微调。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于接收到服务端使用方发送的目标嵌入参数,将所述服务端的大语言模型的嵌入层参数更新为所述目标嵌入层参数,得到新的大语言模型,其中,所述目标嵌入层参数由所述服务端使用方对所述嵌入层参数进行混淆处理得到;响应于接收到所述服务端使用方发送的第一词元索引,基于所述第一词元索引对所述新的大语言模型进行微调,其中,所述第一词元索引由所述服务端使用方基于目标词表和文本样本生成,所述目标词表由所述服务端使用方对所述大语言模型的词表进行混淆处理得到。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取待处理文本;利用目标词表对所述待处理文本进行分词和转索引操作,得到所述待处理文本对应的第二词元索引;将所述第二词元索引发送至服务端,以由所述服务端通过预先微调好的大语言模型基于所述第二词元索引,生成所述待处理文本的文本处理结果,并将所述文本处理结果发送至所述服务端使用方,其中,所述大语言模型是本公开提供的上述大语言模型微调方法得到的;接收所述文本处理结果。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,第一获取模块还可以被描述为“从服务端获取大语言模型的词表和嵌入层参数的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,示例1提供了一种大语言模型微调方法,包括:从服务端获取大语言模型的词表和嵌入层参数,其中,预训练好的所述大语言模型部署于所述服务端;对所述词表和所述嵌入层参数分別进行混淆处理,得到目标词表和目标嵌入层参数;将所述目标嵌入层参数发送至所述服务端,以由所述服务端将所述大语言模型的嵌入层参数更新为所述目标嵌入层参数,以得到新的大语言模型;利用所述目标词表,对文本样本进行分词和转索引操作,得到所述文本样本对应的第一词元索引;将所述第一词元索引发送至所述服务端,以由所述服务端基于所述第一词元索引对所述新的大语言模型进行微调。
根据本公开的一个或多个实施例,示例2提供了示例1的方法,所述对所述词表和所述嵌入层参数分別进行混淆处理,得到目标词表和目标嵌入层参数,包括:生成随机置换;利用所述随机置换对所述词表进行置换操作,得到目标词表,并利用所述随机置换对所述嵌入层参数进行置换操作,得到置换嵌入层参数;根据所述目标词表,对所述置换嵌入层参数进行噪声扰动处理,得到目标嵌入层参数。
根据本公开的一个或多个实施例,示例3提供了示例2的方法,所述根据所述目标词表,对所述置换嵌入层参数进行噪声扰动处理,得到目标嵌入层参数,包括:根据所述置换嵌入层参数,对所述目标词表中的词元进行聚类;根据聚类结果,对所述置换嵌入层参数进行噪声扰动处理,得到目标嵌入层参数。
根据本公开的一个或多个实施例,示例4提供了示例3的方法,,所述根据聚类结果,对所述置换嵌入层参数进行噪声扰动处理,得到目标嵌入层参数,包括:针对所述聚类结果中的每一聚类簇,从所述置换嵌入层参数中确定与该聚类簇对应的嵌入向量集;利用差分隐私机制对所述嵌入向量集进行噪声扰动处理,得到该聚类簇对应的扰动向量集;整合每一所述聚类簇对应的扰动向量集,得到所述目标嵌入层参数。
根据本公开的一个或多个实施例,示例5提供了示例4的方法,所述利用差分隐私机制对所述嵌入向量集进行噪声扰动处理,得到该聚类簇对应的扰动向量集,包括:针对所述嵌入向量集中的每一嵌入向量,计算该嵌入向量与所述嵌入向量集中每一嵌入向量之间的第一相似度;根据预设隐私预算,将该嵌入向量对应的所有所述第一相似度映射为第一概率分布,其中,所述预设隐私预算用于控制所述第一概率分布的平滑度;根据所述预设隐私预算,对所述第一概率分布添加拉普拉斯噪声,得到第二概率分布;对所述第二概率分布进行归一化处理,得到第三概率分布;根据所述第三概率分布和所述嵌入向量集,确定该嵌入向量对应的扰动向量;整合每一所述嵌入向量对应的扰动向量,得到该聚类簇对应的扰动向量集。
根据本公开的一个或多个实施例,示例6提供了示例3的方法,所述根据所述置换嵌入层参数,对所述目标词表中的词元进行聚类,包括:将所述目标词表中的任一词元作为当前词元;根据所述置换嵌入层参数,分别计算所述当前词元与所述目标词表中每一未被聚类的其他词元之间的第二相似度;将所述当前词元、以及与所述当前词元之间的第二相似度最高的K-1个所述未被聚类的其他词元作为一个聚类簇;若所述聚类簇的数量未达到N,则将所述目标词表的未被聚类的词元中的任一词元作为当前词元,其中,n为所述目标词表中词元的数量;返回所述根据所述置换嵌入层参数,分别计算所述当前词元与所述目标词表中每一未被聚类的其他词元之间的第二相似度的步骤,直到所述聚类簇的数量达到N时为止;若所述聚类簇的数量达到N,则将N个所述聚类簇作为所述聚类结果。
根据本公开的一个或多个实施例,示例7提供了示例6的方法,所述根据所述置换嵌入层参数,分别计算所述当前词元与所述目标词表中每一未被聚类的其他词元之间的第二相似度,包括:针对所述目标词表中未被聚类的每一其他词元,根据所述置换嵌入层参数,计算该其他词元与所述当前词元之间的语义相似度和编辑距离;根据所述语义相似度和所述编辑距离,确定该其他词元与所述当前词元之间的第二相似度。
根据本公开的一个或多个实施例,示例8提供了示例1-7中任一项的方法,所述大语言模型为文本分类模型;所述方法还包括:获取所述文本样本对应的分类标签;所述将所述第一词元索引发送至所述服务端,以由所述服务端基于所述第一词元索引对所述新的大语言模型进行微调,包括:将所述第一词元索引和所述分类标签发送至所述服务端,以由所述服务端基于所述第一词元索引和所述分类标签对所述新的大语言模型进行微调。
根据本公开的一个或多个实施例,示例9提供了示例1-7中任一项的方法,所述大语言模型为文本生成模型,其中,所述嵌入层参数包括输入嵌入层参数和输出嵌入层参数。
根据本公开的一个或多个实施例,示例10提供了一种大语言模型微调方法,应用于服务端,包括:响应于接收到服务端使用方发送的目标嵌入参数,将所述服务端的大语言模型的嵌入层参数更新为所述目标嵌入层参数,得到新的大语言模型,其中,所述目标嵌入层参数由所述服务端使用方对所述嵌入层参数进行混淆处理得到;响应于接收到所述服务端使用方发送的第一词元索引,基于所述第一词元索引对所述新的大语言模型进行微调,其中,所述第一词元索引由所述服务端使用方基于目标词表和文本样本生成,所述目标词表由所述服务端使用方对所述大语言模型的词表进行混淆处理得到。
根据本公开的一个或多个实施例,示例11提供了示例10的方法,所述大语言模型为文本分类模型;所述响应于接收到所述服务端使用方发送的第一词元索引,基于所述第一词元索引对所述新的大语言模型进行微调,包括:响应于接收到所述服务端使用方发送的第一词元索引和所述文本样本对应的分类标签,基于所述第一词元索引和所述分类标签,对所述新的大语言模型进行微调。
根据本公开的一个或多个实施例,示例12提供了示例10的方法,所述大语言模型为文本生成模型,其中,所述嵌入层参数包括输入嵌入层参数和输出嵌入层参数。
根据本公开的一个或多个实施例,示例13提供了一种文本处理方法,应用于服务端使用方,包括:获取待处理文本;利用目标词表对所述待处理文本进行分词和转索引操作,得到所述待处理文本对应的第二词元索引;将所述第二词元索引发送至服务端,以由所述服务端通过预先微调好的大语言模型基于所述第二词元索引,生成所述待处理文本的文本处理结果,并将所述文本处理结果发送至所述服务端使用方,其中,所述大语言模型是根据示例1-12中任一项所述的大语言模型微调方法得到的;接收所述文本处理结果。
根据本公开的一个或多个实施例,示例14提供了13的方法,所述大语言模型为文本分类模型,所述文本处理结果为所述待处理文本的类别。
根据本公开的一个或多个实施例,示例15提供了示例13的方法,所述大语言模型为文本生成模型,所述文本处理结果为所述待处理文本对应的预测词元索引;所述方法还包括:根据所述目标词表,确定与所述预测词元索引对应的文本,得到所述待处理文本对应的预测文本。
根据本公开的一个或多个实施例,示例16提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理装置执行时实现权示例1-15中任一项所述方法的步骤。
根据本公开的一个或多个实施例,示例17提供了一种电子设备,包括:存储装置,其上存储有计算机程序;处理装置,用于执行所述存储装置中的所述计算机程序,以实现示例1-15中任一项所述方法的步骤。
根据本公开的一个或多个实施例,示例18提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现示例1-15中任一项所述的方法的步骤。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
Claims (18)
1.一种大语言模型微调方法,其特征在于,包括:
从服务端获取大语言模型的词表和嵌入层参数,其中,预训练好的所述大语言模型部署于所述服务端;
对所述词表和所述嵌入层参数分別进行混淆处理,得到目标词表和目标嵌入层参数;
将所述目标嵌入层参数发送至所述服务端,以由所述服务端将所述大语言模型的嵌入层参数更新为所述目标嵌入层参数,以得到新的大语言模型;
利用所述目标词表,对文本样本进行分词和转索引操作,得到所述文本样本对应的第一词元索引;
将所述第一词元索引发送至所述服务端,以由所述服务端基于所述第一词元索引对所述新的大语言模型进行微调。
2.根据权利要求1所述的方法,其特征在于,所述对所述词表和所述嵌入层参数分別进行混淆处理,得到目标词表和目标嵌入层参数,包括:
生成随机置换;
利用所述随机置换对所述词表进行置换操作,得到目标词表,并利用所述随机置换对所述嵌入层参数进行置换操作,得到置换嵌入层参数;
根据所述目标词表,对所述置换嵌入层参数进行噪声扰动处理,得到目标嵌入层参数。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标词表,对所述置换嵌入层参数进行噪声扰动处理,得到目标嵌入层参数,包括:
根据所述置换嵌入层参数,对所述目标词表中的词元进行聚类;
根据聚类结果,对所述置换嵌入层参数进行噪声扰动处理,得到目标嵌入层参数。
4.根据权利要求3所述的方法,其特征在于,所述根据聚类结果,对所述置换嵌入层参数进行噪声扰动处理,得到目标嵌入层参数,包括:
针对所述聚类结果中的每一聚类簇,从所述置换嵌入层参数中确定与该聚类簇对应的嵌入向量集;利用差分隐私机制对所述嵌入向量集进行噪声扰动处理,得到该聚类簇对应的扰动向量集;
整合每一所述聚类簇对应的扰动向量集,得到所述目标嵌入层参数。
5.根据权利要求4所述的方法,其特征在于,所述利用差分隐私机制对所述嵌入向量集进行噪声扰动处理,得到该聚类簇对应的扰动向量集,包括:
针对所述嵌入向量集中的每一嵌入向量,计算该嵌入向量与所述嵌入向量集中每一嵌入向量之间的第一相似度;根据预设隐私预算,将该嵌入向量对应的所有所述第一相似度映射为第一概率分布,其中,所述预设隐私预算用于控制所述第一概率分布的平滑度;根据所述预设隐私预算,对所述第一概率分布添加拉普拉斯噪声,得到第二概率分布;对所述第二概率分布进行归一化处理,得到第三概率分布;根据所述第三概率分布和所述嵌入向量集,确定该嵌入向量对应的扰动向量;
整合每一所述嵌入向量对应的扰动向量,得到该聚类簇对应的扰动向量集。
6.根据权利要求3所述的方法,其特征在于,所述根据所述置换嵌入层参数,对所述目标词表中的词元进行聚类,包括:
将所述目标词表中的任一词元作为当前词元;
根据所述置换嵌入层参数,分别计算所述当前词元与所述目标词表中每一未被聚类的其他词元之间的第二相似度;
将所述当前词元、以及与所述当前词元之间的第二相似度最高的K-1个所述未被聚类的其他词元作为一个聚类簇;
若所述聚类簇的数量未达到N,则将所述目标词表的未被聚类的词元中的任一词元作为当前词元,其中,n为所述目标词表中词元的数量;
返回所述根据所述置换嵌入层参数,分别计算所述当前词元与所述目标词表中每一未被聚类的其他词元之间的第二相似度的步骤,直到所述聚类簇的数量达到N时为止;
若所述聚类簇的数量达到N,则将N个所述聚类簇作为所述聚类结果。
7.根据权利要求6所述的方法,其特征在于,所述根据所述置换嵌入层参数,分别计算所述当前词元与所述目标词表中每一未被聚类的其他词元之间的第二相似度,包括:
针对所述目标词表中未被聚类的每一其他词元,根据所述置换嵌入层参数,计算该其他词元与所述当前词元之间的语义相似度和编辑距离;
根据所述语义相似度和所述编辑距离,确定该其他词元与所述当前词元之间的第二相似度。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述大语言模型为文本分类模型;
所述方法还包括:
获取所述文本样本对应的分类标签;
所述将所述第一词元索引发送至所述服务端,以由所述服务端基于所述第一词元索引对所述新的大语言模型进行微调,包括:
将所述第一词元索引和所述分类标签发送至所述服务端,以由所述服务端基于所述第一词元索引和所述分类标签对所述新的大语言模型进行微调。
9.根据权利要求1-7中任一项所述的方法,其特征在于,所述大语言模型为文本生成模型,其中,所述嵌入层参数包括输入嵌入层参数和输出嵌入层参数。
10.一种大语言模型微调方法,其特征在于,应用于服务端,包括:
响应于接收到服务端使用方发送的目标嵌入参数,将所述服务端的大语言模型的嵌入层参数更新为所述目标嵌入层参数,得到新的大语言模型,其中,所述目标嵌入层参数由所述服务端使用方对所述嵌入层参数进行混淆处理得到;
响应于接收到所述服务端使用方发送的第一词元索引,基于所述第一词元索引对所述新的大语言模型进行微调,其中,所述第一词元索引由所述服务端使用方基于目标词表和文本样本生成,所述目标词表由所述服务端使用方对所述大语言模型的词表进行混淆处理得到。
11.根据权利要求10所述的方法,其特征在于,所述大语言模型为文本分类模型;
所述响应于接收到所述服务端使用方发送的第一词元索引,基于所述第一词元索引对所述新的大语言模型进行微调,包括:
响应于接收到所述服务端使用方发送的第一词元索引和所述文本样本对应的分类标签,基于所述第一词元索引和所述分类标签,对所述新的大语言模型进行微调。
12.根据权利要求10所述的方法,其特征在于,所述大语言模型为文本生成模型,其中,所述嵌入层参数包括输入嵌入层参数和输出嵌入层参数。
13.一种文本处理方法,其特征在于,应用于服务端使用方,包括:
获取待处理文本;
利用目标词表对所述待处理文本进行分词和转索引操作,得到所述待处理文本对应的第二词元索引;
将所述第二词元索引发送至服务端,以由所述服务端通过预先微调好的大语言模型基于所述第二词元索引,生成所述待处理文本的文本处理结果,并将所述文本处理结果发送至所述服务端使用方,其中,所述大语言模型是根据权利要求1-12中任一项所述的大语言模型微调方法得到的;
接收所述文本处理结果。
14.根据权利要求13所述的方法,其特征在于,所述大语言模型为文本分类模型,所述文本处理结果为所述待处理文本的类别。
15.根据权利要求13所述的方法,其特征在于,所述大语言模型为文本生成模型,所述文本处理结果为所述待处理文本对应的预测词元索引;
所述方法还包括:
根据所述目标词表,确定与所述预测词元索引对应的文本,得到所述待处理文本对应的预测文本。
16.一种计算机可读介质,其上存储有计算机程序,其特征在于,该计算机程序被处理装置执行时实现权利要求1-15中任一项所述方法的步骤。
17.一种电子设备,其特征在于,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现权利要求1-15中任一项所述方法的步骤。
18.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-15中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411132183.2A CN119150862A (zh) | 2024-08-16 | 2024-08-16 | 模型微调方法、文本处理方法、介质、设备及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411132183.2A CN119150862A (zh) | 2024-08-16 | 2024-08-16 | 模型微调方法、文本处理方法、介质、设备及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN119150862A true CN119150862A (zh) | 2024-12-17 |
Family
ID=93802837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202411132183.2A Pending CN119150862A (zh) | 2024-08-16 | 2024-08-16 | 模型微调方法、文本处理方法、介质、设备及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN119150862A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN119357341A (zh) * | 2024-12-27 | 2025-01-24 | 成都赛力斯科技有限公司 | 语句文本处理方法、装置、设备及存储介质 |
-
2024
- 2024-08-16 CN CN202411132183.2A patent/CN119150862A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN119357341A (zh) * | 2024-12-27 | 2025-01-24 | 成都赛力斯科技有限公司 | 语句文本处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111400504B (zh) | 企业关键人的识别方法和装置 | |
CN113327599B (zh) | 语音识别方法、装置、介质及电子设备 | |
CN115908640A (zh) | 生成图像的方法、装置、可读介质及电子设备 | |
CN114067327B (zh) | 文本识别方法、装置、可读介质及电子设备 | |
CN119150862A (zh) | 模型微调方法、文本处理方法、介质、设备及程序产品 | |
CN116072108A (zh) | 模型生成方法、语音识别方法、装置、介质及设备 | |
CN116310582A (zh) | 分类模型训练方法、图像分类方法、装置、介质及设备 | |
CN113610228B (zh) | 神经网络模型的构建方法及装置 | |
CN113591490B (zh) | 信息处理方法、装置和电子设备 | |
CN111626044B (zh) | 文本生成方法、装置、电子设备及计算机可读存储介质 | |
CN115270981A (zh) | 对象处理方法、装置、可读介质及电子设备 | |
CN118981772A (zh) | 代码文本信息存储方法、装置、设备与计算机介质 | |
CN111915689A (zh) | 用于生成目标函数的方法、装置、电子设备和计算机可读介质 | |
CN111797263A (zh) | 图像标签生成方法、装置、设备和计算机可读介质 | |
CN111581455B (zh) | 文本生成模型的生成方法、装置和电子设备 | |
CN115129877B (zh) | 标点符号预测模型的生成方法、装置和电子设备 | |
CN111582456B (zh) | 用于生成网络模型信息的方法、装置、设备和介质 | |
CN116340632A (zh) | 对象推荐方法、装置、介质及电子设备 | |
CN113986958B (zh) | 文本信息的转换方法、装置、可读介质和电子设备 | |
CN111933122B (zh) | 语音识别方法、装置、电子设备和计算机可读介质 | |
CN116258911A (zh) | 图像分类模型的训练方法、装置、设备及存储介质 | |
CN114374738B (zh) | 信息推送方法、装置、存储介质及电子设备 | |
CN111582482B (zh) | 用于生成网络模型信息的方法、装置、设备和介质 | |
CN111814807B (zh) | 用于处理图像的方法、装置、电子设备和计算机可读介质 | |
CN113283115B (zh) | 图像模型生成方法、装置和电子设备 |
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 |