Qwen3 技术报告 的 Strong-to-Weak Distillation 强到弱蒸馏 和 代码实现

flyfish

代码在文末

技术报告就是不一定经过严格的学术期刊同行评审,但具有较强的专业性和实用性。
在这里插入图片描述

The post-training pipeline of Qwen3 is strategically designed with two core objectives:
(1) Thinking Control: This involves the integration of two distinct modes, namely the “non-thinking”
and “thinking” modes, providing users with the flexibility to choose whether the model should
engage in reasoning or not, and to control the depth of thinking by specifying a token budget for
the thinking process.
(2) Strong-to-Weak Distillation: This aims to streamline and optimize the post-training process
for lightweight models. By leveraging the knowledge from large-scale models, we substantially
reduce both the computational costs and the development efforts required for building smaller-
scale models.

post-training 后训练

post-training强调的是 在模型完成预训练(pre-training)之后、正式部署或应用之前 进行的一系列针对性训练、优化步骤(比如 “思考控制”“强到弱蒸馏” 等)

“后训练” 体现这一阶段与 “预训练” 的承接关系 —— 它属于模型训练生命周期中的一个特定阶段(预训练→后训练→部署)

后训练包括但不限于:微调(fine-tuning)、对齐(alignment)符合人类价值观或指令、蒸馏(distillation)、能力增强等。

Qwen3 的后训练流程

Qwen3 的后训练流程经过精心设计,围绕两个核心目标展开:

(1)思考控制:整合 “非思考” 和 “思考” 两种不同模式,为用户提供灵活选择的空间 —— 既可以决定模型是否进行推理,也能通过指定思考过程的 token 预算来控制思考深度。

(2)强到弱蒸馏:旨在简化和优化轻量级模型的训练后流程。借助大规模模型的知识,大幅降低构建小规模模型所需的计算成本和开发精力。

通过让小模型直接学习大模型输出的 logits,既能提升小模型性能,又能保留对其推理过程的精准调控,同时不用给每个小模型重复走复杂的四阶段训练流程,效率更高。

Strong-to-Weak Distillation 强到弱蒸馏

Strong-to-Weak Distillation
The Strong-to-Weak Distillation pipeline is specifically designed to optimize lightweight models, encompassing 5 dense models (Qwen3-0.6B, 1.7B, 4B, 8B, and 14B) and one MoE model (Qwen3-30B-A3B). This approach enhances model performance while effectively imparting robust mode-switching capabilities.The distillation process is divided into two primary phases:
(1) Off-policy Distillation: At this initial phase, we combine the outputs of teacher models generated
with both /think and /no think modes for response distillation. This helps lightweight student
models develop basic reasoning skills and the ability to switch between different modes of
thinking, laying a solid foundation for the next on-policy training phase.(2) On-policy Distillation: In this phase, the student model generates on-policy sequences for
fine-tuning. Specifically, prompts are sampled, and the student model produces responses in
either /think or /no think mode. The student model is then fine-tuned by aligning its logits
with those of a teacher model (Qwen3-32B or Qwen3-235B-A22B) to minimize the KL divergence.

Strong-to-Weak Distillation(强到弱蒸馏) 是一种知识迁移策略,其含义是:利用大规模高性能模型(强模型,即教师模型)的知识,通过系统性方法优化轻量级模型(弱模型,即学生模型)的训练流程

强到弱蒸馏流程专为优化轻量级模型而设计,涵盖 5 个密集型模型(Qwen3-0.6B、1.7B、4B、8B 和 14B)以及 1 个混合专家模型(Qwen3-30B-A3B)。该方法在提升模型性能的同时,能有效赋予其强大的模式切换能力。

蒸馏过程分为两个主要阶段:
(1)离线策略蒸馏:在这一初始阶段,我们结合教师模型在 /think 模式和 /no think 模式下生成的输出进行响应蒸馏。这有助于轻量级学生模型培养基本推理能力以及在不同思考模式间切换的能力,为下一阶段的在线策略训练奠定坚实基础。

(2)在线策略蒸馏:在这一阶段,学生模型生成在线策略序列以进行微调。具体而言,先对提示词进行抽样,再让学生模型以 /think 模式或 /no think 模式生成响应。随后,通过将学生模型的 logits 与教师模型(Qwen3-32B 或 Qwen3-235B-A22B)的 logits 对齐,以最小化 KL 散度,完成对学生模型的微调。

thinking and non-thinking modes 思考模式和非思考模式

在这里插入图片描述

Qwen3-4B-Instruct-2507

此模型仅支持非思考模式,在输出中不会生成<think></think>块。同时,不再需要指定enable_thinking=False

Qwen/Qwen3-4B-Thinking-2507

此模型仅支持思考模式。同时,不再需要指定enable_thinking=True
此外,为了强制模型思考,默认聊天模板自动包含 <think>。因此,模型输出只包含 </think> 而没有显式的 <think> 开始标签是正常的。

蒸馏代码的实现

https://github.com/shaoshengsong/KDTrainer
代码分析的是LLM-KD-Trainer/LLM-KD-Trainer.py

最好先看完基础知识
知识蒸馏 - 蒸的什么

知识蒸馏 - 通过引入温度参数T调整 Softmax 的输出

知识蒸馏 - 对数函数的单调性

知识蒸馏 - 信息量的公式为什么是对数

知识蒸馏 - 根据真实事件的真实概率分布对其进行编码

知识蒸馏 - 信息熵中的平均为什么是按概率加权的平均

知识蒸馏 - 自信息量是单个事件的信息量,而平均自信息量(即信息熵)是所有事件自信息量以其概率为权重的加权平均值

知识蒸馏 - 最小化KL散度与最小化交叉熵是完全等价的

知识蒸馏 - 基于KL散度的知识蒸馏 KL散度的方向

知识蒸馏 - 大语言模型知识蒸馏LLM-KD-Trainer 源码分析 数据集处理
知识蒸馏 - 大语言模型知识蒸馏LLM-KD-Trainer 源码分析 KnowledgeDistillationTrainer类

微调训练时,ignore_empty_think是怎么保护模型的思考能力?

在对 Qwen3 进行微调训练时,如何保护模型的思考能力?

模型的原始输出为什么叫 logits

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/92801.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/92801.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/92801.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一体化步进伺服电机在无人机舱门应用中的应用案例

在无人机的设计过程中&#xff0c;舱门的快速、稳定开合对于无人机的任务执行效率和安全性至关重要。传统的舱门驱动方式存在响应速度慢、控制精度不足等问题&#xff0c;难以满足无人机复杂任务的需求。因此&#xff0c;某客户无人机选择了‌一体化步进伺服电机‌作为舱门的驱…

Ansible 面试题 20250811

1. 你使用过哪些 Ansible 模块? Ansible 常用的模块: file 、copy 、template 、yum 、apt 、service 、user 、group 、shell 、script 、command 、cron 等等。 这些模块可以用来管理文件、软件包、服务、用户、组、计划任务等等。 Docker相关模块: docker_container:用…

安路Anlogic FPGA下载器的驱动安装与测试教程

参考链接&#xff1a;安路下载器JTAG驱动安装 - 米联客(milianke) - 博客园 安路支持几款下载器&#xff1a; AL-LINK在线下载器是基于上海安路信息科技股份科技有限公司全系列 CPLD/FPGA 器件&#xff0c;结合公司自研的 TD 软件&#xff0c;可实现在线 JTAG 程序下载、Chip…

基于深度学习的股票分析和预测系统

摘要 【关键词】 第一章 绪论 1.1 研究背景及意义 1.2 国内外文献综述 1.2.1 国外研究结果 1.2.2 国内研究结果 1.3 本课题主要工作 第二章 相关工作介绍 2.1文本量化方法 2.2 CNN、LSTM模型 2.3评测准确率及收益率 第三章 开发技术介绍 3.1 系统开发平台 3.2平台…

ML基础设施(Machine Learning Infrastructure)

ML基础设施&#xff08;Machine Learning Infrastructure&#xff09; 是指支持机器学习项目从开发到部署全生命周期所需的底层技术架构和工具集合。其核心目标是让数据科学家和工程师能专注于模型创新&#xff0c;而非环境搭建等重复性工作。以下是深度解析&#xff1a;一、ML…

代码随想录刷题Day29

逆波兰表达式求值这是一道经典地使用栈来解决后缀表达式求解的题目。使用栈来求解后缀表达式的流程如下&#xff1a;借助栈的结构&#xff0c;可以求解出原始表达式是&#xff1a;9 &#xff08;-3 - 1&#xff09;* 3 10 / 2 2&#xff0c;在遵照规则过程中&#xff0c;还有…

crew AI笔记[3] - 设计理念

二八法则-task设计最重要80%精力设计tasks&#xff0c;20%精力定义agents花最多的实践定义任务说明清晰定义输入输出增加示例和预期结果来约束输出剩下的精力完善agent的role、goal、backstory1、Agent设计三要素role-goal-backstory框架Role - 职能定义足够具体【作家 &#x…

【李宏毅-2024】第六讲 大语言模型的训练过程1——预训练(Pre-training)

目录概述1. 预训练&#xff08;Pre-training&#xff09;2. 微调&#xff08;Fine-tuning&#xff0c;又称 SFT&#xff0c;Supervised Fine-Tuning&#xff09;3. 对齐&#xff08;Alignment&#xff0c;又称 RLHF 或 DPO 等&#xff09;4 三阶段对比6 第一阶段——自我学习&a…

基于LLVM的memcpy静态分析工具:设计思路与原理解析(C/C++代码实现)

在程序开发中&#xff0c;内存复制操作&#xff08;如memcpy&#xff09;往往是性能瓶颈的关键来源——尤其是大型内存块的复制&#xff0c;可能导致缓存失效、带宽占用过高等问题。为了精准定位这些潜在的性能热点&#xff0c;开发者需要一种能自动识别程序中memcpy调用&#…

使用 Conda 安装 xinference[all](详细版)

1. 安装 Miniconda&#xff08;若未安装&#xff09; Miniconda 是 Anaconda 的轻量版&#xff0c;仅包含 Conda 和 Python&#xff0c;适合服务器环境。 下载并安装 Miniconda 下载地址&#xff1a;Index of /miniconda &#xff0c;可以自行选择适合的版本 # 下载最新版 …

服务器登上去,显示 failed to send WATCHDOG 重启有效吗?

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 当你登录服务器时&#xff0c;看到类似以下提示&#xff1a; failed to send WATCHDOG: Resource temporarily unavailable这通常和系统的 systemd 服务有关&#xff0c;尤其是那些启用了 watchdog&#xff08;看门…

重学React(五):脱围机制一

背景&#xff1a; 之前将React的基础知识以及状态管理相关的知识都过了一遍&#xff0c;查漏补缺的同时对React也有了一些新鲜的认知&#xff0c;接下来这个模块的名字很有意思&#xff1a;脱围机制&#xff0c;内容也比之前的部分难理解一些。但整体看下来&#xff0c;理解之后…

去除Edge微软浏览器与Chrome谷歌浏览器顶部出现“此版本的Windows不再支持升级Windows 10”的烦人提示

前言 在 Windows 7 中&#xff0c;安装 Microsoft Edge 109 版本后&#xff0c;启动浏览器时会弹出提示&#xff1a; 此版本的 Windows 不再支持 Microsoft Edge。升级到 Windows 10 或更高版本&#xff0c;以获取常规功能和安全更新。 同样地&#xff0c;安装 Google Chrome 1…

PWM、脉冲

要求&#xff1a;一、PWM输出PWM波生成原理在此处使用TIM2生成PWM&#xff0c;PA1输出PWM波。CNT小于CCR时&#xff0c;输出高电平&#xff1b;CNT大于CCR时&#xff0c;输出低电平。 输入捕获测量频率的原理输入捕获的捕获意思是它在PWM波上升沿或者下降沿的时候&#xff0c;会…

文件IO(1)

.文件IO1.概念标准IO是有缓存的IO&#xff0c;文件IO没有缓存&#xff0c;适合于通信、硬件设备操作标准IO是库函数&#xff0c;文件IO是系统调用2.系统调用与库函数系统调用&#xff1a;是Linux内核中的代码&#xff0c;只能在Linux系统中使用库函数&#xff1a;是对系统调用的…

【AI】Pycharm中要注意Python程序文件的位置

博主试着在本地电脑用Pycharm环境运行随便一个机器学习然后做图像识别的模型&#xff0c;Python的程序一直报博主学习图片的路径不正确&#xff0c;博主查了好几遍&#xff0c;也没找出问题&#xff0c;后来借助Deepseek才知道&#xff0c;Python主程序的位置一定要在Project下…

TDengine 可观测性最佳实践

TDengine 介绍 TDengine 是一款开源、高性能、云原生的时序数据库&#xff0c;专为物联网、车联网、工业互联网、金融、IT 运维等场景优化设计。它不仅提供了高效的数据存储和查询功能&#xff0c;还带有内建的缓存、流式计算、数据订阅等系统功能&#xff0c;能大幅减少系统设…

Jenkins 搭建鸿蒙打包

1、创建流水线工程 选择 Freestyle project 2、配置模板仓库、凭证 配置仓库地址 创建凭证&#xff0c;凭证选择账号-密码&#xff08;能够访问该仓库的个人或管理员 Gitlab 账密&#xff09; 到这里执行构建&#xff0c;便可以克隆仓库到工作目录 3、安装插件 3.1 Rebuild…

【SpringBoot】02 基础入门-什么是Spring Boot?:Spring与SpringBoot

文章目录1、Spring能做什么1.1、Spring的能力1.2、Spring的生态1.3、Spring5重大升级1.3.1、响应式编程1.3.2、内部源码设计2、为什么用SpringBoot2.1、SpringBoot优点2.2、SpringBoot缺点3、时代背景3.2、分布式分布式的困难分布式的解决3.3、云原生上云的困难4、如何学习Spri…

FFmpeg 编译安装和静态安装

FFmpeg 编译安装和静态安装 简介 FFmpeg 是一个领先的多媒体框架&#xff0c;能够解码、编码、转码、复用、解复用、流化、过滤和播放几乎所有人类和机器创建的格式。本指南将详细介绍如何在 CentOS 8.5.2111 系统上从源代码编译并安装 FFmpeg 6.1.1 版本。从源代码编译安装可…