返回列表

6th Place Solution: Online Distillation via Deep Mutual Learning

674. Jigsaw - Agile Community Rules Classification | jigsaw-agile-community-rules

开始: 2025-07-23 结束: 2025-10-23 内容安全 数据算法赛
第 6 名解决方案:通过深度相互学习进行在线蒸馏

第 6 名解决方案:通过深度相互学习进行在线蒸馏

作者: ducnh279 (Master)

发布时间: 2025 年 10 月 24 日

竞赛排名: 第 6 名

首先,我要感谢组织者举办了如此精彩的 LLM 竞赛。还要特别感谢我的老师 @justmarkham - 您的在线数据科学教育 invaluable,没有您我不可能做到这一点。

总结

对于这次比赛,我微调了 Qwen3 家族的 3 个 LLM 用于文本分类,使用深度相互学习 (Deep Mutual Learning, DML),并应用加权集成来提高鲁棒性和稳定性。

输入数据

测试正负样本及其规则用于训练,并格式化为以下提示模板:

prompt = f"""<|im_start|>user
You are given a Reddit comment and a specific subreddit rule. Your task is to decide if the comment violates the rule. Respond only with "Yes" or "No".

Rule: {RULE_HERE}

Now, here is the comment to classify:
"{COMMENT_HERE}"

Answer "Yes" if it violates the rule, otherwise "No".<|im_end|>
<|im_start|>assistant
<think>

</think>

Answer:"""

模型

  • 实验模型: Qwen3-14BQwen2.5-14B-Instruct
  • 最终提交模型: Qwen3-14B, Qwen3-8B, 和 Qwen3Guard-Gen-4B

早期竞争性提交

在测试样本上训练单个 Qwen3-14B,快速得到:

模型 公开分数 (Public Score) 私有分数 (Private Score)
Qwen3-14B 0.925 0.921

深度相互学习 (Deep Mutual Learning)

论文:Deep Mutual Learning (arXiv:1706.00384)

由于只有 2 块 T4 GPU,使用更大的教师模型来提升 14B 模型的性能是不可行的。离线蒸馏可以尝试,但它只覆盖了训练集中 6 个已知规则中的 2 个。为了获得最佳整体分数,知识蒸馏需要包含所有规则。

基于 logits 的经典知识蒸馏在这次比赛中提出了挑战,因为教师的 softmax 输出极其尖锐,几乎与 one-hot 标签相同。应用温度缩放来软化它们效果不佳。

在这些约束下,更实用的方法是深度相互学习 (DML),这是一种在线蒸馏方法,其中多个相似或更小规模的 peer 学生模型同时相互学习。这使得无需更大的教师模型即可实现有效的知识转移,只需在标准分类交叉熵中添加 Kullback-Leibler (KL) 散度损失

DML 架构图

DML 的优势在于它消除了对更大更强教师模型的需求,允许模型相互学习对方的软预测而不是硬标签。这个过程丰富了监督信号,增加了隐式正则化,并鼓励更平滑的决策边界。每个 peer 模型有效地从其他模型共享的知识中获得额外容量,从而导致更稳定的优化和更好的泛化能力。这使得 DML 在 LLM 竞赛或现代工业环境中特别有价值,在这些环境中,硬件限制通常阻止训练或部署大型教师模型,然而有效的知识转移和鲁棒性能仍然至关重要。

DML 对 Qwen3-14B & Qwen2.5-14B 性能的影响

Peer 学生:Qwen3-14B, Qwen2.5-14B-Instruct

训练类型 模型 公开分数 私有分数
独立训练 Qwen3-14B 0.925 0.921
独立训练 Qwen2.5-14B-Instruct 0.923 0.919
DML Qwen3-14B 0.929 0.925
DML Qwen2.5-14B-Instruct 0.929 0.924

集成 (Ensembles)

集成类型 公开分数 私有分数
DML 模型 0.932 0.9271
独立训练模型 0.929 0.925

DML 一致地提高了 Qwen3-14B 和 Qwen2.5-14B 的性能,在私有分数和集成结果上有显著增益,证明了其在提升模型泛化能力方面的有效性。

最终提交

虽然 DML 为每个模型增加了额外容量,但其协同训练过程可能会引入模型错误的相关性。由于多样性对于强大的集成至关重要,在截止日期前 2 天,我决定为 DML 创建一个 3 模型 cohort。这种方法增强了集成多样性,并进一步帮助减轻每个"peer"模型的一次性错误。

3-peer 集成的性能

Peer 学生:Qwen3-14B, Qwen3-8B, Qwen3Guard-Gen-4B

公开分数 私有分数
0.93237 0.92781
提交截图

模型执行时间

  • 训练: 三个模型在单个 DML 过程中一起训练,耗时约 5 小时。
  • 推理: 训练后,每个模型顺序运行以生成用于集成的预测。测试数据被分成两半,保持两半中序列长度的分布相似,以平衡 GPU 工作负载。然后将每一半按长度排序以便高效的批处理,并在 2 块 GPU 上并行运行。整个推理过程耗时约 5 小时。
同比赛其他方案