Files
note_sync/大模型/deepseek/08-训练方法/01-ESFT-专家专精微调-2407.01906_abstract.md
T

12 KiB
Raw Blame History

让专家各守本行:面向稀疏架构大语言模型的专家专精微调

原文标题:Let the Expert Stick to His Last: Expert-Specialized Fine-Tuning for Sparse Architectural Large Language Models arXiv:2407.01906 | 发布:2 Jul 2024(v1),5 Jul 2024(v2) 作者/机构:Zihan Wang(在 DeepSeek 实习期间完成)、Deli Chen、Damai Dai、Runxin Xu、Zhuoshu Li、Y. Wu | DeepSeek(深度求索)AI 原文 PDF:01-ESFT-专家专精微调-2407.01906.pdf

一、摘要(全文翻译)

参数高效微调(Parameter-Efficient Fine-Tuning, PEFT)是在资源受限条件下定制大语言模型(Large Language Model, LLM)的关键手段。尽管面向稠密架构 LLM 已经出现了多种 PEFT 方法,但面向稀疏架构 LLM 的 PEFT 研究仍然严重不足。在本工作中,我们研究面向混合专家(Mixture-of-Experts, MoE)架构 LLM 的 PEFT 方法,本文内容主要包含三个方面:(1)我们考察了定制任务中被激活专家的分散程度,发现针对某一特定任务的路由分布往往高度集中,而不同任务之间被激活专家的分布则差异显著。(2)我们提出专家专精微调(Expert-Specialized Fine-Tuning, ESFT),它微调与下游任务最相关的专家,同时冻结其他专家与模块;实验结果表明,我们的方法不仅提升了微调效率,而且能够匹配甚至超越全参数微调的性能。(3)我们进一步分析了 MoE 架构对专家专精微调的影响。我们发现,专家粒度更细的 MoE 模型更有利于选出与下游任务最相关的专家组合,从而同时提升训练效率与训练效果。我们的代码开源于 https://github.com/deepseek-ai/ESFT 。

二、核心贡献

  1. 刻画 MoE 的任务专精现象:同一任务激活的专家高度集中,不同任务激活的专家集合几乎不重叠,为按任务选专家提供依据。
  2. 提出 ESFT:只微调与任务最相关的专家、冻结其余参数,性能与全参数微调持平甚至更优,通用能力退化更小。
  3. 两种专家相关性评分:平均门控分数(ESFT-Gate)与词元选择比例(ESFT-Token),可按任务择优。
  4. 大幅降本:相比 FFT 存储最多省 90%、训练时间最多省 30%;每任务每层平均只训练 66 个专家中的 2–15 个。
  5. 揭示架构与方法的耦合:细粒度专家切分是 ESFT 生效的前提,专家合并为粗粒度后 ESFT 衰减比 FFT 更严重。
  6. 厘清参数取舍:通用能力下降主要源于训练共享参数,只训练任务相关的非共享专家性价比最高。

三、方法与技术要点

3.1 预备知识:Transformer 中的混合专家层

MoE 层替换前馈网络(FFN),每层含多个结构相同的专家,词元按亲和度只被分配给其中一部分。第 l 层第 t 个词元的输出为

\mathbf{h}_{t}^{l}=\sum_{i=1}^{N}\left(g_{i,t}\text{FFN}^{n}_{i}(\mathbf{u}_{t}^{l})\right)+\mathbf{u}_{t}^{l},\qquad s_{i,t}=\text{Softmax}_{i}\left(\mathbf{u}_{t}^{l\top}\mathbf{e}_{i}^{l}\right)

其中 N 为专家总数,g_{i,t}=s_{i,t} 当且仅当它进入 TopK 集合,否则为 0。DeepSeekMoE 另引入细粒度专家切分与共享专家隔离(共享专家处理所有词元、承载公共知识):

\mathbf{h}_{t}^{l}=\sum_{i=1}^{K_{s}}\text{FFN}^{s}_{i}(\mathbf{u}_{t}^{l})+\sum_{i=1}^{N}\left(g_{i,t}\text{FFN}^{n}_{i}(\mathbf{u}_{t}^{l})\right)+\mathbf{u}_{t}^{l}

其中 K_{s} 为共享专家数。

3.2 探针实验:MoE 中确实存在任务专精

探针实验考察非共享专家在各任务上的使用情况(涵盖数学、代码、意图识别、摘要、法条判决、翻译等),结论有二:同一任务的路由高度集中——门控值归一化后排序,极少数专家承担了大部分门控值;不同任务激活的专家差异显著——同任务两个样本共享的 Top-6 专家数在对角线接近 6、非对角线接近 0。这正是可按任务单独优化一部分专家的动机。

3.3 ESFT:数据采样 → 专家相关性评分 → 选择与微调

数据采样:从训练集随机抽取子集 D_{s} 仅用于挑选专家;经验上 32 个拼接样本、每个长度 4096(2^{17} 词元)已足够稳定(附录 C)。

专家相关性评分:给出两种基于词元亲和度的度量。平均门控分数(ESFT-Gate)衡量专家对采样数据的平均亲和度:

g_{i}^{l}=\frac{1}{N_{s}}\sum_{j=1}^{N_{s}}\frac{1}{L_{j}}\sum_{k=1}^{L_{j}}g_{i,k}^{l}

词元选择比例(ESFT-Token)衡量专家被选中的词元占比:

r_{i}^{l}=\frac{1}{N_{s}}\sum_{j=1}^{N_{s}}\frac{1}{L_{j}}\sum_{k=1}^{L_{j}}\frac{\mathbb{1}\left(g_{i,k}^{l}>0\right)}{K}

其中 \mathbb{1}(\cdot) 为指示函数、K 为每词元激活的专家数;前者看亲和度强弱,后者看调用频率。

专家选择与微调:每层设阈值 $p\in(0,1]$,把专家按评分从高到低累加,直到累计占比超过 $p$,得到该层待训练专家集合 $E_{s}^{l}$:

\sum_{i\in E_{s}^{l}}R_{i}^{l}\geqslant p,\qquad R_{i}^{l}\in\{r_{i}^{l},\ g_{i}^{l}\}

关键:训练与推理时词元仍可路由到任意专家,但只有 E_{s}^{l} 内专家会被更新,其余专家与模块全部冻结——既保留路由能力与专精结构,又把可训练参数压到极小。

3.4 实验设置

骨干为 DeepSeek-V2-Lite,先在不含数学与代码的对齐数据上训练得到 vanilla 模型以保留其原始水平。评测覆盖模型增强(数学、代码)与模型适配(意图识别、摘要、法条判决、低资源翻译),后者用 GPT-4(gpt-4-1106-preview)打 0–10 分或精确匹配;通用能力用 MMLU、TriviaQA、HellaSwag、ARC-Challenge、IFEval、CEval、CLUEWSC。关键超参如下:

项目 设置
骨干 DeepSeek-V2-Lite,每层 66 个细粒度专家
基线 FFT、LoRA(除词元嵌入与语言建模头外全部参数)
数据配比 任务数据 : 对齐数据 = 1:1(所有方法)
批大小 / 序列长度 32 / 4096
训练步数 每任务最多 500 步,每 100 步评测
学习率 FFT 3e-5、LoRA 1e-4、ESFT 1e-5
LoRA rank = 8,scaling = 2
ESFT 阈值 p ESFT-Gate 0.1、ESFT-Token 0.2
硬件 2 节点 × 8 张 Nvidia A100 PCIe

四、主要实验结果

表 1 定制能力(模型增强 + 模型适配)

方法 MATH GSM8K HumanEval MBPP Intent Summary Law Translation 平均
Vanilla 19.6 55.9 42.1 44.6 16.8 58.6 17.1 14.5 33.6
FFT 23.4 66.4 42.1 42.2 78.8 69.4 47.0 38.4 51.0
LoRA 20.6 58.9 39.6 44.8 67.8 64.7 39.7 23.1 44.9
ESFT-Token(本文) 22.6 66.0 41.5 42.6 75.6 65.4 45.7 36.2 49.4
ESFT-Gate(本文) 23.2 64.9 43.3 41.8 78.6 65.8 49.1 35.2 50.2

表 2 通用能力(跨训练实验平均,标准差跨任务统计)

方法 CLUEWSC TriviaQA IFEval MMLU CEval HellaSwag ARC 平均
Vanilla 81.5 67.7 42.5 57.5 59.9 74.0 53.7 62.4
FFT 80.9±1.1 65.9±0.7 34.2±4.1 55.5±1.0 58.8±0.9 67.9±3.8 48.4±2.4 58.8±1.3
LoRA 74.3±7.7 63.4±5.4 38.7±2.5 55.5±1.2 57.0±1.5 72.8±1.9 51.8±2.3 59.1±2.5
ESFT-Token 80.9±0.9 66.7±1.8 40.7±1.3 57.1±0.5 59.6±0.8 72.3±3.6 52.9±1.5 61.5±1.1
ESFT-Gate 81.4±1.1 66.5±2.3 40.2±1.5 57.0±0.4 59.5±0.8 68.2±9.9 51.5±3.1 60.6±2.3

表 3 训练共享/非共享参数的消融(✓ 表示训练该类参数)

非共享专家 共享专家 非专家参数 可训练参数 专精能力 通用能力 平均
全部(ALL) ✓ ✓ 15.7B 51.0 58.8 54.9
相关子集 ✓ ✗ 1.85B 49.8 60.7 55.3
相关子集 ✗ ✗ 1.4B 49.4 61.5 55.4
✗ ✓ ✗ 450M 47.4 61.2 54.3
✗ ✓ ✓ 1.3B 49.0 60.0 54.5
相关子集 ✓ ✓ 2.7B 50.8 60.3 55.6
✗(不训练) ✗ ✗ — 33.8 62.4 48.1

表 4 相关性评分选出的专家 vs. 随机专家(Δ 为替换为随机专家后的变化)

方法 MATH GSM8K HumanEval MBPP Intent Summary Law Translation 平均
ESFT-Token 22.6 66.0 41.5 42.6 75.6 65.4 45.7 36.2 49.4
Δ(随机) −1.0 −3.7 −2.5 +0.2 −2.6 −1.7 +1.3 −13.5 −2.8
ESFT-Gate 23.2 64.9 43.3 41.8 78.6 65.8 49.1 35.2 50.2
Δ(随机) −1.7 −3.2 −4.3 +1.6 −5.0 +0.3 −2.9 −20.4 −4.4

表 5 计算效率(各任务平均)

方法 训练时间 训练参数存储
ESFT-Token 19.8 分钟 2.57 GB
ESFT-Gate 20.9 分钟 3.20 GB
FFT 28.5 分钟 28.6 GB
LoRA 16.5 分钟 少于 ESFT(论文未给出具体数值)

定制能力上 ESFT 明显领先 LoRA、与 FFT 同档:ESFT-Gate 平均 50.2 逼近 FFT 的 51.0,远高于 LoRA 的 44.9,HumanEval 最佳、4 个适配任务中 3 个接近最佳;通用能力上 ESFT 退化最小,平均 61.5(Token)/ 60.6(Gate),高于 LoRA 的 59.1 与 FFT 的 58.8。差距在于数学增强(GSM8K 66.0/64.9 vs. FFT 66.4)与低资源翻译(36.2/35.2 vs. 38.4)——它以极小参数预算逼近 FFT,而非全面取胜。附录 H 另显示,在专精任务上训练后 FFT 与 LoRA 的数学/代码平均性能分别下降 9.0 与 12.4,ESFT 不足 1。

五、结论、局限与影响

  • 结论:不同领域任务由不同专家组合处理,这为稀疏架构的 PEFT 提供了天然的选择维度:只微调任务最相关的专家即可大幅降本,同时在下游任务上持平甚至超越全参数微调、更好保住通用能力。策略有二——要专精能力就训练全部共享参数加任务相关非共享专家;要兼顾专精、通用与效率则只训练任务相关的非共享专家。
  • 局限性:方法只在 DeepSeek-V2-Lite 上验证(其他细粒度 MoE 模型难以获取),结论能否迁移仍需检验;且缺少规模与结构对齐、仅专家粒度不同的模型,粗细粒度对比只能用绑定专家组的模拟方式完成。
  • 影响:ESFT 把稀疏架构从算力负担变成定制资源,为 MoE 大模型的低成本垂类落地提供即插即用的路径,也印证了「专家粒度越细、PEFT 空间越大」的架构耦合。

六、关键术语对照表

English 中文
Expert-Specialized Fine-Tuning (ESFT) 专家专精微调
Parameter-Efficient Fine-Tuning (PEFT) 参数高效微调
Mixture-of-Experts (MoE) 混合专家
Full-Parameter Fine-Tuning (FFT) 全参数微调
Low-Rank Adaptation (LoRA) 低秩适配
Fine-grained Expert Segmentation 细粒度专家切分
Shared Expert Isolation 共享专家隔离
Average Gate Score (ESFT-Gate) 平均门控分数
Token Selection Ratio (ESFT-Token) 词元选择比例
Expert Relevance Score 专家相关性分数
Expert Affinity 专家亲和度
Gate Value / Routing 门控值 / 路由
Coarse-grained Expert 粗粒度专家
Task Specialization 任务专精(化)
Model Enhancement / Model Adaptation 模型增强 / 模型适配