---
title: 蒸馏算法
description: "蒸馏量化的思想是将量化模型作为学生模型，原始模型作为教师模型，通过引导量化模型“模仿”浮点模型从而获得更好的精度结果。蒸馏量化，仅需要少量无标签数据集，即可以在较短的量化时间内达到较好的精度结果。"
url: https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/devaids/amct/atlasamct_16_0358.html
sourcePath: /source/zh/CANNCommunityEdition/920beta1/devaids/amct/atlasamct_16_0358.html
indexId: fbf4eeec758cea604de296c7140fad3dc17aca9c4a45ab8ecea472778fefa7e076
---
# 蒸馏算法

蒸馏量化的思想是将量化模型作为学生模型，原始模型作为教师模型，通过引导量化模型“模仿”浮点模型从而获得更好的精度结果。蒸馏量化，仅需要少量无标签数据集，即可以在较短的量化时间内达到较好的精度结果。

量化蒸馏的步骤：

1. 量化原始模型，得到结构与浮点模型相同的量化模型。
2. 将若干级联的量化层划分为一个蒸馏单元。
3. 以浮点蒸馏模块的输出作为soft label，对量化蒸馏模块进行fine-tune。
4. 完成所有的模块蒸馏，得到精度更优的量化模型。
  图1 蒸馏示意图
