大模型蒸馏本质上是一种模型压缩与知识迁移技术,核心目标是让体积小巧、资源消耗低的"学生模型",精准复刻大型复杂"教师模型"的核心能力。在保持 90%+ 性能的同时,将模型规模缩小至 1/5-1/10,推理速度提升 3-8 倍, 核心目标是能力迁移
两个概念:
教师模型:
通常是经过海量数据训练、在多个任务上表现优异的成熟大模型(如GPT-4、Llama 3 70B),
它不仅能输出任务结果(如文本生成、分类标签),
还能提供"思考过程"(如概率分布、中间特征)。
学生模型:
是结构更简单、参数更少的模型(通常参数规模为教师模型的1/10至1/100),
其训练目标并非直接学习原始数据,
而是通过"模仿"教师模型的输出与决策逻辑,快速掌握核心能力。
简单来说,传统模型训练是"从数据中学习",而蒸馏训练是"从教师的经验中学习",效率与效果大幅提升。
大模型蒸馏的工作原理, 其基本过程如下:
训练大模型(教师模型):首先需要训练一个大模型,这个模型通常非常复杂,且在训练数据上表现出色,但计算消耗也非常大。
生成软标签:使用训练好的大模型对数据进行推理,得到一个概率分布(即软标签),而不是简单的预测类别。这些软标签包含了大模型对各个类别的"信心",比硬标签信息更丰富。
什么是软标签
硬标签: 这张图片 是猫, 只有一个正确结果
软标签: 是教师模型通过 Softmax 函数(带温度参数 T) 产生的概率分布,例如 [0.1, 0.7, 0.2]
软标签,举个例子: 70%的可能是猫,因为胡须和眼睛;20%的可能是小狐狸,因为毛色;
10%的可能是狗,因为耳朵形状...
软标签的目的:
核心目的:传递"暗知识", 使用软标签可以学习到更多的"暗知识"
硬标签 ([1, 0, 0]): 只告诉学生"这是猫"。
软标签 ([0.7, 0.25, 0.05]): 告诉学生:
"这很可能是猫,但没那么确定(信心70%)。"
"它和狗有相当程度的相似性(25%),这是最容易混淆的地方。"
"它和鸟几乎不相似(5%)。"
暗知识就蕴含在这些概率分布的相对关系中。
直接目标:提升学生模型的泛化能力
通过传递上述暗知识,软标签能直接让学生模型在未见过的数据上表现得更好。
学习到类间相似性: 如上例,学生学会了"猫狗相似度 > 猫鸟相似度"这个视觉概念。
当遇到一个模棱两可的新样本时,学生模型更可能做出"像猫又像狗,但更像猫一点"的合理判断,
而不是非此即彼的武断错误。
训练小模型(学生模型):使用软标签来训练一个较小的模型。小模型通过拟合大模型的输出,学习到大模型所掌握的知识,从而获得类似的性能。
蒸馏为什么能让模型变小,而且性能相当;
简单的理解,蒸馏,俩字 就是浓缩去除杂质,取其精华
知识蒸馏,就是把知识浓缩,然后交给学生模型;
简单的解释:
① 教师模型在训练时,已经使用硬标签和海量数据,动用了其巨大的参数,学习到了一个极其复杂的内部"世界模型"。在这个模型里,它知道猫和狗在某些特征维度上很接近,和鸟则较远。
② 在蒸馏时,教师模型不把它复杂的"世界模型"(那需要同样大的参数来存储)直接交给学生,而是把它对这个具体问题的"思考结论"------即包含了"猫狗相似"这个关系的软标签 [0.7, 0.25, 0.05]------交给了学生。
总结一下: 软标签 ([0.7, 0.25, 0.05]), 表示的信息有 猫和狗有相似性, 猫和狗的相似性比猫和鸟的相似性更近; 如果使用硬标签表示这个相似性,就需要更多的参数; 所以软标签相当于浓缩了很多知识在里面;