经典三步式蒸馏:基础配置 → 蒸馏数据构建 → 学生模型训练。自由选择教师/学生模型与数据集,灵活配置蒸馏与训练参数,适合大多数通用需求。
模板概述
通用蒸馏模板是 ModelDistill 的基础模板,采用黑盒蒸馏方式(生成式数据增强 + SFT 训练)。
与场景化蒸馏模板相比,通用蒸馏保留标准的三步管线,不预置特定任务类型的算子编排,每个环节的选择权完全交给用户。场景化模板已覆盖指令蒸馏、思维链蒸馏、多模态蒸馏、Agent工具调用蒸馏等常见任务类型——建议优先评估场景化模板是否匹配您的任务;若不匹配,再使用通用蒸馏自定义配置。
通用蒸馏采用固定的三阶段管线,各阶段均可在创建向导中按需配置,蒸馏数据与训练产物分别保存以便复用。
基础配置:定义任务名称和输出模型的名称路径等信息。
蒸馏数据构建:调用教师模型对源数据生成高质量响应,构建蒸馏 SFT 数据集。
学生模型训练:基于蒸馏数据对学生模型进行监督微调,输出可部署的蒸馏模型。
快速开始
以下使用PAI提供的公共数据集和默认配置,演示如何完成一个通用蒸馏任务。
登录PAI控制台,在左侧导航栏选择模型应用> 模型蒸馏(ModelDistill)。
单击新建任务,跳转到蒸馏模板页签,或者直接进入蒸馏模板页签。
选择通用蒸馏,单击使用模板,进入新建蒸馏任务页面。如下配置关键参数,其他保持默认。
进行基础配置:
任务名称及模型名称:系统已自动填充。
模型输出路径:指定一个有权限访问的OSS路径,如
oss://mybucket.oss-cn-hangzhou-internal.aliyuncs.com/model-distill/model。说明请确保为每个蒸馏任务创建独立的输出目录,避免模型文件被覆盖。OSS Bucket需与PAI服务在同一地域。
单击下一步,进入蒸馏数据构建:
教师模型:教师模型来源选择Token服务,并下拉选择一个模型如
qwen3.8-max。数据集:选择公共数据集,并从下拉列表中选择
Chinese-medical-dialogue-data。也可以选择自定义数据集来使用您自己的数据。蒸馏数据确认:指定一个有权限访问的OSS路径作为蒸馏数据集输出路径,如
oss://mybucket.oss-cn-hangzhou-internal.aliyuncs.com/model-distill/dist-data。计算资源:资源类型选择通用计算,资源来源选择公共资源,在任务资源中选择合适的资源规格。
单击下一步,进入学生模型训练:
学生模型:选择公共模型,并在下拉列表中选择一个较小的模型,如
Qwen3-4B。训练方式:选择LoRA。
计算资源:资源类型选择通用计算,资源来源选择公共资源,在任务资源中选择合适的资源规格。
单击确定,然后在弹出的计费提醒中单击确定,页面将自动跳转至任务详情的基础配置页面,可在此跟踪任务状态。参考执行时间:小数据集(100-1000条)约20-40分钟。
配置详解
蒸馏数据构建
教师模型:支持以下两种来源:
PAI Token 服务。
PAI-EAS 服务:仅支持基于 Model Gallery 模型直接部署、或基于 Model Gallery 模型训练后的模型所部署的 EAS 服务。
数据集:支持公共蒸馏数据集和自定义数据集。数据必须为 JSON 格式,必须包含
instruction字段(问题列),无需包含output字段(输出列)。[ { "instruction": "中国的首都是哪里?" }, { "instruction": "请解释一下什么是人工智能。" } ]蒸馏数据确认:选择数据构建完成后,系统如何处理生成的蒸馏数据。
自动确认(推荐):数据构建完成后,系统自动校验数据并通过,直接启动后续的学生模型训练。适用于使用公共数据集或对数据质量有信心的场景。
手动确认:数据构建完成后,需要人工审核数据质量。适用于对数据质量要求极高或首次使用自定义数据集的场景。操作方式如下:
蒸馏数据构建完成后,在蒸馏任务列表中,任务状态会变为等待确认蒸馏数据。
单击操作列的确认蒸馏数据按钮,系统弹出确认对话框。
在对话框中单击点击查看查看蒸馏数据集的详细内容。
确认数据质量符合预期后,单击确认继续执行学生模型训练。
如果数据不符合预期,可以单击取消,任务将停止在当前阶段。
学生模型训练
学生模型支持 Model Gallery 公共模型和自定义模型(自定义模型当前仅支持在 Model Gallery 中微调后的 LLM)。请确保学生模型参数量小于教师模型。
训练方式
选择对学生模型进行监督微调(SFT)的具体方法。
LoRA(推荐):参数高效微调方法,在保持较好效果的同时,显著降低训练所需的显存。
QLoRA:LoRA的量化版本,进一步降低显存占用,适合在资源更受限的环境下训练。
全参数微调:更新模型的所有参数,理论上效果最好,但需要巨大的计算资源和时间,成本极高。
验证集配置
选择在训练过程中用于评估模型性能的验证数据集。
不配置:训练过程中不进行验证,适用于快速实验或数据量较小的场景。
蒸馏数据自动拆分(推荐):系统自动从生成的蒸馏数据集中按比例划分出训练集和验证集,默认5%验证集。
添加验证数据集:指定一个独立的OSS数据集作为验证集,适用于有标准验证集的场景。
超参数配置
此处的超参数用于控制学生模型的SFT训练过程。
参数 | 说明 | 调优建议 |
| 学习率,控制模型参数更新的步长。默认5e-5。 | • 如果训练损失(Loss)下降缓慢,可尝试适当调大学习率。 |
| 训练轮数,即整个数据集被重复训练的次数。默认1。 | • 对于大数据集,1-3个epoch通常足够。 |
| 每个GPU设备单次训练处理的样本数。默认1。 | • 在显存允许的情况下,适当增大此值可以加速训练并可能稳定训练过程。 |
| 输入给学生模型的最大序列长度(Token数)。默认128。 | • 此值应根据您的数据特征和应用场景设定。较长的文本需要更大的 |
生产实践
成本优化策略
资源来源选择:
测试/小任务:使用公共资源,按需付费,灵活方便。
生产/高优任务:使用资源配额,确保资源稳定性和成本可控。
成本敏感/可容错任务:尝试竞价资源,以更低价格获取算力,但需接受任务可能被中断的风险。
从小数据集开始:在进行大规模蒸馏前,务必使用一小部分数据(如100-1000条)完整运行一次流程,以验证配置的正确性,避免因配置错误导致大规模计算资源的浪费。
优化数据集:使用更小但更高质量的种子数据集,可以减少教师模型的推理开销和学生模型的训练时间。
选择QLoRA训练:QLoRA通过在量化模型上训练,显著降低了对显存的需求,使您可以在更低规格(也更便宜)的GPU上进行训练。
合理设置运行时长:为任务设置一个合理的最大运行时长,防止因意外情况导致任务长时间运行,产生不必要的费用。
效果调优指南
数据集质量是关键:蒸馏的上限由教师模型决定,但下限由蒸馏数据集的质量决定。确保用于生成蒸馏数据的原始数据集覆盖业务场景、指令清晰、内容多样。
超参数调优:
如果学生模型训练的loss不下降或发散,应优先降低学习率(
learning_rate)。如果遇到显存不足(OOM)错误,应优先减小批次大小(
per_device_train_batch_size)或序列长度(seq_length)。
监控GPU利用率:在任务监控中关注GPU利用率。如果利用率过低,说明GPU资源未被充分利用,可尝试增大
per_device_train_batch_size以提高效率。
效果评估
蒸馏完成后,对学生模型的效果进行评估。
部署模型:在蒸馏任务详情页,单击右上角的部署按钮,将蒸馏产出的学生模型部署为在线推理服务。
对比评测:使用PAI的模型评测功能,在同一份评测集上对比教师模型和学生模型的性能指标(如准确率、BLEU等),量化性能损失。
生产验证:在正式上线前,进行小流量灰度测试,对比蒸馏前后模型在真实业务场景中的推理速度、资源占用和业务效果。