当前位置: 首页 > news >正文

知识蒸馏

知识蒸馏

在大模型中,知识蒸馏是一种将大型、高精度教师模型中的关键知识提炼并传递给轻量化学生模型的技术。以下是关于知识蒸馏的详细解释:

 

  • 原理:知识蒸馏的核心在于知识的传递和压缩。教师模型通常是参数众多的大型模型,经过充分训练后能捕捉数据中的丰富特征。学生模型则是轻量级模型,通过学习教师模型的输出实现性能优化。传统模型训练依赖硬标签,仅学习输入与输出的映射,而知识蒸馏引入教师模型的软标签,即教师模型经 softmax 处理的概率分布,包含类别间的相似性和置信度信息,学生模型通过学习软目标,能捕捉教师模型的推理逻辑,提升性能。
  • 训练过程:首先需要训练一个性能强大的教师模型,然后准备与教师模型一致的训练或微调数据。在训练时,将输入同时送入教师模型和学生模型,得到对应输出,如 logits、内部层表示等。接着计算蒸馏损失,通常使用 KL 散度衡量学生模型和教师模型输出概率分布之间的差异,再结合监督损失,如交叉熵损失,通过反向传播更新学生模型参数,而教师模型通常是冻结的。
  • 常见方法
    • Logits 蒸馏:这是最原始也是最常见的蒸馏方式,只关心模型输出层 logits 的模仿,教师的输出分布,即软标签,为学生模型提供了比真实标签更丰富的信息。
    • 特征表示蒸馏:在 Transformer 中,不仅蒸馏最后的 logits,还蒸馏中间层的隐状态或注意力矩阵,让学生在层间细节上更接近教师,适合结构相似的模型。
    • 多任务蒸馏:当教师模型是一个多任务或大规模预训练模型时,可以在多个任务数据或多语言数据上进行联合蒸馏,让学生继承教师在不同任务或语言上的知识。
    • Progressive Distillation/ Layer - wise Distillation:若学生层数远少于教师层数,则可采用分层逐步蒸馏的策略,让学生更加稳定地学到教师的表征。
    • Prompt 蒸馏:在大模型的指令微调或对话场景中,把教师的回答作为一个 “软目标”,让学生学习如何在相同指令下进行回答,使学生具备类似的对话能力,但规模更小。
  • 作用:知识蒸馏可以显著降低模型的复杂度和计算量,提高模型的运行效率,加速推理,降低运行成本。同时,模型蒸馏还有可能帮助学生模型学习到教师模型中蕴含的泛化模式,提高其在未见过的数据上的表现,并且轻量化后的模型通常更加简洁明了,有利于理解和分析模型的决策过程,也更容易进行部署和应用。
http://www.hskmm.com/?act=detail&tid=410

相关文章:

  • ssh相关问题
  • CSP 2025 游记
  • KVM虚拟机快照链创建,合并,删除及回滚研究
  • 第一次学dij qwq(p4779
  • 1
  • 2025—2026 赛季记录
  • AI编程新范式:从Coding到Vibe Coding,你准备好了吗?
  • Ubuntu 安装搜狗输入法
  • KD-Tree
  • yyjj
  • 今日随笔
  • 摆放类状压DP基础题
  • 使用 Visual Studio 2022 创建动态库和静态库 - Invinc
  • 软件
  • Laravel PHP 忘记密码如何重置(创建新管理员账号)
  • 打工人必看!昆工MBA“项目管理”杀疯了
  • 第一章 逻辑代数基础 - Wisdom
  • DVectorT虐哭ListT
  • 201912_BUUCTF_Base64隐写
  • 软考达人-案例分析
  • kettle插件-sqlserver cdc插件,从sqlserver获取实时数据so easy,早早下班
  • golang netpoll 底层原理
  • manim如何按绝对时间管理动画
  • MATLAB R2025a安装教程和资源(中文版)
  • Xmanager Power Suite使用教程 - Invinc
  • try hack me.md
  • Snapshot-based State Replication 基于快照的状态复制网络框架,快照同步
  • Transformer通俗讲解
  • Ubuntu 安装微信
  • Ubuntu 安装截图软件 flameshot