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

DDK:Distilling Domain Knowledge for Efficient Large Language Models

速览方法论

不太了解知识蒸馏的可以看这篇文章【KD开山之作】

本文的动机是“降低学生模型在各领域和老师模型的差异”。

在一些性能差异比较大的领域,ddk方法可以降低student模型的困惑度(PPL, Perplexity),提高学生模型在该领域的性能。

该篇文章的优势在于,提高了student模型的泛用性,相较于当下的方法,student性能更加均衡。

Contributions

1)To the best of our knowledge, we are the first to study the influence of domain-specific data mixtures for distilling LLMs, and efficiently transfer the domain knowledge of the teacher network upon the domain weights.

首个研究特定领域知识混合对大模型知识蒸馏的影响,并基于领域权重对领域知识迁移

2)DDKproposes a factor smooth updating strategy to strategically enhance the appropriate focus of the distillation process on targeted domains, which effectively stabilizes the domain knowledge guided sampling process for smoother distillation.

领域知识权重是基于它提出的discrepancy factor(领域差异因子)。文章提出了一种平滑更新该因子的策略。

3)Extensive experiments on multiple benchmark datasets demonstrate the effectiveness and generalization ability of our proposed DDK.

在多个基准数据集上进行广泛实验验证方法的有效性。

Method

领域差异因子

简单说明一下,M 是模型,CE是交叉熵,Y是label,下标s,t表示student,teacher。

l是困惑度得分,将交叉熵得到的熵值通过exp放大,再通过Softmax获得在各领域上的分布。

这个r越大则差异越大。

平滑更新策略

第一项是因子的迭代公式,第二项是因子的基准线。

第二项用作者的话说就是 “为了防止出现过小的值,这样就能保证在不同领域进行数据采样时有一个基准概率,避免某些领域因为领域差异因子过小而几乎不被采样到数据的情况。”

谁没有斗公式的时候呢,哈哈

损失函数

对各领域的求和

第一项是输出的交叉熵,第二项是隐藏状态的KL散度(相对熵)

增加第二项的目的是近似学生模型和教师模型的分布

方法挺简单,但是人家实验用了16张A100 :)

这篇论文是alibaba发表的。一开始我看到使用的教师模型是7B左右的参数是有点疑惑的,但仔细想想其实这个研究方向就是大模型的轻量化,而从7B继续轻量化到1.5B并保持不错的效果,也就意味着大模型个人化的可能。

Appendix


http://www.kler.cn/a/570957.html

相关文章:

  • AI大模型与区块链技术的结合
  • Rocky Linux 系统安装 typecho 个人博客系统(Docker 方式)
  • 通俗易懂的分类算法之朴素贝叶斯详解
  • Baklib云内容中台的核心架构是什么?
  • 【杂谈杂说】无人机行业相关国家标准及新产业应用
  • redis 与 DB 的一致性 7 种策略
  • 【华为OD机试真题29.9¥】(E卷,100分) - We Are A Team(Java Python JS C++ C )
  • ES6 特性全面解析与应用实践
  • 机器学习特征筛选:向后淘汰法原理与Python实现
  • PDF编辑器Icecream PDF Editor(免费)
  • deepseek、腾讯元宝deepseek R1、百度deepseekR1关系
  • 【GenBI 动手实战】大模型 微调LoRA SFT 实现 Text2SQL 更好的效果
  • React antd的datePicker自定义,封装成组件
  • php中使用laravel9项目 使用FFMpeg视频剪辑功能
  • ubuntu 启动不起来,光标闪烁 解决方法
  • Leetcode 刷题记录 02 —— 双指针
  • php的workerman 中 event 与 libevent的关系
  • 决策树(Decision Tree)详细解释(带示例)
  • 《2025年软件测试工程师面试》JAVA基础面试题
  • 【pytest框架源码分析二】pluggy源码分析之add_hookspecs和register