【技术实现步骤摘要】
面向超大规模模型的蒸馏优化方法、装置、介质及设备
[0001]本专利技术属于知识蒸馏
,具体而言涉及面向超大规模模型的蒸馏优化方法、装置、介质及设备。
技术介绍
[0002]通过知识蒸馏,大规模预训练语言模型的参数规模被大大减少,这极大地促进了其在各种设备上应用。然而,现实世界中的工业级应用与受控实验环境不同,用户需要在规模更大的语言模型上使用这些复杂的蒸馏方法,在内存受限的显卡上和多种方法的切换上部署会收到阻碍。
[0003]近年来,研究者对压缩大规模语言模型的知识蒸馏方法进行了广泛的研究和探讨。这些研究大多关注如何更好地利用语言模型特征将知识从大型教师模型转移到较小的学生模型,包括隐藏层、注意层、软标签和硬标签。这些研究使用了数亿个参数的预训练语言模型,例如BERT、RoBERTa、XLNet等,验证了其方法的有效性。然而,依赖于超大规模预训练语言模型(10B甚至更大)的蒸馏系统在GPU上的部署受到了限制。一种离线蒸馏方法,在训练学生之前保存教师特征,减少了内存压力,但受到特征规模较小且没有教师学生交互的方法的限制。
[0004]此外,虽然一些针对语言模型的知识蒸馏方法的代码已经公开,但缺乏一个通用框架来部署知识蒸馏系统。有一些已有的工作在统一的蒸馏工具上进行了尝试:TextBrewer提供了一些抽象和简单的蒸馏过程和损失函数,但缺乏许多方法的实现,难以适应越来越复杂的蒸馏方法。这些方法在实现上存在显著差异,例如DIITO需要动态干预模型中间层的计算;SID在训练过程中更改中间层特征;Con ...
【技术保护点】
【技术特征摘要】
1.一种面向超大规模模型的蒸馏优化方法,其特征在于,包括以下步骤:获取需求并根据所述需求形成蒸馏任务配置文件,所述蒸馏任务配置文件包括教师模型和学生模型;基于所述教师模型和所述学生模型,根据教师学生并行策略进行模型构建以形成教师学生并行模型;通过自适应架构对所述教师学生并行模型进行训练以获得学生模型;所述自适应架构包括操作钩子、抽取钩子以及辅助模型;所述通过自适应架构对所述教师学生并行模型进行训练以获得学生模型,包括:依据所述蒸馏任务配置文件的蒸馏算法之一,通过所述操作钩子对所述教师学生并行模型的推理过程进行修改;通过所述抽取钩子分别提取所述教师模型特征和所述学生模型特征;将所述教师模型特征和所述学生模型特征以及所述抽取钩子均输入所述辅助模型;依据所述抽取钩子确定损失函数,以确定所述教师模型特征和所述学生模型特征之间的差异进而获取损失,并依据所述损失对所述学生模型进行训练。2.根据权利要求1所述的面向超大规模模型的蒸馏优化方法,其特征在于:所述蒸馏任务配置文件包括训练任务、蒸馏算法集合、教师模型和学生模型。3.根据权利要求2所述的面向超大规模模型的蒸馏优化方法,其特征在于:所述基于所述教师模型和所述学生模型,根据教师学生并行策略进行模型构建以形成教师学生并行模型,包括:所述教师模型至少包括顺序排列的第一教师子模型和第二教师子模型,采用数据并行将所述第一教师子模型的各第一参数矩阵部署于第一GPU组,将所述第二教师子模型的各第二参数矩阵部署于第二GPU组;所述学生模型至少包括顺序排列的第一学生子模型和第二学生子模型,所述第一学生子模型和所述第一教师子模型相对应,所述第二学生子模型和所述第二教师子模型相对应,将所述第一学生子模型的各第三参数矩阵部署于所述第一GPU组,将所述第二学生子模型的各第四参数矩阵部署于第二GPU组。4.根据权利要求3所述的面向超大规模模型的蒸馏优化方法,其特征在于:所述基于所述教师模型和所述学生模型,根据教师学生并行策略进行模型构建以形成教师学生并行模型,还包括:所述第一GPU组包括第一GPU和第二GPU,所述第二GPU组包括第三GPU和第四GPU;采用相同的切分方式,将所述第一参数矩阵进行切分以至少获得第一子矩阵和第二子矩阵,将所述第二参数矩阵进行切分以至少获得第三子矩阵和第四子矩阵,将所述第三参数矩阵进行切分以至少获得第五子矩阵和第六子矩阵,将所述第四参数矩阵进行切分以至少获得第七子矩阵和第八子矩阵;将所述第一子矩阵和所述第五子矩阵均部署在所述第一GPU,将所述第二子矩阵和所述第六子矩阵均部署在所述第二GPU,将所述第三子矩阵和所述第七子矩阵均部署在所述第三GPU,将所述第四子矩阵和所述第五子矩阵均部署在所述第四GPU。5.根据权利要求2所述的面向超大规模模型的蒸馏优化方法,其特征在于:所述基于所述教师模型和所述学生模型,根据教师学生并行策略进行模型构建以形成教师学生并行模
型,包括:将所述教师模型的各参数矩阵进行切分以至少获得第...
【专利技术属性】
技术研发人员:谭世成,谭咏霖,王元淳,
申请(专利权)人:北京智谱华章科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。