GIS开发 | 空间分析 | 软硬件技术

知识蒸馏

知识蒸馏

知识蒸馏是一种机器学习模型压缩方法,旨在将大型模型的知识迁移到小型模型中,以提高模型性能和泛化能力。知识蒸馏的核心思想是将复杂模型的知识转化为更精简、更有效的表示,使其在保持高性能的同时,降低计算复杂度和资源需求。作为一种先进的机器学习技术,其核心理念在于将一个复杂、庞大的模型(通常称为教师模型)的知识和经验,提炼并“灌输”给一个更小、更简单的模型(学生模型)。这一过程不仅能够保留教师模型的预测能力和准确性,同时还能显著提升学生模型的运行效率和计算性能,使其在资源受限的环境下也能表现出色。

基本原理

与传统的预训练不同,“知识蒸馏技术”是使用一个大型的“教师模型(Teacher Model)”来指导一个小型的“学生模型(Student Model)”的训练。用“蒸馏”方式训练小模型,不再直接从训练大模型时会用到的那些巨量数据中学习,而只是在模仿。 教师模型就是压缩前的AI大模型,学生模型即压缩之后的模型,并往往是一个新建的模型。蒸馏过程中,将对教师模型和学生模型输入相同的token,并引导学生模型的最终输出内容趋同于教师模型的最终输出内容。“知识蒸馏技术”目的是在保留模型性能的前提下,将复杂的、大体量的AI大模型,压缩成为体量相对较小的AI模型。从而减少企业部署AI模型的成本,提高模型的推理效率。

技术详解

具体来说,知识蒸馏使用的是Teacher—Student模型,其中teacher是“知识”的输出者,student是“知识”的接受者。知识蒸馏的过程分为2个阶段:
①教师模型训练
训练"Teacher模型", 简称为 Net-T,它的特点是模型相对复杂,也可以由多个分别训练的模型集成而成。对"Teacher模型"不作任何关于模型架构、参数量、是否集成方面的限制,因为该模型不需要部署,唯一的要求就是,对于输入X, 其都能输出Y,其中Y经过softmax的映射,输出值对应相应类别的概率值。
②学生模型训练
训练"Student模型", 简称为Net-S,它是参数量较小、模型结构相对简单的单模型。同样,对于输入X,其都能输出Y,Y 经过softmax映射后能输出相应类别的概率值。