CN118095352A - 模型压缩方法、装置、设备和存储介质 - Google Patents

模型压缩方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN118095352A
CN118095352A CN202410225163.3A CN202410225163A CN118095352A CN 118095352 A CN118095352 A CN 118095352A CN 202410225163 A CN202410225163 A CN 202410225163A CN 118095352 A CN118095352 A CN 118095352A
Authority
CN
China
Prior art keywords
generated data
model
data sample
screened
data samples
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
CN202410225163.3A
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.)
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Ant Blockchain Technology Shanghai 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 Ant Blockchain Technology Shanghai Co Ltd filed Critical Ant Blockchain Technology Shanghai Co Ltd
Priority to CN202410225163.3A priority Critical patent/CN118095352A/zh
Publication of CN118095352A publication Critical patent/CN118095352A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Machine Translation (AREA)

Abstract

本申请一个或多个实施例提供一种模型压缩方法、装置、设备和存储介质,所述方法包括:将与至少一个私有数据样本对应的描述信息输入第一大语言模型,由所述第一大语言模型将所述描述信息作为生成条件,生成与所述描述信息对应的至少一个生成数据样本;从所述至少一个生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本;基于筛选出的生成数据样本针对预训练完成的第二大语言模型进行模型压缩,得到与所述第二大语言模型对应的压缩模型;其中,所述第二大语言模型基于公开数据样本进行模型预训练;基于所述私有数据样本对所述压缩模型进行模型微调,以完成针对所述第二大语言模型的压缩处理。

Description

模型压缩方法、装置、设备和存储介质
技术领域
本申请一个或多个实施例涉及人工智能技术领域,尤其涉及一种模型压缩方法、装置、设备和存储介质。
背景技术
大语言模型(Large Language Models,LLMs)是指使用大量文本数据训练的深度学习模型,可以用于生成自然语言文本或者理解语言文本的含义。大语言模型可以处理多种自然语言任务,如文本分类、问答、对话等,是通向人工智能的一条重要途径。
在大语言模型出现之后,深度学习模型在自然语言处理(Natural LanguageProcessing,NLP)领域中的训练方式发生了剧变。首先,大语言模型可以在极大且多样的公开数据集上进行预训练;然后,再使用较小的与特定任务相关的数据集,在预训练完成的大语言模型的基础上,针对该大语言模型进行与上述特定任务对应的模型微调;最后,因为大语言模型通常包含数以亿计的参数,一方面模型的推理时长和内存占用对于许多应用(Application)而言过大,另一方面这些参数中存在许多冗余的参数,可以在保持模型性能的同时被移除,所以大语言模型在完成微调之后,通常会进一步的进行模型压缩,以减少模型的参数量,然后在部署模型时,可以直接部署压缩完成之后的深度学习模型。
发明内容
本申请一个或多个实施例提供技术方案如下:
本申请提供一种模型压缩方法,所述方法包括:
将与至少一个私有数据样本对应的描述信息输入第一大语言模型,由所述第一大语言模型将所述描述信息作为生成条件,生成与所述描述信息对应的至少一个生成数据样本;
从所述至少一个生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本;
基于筛选出的生成数据样本针对预训练完成的第二大语言模型进行模型压缩,得到与所述第二大语言模型对应的压缩模型;其中,所述第二大语言模型基于公开数据样本进行模型预训练;
基于所述私有数据样本对所述压缩模型进行模型微调,以完成针对所述第二大语言模型的压缩处理。
本申请还提供一种模型压缩装置,所述装置包括:
样本生成模块,将与至少一个私有数据样本对应的描述信息输入第一大语言模型,由所述第一大语言模型将所述描述信息作为生成条件,生成与所述描述信息对应的至少一个生成数据样本;
样本筛选模块,从所述至少一个生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本;
模型压缩模块,基于筛选出的生成数据样本针对预训练完成的第二大语言模型进行模型压缩,得到与所述第二大语言模型对应的压缩模型;其中,所述第二大语言模型基于公开数据样本进行模型预训练;
模型微调模块,基于所述私有数据样本对所述压缩模型进行模型微调,以完成针对所述第二大语言模型的压缩处理。
本申请还提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述任一项所述方法的步骤。
在上述技术方案中,可以使用第一大语言模型,基于与私有数据样本对应的描述信息,生成与该描述信息对应的生成数据样本,并从所生成的生成数据样本中进一步地筛选出与私有数据样本相似的生成数据样本,而针对基于公开数据样本完成预训练的第二大语言模型,则可以基于筛选出的生成数据样本,对预训练完成的第二大语言模型进行压缩,得到与第二大语言模型对应的压缩模型,最后可以基于该私有数据样本对该压缩模型进行微调,由此完成针对第二大语言模型的压缩处理,并获得更适合部署的该压缩模型。
采用上述方式,一方面,由于将微调过程和压缩过程在执行顺序上进行了互换,使得微调过程可以不再在大语言模型的基础上进行,而是在与大语言模型对应的压缩模型的基础上进行,从而可以减少微调过程中的计算资源消耗。
另一方面,由于上述压缩过程可以不再采用隐私训练的方式,而是采用非隐私训练的方式,仅有上述微调过程仍然采用隐私训练的方式;因此,可以降低模型在性能上的开销;而且,由于压缩模型包含的模型参数的规模要小于大语言模型,这也就意味着在压缩后的大语言模型的基础上引入隐私训练的方式对模型进行微调,相较于直接在尚未压缩的大语言模型的基础上引入隐私训练的方式对模型进行微调,对模型的性能上的负面影响会更小;因此,通过将微调过程和压缩过程在执行顺序上进行互换,还有助于降低模型在性能上的开销,提升模型的性能。
再一方面,通过使用第一大语言模型,基于与私有数据样本对应的描述信息生成相应的生成数据样本,并从所生成的生成数据样本中进一步地筛选出与私有数据样本相似的生成数据样本,以使用筛选出的生成数据样本来完成针对第二大语言模型的压缩处理,可以认为扩大了私有数据样本的数量,并增加了私有数据样本的多样性。
附图说明
下面将对示例性实施例的描述中所需要使用的附图进行说明,其中:
图1是相关技术中的针对大语言模型的压缩处理流程的示意图。
图2是本申请一示例性实施例示出的一种针对大语言模型的压缩处理流程的示意图。
图3是本申请一示例性实施例示出的一种模型压缩方法的流程图。
图4是本申请一示例性实施例示出的一种设备的结构示意图。
图5是本申请一示例性实施例示出的一种模型压缩装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或者相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请一个或多个实施例相一致的所有实施方式。相反,它们仅是与本申请一个或多个实施例的一些方面相一致的例子。
需要说明的是,在其他实施例中并不一定按照本申请示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本申请所描述的更多或者更少。此外,本申请中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本申请中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
大语言模型(Large Language Models,LLMs)是指使用大量文本数据训练的深度学习模型,可以用于生成自然语言文本或者理解语言文本的含义。大语言模型可以处理多种自然语言任务,如文本分类、问答、对话等,是通向人工智能的一条重要途径。
大语言模型通常采用Transformer架构,即大语言模型通常是基于Transformer架构的深度学习模型。基于Transformer架构的深度学习模型是一类采用Transformer架构的神经网络模型,这种模型在自然语言处理等领域中表现出色。
Transformer是一种用于序列到序列(Sequence-to-Sequence)建模的神经网络模型。Transformer不需要依赖递归结构,能够并行化训练和推理,加快了模型处理速度。
在基于Transformer架构的深度学习模型中,通常使用多层的Transformer编码器来从输入序列中提取特征,并使用一个Transformer解码器将这些特征转换为输出序列。同时,这些模型还通常采用自注意力机制(Self-Attention Mechanism)来捕获输入序列中的长距离依赖关系,以及残差连接(Residual Connection)和正则化方法(NormalizationMethod)来加速训练和提高模型性能。
预训练模型是在大规模的无标签文本数据上进行预训练的语言模型。预训练模型是通用的,它不针对特定任务进行设计和优化。为了使预训练模型适应具体的任务,需要执行微调操作,以提高在模型特定任务上的性能。大语言模型则是在预训练模型的基础上进行进一步的微调,并通过有标签文本数据进行有监督学习的模型。
也即,大语言模型的训练过程通常可以分为两个阶段:预训练(Pre-training)和微调(Fine-tuning)。在预训练阶段中,可以采用无监督学习(例如:自监督学习)的方式,在公开数据集(例如:网络百科、网络文章、书籍等)上进行预训练;模型会尝试根据上下文来预测缺失的部分或下一个词语,以学习语义、句法等语言的内在结构和语言的内在规律;可以通过梯度下降等优化算法,不断调整模型参数,以逐渐提高模型在预训练任务上的性能。在微调阶段中,可以根据具体的应用场景和任务需求,选择相应的有监督学习任务(例如:文本分类、命名实体识别、问答系统等),并准备任务特定的数据集;将预训练完成的模型作为微调的起点,采用有监督学习的方式,在任务特定的数据集上进行训练;可以通过梯度下降等优化算法,根据数据集的标签,调整模型参数,使模型逐渐适应特定任务和数据集的要求。预训练和微调是相互补充的过程,预训练使模型能够具备广泛的语言理解能力,微调则使模型在具体的任务上变得更加专业和精准。
大语言模型包含数以亿计的参数,一方面模型的推理时长和内存占用对于许多应用(Application)而言过大,另一方面这些参数中存在许多冗余的参数,可以在保持模型性能的同时被移除。因此,在自然语言处理领域中,通常不会直接使用大语言模型,而是会对训练完成的大语言模型进行压缩,以减少模型参数量,而在部署模型时即可使用压缩得到的深度学习模型。
模型压缩是一种通过减少神经网络模型的大小和复杂性来减少存储空间和计算资源需求的技术。它可以提高模型在移动设备、边缘计算等资源有限的环境中的部署效率,并降低传输和推理的延迟。模型压缩算法包括剪枝(Pruning)、量化(Quantization)、网络结构优化(Network Architecture Optimization)、知识蒸馏(Knowledge Distillation)等。这些模型压缩算法可以单独使用,也可以组合使用以达到更好的效果。通常,可以根据模型的特性、具体的应用场景和性能需求,选择合适的模型压缩算法。
虽然基于Transformer架构的深度学习模型推动了深度学习技术朝着设计更大的模型以实现更好的性能的方向发展,但是在实际应用中,大模型中包含的模型参数越多,势必也需要更多的数据对模型进行训练,这也就意味着更多的个人信息可能会被纳入到模型的训练之中。
如果这些个人信息没有得到充分的保护(比如进行加密保护或者脱敏处理保护),理论上针对模型参数进行逆向的反推,是有可能恢复出部分或全部的训练数据内容的。这种针对模型参数进行逆向的反推的过程,通常称为“模型逆推”或“模型反演”。虽然目前为止,实现这种逆向的反推并不是一件容易的事情,但已经有研究表明,通过对模型参数进行逆向的数据分析,已经能够获得一些与训练数据相关的数据特征或者数据分布。
相关技术中,为了缓解大语言模型造成的其训练数据集包含的隐私数据的泄露,会在大语言模型的训练过程中采用隐私训练(Privacy-Preserving Training)的方式。
具体地,对于大语言模型的训练过程而言,预训练阶段使用的数据集通常是公开数据集,而微调阶段使用的数据集则是包含隐私数据的私有数据集,因此会在微调阶段采用隐私训练的方式。
隐私训练是一种隐私保护的机器学习方法,旨在在训练模型的过程中保护训练数据的隐私。隐私训练通过使用差分隐私或者同态加密等技术,在不暴露原始数据的情况下进行模型训练和更新。
在传统的机器学习中,模型训练通常是在集中式服务器上进行的,所有的训练数据都被收集到一个地方并用于训练模型。这种方式存在泄露数据隐私的风险,因为所有的数据都会被发送到服务器上进行处理。
与之相反,隐私训练使用一些隐私保护技术来保护数据隐私。其中最常见的技术是差分隐私,它通过向原始数据添加噪声来保护隐私。具体地,对于每个参与训练的样本,差分隐私会将其与另一个“伪造”的样本合并,然后使用一些随机的技术来添加噪声,使得真实样本和伪造样本在隐私上是等价的,同时也确保了模型的准确性。
除了差分隐私,同态加密也是一种广泛应用于隐私训练的技术。同态加密可以让计算在加密数据上进行,同时输出的结果也是加密的,从而避免了数据随处传递的问题。
在完成针对大语言模型的微调之后,为了进一步的降低大语言模型包含的模型参数的数量,可以继续对训练完成的大语言模型进行压缩处理。其中,需要说明的是,对大语言模型进行压缩处理所使用的通常也是包含隐私数据的私有数据集,因此也要采用隐私训练的方式。
请参考图1,图1是相关技术中的针对大语言模型的压缩处理流程的示意图。
如图1所示,首先,可以采用无监督学习的方式,使用公开数据集,对大语言模型进行预训练。其中,该预训练过程采用非隐私训练的方式。
然后,可以采用有监督学习的方式,使用包含隐私数据的私有数据集,对预训练完成的上述大语言模型进行微调。其中,该微调过程采用隐私训练的方式。由此,就完成了针对该大语言模型的训练。
需要说明的是,对大语言模型进行压缩,本质上是通过减少该大语言模型的模型参数量,得到相对而言更小的深度学习模型,并使用用于对该大语言模型进行前置训练(即微调)的数据集,对该深度学习模型进行训练,使得该深度学习模型的模型性能能够接近该大语言模型。因此,也可以使用上述私有数据集,对训练完成的上述大语言模型进行压缩。其中,该压缩过程也采用隐私训练的方式。
由此,就可以通过针对该大语言模型实施包含预训练、微调和压缩这三个步骤的训练方式,完成了针对该大语言模型的压缩处理,并最终获得了包含的模型参数的规模适量,更适合部署的深度学习模型。
然而,相关技术中针对大语言模型的压缩处理的方案存在以下缺陷:
第一,微调过程在预训练完成的大语言模型的基础上进行,此时该大语言模型尚未经过压缩,包含大量的模型参数,这会导致与微调过程对应的训练需要消耗较多的计算资源。
第二,虽然微调过程采用隐私训练的方式,可以降低隐私数据泄露的风险,但是由于目前的隐私训练方法通常都是通过适度牺牲模型的性能,来换取对隐私数据的保障;因此,引入隐私训练的方式,虽然在某种程度上可以降低隐私数据泄露的风险,但都会对模型的性能或多或少的产生一些负面的影响;而且,参数量越大的模型,对该模型在性能方面的负面影响也就会明显。
例如,以采用差分隐私算法作为隐私训练算法为例,基于差分隐私算法,通常会在需要保护的隐私数据中引入了一定程度的噪音或扰动,以掩盖敏感信息;而这种噪音或扰动的存在,显然会导致输入模型的数据失真,进而对模型的性能产生一些负面影响;比如,可能会导致模型的输出结果的准确度降低。而且,在实际应用中,差分隐私算法在隐私数据中引入的噪音或扰动的量,通常跟模型包含的模型参数的数量相关,模型包含的模型参数越多,差分隐私算法在隐私数据中引入的噪音或扰动的量也就会越大;因此,不难理解,对于包含的模型参数的数量越大的模型,差分隐私算法需要引入的噪音或扰动的量也就越大,进而这些噪音或扰动对该模型在性能方面的负面影响也就会明显。
可见,采用隐私训练的方式对大语言模型进行微调,势必会造成较大的模型性能上开销;而且,在微调过程和压缩过程都采用了隐私训练的方式的背景下,这种模型性能上的开销尤其明显。
本申请提供一种模型压缩的技术方案,可以使用第一大语言模型,基于与私有数据样本对应的描述信息,生成与该描述信息对应的生成数据样本,并从所生成的生成数据样本中进一步地筛选出与私有数据样本相似的生成数据样本,而针对基于公开数据样本完成预训练的第二大语言模型,则可以基于筛选出的生成数据样本,对预训练完成的第二大语言模型进行压缩,得到与第二大语言模型对应的压缩模型,最后可以基于该私有数据样本对该压缩模型进行微调,由此完成针对第二大语言模型的压缩处理,并获得更适合部署的该压缩模型。
采用上述方式,一方面,由于将微调过程和压缩过程在执行顺序上进行了互换,使得微调过程可以不再在大语言模型的基础上进行,而是在与大语言模型对应的压缩模型的基础上进行,从而可以减少微调过程中的计算资源消耗。
另一方面,由于上述压缩过程可以不再采用隐私训练的方式,而是采用非隐私训练的方式,仅有上述微调过程仍然采用隐私训练的方式;因此,可以降低模型在性能上的开销;而且,由于压缩模型包含的模型参数的规模要小于大语言模型,这也就意味着在压缩后的大语言模型的基础上引入隐私训练的方式对模型进行微调,相较于直接在尚未压缩的大语言模型的基础上引入隐私训练的方式对模型进行微调,对模型的性能上的负面影响会更小;因此,通过将微调过程和压缩过程在执行顺序上进行互换,还有助于降低模型在性能上的开销,提升模型的性能。
再一方面,通过使用第一大语言模型,基于与私有数据样本对应的描述信息生成相应的生成数据样本,并从所生成的生成数据样本中进一步地筛选出与私有数据样本相似的生成数据样本,以使用筛选出的生成数据样本来完成针对第二大语言模型的压缩处理,可以认为扩大了私有数据样本的数量,并增加了私有数据样本的多样性。
请参考图2,图2是本申请一示例性实施例示出的一种针对大语言模型的压缩处理流程的示意图。
与图1示出的压缩处理不同的是,如图2所示的压缩处理流程中包含的微调过程和压缩过程的执行顺序进行了互换。
在使用公开数据集,采用非隐私训练的方式,对大语言模型进行预训练完成后,可以暂且不对预训练完成的上述大语言模型进行微调,而是先针对预训练完成的该大语言模型进行压缩。
具体地,可以使用第一大语言模型,基于与私有数据集包含的私有数据样本对应的描述信息,生成与该描述信息对应的生成数据样本,并从所生成的生成数据样本中进一步地筛选出与私有数据样本相似的生成数据样本,并使用筛选出的生成数据样本,针对预训练完成的该大语言模型进行压缩。
需要说明的是,由于该压缩过程使用的数据集本质上是新生成的与私有数据样本相似的生成数据样本,该压缩过程就可以不再采用隐私训练的方式,而是采用非隐私训练的方式。在这种情况下,可以将压缩得到的深度学习模型称为压缩模型,此时该压缩模型尚未针对特定任务进行优化,不适用于具体的任务。
最后,可以采用有监督学习的方式,使用上述私有数据集,对上述压缩模型进行微调,即对该压缩模型进行针对特定任务的优化。其中,该微调过程采用隐私训练的方式。由此,就通过针对上述大语言模型实施包含预训练、微调和压缩这三个步骤的训练方式,完成了针对该大语言模型的压缩处理,而微调完成的该压缩模型即为更适合部署的深度学习模型。
请结合图2,参考图3,图3是本申请一示例性实施例示出的一种模型压缩方法的流程图。
在本实施例中,上述模型压缩方法可以应用于服务器。其中,该服务器可以是包含一台独立的物理主机的服务器,也可以是由多台互相独立的物理主机构成的服务器集群;或者,该服务器可以是由主机集群承载的虚拟服务器、云服务器等。
或者,上述模型压缩方法可以应用于台式计算机、笔记本电脑、掌上电脑(Personal Digital Assistants,PDAs)、平板设备等,具有一定的计算能力的电子设备上。
上述模型压缩方法可以包括以下步骤:
步骤302:将与至少一个私有数据样本对应的描述信息输入第一大语言模型,由所述第一大语言模型将所述描述信息作为生成条件,生成与所述描述信息对应的至少一个生成数据样本。
在本实施例中,对于预训练完成的大语言模型(可称之为第二大语言模型)而言,可以暂且不对预训练完成的第二大语言模型进行微调,而是先针对预训练完成的第二大语言模型进行压缩。
如果只是简单地将上述微调过程和上述压缩过程在执行顺序上进行对调,会导致该压缩过程使用上述公开数据集,而私有数据没有参与,使得该压缩过程缺乏针对性,即没有针对私有数据进行优化。
在实际应用中,前置训练过程使用的数据集与微调过程使用的数据集的分布越相近,微调效果越好。由于将上述微调过程和上述压缩过程在执行顺序上进行了对调,为了保证压缩过程有利于私有数据,并保证微调效果,在针对预训练完成的上述大语言模型进行压缩时,可以使用由已经完全训练完成的大语言模型(可称之为第一大语言模型)生成的,与用于对该大语言模型进行微调的私有数据集包含的至少一个私有数据样本相似的生成数据样本。
具体而言,首先可以将与私有数据集包含的至少一个私有数据样本对应的描述信息输入上述第一大语言模型,由第一大语言模型将该描述信息作为生成条件,生成与该描述信息对应的至少一个生成数据样本。
条件生成是指在生成文本时,给定一个特定的条件来影响生成结果。生成条件可以是一个单词、一个短语、一个问题或者一个完整的句子。大语言模型可以通过在生成过程中引入生成条件,使得生成的文本更加准确和有针对性。
在使用大语言模型进行条件生成时,可以采用前缀设置、控制标记、上下文输入等方式。前缀设置是指可以在生成文本之前,将条件文本作为前缀输入到模型中,模型会在生成时利用这个前缀来影响输出结果;例如,如果要生成一段关于狗的描述,可以将“狗是”作为前缀输入到模型中。控制标记是指可以通过在条件文本中添加特殊的控制标记来指示生成的方向或主题,模型可以根据这些标记的存在与否进行相应的调整;例如,可以在条件文本中添加一个“主题:”标记,后面跟着主题的关键词,以指示生成的文本要与该主题相关。上下文输入是指可以将条件文本作为上下文的一部分输入到模型中,模型可以在生成时利用这个上下文来理解条件的含义并做出相应的生成;例如,在对话生成中,可以将之前的对话历史作为上下文输入到模型中,以便生成与之前对话内容相关的回复。
在一些实施例中,上述数据样本(包括公开数据样本、私有数据样本和生成数据样本)可以是文本数据样本。相应地,上述描述信息可以包括以下示出的一种或多种:文本长度,文本类型,文本描述内容,等等。
步骤304:从所述至少一个生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本。
在本实施例中,上述第一大语言模型可以输出将上述描述信息作为生成条件,生成的与该描述信息对应的至少一个生成数据样本。
进一步地,可以从上述至少一个生成数据样本中,筛选出的与上述私有数据集包含的至少一个私有数据样本相似的生成数据样本,组成用于对预训练完成的上述第二大语言模型进行压缩的新的数据集。
步骤306:基于筛选出的生成数据样本针对预训练完成的第二大语言模型进行模型压缩,得到与所述第二大语言模型对应的压缩模型;其中,所述第二大语言模型基于公开数据样本进行模型预训练。
在本实施例中,可以预先准备好已经预训练完成的大语言模型(可称之为第二大语言模型),第二大语言模型可以是基于公开数据集包含的公开数据样本进行模型预训练的。
在一些实施例中,可以预先基于上述公开数据集包含的上述公开数据样本,对上述第二大语言模型进行模型预训练。
具体地,可以采用无监督学习的方式,在上述公开数据集上对上述第二大语言模型进行预训练。其中,第二大语言模型可以尝试根据上下文来预测缺失的部分或下一个词语,以学习语义、句法等语言的内在结构和语言的内在规律。在这种情况下,可以基于诸如梯度下降算法等优化算法,不断调整第二大语言模型的模型参数,以逐渐提高第二大语言模型在预训练任务上的性能。
为了进一步降低微调过程对预训练完成的上述第二大语言模型的性能上的负面影响,可以对微调过程和压缩过程的执行顺序进行互换,在完成第二大语言模型的预训练后,可以先对第二大语言模型进行模型压缩。
需要说明的是,为了进一步降低隐私数据的泄露风险,在针对预训练完成的上述第二大语言模型进行模型压缩时,可以不再使用私有数据样本,而是使用生成数据样本。在从上述至少一个生成数据样本中筛选出了与上述至少一个私有数据样本相似的生成数据样本之后,可以进一步基于筛选出的生成数据样本,针对预训练完成的第二大语言模型进行模型压缩。
在一些实施例中,针对预训练完成的上述第二大语言模型进行模型压缩,具体可以采用针对第二大语言模型进行知识蒸馏训练的方式来完成。
在这种情况下,在从上述至少一个生成数据样本中筛选出了与上述至少一个私有数据样本相似的生成数据样本之后,可以基于筛选出的生成数据样本进一步针对预训练完成的上述第二大语言模型进行知识蒸馏训练,得到与第二大语言模型对应的压缩模型。其中,在该知识蒸馏过程中,第二大语言模型即为作为教师模型的模型,而该压缩模型则为作为学生模型的模型。
通过知识蒸馏,可以将作为教师模型的上述第二大语言模型的知识转移给作为学生模型的上述压缩模型,以提高该压缩模型的模型性能。为了进行知识蒸馏,可以先定义一个损失函数来衡量学生模型的预测结果与教师模型的预测结果之间的差异;通常使用软目标(Soft Targets)来实现这一点,即使用教师模型的输出作为学生模型的目标,并计算交叉熵损失或者其他相似的损失函数。后续,可以使用教师模型的预测结果作为辅助目标,结合学生模型的原始目标进行训练,通过迭代地最小化损失函数来更新学生模型的模型参数。
步骤308:基于所述私有数据样本对所述压缩模型进行模型微调,以完成针对所述第二大语言模型的压缩处理。
在本实施例中,在完成针对上述第二大语言模型的模型压缩之后,此时上述压缩模型尚未针对特定任务进行优化,不适用于具体的任务。因此,可以进一步地在模型压缩得到的压缩模型的基础上,继续对第二大语言模型进行模型微调。
需要说明的是,与对上述第二大语言模型进行模型压缩不同的是,在对上述压缩模型进行模型微调时,仍然可以使用上述私有数据集包含的私有数据样本。
具体地,上述私有数据集可以是针对特定任务(例如:文本分类、命名实体识别、问答系统等)的带标签的数据集;可以将上述压缩模型作为微调的起点,采用有监督学习的方式,在该私有数据集上对该压缩模型进行训练。在这种情况下,可以基于诸如梯度下降算法等优化算法,根据该私有数据集的标签,调整该压缩模型的模型参数,使该压缩模型逐渐适应特定任务和该私有数据集的要求。
由此,就通过针对上述第二大语言模型实施包含预训练、微调和压缩这三个步骤的训练方式,完成了针对第二大语言模型的压缩处理,而微调完成的上述压缩模型即为更适合部署的深度学习模型。
在一些实施例中,由于上述预训练过程使用的是公开数据集,上述压缩过程使用的是由生成数据样本组成的新的数据集,该预训练过程和该压缩过程就都可以采用非隐私训练的方式。而上述微调过程使用的是私有数据集,因此该微调过程可以采用隐私训练的方式。
也即,在基于上述私有数据样本对上述压缩模型进行模型微调时,具体可以采用隐私训练算法,基于该私有数据样本对该压缩模型进行模型微调训练。
由于上述压缩过程可以不再采用隐私训练的方式,而是采用非隐私训练的方式,仅有上述微调过程仍然采用隐私训练的方式;因此,通过这种方式,可以降低模型的性能开销。此外,虽然该微调过程仍然采用了隐私训练的方式,但是不再是对大语言模型进行微调,而是对与大语言模型对应的压缩模型进行微调,由于压缩模型包含的模型参数的规模要小于大语言模型,这也就意味着在压缩后的大语言模型的基础上引入隐私训练的方式对模型进行微调,相较于直接在尚未压缩的大语言模型的基础上引入隐私训练的方式对模型进行微调,对模型的性能上的负面影响会更小;因此,通过将微调过程和压缩过程在执行顺序上进行互换,显然可以减小隐私训练在模型性能方面的负面影响,有助于提升模型的性能。
在一些实施例中,上述隐私训练算法,可以包括:基于差分隐私(DifferentialPrivacy,DP)的训练算法。
差分隐私是一种隐私保护的技术框架,旨在在数据的分析过程中提供隐私保护,同时允许对数据进行有意义的统计分析。差分隐私通过在原始数据中引入噪声或扰动,使得个体隐私得到保护,并限制了在分析结果中推断出个体敏感信息的可能性。
差分隐私提供了一种数学定义的隐私保护机制,它量化了将某个个体从数据集中移除或替换为另一个个体之后,对最终结果的影响程度。通过添加适当的噪声或扰动,可以达到在保持数据实用性的前提下,提供显著的隐私保护。差分隐私的核心思想是尽量减少因为某个个体的参与或不参与导致输出结果变化的程度,从而保护个体的隐私。
差分隐私机制是用来实现差分隐私的具体算法,包括Laplace机制、Gaussian机制、Exponential机制、加噪机制等。Laplace机制是一种基于概率分布的差分隐私机制。在Laplace机制中,噪声被添加到查询的结果中,以模糊原始数据。噪声的大小由Laplace分布控制,具有零均值和一定的尺度参数。Gaussian机制也是一种基于概率分布的差分隐私机制。Gaussian机制使用高斯分布产生噪声。Exponential机制是一种根据数据的特征选择输出结果的差分隐私机制。它通过根据数据贡献和目标函数的敏感性来进行选择,从而平衡隐私保护和数据效用之间的权衡。加噪机制是一种直接在查询结果中添加噪声的差分隐私机制。加噪机制可以通过对查询结果进行加噪来减少个体隐私信息的泄露,例如:在计算平均数时对结果添加噪声。
在一些实施例中,上述基于差分隐私的训练算法,可以包括:基于差分隐私的随机梯度下降(Differentially Private Stochastic Gradient Descent,DP-SGD)算法。
DP-SGD结合了隐私保护和随机梯度下降(Stochastic Gradient Descent,SGD)算法。DP-SGD通过添加噪声来保护模型的训练样本中包含的个人隐私信息,以防止针对特定个体的敏感信息泄漏。
DP-SGD基于差分隐私的概念进行隐私保护。在训练过程中,DP-SGD通过在计算的梯度上引入噪声来实现隐私保护。具体来说,它在每个迭代步骤中,对计算得到的梯度进行扰动,添加一定的噪声。这样可以在一定程度上隐藏个人数据的贡献,从而保护隐私。为了控制隐私泄露的程度,DP-SGD引入了隐私预算(Privacy Budget)。隐私预算用于衡量可以添加多少噪声来保护隐私信息。较小的隐私预算意味着更严格的隐私保护。DP-SGD基于随机梯度下降算法进行模型训练。在每个迭代步骤中,它从训练样本中随机选择一小批样本,计算其对应的梯度,并根据梯度方向更新模型参数。
下面对上述步骤304中从所述至少一个生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本的过程进行详细说明。
在一些实施例中,可以迭代执行以下步骤,直至迭代次数达到预设的阈值(可称之为第一阈值),以从上述至少一个生成数据样本中筛选出与上述至少一个私有数据样本相似的生成数据样本:对生成数据样本进行数据变形处理,得到变形后的生成数据样本,并将生成数据样本和变形后的生成数据样本确定为待筛选生成数据样本;从待筛选生成数据样本中筛选出与至少一个私有数据样本相似的生成数据样本。其中,第一阈值可以是根据实际需求人工预先设置的数值,也可以是系统默认的缺省值,本申请对此不作限制。
需要说明的是,由上述第一大语言模型生成的上述至少一个生成数据样本的数量,可以与上述至少一个私有数据样本的数量相等;从上述待筛选生成数据样本中筛选出的生成数据样本的数量,也可以与上述至少一个私有数据样本的数量相等。
为了便于描述,用N个生成数据样本表示上述至少一个生成数据样本,用N个私有数据样本表示上述至少一个私有数据样本。
迭代过程具体可以如下所示:
在第一次迭代时,可以对初始的N个生成数据样本(即上述第一大语言模型输出的N个生成数据样本)进行t次数据变形处理,得到N*t个变形后的生成数据样本,并将这N个生成数据样本和这N*t个变形后的生成数据样本一起确定为待筛选生成数据样本,得到N*(t+1)个待筛选生成数据样本,从而可以从这N*(t+1)个待筛选生成数据样本中筛选出与N个私有数据样本相似的N个生成数据样本;
在第二次迭代时,可以对第一次迭代后得到的N个生成数据样本进行t次数据变形处理,得到N*t个变形后的生成数据样本,并将这N个生成数据样本和这N*t个变形后的生成数据样本一起确定为待筛选生成数据样本,得到N*(t+1)个待筛选生成数据样本,从而可以从这N*(t+1)个待筛选生成数据样本中筛选出与N个私有数据样本相似的N个生成数据样本;
在第三次迭代时,可以对第二次迭代后得到的N个生成数据样本进行t次数据变形处理,得到N*t个变形后的生成数据样本,并将这N个生成数据样本和这N*t个变形后的生成数据样本一起确定为待筛选生成数据样本,得到N*(t+1)个待筛选生成数据样本,从而可以从这N*(t+1)个待筛选生成数据样本中筛选出与N个私有数据样本相似的N个生成数据样本;
以此类推,直至迭代次数达到上述第一阈值。
在一些实施例中,可以根据上述迭代次数的不同,对生成数据样本进行不同的数据变形处理,以得到多种多样的变形后的生成数据样本。具体地,可以先确定迭代次数是否达到预设的阈值(可称之为第二阈值)。其中,第二阈值可以是根据实际需求人工预先设置的数值,也可以是系统默认的缺省值,本申请对此不作限制。
如果上述迭代次数未达到上述第二阈值,则可以将生成数据样本输入上述第一大语言模型,由第一大语言模型生成与生成数据样本相似的数据,并输出生成的数据。在这种情况下,可以将第一大语言模型输出的数据(即所生成的与生成数据样本相似的数据)确定为变形后的生成数据样本。
例如,假设生成数据样本为句子形式的文本数据,则可以在上述迭代次数未达到上述第二阈值时,利用第一大语言模型生成与生成数据样本的句式或句义等相似的句子,作为变形后的生成数据样本。这种变形可以视为对生成数据样本的整句变形,变形程度可以由迭代次数决定,迭代次数越高则变形程度越低。
如果上述迭代次数达到上述第二阈值,则可以从生成数据样本包含的数据内容中删除部分数据内容,并将删除了部分数据内容的生成数据样本输入上述第一大语言模型,由第一大语言模型对删除了部分数据内容的生成数据样本进行补全处理,并输出补全后的生成数据样本,在这种情况下,可以将第一大语言模型输出的数据(即补全后的生成数据样本)确定为变形后的生成数据样本。
例如,假设生成数据样本为句子形式的文本数据,则可以在上述迭代次数达到上述第二阈值时,去掉生成数据样本中的一些词(例如:可以优先去掉生成数据样本中的名词、动词),并针对去掉了一些词的生成数据样本,利用第一大语言模型补全句子,得到补全后的生成数据样本,作为变形后的生成数据样本。
在实际应用中,也可以利用已经完全训练完成的其他大语言模型对生成数据样本进行数据变形处理,这样就可以避免第一大语言模型参与数据变形处理任务,保证第一大语言模型生成与私有数据样本的描述信息对应的生成数据样本的能力。
在一些实施例中,在从上述待筛选生成数据样本中筛选出与上述至少一个私有数据样本相似的生成数据样本时,具体可以先计算待筛选生成数据样本中的各个生成数据样本,与至少一个私有数据样本中的各个私有数据样本之间的相似度,再基于计算得到的相似度,从待筛选生成数据样本中筛选出与至少一个私有数据样本相似的生成数据样本。
例如,假设上述待筛选生成数据样本包括生成数据样本1、生成数据样本2、生成数据样本3、生成数据样本4,上述至少一个私有数据样本包括私有数据样本1、私有数据样本2,则可以先计算生成数据样本1与私有数据样本1之间的相似度、生成数据样本1与私有数据样本2之间的相似度、生成数据样本2与私有数据样本1之间的相似度、生成数据样本2与私有数据样本2之间的相似度、生成数据样本3与私有数据样本1之间的相似度、生成数据样本3与私有数据样本2之间的相似度、生成数据样本4与私有数据样本1之间的相似度、生成数据样本4与私有数据样本2之间的相似度,再根据这8个相似度,从这4个待筛选生成数据样本中筛选出与这2个私有数据样本相似的生成数据样本。
在一些实施例中,在计算上述待筛选生成数据样本中的各个生成数据样本与上述至少一个私有数据样本中的各个私有数据样本之间的相似度时,具体可以获取待筛选生成数据样本中的各个生成数据样本对应的特征向量(可称之为第一特征向量),并获取至少一个私有数据样本中的各个私有数据样本对应的特征向量(可称之为第二特征向量),从而可以计算各个生成数据样本对应的第一特征向量与各个私有数据样本对应的第二特征向量之间的向量相似度,作为待筛选生成数据样本中的各个生成数据样本与至少一个私有数据样本中的各个私有数据样本之间的相似度。其中,向量相似度可以是欧几里得距离,也可以是余弦相似度或曼哈顿距离,本申请对此不作限制。
在实际应用中,可以通过对上述生成数据样本进行Embedding,获取该生成数据样本对应的第一特征向量;同理,可以通过对上述私有数据样本进行Embedding,获取该私有数据样本对应的第二特征向量。Embedding是将离散的符号或类别数据转换为连续的实值向量表示。在机器学习和自然语言处理中,Embedding通常用于将文本、图像和音频等非结构化数据转化为机器可处理的数值形式,从而支持各种特征表示和模型训练。在深度学习中,Embedding通常用于特征提取和表示学习。
需要说明的是,可以使用特征提取器计算生成数据样本对应的第一特征向量,以及私有数据样本对应的第二特征向量。其中,特征提取器可以是BERT(BidirectionalEncoder Representations from Transformers)模型,也可以是上述第一大语言模型中的特征提取层,还可以是已经完全训练完成的其他大语言模型中的特征提取层,本申请对此不作限制。
在一些实施例中,在基于上述待筛选生成数据样本中的各个生成数据样本,与上述至少一个私有数据样本中的各个私有数据样本之间的相似度,从待筛选生成数据样本中筛选出与至少一个私有数据样本相似的生成数据样本时,具体可以先将各个生成数据样本与各个私有数据样本之间的相似度,转换为待筛选生成数据样本中的各个生成数据样本的分布概率。后续,可以基于各个生成数据样本的分布概率,对待筛选生成数据样本进行重采样处理,并将通过重采样处理得到的数据,确定为从待筛选生成数据样本中筛选出与至少一个私有数据样本相似的生成数据样本。
在实际应用中,可以采用放回采样的方式,基于各个生成数据样本的分布概率,对待筛选生成数据样本进行重采样处理。
重采样是一种统计方法,用于从已有的数据集中生成新的样本。重采样的基本思想是通过对原始数据进行随机抽样或变换,生成与原始数据集相似但具有一定差异的新样本集合。这样可以通过增加样本数量、调整样本权重或生成新的样本来改变数据的概率分布,从而满足特定的需求。
一方面,在一些实施例中,为了将上述待筛选生成数据样本中的各个生成数据样本,与上述至少一个私有数据样本中的各个私有数据样本之间的相似度,转换为待筛选生成数据样本中的各个生成数据样本的分布概率,首先可以针对至少一个私有数据样本中的各个私有数据样本,确定待筛选生成数据样本中与这个私有数据样本之间的相似度最高的生成数据样本,然后可以针对待筛选生成数据样本中的各个生成数据样本,统计将这个生成数据样本作为其相似度最高的生成数据样本的私有数据样本的数量,最后可以对针对各个生成数据样本统计得到的数量进行归一化处理,得到归一化后的数量,并将归一化后的数量确定为各个生成数据样本的分布概率。
继续以上述举例为例,假设上述待筛选生成数据样本包括生成数据样本1、生成数据样本2、生成数据样本3、生成数据样本4,上述至少一个私有数据样本包括私有数据样本1、私有数据样本2,进一步假设私有数据样本1与这4个生成数据样本中的生成数据样本1之间的相似度最高,私有数据样本与这4个生成数据样本中的生成数据样本3之间的相似度最高,则可以统计得到将生成数据样本1作为其相似度最高的生成数据样本的私有数据样本的数量为1,将生成数据样本2作为其相似度最高的生成数据样本的私有数据样本的数量为0,将生成数据样本3作为其相似度最高的生成数据样本的私有数据样本的数量为1,将生成数据样本4作为其相似度最高的生成数据样本的私有数据样本的数量为0;后续,可以对这4个数量进行归一化处理,从而可以确定生成数据样本1的分布概率为0.5(即1/2),生成数据样本2的分布概率为0,生成数据样本3的分布概率为0.5(即1/2),生成数据样本4的分布概率为0。
另一方面,在一些实施例中,在基于上述分布概率对上述待筛选生成数据样本进行重采样处理,以从待筛选生成数据样本中筛选出与上述至少一个私有数据样本相似的生成数据样本时,具体可以先基于待筛选生成数据样本中的各个生成数据样本的分布概率,生成直方图,该直方图的横轴可以表示待筛选生成数据样本中的各个生成数据样本,该直方图的纵轴可以表示待筛选生成数据样本中的各个生成数据样本的分布概率,后续可以基于该直方图,对待筛选生成数据样本进行重采样处理。
对表示概率的直方图进行重采样是指根据原始直方图的概率分布,生成符合相同或类似分布的新样本。具体地,首先可以根据原始直方图的概率分布,计算得到对应的累积分布函数,其中累积分布函数表示在某个值之前的概率累积,可以理解为概率密度函数的积分;然后可以使用一个随机数生成器生成一个0到1之间的随机数;再然后可以将生成的随机数与原始直方图的累积分布函数进行比较,找到对应的区间,即找到使得随机数落在该区间的原始直方图的概率分布区间;最后可以在确定的区间内,利用线性插值的方法,在该区间的上下限之间生成一个新的样本值,其中插值方法可以根据具体情况选择,例如线性插值、多项式插值等;通过重复进行上述步骤,即可生成所需数量的新样本。
在一些实施例中,在基于上述直方图对上述待筛选生成数据样本进行重采样处理时,具体可以采用差分隐私算法,基于该直方图对待筛选生成数据样本进行重采样处理,以提供一定的隐私保护能力。
在一些实施例中,在基于上述待筛选生成数据样本中的各个生成数据样本,与上述至少一个私有数据样本中的各个私有数据样本之间的相似度,从待筛选生成数据样本中筛选出与至少一个私有数据样本相似的生成数据样本时,还可以对这些相似度进行归一化处理,得到归一化后的相似度,并采用指数机制或奇异值阈值算法,基于这些归一化后的相似度,从待筛选生成数据样本中筛选出与至少一个私有数据样本相似的生成数据样本。
其中,指数机制是一种隐私保护的方法,用于在具有不同属性的数据集中选择合适的数据项。首先,为每个生成的数据点计算一个“效用”值,该值反映了数据点与目标数据点之间的相似程度。效用值可以根据欧式距离或其他相似度度量来计算。然后,使用指数机制根据效用值的分布概率进行选择。指数机制会增加数据点被选择的概率,以使得效用值较高的数据点更有可能被选中。
而奇异值阈值(Singular Value Thresholding,SVT)算法是一种基于奇异值分解的方法,用于降低数据矩阵的维度,并保留最重要的特征。在这种情况下,将生成的数据点看作是一个数据矩阵,其中每一行表示一个数据点,每一列表示一个属性。使用SVT算法对生成的数据矩阵进行降维,只保留最重要的奇异值和相应的特征向量。通过设置一个适当的阈值,可以确定要保留的奇异值的数量,从而筛选出生成数据中最相关的部分。
在一些实施例中,在从上述待筛选生成数据样本中筛选出与上述至少一个私有数据样本相似的生成数据样本时,还可以预先采用隐私训练算法,使用至少一个私有数据样本和上述公开数据样本训练得到分类模型,后续可以将待筛选生成数据样本输入训练完成的分类模型,并获取该分类模型输出的待筛选生成数据样本隶属于与至少一个私有数据样本对应的数据样本分类的概率值,从而可以从待筛选生成数据样本中筛选出该概率值最大的预设数量的生成数据样本,作为与至少一个私有数据样本相似的生成数据样本。
具体地,可以将上述待筛选生成数据样本输入采用隐私训练算法训练完成的分类模型,并获取该分类模型输出的待筛选生成数据样本隶属于与上述至少一个私有数据样本对应的数据样本分类的概率值。
在实际应用中,如果某个公开数据样本的上述概率值较大,则说明该分类模型无法区分这个公开数据样本是公开数据样本还是私有数据样本,也就意味着这个公开数据样本与私有数据样本较为相似。因此,可以从目标数据样本分类包含的公开数据样本中,筛选出的该概率值最大的N个公开数据样本,作为与上述私有数据样本相似的公开数据样本。其中,N表示预设数量;可以是由技术人员预先设置的数值,也可以是默认的缺省值,本申请对此不作限制。
需要说明的是,上述分类模型可以是用于判定数据样本是公开数据样本还是私有数据样本的二分类模型。或者,该分类模型可以是用于判定数据样本是公开数据样本还是多类私有数据样本中的某一类私有数据样本的多分类模型。
上述分类模型的训练样本可以既包含公开数据样本又包含私有数据样本。由于该分类模型的训练有私有数据的参与,该训练过程就可以采用隐私训练的方式。但是,在针对上述大语言模型的压缩处理流程中,该分类模型仅用于数据样本筛选,而该分类模型的训练则是预先完成的,因此就算该分类模型的训练过程采用了隐私训练的方式,也不会带来额外的模型性能开销。
在上述技术方案中,可以使用第一大语言模型,基于与私有数据样本对应的描述信息,生成与该描述信息对应的生成数据样本,并从所生成的生成数据样本中进一步地筛选出与私有数据样本相似的生成数据样本,而针对基于公开数据样本完成预训练的第二大语言模型,则可以基于筛选出的生成数据样本,对预训练完成的第二大语言模型进行压缩,得到与第二大语言模型对应的压缩模型,最后可以基于该私有数据样本对该压缩模型进行微调,由此完成针对第二大语言模型的压缩处理,并获得更适合部署的该压缩模型。
采用上述方式,一方面,由于将微调过程和压缩过程在执行顺序上进行了互换,使得微调过程可以不再在大语言模型的基础上进行,而是在与大语言模型对应的压缩模型的基础上进行,从而可以减少微调过程中的计算资源消耗。
另一方面,由于上述压缩过程可以不再采用隐私训练的方式,而是采用非隐私训练的方式,仅有上述微调过程仍然采用隐私训练的方式;因此,可以降低模型在性能上的开销;而且,由于压缩模型包含的模型参数的规模要小于大语言模型,这也就意味着在压缩后的大语言模型的基础上引入隐私训练的方式对模型进行微调,相较于直接在尚未压缩的大语言模型的基础上引入隐私训练的方式对模型进行微调,对模型的性能上的负面影响会更小;因此,通过将微调过程和压缩过程在执行顺序上进行互换,还有助于降低模型在性能上的开销,提升模型的性能。
再一方面,通过使用第一大语言模型,基于与私有数据样本对应的描述信息生成相应的生成数据样本,并从所生成的生成数据样本中进一步地筛选出与私有数据样本相似的生成数据样本,以使用筛选出的生成数据样本来完成针对第二大语言模型的压缩处理,可以认为扩大了私有数据样本的数量,并增加了私有数据样本的多样性。
与前述模型压缩方法的实施例相对应,本申请还提供了模型压缩装置的实施例。
请参考图4,图4是本申请一示例性实施例示出的一种设备的结构示意图。在硬件层面,该设备包括处理器402、内部总线404、网络接口406、内存408以及非易失性存储器410,当然还可能包括所需要的其他硬件。本申请一个或多个实施例可以基于软件方式来实现,比如由处理器402从非易失性存储器410中读取对应的计算机程序到内存408中然后运行。当然,除了软件实现方式之外,本申请一个或多个实施例并不排除其他实现方式,比如逻辑器件或者软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑模块,也可以是硬件或者逻辑器件。
请参考图5,图5是本申请一示例性实施例示出的一种模型压缩装置的框图。
上述模型压缩装置可以应用于图4所示的设备,以实现本申请的技术方案。其中,该模型压缩装置可以包括:
样本生成模块502,将与至少一个私有数据样本对应的描述信息输入第一大语言模型,由所述第一大语言模型将所述描述信息作为生成条件,生成与所述描述信息对应的至少一个生成数据样本;
样本筛选模块504,从所述至少一个生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本;
模型压缩模块506,基于筛选出的生成数据样本针对预训练完成的第二大语言模型进行模型压缩,得到与所述第二大语言模型对应的压缩模型;其中,所述第二大语言模型基于公开数据样本进行模型预训练;
模型微调模块508,基于所述私有数据样本对所述压缩模型进行模型微调,以完成针对所述第二大语言模型的压缩处理。
在一些实施例中,所述装置还包括:
预训练模块,基于所述公开数据样本对所述第二大语言模型进行模型预训练。
在一些实施例中,所述数据样本为文本数据样本;所述描述信息包括以下示出的一种或多种:文本长度,文本类型,文本描述内容。
在一些实施例中,迭代执行以下步骤,直至迭代次数达到预设的第一阈值,以从所述至少一个生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本:
对生成数据样本进行数据变形处理,得到变形后的生成数据样本,并将所述生成数据样本和所述变形后的生成数据样本确定为待筛选生成数据样本;
从所述待筛选生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本。
在一些实施例中,所述对生成数据样本进行数据变形处理,得到变形后的生成数据样本,包括:
确定所述迭代次数是否达到预设的第二阈值;
如果所述迭代次数未达到所述第二阈值,将生成数据样本输入所述第一大语言模型,由所述第一大语言模型生成与所述生成数据样本相似的数据,并将所述第一大语言模型输出的数据确定为变形后的生成数据样本;
如果所述迭代次数达到所述第二阈值,从生成数据样本包含的数据内容中删除部分数据内容,并将删除了部分数据内容的生成数据样本输入所述第一大语言模型,由所述第一大语言模型对删除了部分数据内容的生成数据样本进行补全处理,并将所述第一大语言模型输出的数据确定为变形后的生成数据样本。
在一些实施例中,所述从所述待筛选生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本,包括:
计算所述待筛选生成数据样本中的各个生成数据样本与所述至少一个私有数据样本中的各个私有数据样本之间的相似度;
基于所述相似度从所述待筛选生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本。
在一些实施例中,所述计算所述待筛选生成数据样本中的各个生成数据样本与所述至少一个私有数据样本中的各个私有数据样本之间的相似度,包括:
获取所述待筛选生成数据样本中的各个生成数据样本对应的第一特征向量,并获取所述至少一个私有数据样本中的各个私有数据样本对应的第二特征向量;
计算所述第一特征向量与所述第二特征向量之间的向量相似度,作为所述待筛选生成数据样本中的各个生成数据样本与所述至少一个私有数据样本中的各个私有数据样本之间的相似度。
在一些实施例中,所述基于所述相似度从所述待筛选生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本,包括:
将所述相似度转换为所述待筛选生成数据样本中的各个生成数据样本的分布概率;
基于所述分布概率对所述待筛选生成数据样本进行重采样处理,以从所述待筛选生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本。
在一些实施例中,所述将所述相似度转换为所述待筛选生成数据样本中的各个生成数据样本的分布概率,包括:
针对所述至少一个私有数据样本中的各个私有数据样本,确定所述待筛选生成数据样本中与该私有数据样本之间的相似度最高的生成数据样本,并针对所述待筛选生成数据样本中的各个生成数据样本,统计将该生成数据样本作为其相似度最高的生成数据样本的私有数据样本的数量;
对所述数量进行归一化处理,得到归一化后的数量,并将所述归一化后的数量确定为所述待筛选生成数据样本中的各个生成数据样本的分布概率。
在一些实施例中,所述基于所述分布概率对所述待筛选生成数据样本进行重采样处理,以从所述待筛选生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本,包括:
基于所述分布概率生成直方图;其中,所述直方图的横轴表示所述待筛选生成数据样本中的各个生成数据样本,所述直方图的纵轴表示所述待筛选生成数据样本中的各个生成数据样本的分布概率;
基于所述直方图对所述待筛选生成数据样本进行重采样处理。
在一些实施例中,所述基于所述直方图对所述待筛选生成数据样本进行重采样处理,包括:
采用差分隐私算法,基于所述直方图对所述待筛选生成数据样本进行重采样处理。
在一些实施例中,所述基于所述相似度从所述待筛选生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本,包括:
对所述相似度进行归一化处理,得到归一化后的相似度;
采用指数机制或奇异值阈值算法,基于所述归一化后的相似度,从所述待筛选生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本。
在一些实施例中,所述从所述待筛选生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本,包括:
将所述待筛选生成数据样本输入分类模型;其中,所述分类模型采用隐私训练算法,基于所述至少一个私有数据样本和所述公开数据样本进行模型训练;
获取所述分类模型输出的所述待筛选生成数据样本隶属于与所述至少一个私有数据样本对应的数据样本分类的概率值;
从所述待筛选生成数据样本中筛选出所述概率值最大的预设数量的生成数据样本,作为与所述至少一个私有数据样本相似的生成数据样本。
在一些实施例中,所述基于筛选出的生成数据样本针对预训练完成的第二大语言模型进行模型压缩,得到与所述第二大语言模型对应的压缩模型,包括:
基于筛选出的生成数据样本针对预训练完成的作为教师模型的第二大语言模型进行知识蒸馏训练,得到与所述第二大语言模型对应的作为学生模型的压缩模型。
在一些实施例中,所述基于所述私有数据样本对所述压缩模型进行模型微调,包括:
采用隐私训练算法,基于所述私有数据样本对所述压缩模型进行模型微调。
在一些实施例中,所述隐私训练算法,包括:基于差分隐私的训练算法。
在一些实施例中,所述基于差分隐私的训练算法,包括:基于差分隐私的随机梯度下降算法。
对于装置实施例而言,其基本对应于方法实施例,因此相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请的技术方案的目的。
上述实施例阐明的系统、装置、模块或者单元,具体可以由计算机芯片或者实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或者闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或者技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或者其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或者其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或者其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或者其他磁性存储设备或者任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本申请特定实施例进行了描述。其他实施例在本申请的范围内。在一些情况下,在本申请中记载的动作或者步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本申请一个或多个实施例中所使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。术语“和/或”是指并包含一个或多个相关联的列出项目的任何或者所有可能组合。
在本申请一个或多个实施例中所使用的术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或者“一种实施方式”等的描述意指结合该实施例所描述的具体特征或者特点包含于本申请的至少一个实施例中。对这些术语的示意性描述不必须针对相同的实施例。而且,所描述的具体特征或者特点可以在本申请一个或多个实施例中以合适的方式结合。此外,在不相互矛盾的情况下,可以将不同的实施例以及不同实施例中的具体特征或者特点进行结合。
应当理解,尽管在本申请一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或者“当……时”或者“响应于确定”。
以上所述仅为本申请一个或多个实施例的较佳实施例而已,并不用以限制本申请一个或多个实施例,凡在本申请一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请一个或多个实施例保护的范围之内。
本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。

Claims (20)

1.一种模型压缩方法,所述方法包括:
将与至少一个私有数据样本对应的描述信息输入第一大语言模型,由所述第一大语言模型将所述描述信息作为生成条件,生成与所述描述信息对应的至少一个生成数据样本;
从所述至少一个生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本;
基于筛选出的生成数据样本针对预训练完成的第二大语言模型进行模型压缩,得到与所述第二大语言模型对应的压缩模型;其中,所述第二大语言模型基于公开数据样本进行模型预训练;
基于所述私有数据样本对所述压缩模型进行模型微调,以完成针对所述第二大语言模型的压缩处理。
2.根据权利要求1所述的方法,所述方法还包括:
基于所述公开数据样本对所述第二大语言模型进行模型预训练。
3.根据权利要求1所述的方法,所述数据样本为文本数据样本;所述描述信息包括以下示出的一种或多种:文本长度,文本类型,文本描述内容。
4.根据权利要求1所述的方法,迭代执行以下步骤,直至迭代次数达到预设的第一阈值,以从所述至少一个生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本:
对生成数据样本进行数据变形处理,得到变形后的生成数据样本,并将所述生成数据样本和所述变形后的生成数据样本确定为待筛选生成数据样本;
从所述待筛选生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本。
5.根据权利要求4所述的方法,所述对生成数据样本进行数据变形处理,得到变形后的生成数据样本,包括:
确定所述迭代次数是否达到预设的第二阈值;
如果所述迭代次数未达到所述第二阈值,将生成数据样本输入所述第一大语言模型,由所述第一大语言模型生成与所述生成数据样本相似的数据,并将所述第一大语言模型输出的数据确定为变形后的生成数据样本;
如果所述迭代次数达到所述第二阈值,从生成数据样本包含的数据内容中删除部分数据内容,并将删除了部分数据内容的生成数据样本输入所述第一大语言模型,由所述第一大语言模型对删除了部分数据内容的生成数据样本进行补全处理,并将所述第一大语言模型输出的数据确定为变形后的生成数据样本。
6.根据权利要求4所述的方法,所述从所述待筛选生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本,包括:
计算所述待筛选生成数据样本中的各个生成数据样本与所述至少一个私有数据样本中的各个私有数据样本之间的相似度;
基于所述相似度从所述待筛选生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本。
7.根据权利要求6所述的方法,所述计算所述待筛选生成数据样本中的各个生成数据样本与所述至少一个私有数据样本中的各个私有数据样本之间的相似度,包括:
获取所述待筛选生成数据样本中的各个生成数据样本对应的第一特征向量,并获取所述至少一个私有数据样本中的各个私有数据样本对应的第二特征向量;
计算所述第一特征向量与所述第二特征向量之间的向量相似度,作为所述待筛选生成数据样本中的各个生成数据样本与所述至少一个私有数据样本中的各个私有数据样本之间的相似度。
8.根据权利要求6所述的方法,所述基于所述相似度从所述待筛选生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本,包括:
将所述相似度转换为所述待筛选生成数据样本中的各个生成数据样本的分布概率;
基于所述分布概率对所述待筛选生成数据样本进行重采样处理,以从所述待筛选生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本。
9.根据权利要求8所述的方法,所述将所述相似度转换为所述待筛选生成数据样本中的各个生成数据样本的分布概率,包括:
针对所述至少一个私有数据样本中的各个私有数据样本,确定所述待筛选生成数据样本中与该私有数据样本之间的相似度最高的生成数据样本,并针对所述待筛选生成数据样本中的各个生成数据样本,统计将该生成数据样本作为其相似度最高的生成数据样本的私有数据样本的数量;
对所述数量进行归一化处理,得到归一化后的数量,并将所述归一化后的数量确定为所述待筛选生成数据样本中的各个生成数据样本的分布概率。
10.根据权利要求8所述的方法,所述基于所述分布概率对所述待筛选生成数据样本进行重采样处理,以从所述待筛选生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本,包括:
基于所述分布概率生成直方图;其中,所述直方图的横轴表示所述待筛选生成数据样本中的各个生成数据样本,所述直方图的纵轴表示所述待筛选生成数据样本中的各个生成数据样本的分布概率;
基于所述直方图对所述待筛选生成数据样本进行重采样处理。
11.根据权利要求10所述的方法,所述基于所述直方图对所述待筛选生成数据样本进行重采样处理,包括:
采用差分隐私算法,基于所述直方图对所述待筛选生成数据样本进行重采样处理。
12.根据权利要求6所述的方法,所述基于所述相似度从所述待筛选生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本,包括:
对所述相似度进行归一化处理,得到归一化后的相似度;
采用指数机制或奇异值阈值算法,基于所述归一化后的相似度,从所述待筛选生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本。
13.根据权利要求4所述的方法,所述从所述待筛选生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本,包括:
将所述待筛选生成数据样本输入分类模型;其中,所述分类模型采用隐私训练算法,基于所述至少一个私有数据样本和所述公开数据样本进行模型训练;
获取所述分类模型输出的所述待筛选生成数据样本隶属于与所述至少一个私有数据样本对应的数据样本分类的概率值;
从所述待筛选生成数据样本中筛选出所述概率值最大的预设数量的生成数据样本,作为与所述至少一个私有数据样本相似的生成数据样本。
14.根据权利要求1所述的方法,所述基于筛选出的生成数据样本针对预训练完成的第二大语言模型进行模型压缩,得到与所述第二大语言模型对应的压缩模型,包括:
基于筛选出的生成数据样本针对预训练完成的作为教师模型的第二大语言模型进行知识蒸馏训练,得到与所述第二大语言模型对应的作为学生模型的压缩模型。
15.根据权利要求1所述的方法,所述基于所述私有数据样本对所述压缩模型进行模型微调,包括:
采用隐私训练算法,基于所述私有数据样本对所述压缩模型进行模型微调。
16.根据权利要求13或15所述的方法,所述隐私训练算法,包括:基于差分隐私的训练算法。
17.根据权利要求16所述的方法,所述基于差分隐私的训练算法,包括:基于差分隐私的随机梯度下降算法。
18.一种模型压缩装置,所述装置包括:
样本生成模块,将与至少一个私有数据样本对应的描述信息输入第一大语言模型,由所述第一大语言模型将所述描述信息作为生成条件,生成与所述描述信息对应的至少一个生成数据样本;
样本筛选模块,从所述至少一个生成数据样本中筛选出与所述至少一个私有数据样本相似的生成数据样本;
模型压缩模块,基于筛选出的生成数据样本针对预训练完成的第二大语言模型进行模型压缩,得到与所述第二大语言模型对应的压缩模型;其中,所述第二大语言模型基于公开数据样本进行模型预训练;
模型微调模块,基于所述私有数据样本对所述压缩模型进行模型微调,以完成针对所述第二大语言模型的压缩处理。
19.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1至17中任一项所述的方法。
20.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1至17中任一项所述的方法。
CN202410225163.3A 2024-02-28 2024-02-28 模型压缩方法、装置、设备和存储介质 Pending CN118095352A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410225163.3A CN118095352A (zh) 2024-02-28 2024-02-28 模型压缩方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410225163.3A CN118095352A (zh) 2024-02-28 2024-02-28 模型压缩方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN118095352A true CN118095352A (zh) 2024-05-28

Family

ID=91159736

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410225163.3A Pending CN118095352A (zh) 2024-02-28 2024-02-28 模型压缩方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN118095352A (zh)

Similar Documents

Publication Publication Date Title
CN110209806B (zh) 文本分类方法、文本分类装置及计算机可读存储介质
CN109948149B (zh) 一种文本分类方法及装置
Leke et al. Deep learning and missing data in engineering systems
CN113837370B (zh) 用于训练基于对比学习的模型的方法和装置
CN112368697A (zh) 经由对偶分解评估损失函数或损失函数的梯度的系统和方法
CN113220886A (zh) 文本分类方法、文本分类模型训练方法及相关设备
US20240061889A1 (en) Systems and Methods for Weighted Quantization
CN112749737A (zh) 图像分类方法及装置、电子设备、存储介质
Wong et al. Feature selection and feature extraction: highlights
CN116932686B (zh) 主题挖掘方法、装置、电子设备及存储介质
CN112445914A (zh) 文本分类方法、装置、计算机设备和介质
Xia et al. Regularly truncated m-estimators for learning with noisy labels
Kumar et al. Extensive survey on feature extraction and feature selection techniques for sentiment classification in social media
CN118095352A (zh) 模型压缩方法、装置、设备和存储介质
CN113011163A (zh) 基于深度学习模型的复合文本多分类方法及系统
CN117408302A (zh) 模型压缩方法、装置、设备和存储介质
CN116561425B (zh) 基于域交互的自注意力因子分解机的Web服务推荐方法
CN117971357B (zh) 有限状态自动机验证方法、装置、电子设备及存储介质
US20230019779A1 (en) Trainable differential privacy for machine learning
Parnami Rethinking Few-Shot Learning for Speech, Continual Learning and Privacy
Liu et al. Deep hashing based on triplet labels and quantitative regularization term with exponential convergence
Ba Learning to Attend with Neural Networks
Saxena et al. Semantic image completion and enhancement using gans
Eken Using subspaces of weight matrix for evaluating generative adversarial networks with Frechet distance
CN118154891A (zh) 多模态模型的预训练方法、装置、设备和存储介质

Legal Events

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