尝试蒸馏Qwen3-4B模型的过程记录

最近,我开始了尝试使用SFT(监督微调)技术蒸馏Qwen3-4B模型的过程。这一尝试主要基于几个原因:首先,我希望能在我的手机或电脑上运行端侧的LLM(大型语言模型),但感觉Qwen3-4B/8B的智能程度还不够,因此想通过蒸馏更大规模的模型来提升其性能。其次,我想通过实践trl和unsloth工具来进行SFT和RL(强化学习),提前识别并解决可能遇到的难题,同时验证一些我的想法。最后,由于假期比较空闲,我正好有几张空闲的GPU可以使用(笑)。

我的基线模型选择了<huihui-ai/Huihui-Qwen3-4B-Thinking-2507-abliterated>。最初,我考虑直接使用Qwen/Qwen3-4B-Thinking-2507作为基座进行SFT,之后再尝试abliterate(消除)过程,但后来觉得abliterate并不是重点,因此直接使用了其他人的模型作为基座进行SFT。

在训练过程中,我主要使用了trl和unsloth工具,并使用evalscope进行评测。我的机器配置是H20 x 4,采用DP(数据并行)模式。虽然感觉速度有点慢,但如果有人有闲置的H100/H200算力,请务必考虑支持一下(笑)。

我的训练计划分为两个阶段:第一阶段是使用多个LLM的SFT数据集进行SFT大杂烩,以提升模型的整体水平;第二阶段是进行RL,让模型产生风格化的输出,进一步提升模型在某些方面的能力(这个阶段还在构思中)。

我计划蒸馏的一些模型及其对应的数据集可以在这里找到更多细节。我使用的训练脚本(尚未更新)可以在这里找到

由于担心直接分享训练日志和图表会给我带来麻烦,所以我先不分享出来(我正在研究如何使用Swanlab脱敏数据)。

目前,我的训练阶段主要集中在SFT上,使用了Alibaba-Apsara/Superior-Reasoning-SFT-gpt-oss-120b作为第二阶段的基础。

我也欢迎其他同好们交流评论!更多碎碎念可以在这里找到

通过这次尝试,我希望能够提升我的模型,同时也希望能够与其他爱好者们分享我的经验和学习成果。

标签: none

评论已关闭