一、DistillKit 是什么

DistillKit 是 Arcee.AI 开源的大模型蒸馏工具包,目标是让研究和工程团队更容易实践多种蒸馏方法。

它支持的主要方向包括:

  • 基于 logits 的蒸馏;
  • 基于隐藏状态的蒸馏。

前者更接近经典响应蒸馏,后者更接近特征蒸馏。

二、示例任务与环境

这份实操的设定是:

  • 教师模型:Qwen3-8B
  • 学生模型:Qwen3-0.6B
  • 环境:AutoDL,32G 显存,CUDA 12.8

三、安装 DistillKit

3.1 克隆源码

git clone https://github.com/arcee-ai/DistillKit.git

3.2 安装

cd DistillKit
./setup.sh

四、准备教师模型、学生模型和数据集

4.1 下载模型

pip install modelscope
modelscope download --model Qwen/Qwen3-8B --local_dir /models/Qwen3-8B
modelscope download --model Qwen/Qwen3-0.6B --local_dir /models/Qwen3-0.6B

4.2 准备数据集

示例里使用的数据集是:

  • FineTome-100k

你可以从 Hugging Face 或镜像站下载,然后把文件放到本地目录中,例如:

mkdir -p FineTome-100k/data
mv train-00000-of-00001.parquet FineTome-100k/data/

五、修改蒸馏配置

如果使用基于 logits 的蒸馏,需要修改 distil_logits.py 中的配置。

关键部分包括:

  • 数据集路径;
  • 教师模型路径;
  • 学生模型路径;
  • tokenizer 最大长度;
  • 输出目录;
  • 训练轮次;
  • batch size;
  • 学习率;
  • 温度参数;
  • 蒸馏权重系数。

例如:

  • teacher = /models/Qwen3-8B
  • student = /models/Qwen3-0.6B
  • temperature = 2.0
  • alpha = 0.5

六、启动蒸馏

如果用的是 logits 蒸馏:

accelerate launch distil_logits.py

如果你要改成隐藏状态蒸馏,就切换到对应的脚本。

七、评估蒸馏后的模型

蒸馏完成后,不能只看训练是否跑完,还要实际做推理验证。

典型流程是:

  1. 加载蒸馏后的 checkpoint;
  2. 准备一组测试 Prompt;
  3. 生成结果并观察质量。

基本示例可以概括为:

  • 加载 AutoModelForCausalLM
  • 加载 AutoTokenizer
  • 对多个 prompt 做生成评测

八、DistillKit 适合什么人

它更适合:

  • 想自己掌控蒸馏流程的开发者;
  • 想比较不同蒸馏方法的研究者;
  • 需要在本地或云端做实验验证的小团队。

如果你只是想“先快速把蒸馏跑通”,托管平台会更省心;但如果你想理解蒸馏细节、反复做实验,DistillKit 这类开源工具就很有价值。

九、一个实用建议

蒸馏最难的地方通常不在“命令怎么写”,而在:

  • 数据集是否足够代表业务分布;
  • 教师与学生的能力差距是否合适;
  • 蒸馏参数是否平衡;
  • 评估是否真正覆盖目标场景。

把这几件事想清楚,蒸馏才不只是“跑过一个脚本”。