面向超大规模模型的蒸馏优化方法、装置、介质及设备制造方法及图纸

技术编号:38649186 阅读:11 留言:0更新日期:2023-09-02 22:39
本发明专利技术涉及面向超大规模模型的蒸馏优化方法、装置、介质及设备,属于知识蒸馏技术领域。本发明专利技术技术方案主要包括:获取需求并根据所述需求形成蒸馏任务配置文件,所述蒸馏任务配置文件包括教师模型和学生模型基于所述教师模型和所述学生模型,根据教师学生并行策略进行模型构建以形成教师学生并行模型;通过自适应架构对所述教师学生并行模型进行训练以获得学生模型;所述自适应架构包括操作钩子、抽取钩子以及辅助模型;通过所述操作钩子调用所述蒸馏算法,以对所述教师学生并行模型的推理过程进行修改;通过所述抽取钩子分别提取所述教师模型特征和所述学生模型特征;依据所述抽取钩子确定损失函数的选择。抽取钩子确定损失函数的选择。抽取钩子确定损失函数的选择。

【技术实现步骤摘要】
面向超大规模模型的蒸馏优化方法、装置、介质及设备


[0001]本专利技术属于知识蒸馏
,具体而言涉及面向超大规模模型的蒸馏优化方法、装置、介质及设备。

技术介绍

[0002]通过知识蒸馏,大规模预训练语言模型的参数规模被大大减少,这极大地促进了其在各种设备上应用。然而,现实世界中的工业级应用与受控实验环境不同,用户需要在规模更大的语言模型上使用这些复杂的蒸馏方法,在内存受限的显卡上和多种方法的切换上部署会收到阻碍。
[0003]近年来,研究者对压缩大规模语言模型的知识蒸馏方法进行了广泛的研究和探讨。这些研究大多关注如何更好地利用语言模型特征将知识从大型教师模型转移到较小的学生模型,包括隐藏层、注意层、软标签和硬标签。这些研究使用了数亿个参数的预训练语言模型,例如BERT、RoBERTa、XLNet等,验证了其方法的有效性。然而,依赖于超大规模预训练语言模型(10B甚至更大)的蒸馏系统在GPU上的部署受到了限制。一种离线蒸馏方法,在训练学生之前保存教师特征,减少了内存压力,但受到特征规模较小且没有教师学生交互的方法的限制。
[0004]此外,虽然一些针对语言模型的知识蒸馏方法的代码已经公开,但缺乏一个通用框架来部署知识蒸馏系统。有一些已有的工作在统一的蒸馏工具上进行了尝试:TextBrewer提供了一些抽象和简单的蒸馏过程和损失函数,但缺乏许多方法的实现,难以适应越来越复杂的蒸馏方法。这些方法在实现上存在显著差异,例如DIITO需要动态干预模型中间层的计算;SID在训练过程中更改中间层特征;ContinuationKD随着纪元增加而改变损失计算方法等等。这些实现上的差异使它们难以在一个单一框架中轻松切换和组合,从而阻碍了各种先进方法在知识蒸馏系统中的应用。
[0005]综上,现有技术中的知识蒸馏方法无法兼容多种多样的蒸馏方法以至于应用时难以选择当前应用场景最适当的蒸馏方法。

技术实现思路

[0006]鉴于上述的分析,本专利技术实施例旨在提供一种面向超大规模模型的蒸馏优化方法、装置、介质及设备,用以解决现有技术中的知识蒸馏方法无法兼容多种多样的蒸馏方法以至于应用时难以选择当前应用场景最适当的蒸馏方法的问题。
[0007]本专利技术第一方面实施例提供一种面向超大规模模型的蒸馏优化方法,包括以下步骤:获取需求并根据所述需求形成蒸馏任务配置文件,所述蒸馏任务配置文件包括教师模型和学生模型;基于所述教师模型和所述学生模型,根据教师学生并行策略进行模型构建以形成教师学生并行模型;
通过自适应架构对所述教师学生并行模型进行训练以获得学生模型;所述自适应架构包括操作钩子、抽取钩子以及辅助模型;所述通过自适应架构对所述教师学生并行模型进行训练以获得学生模型,包括:依据所述蒸馏任务配置文件的蒸馏算法之一,通过所述操作钩子对所述教师学生并行模型的推理过程进行修改;通过所述抽取钩子分别提取所述教师模型特征和所述学生模型特征;将所述教师模型特征和所述学生模型特征以及所述抽取钩子均输入所述辅助模型;依据所述抽取钩子确定损失函数,以确定所述教师模型特征和所述学生模型特征之间的差异进而获取损失,并依据所述损失对所述学生模型进行训练。
[0008]在一些实施例中,所述蒸馏任务配置文件包括训练任务、蒸馏算法集合、教师模型和学生模型。
[0009]在一些实施例中,所述基于所述配置文件,根据教师学生并行策略进行模型构建以形成教师学生并行模型,包括:所述教师模型至少包括顺序排列的第一教师子模型和第二教师子模型,采用数据并行将所述第一教师子模型的各第一参数矩阵部署于第一GPU组,将所述第二教师子模型的各第二参数矩阵部署于第二GPU组;所述学生模型至少包括顺序排列的第一学生子模型和第二学生子模型,所述第一学生子模型和所述第一教师子模型相对应,所述第二学生子模型和所述第二教师子模型相对应,采用数据并行将所述第一学生子模型的各第三参数矩阵部署于所述第一GPU组,将所述第二学生子模型的各第四参数矩阵部署于第二GPU组。
[0010]在一些实施例中,所述基于所述配置文件,根据教师学生并行策略进行模型构建以形成教师学生并行模型,还包括:所述第一GPU组包括第一GPU和第二GPU,所述第二GPU组包括第三GPU和第四GPU;采用相同的切分方式,将所述第一参数矩阵进行切分以至少获得第一子矩阵和第二子矩阵,将所述第二参数矩阵进行切分以至少获得第三子矩阵和第四子矩阵,将所述第三参数矩阵进行切分以至少获得第五子矩阵和第六子矩阵,将所述第四参数矩阵进行切分以至少获得第七子矩阵和第八子矩阵;将所述第一子矩阵和所述第五子矩阵均部署在所述第一GPU,将所述第二子矩阵和所述第六子矩阵均部署在所述第二GPU,将所述第三子矩阵和所述第七子矩阵均部署在所述第三GPU,将所述第四子矩阵和所述第五子矩阵均部署在所述第四GPU。
[0011]在一些实施例中,所述基于所述配置文件,根据教师学生并行策略进行模型构建以形成教师学生并行模型,包括:将所述教师模型的各参数矩阵进行切分以至少获得第一教师子矩阵和第二教师子矩阵,采用模型并行将所述第一教师子矩阵部署于第一GPU组,将所述第二教师子矩阵部署于第二GPU组;采用所述教师模型的参数矩阵的切分方式将所述学生模型的各参数矩阵进行切分以至少获得第一学生子矩阵和第二学生子矩阵,采用模型并行将所述第一学生子矩阵部署于第一GPU组,将所述第二学生子矩阵部署于第二GPU组。
[0012]在一些实施例中,所述蒸馏算法包括DITTO,LRC

BERT,Theseus,SID,TinyBERT,RAIL

KD,Universal

KD,LRC

BERT,Annealing

KD,Continuation

KD,MobileBERT,CKD,MGSKD,ALP

KD,TMKD,MT

BERT,RL

KD,Uncertainty,TAKD,DGKD,KD,PD,PKD,DistilBERT,MiniLM,MiniLMv2中的一种或多种的组合。
[0013]在一些实施例中,所述优化方法还包括:根据所述学生模型的性能进行评估分析,以判断所述学生模型的是否符合部署要求;若是则将所述学生模型部署在设备上,否则继续对所述学生模型进行优化训练。
[0014]本专利技术第二方面实施例提供一种面向超大规模模型的蒸馏优化装置,包括:配置模块,用于获取需求并根据所述需求形成蒸馏任务配置文件,所述蒸馏任务配置文件包括教师模型和学生模型;模型构建模块,基于所述教师模型和所述学生模型,根据教师学生并行策略进行模型构建以形成教师学生并行模型;模型训练模块,通过自适应架构对所述教师学生并行模型进行训练以获得学生模型;所述自适应架构包括操作钩子、抽取钩子以及辅助模型;所述通过自适应架构对所述教师学生并行模型进行训练以获得学生模型,包括:通过所述操作钩子调用所述蒸馏算法,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向超大规模模型的蒸馏优化方法,其特征在于,包括以下步骤:获取需求并根据所述需求形成蒸馏任务配置文件,所述蒸馏任务配置文件包括教师模型和学生模型;基于所述教师模型和所述学生模型,根据教师学生并行策略进行模型构建以形成教师学生并行模型;通过自适应架构对所述教师学生并行模型进行训练以获得学生模型;所述自适应架构包括操作钩子、抽取钩子以及辅助模型;所述通过自适应架构对所述教师学生并行模型进行训练以获得学生模型,包括:依据所述蒸馏任务配置文件的蒸馏算法之一,通过所述操作钩子对所述教师学生并行模型的推理过程进行修改;通过所述抽取钩子分别提取所述教师模型特征和所述学生模型特征;将所述教师模型特征和所述学生模型特征以及所述抽取钩子均输入所述辅助模型;依据所述抽取钩子确定损失函数,以确定所述教师模型特征和所述学生模型特征之间的差异进而获取损失,并依据所述损失对所述学生模型进行训练。2.根据权利要求1所述的面向超大规模模型的蒸馏优化方法,其特征在于:所述蒸馏任务配置文件包括训练任务、蒸馏算法集合、教师模型和学生模型。3.根据权利要求2所述的面向超大规模模型的蒸馏优化方法,其特征在于:所述基于所述教师模型和所述学生模型,根据教师学生并行策略进行模型构建以形成教师学生并行模型,包括:所述教师模型至少包括顺序排列的第一教师子模型和第二教师子模型,采用数据并行将所述第一教师子模型的各第一参数矩阵部署于第一GPU组,将所述第二教师子模型的各第二参数矩阵部署于第二GPU组;所述学生模型至少包括顺序排列的第一学生子模型和第二学生子模型,所述第一学生子模型和所述第一教师子模型相对应,所述第二学生子模型和所述第二教师子模型相对应,将所述第一学生子模型的各第三参数矩阵部署于所述第一GPU组,将所述第二学生子模型的各第四参数矩阵部署于第二GPU组。4.根据权利要求3所述的面向超大规模模型的蒸馏优化方法,其特征在于:所述基于所述教师模型和所述学生模型,根据教师学生并行策略进行模型构建以形成教师学生并行模型,还包括:所述第一GPU组包括第一GPU和第二GPU,所述第二GPU组包括第三GPU和第四GPU;采用相同的切分方式,将所述第一参数矩阵进行切分以至少获得第一子矩阵和第二子矩阵,将所述第二参数矩阵进行切分以至少获得第三子矩阵和第四子矩阵,将所述第三参数矩阵进行切分以至少获得第五子矩阵和第六子矩阵,将所述第四参数矩阵进行切分以至少获得第七子矩阵和第八子矩阵;将所述第一子矩阵和所述第五子矩阵均部署在所述第一GPU,将所述第二子矩阵和所述第六子矩阵均部署在所述第二GPU,将所述第三子矩阵和所述第七子矩阵均部署在所述第三GPU,将所述第四子矩阵和所述第五子矩阵均部署在所述第四GPU。5.根据权利要求2所述的面向超大规模模型的蒸馏优化方法,其特征在于:所述基于所述教师模型和所述学生模型,根据教师学生并行策略进行模型构建以形成教师学生并行模
型,包括:将所述教师模型的各参数矩阵进行切分以至少获得第...

【专利技术属性】
技术研发人员:谭世成谭咏霖王元淳
申请(专利权)人:北京智谱华章科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1