全部产品
Search
文档中心

人工智能平台 PAI:通用蒸馏

更新时间:Sep 29, 2026

经典三步式蒸馏:基础配置 → 蒸馏数据构建 → 学生模型训练。自由选择教师/学生模型与数据集,灵活配置蒸馏与训练参数,适合大多数通用需求。

模板概述

通用蒸馏模板是 ModelDistill 的基础模板,采用黑盒蒸馏方式(生成式数据增强 + SFT 训练)。

与场景化蒸馏模板相比,通用蒸馏保留标准的三步管线,不预置特定任务类型的算子编排,每个环节的选择权完全交给用户。场景化模板已覆盖指令蒸馏、思维链蒸馏、多模态蒸馏、Agent工具调用蒸馏等常见任务类型——建议优先评估场景化模板是否匹配您的任务;若不匹配,再使用通用蒸馏自定义配置。

通用蒸馏采用固定的三阶段管线,各阶段均可在创建向导中按需配置,蒸馏数据与训练产物分别保存以便复用。

  1. 基础配置:定义任务名称和输出模型的名称路径等信息。

  2. 蒸馏数据构建:调用教师模型对源数据生成高质量响应,构建蒸馏 SFT 数据集。

  3. 学生模型训练:基于蒸馏数据对学生模型进行监督微调,输出可部署的蒸馏模型。

快速开始

以下使用PAI提供的公共数据集和默认配置,演示如何完成一个通用蒸馏任务。

  1. 登录PAI控制台,在左侧导航栏选择模型应用> 模型蒸馏(ModelDistill)。

  2. 单击新建任务,跳转到蒸馏模板页签,或者直接进入蒸馏模板页签。

  3. 选择通用蒸馏,单击使用模板,进入新建蒸馏任务页面。如下配置关键参数,其他保持默认。

  4. 进行基础配置:

    • 任务名称及模型名称:系统已自动填充。

    • 模型输出路径:指定一个有权限访问的OSS路径,如oss://mybucket.oss-cn-hangzhou-internal.aliyuncs.com/model-distill/model。

      说明

      请确保为每个蒸馏任务创建独立的输出目录,避免模型文件被覆盖。OSS Bucket需与PAI服务在同一地域。

  5. 单击下一步,进入蒸馏数据构建:

    • 教师模型:教师模型来源选择Token服务,并下拉选择一个模型如qwen3.8-max。

    • 数据集:选择公共数据集,并从下拉列表中选择Chinese-medical-dialogue-data。也可以选择自定义数据集来使用您自己的数据。

    • 蒸馏数据确认:指定一个有权限访问的OSS路径作为蒸馏数据集输出路径,如oss://mybucket.oss-cn-hangzhou-internal.aliyuncs.com/model-distill/dist-data。

    • 计算资源:资源类型选择通用计算,资源来源选择公共资源,在任务资源中选择合适的资源规格。

  6. 单击下一步,进入学生模型训练:

    • 学生模型:选择公共模型,并在下拉列表中选择一个较小的模型,如 Qwen3-4B。

    • 训练方式:选择LoRA。

    • 计算资源:资源类型选择通用计算,资源来源选择公共资源,在任务资源中选择合适的资源规格。

  7. 单击确定,然后在弹出的计费提醒中单击确定,页面将自动跳转至任务详情的基础配置页面,可在此跟踪任务状态。参考执行时间:小数据集(100-1000条)约20-40分钟。

配置详解

蒸馏数据构建

  • 教师模型:支持以下两种来源:

    • PAI Token 服务。

    • PAI-EAS 服务:仅支持基于 Model Gallery 模型直接部署、或基于 Model Gallery 模型训练后的模型所部署的 EAS 服务。

  • 数据集:支持公共蒸馏数据集和自定义数据集。数据必须为 JSON 格式,必须包含 instruction 字段(问题列),无需包含 output 字段(输出列)。

    [
        {
            "instruction": "中国的首都是哪里?"
        },
        {
            "instruction": "请解释一下什么是人工智能。"
        }
    ]
  • 蒸馏数据确认:选择数据构建完成后,系统如何处理生成的蒸馏数据。

    • 自动确认(推荐):数据构建完成后,系统自动校验数据并通过,直接启动后续的学生模型训练。适用于使用公共数据集或对数据质量有信心的场景。

    • 手动确认:数据构建完成后,需要人工审核数据质量。适用于对数据质量要求极高或首次使用自定义数据集的场景。操作方式如下:

      1. 蒸馏数据构建完成后,在蒸馏任务列表中,任务状态会变为等待确认蒸馏数据。

      2. 单击操作列的确认蒸馏数据按钮,系统弹出确认对话框。

      3. 在对话框中单击点击查看查看蒸馏数据集的详细内容。

        • 确认数据质量符合预期后,单击确认继续执行学生模型训练。

        • 如果数据不符合预期,可以单击取消,任务将停止在当前阶段。

学生模型训练

学生模型支持 Model Gallery 公共模型和自定义模型(自定义模型当前仅支持在 Model Gallery 中微调后的 LLM)。请确保学生模型参数量小于教师模型。

训练方式

选择对学生模型进行监督微调(SFT)的具体方法。

  • LoRA(推荐):参数高效微调方法,在保持较好效果的同时,显著降低训练所需的显存。

  • QLoRA:LoRA的量化版本,进一步降低显存占用,适合在资源更受限的环境下训练。

  • 全参数微调:更新模型的所有参数,理论上效果最好,但需要巨大的计算资源和时间,成本极高。

验证集配置

选择在训练过程中用于评估模型性能的验证数据集。

  • 不配置:训练过程中不进行验证,适用于快速实验或数据量较小的场景。

  • 蒸馏数据自动拆分(推荐):系统自动从生成的蒸馏数据集中按比例划分出训练集和验证集,默认5%验证集。

  • 添加验证数据集:指定一个独立的OSS数据集作为验证集,适用于有标准验证集的场景。

超参数配置

此处的超参数用于控制学生模型的SFT训练过程。

参数

说明

调优建议

learning_rate

学习率,控制模型参数更新的步长。默认5e-5。

• 如果训练损失(Loss)下降缓慢,可尝试适当调大学习率。
• 如果Loss剧烈震荡或不收敛,应调小学习率。

num_train_epochs

训练轮数,即整个数据集被重复训练的次数。默认1。

• 对于大数据集,1-3个epoch通常足够。
• 过多的epoch可能导致过拟合。

per_device_train_batch_size

每个GPU设备单次训练处理的样本数。默认1。

• 在显存允许的情况下,适当增大此值可以加速训练并可能稳定训练过程。
• 如果遇到显存不足(OOM)错误,应首先减小此值。

seq_length

输入给学生模型的最大序列长度(Token数)。默认128。

• 此值应根据您的数据特征和应用场景设定。较长的文本需要更大的seq_length。
• 增大此值会显著增加显存消耗。

生产实践

成本优化策略

  • 资源来源选择:

    • 测试/小任务:使用公共资源,按需付费,灵活方便。

    • 生产/高优任务:使用资源配额,确保资源稳定性和成本可控。

    • 成本敏感/可容错任务:尝试竞价资源,以更低价格获取算力,但需接受任务可能被中断的风险。

  • 从小数据集开始:在进行大规模蒸馏前,务必使用一小部分数据(如100-1000条)完整运行一次流程,以验证配置的正确性,避免因配置错误导致大规模计算资源的浪费。

  • 优化数据集:使用更小但更高质量的种子数据集,可以减少教师模型的推理开销和学生模型的训练时间。

  • 选择QLoRA训练:QLoRA通过在量化模型上训练,显著降低了对显存的需求,使您可以在更低规格(也更便宜)的GPU上进行训练。

  • 合理设置运行时长:为任务设置一个合理的最大运行时长,防止因意外情况导致任务长时间运行,产生不必要的费用。

效果调优指南

  • 数据集质量是关键:蒸馏的上限由教师模型决定,但下限由蒸馏数据集的质量决定。确保用于生成蒸馏数据的原始数据集覆盖业务场景、指令清晰、内容多样。

  • 超参数调优:

    • 如果学生模型训练的loss不下降或发散,应优先降低学习率(learning_rate)。

    • 如果遇到显存不足(OOM)错误,应优先减小批次大小(per_device_train_batch_size)或序列长度(seq_length)。

  • 监控GPU利用率:在任务监控中关注GPU利用率。如果利用率过低,说明GPU资源未被充分利用,可尝试增大per_device_train_batch_size以提高效率。

效果评估

蒸馏完成后,对学生模型的效果进行评估。

  1. 部署模型:在蒸馏任务详情页,单击右上角的部署按钮,将蒸馏产出的学生模型部署为在线推理服务。

  2. 对比评测:使用PAI的模型评测功能,在同一份评测集上对比教师模型和学生模型的性能指标(如准确率、BLEU等),量化性能损失。

  3. 生产验证:在正式上线前,进行小流量灰度测试,对比蒸馏前后模型在真实业务场景中的推理速度、资源占用和业务效果。