专栏名称: 计算机视觉深度学习和自动驾驶
讨论计算机视觉、深度学习和自动驾驶的技术发展和挑战
目录
相关文章推荐
鸡西新闻网  ·  元宵节 | 事关出行!今晚部分公交线路调整 ·  昨天  
滴滴代驾服务订阅平台  ·  限时开启|滴滴代驾司服合作伙伴招募 ·  3 天前  
惠济发布  ·  玩转元宵节,郑州交警送上观灯指南→ ·  3 天前  
惠济发布  ·  玩转元宵节,郑州交警送上观灯指南→ ·  3 天前  
51好读  ›  专栏  ›  计算机视觉深度学习和自动驾驶

DeepSeek-R1如何通过知识蒸馏把推理能力迁移到千问Qwen

计算机视觉深度学习和自动驾驶  · 公众号  ·  · 2025-02-01 00:02

正文

DeepSeek-R1是一个通过大规模强化学习训练出的强大推理模型,在数学、编程等推理任务上达到了与OpenAI-o1相当的性能水平。本文将基于DeepSeek团队发布的技术报告,详细解析如何通过知识蒸馏技术,将DeepSeek-R1的推理能力高效地迁移到参数量更小的Qwen系列模型中。

1. 什么是知识蒸馏

知识蒸馏是一种机器学习中的模型压缩技术,旨在将复杂的大型模型(称为教师模型,Teacher Model)的知识迁移到较小的模型(称为学生模型,Student Model)。这一方法特别适用于计算资源有限的设备(如手机或嵌入式设备),在显著降低模型规模的同时,尽量保留性能和精度。

核心原理

知识蒸馏的核心思想是教师模型通过其预测结果(如概率分布或推理过程)向学生模型传授知识,而学生模型通过学习这些结果逐步提升自己的性能。以下结合流程图具体说明这一过程:


  1. 教师模型的作用
    预先训练的教师模型是一个复杂而强大的网络,经过大规模数据训练后,可以提供高质量的预测。例如,它可以预测一个输入属于某个类别的概率分布,而不仅仅是单一的类别标签(即“软标签”)。
    在图中,左侧的大型神经网络表示教师模型。

  2. 学生模型的训练
    学生模型是一个较小的网络,其复杂度和参数量远低于教师模型。通过模仿教师模型的预测,学生模型逐渐学会在相同任务上的推理能力。
    图中右侧的小型神经网络即为学生模型。

  3. 知识蒸馏的实现

  • 教师模型通过训练数据生成预测(Predictions),并将这些预测传递给学生模型。
  • 学生模型不仅学习数据的真实标签(Ground Truth),还通过模仿教师模型的预测结果,捕获额外的知识(如特定类别的相似性)。
  • 输出到目标设备
    蒸馏完成后,学生模型被部署到资源受限的设备上,如图中所示的手机或嵌入式设备。

  • 举例说明

    假设我们有一个复杂的卷积神经网络(CNN)模型,它在识别猫和狗的图片方面表现出色。这就是我们的"教师"模型。现在,我们想创建一个更小、更快的模型来部署在移动设备上。这就是我们的“学生模型”。

    知识蒸馏的过程如下:

    教师模型输出: 对于一张狗的图片,教师模型可能输出 [0.1, 0.9](10%是猫,90%是狗)

    学生训练: 学生模型不仅学习硬标签(这是狗),还学习教师模型的概率分布(软标签)。

    软标签: 这个[0.1, 0.9]的分布比简单的[0, 1]标签包含更多信息,因为它反映了图像的细微特征。

    总结

    通过上述流程,知识蒸馏实现了“以大带小”的能力迁移。流程图清晰地展示了这一技术的关键步骤:教师模型生成预测,学生模型通过学习这些预测实现能力提升,最终部署到低资源设备上。这一过程不仅提高了模型的实用性,也为复杂模型的下游应用提供了高效的解决方案。


    2. DeepSeek-R1如何通过知识蒸馏把推理能力迁移到Qwen

    接下来我们将基于DeepSeek团队发布的技术报告,详细解析如何通过知识蒸馏技术,将DeepSeek-R1的推理能力高效地迁移到参数量更小的Qwen系列模型中。


    2.1 核心概念解析

    在深入技术细节前,我们先解释几个关键概念,帮助读者理解蒸馏过程的核心逻辑。

    2.1.1 模板:结构化的输出格式

    • 定义 :模板是预先设计的文本格式,用于 规范模型的输出 。例如:
      • :标记推理过程的开始。
      • :标记推理过程的结束。
      • :标记最终答案的开始。
      • :标记最终答案的结束。
    • 作用
      • 清晰性 :像填空题的“提示词”一样,告诉模型“思考过程写在这里,答案写在那里”。
      • 一致性 :确保所有输出遵循相同结构,便于后续处理和分析。
      • 可读性 :人类可以轻松区分推理过程和答案,提升用户体验。

    2.1.2 推理轨迹:模型解题的“思维链”

    • 定义 :模型在解决问题时生成的详细步骤也即解决问题时的思考过程,例如:
      <
      
      
      
      
          
      think>
        1. 问题分析:方程的结构是否可以因式分解?
        2. 尝试分解:x²-5x+6 = (x-2)(x-3)
        3. 验证解:x=2和x=3代入原方程成立。
      think>
      <answer>
        解为x=2或x=3
      answer>
    • 作用 :展示模型的逻辑链,使答案生成过程透明化。

    2.1.3 拒绝采样:从“试错”中筛选优质数据

    • 定义 :生成多个候选答案,通过规则筛选保留高质量样本。
    • 过程
    1. 生成 :模型对同一问题输出多个推理轨迹。
    2. 过滤 :通过自动化规则(如答案正确性检查)或人工审核,剔除错误或低质量样本。
    3. 保留 :仅将优质样本加入训练集。
  • 类比 :类似于考试时先写草稿,最后誊抄正确答案到答题卡。

  • 2.2 蒸馏数据的生成:如何准备“教学材料”

    知识蒸馏的第一步是生成高质量的“教学数据”,供小模型学习。

    2.2.1 数据来源

    • 推理数据(80%) :由DeepSeek-R1生成,覆盖数学、编程、逻辑推理等任务。
    • 通用数据(20%) :来自DeepSeek-V3的通用任务数据(如写作、问答),确保小模型的多任务能力。

    2.2.2 数据生成流程

    1. 模板引导生成 :要求DeepSeek-R1按 模板输出推理轨迹。
    2. 拒绝采样筛选
    • 规则过滤 :自动检查答案正确性(如数学答案是否符合公式)。
    • 可读性检查 :剔除语言混合(如中英文混杂)或冗长段落。
  • 数据整合 :最终形成80万条高质量样本,其中推理数据约60万条,通用数据约20万条。

  • 2.3 蒸馏过程:如何让小模型“学以致用”

    2.3.1 教师与学生的角色

    • 教师模型 :DeepSeek-R1(复杂的大模型,擅长推理)。
    • 学生模型 :Qwen系列(如Qwen-7B,参数较小,需学习推理能力)。

    2.3.2 训练步骤

    1. 数据输入 将80万样本中的 问题部分 输入Qwen模型,要求其按模板生成完整的推理轨迹(思考过程 + 答案)。






    请到「今天看啥」查看全文