Distilling System 2 into System 1

本文是LLM系列文章,针对《Distilling System 2 into System 1》的翻译。

摘要

大型语言模型(LLM)可以在推理过程中花费额外的计算来生成中间思想,这有助于产生更好的最终响应。自思维链以来,已经提出了许多这样的系统2技术,如改写和响应、系统2注意力和分支求解合并。在这项工作中,我们研究了自监督方法,将系统2技术的更高质量输出“编译”(提取)回LLM代,而无需中间推理token序列,因为这种推理已被蒸馏到系统1中。我们表明,可以成功地蒸馏出几种这样的技术,与原始的系统1性能相比,结果有所改善,并且推理成本低于系统2。我们认为,系统2的蒸馏将是未来持续学习人工智能系统的一个重要特征,使它们能够将系统2的能力集中在它们还不能很好地完成的推理任务上。

1 引言

2 相关工作

3 将系统2蒸馏到系统1

4 实验

5 结论

最近的工作表明,在内环中使用LLM的复杂推理过程,称为系统2方法,可以提高性能。在这项工作中,我们表明,在许多情况下&#x

### 将DeepSeek-R1模型的推理能力迁移到更小模型的技术和方法 #### 选择合适的蒸馏目标 为了有效地将大型预训练语言模型中的复杂推理模式传递给小型化的学生模型,需精心挑选教师模型的关键特征作为指导信号。对于像DeepSeek-R1这样的高级别推理型模型而言,除了常见的预测概率分布外,还应考虑引入中间层表示以及特定任务导向的行为指标来增强知识转移的效果[^1]。 #### 设计有效的损失函数 构建综合性的损失项组合是确保学生网络能够继承源模型精髓的重要环节之一。这通常涉及到软标签交叉熵损失(Softmax Cross Entropy Loss),用于捕捉分类决策边界上的细微差异;同时加入MSE或Cosine Similarity等度量方式衡量隐藏状态间的相似程度,从而促进语义层面的一致性保持。 ```python import torch.nn.functional as F def distillation_loss(student_output, teacher_output, temperature=2.0): soft_student = F.log_softmax(student_output / temperature, dim=-1) soft_teacher = F.softmax(teacher_output / temperature, dim=-1) kl_divergence = F.kl_div( input=soft_student, target=soft_teacher, reduction='batchmean' ) return kl_divergence * (temperature ** 2) ``` #### 多阶段渐进式训练策略 考虑到直接从零开始优化可能面临的挑战,在实际操作过程中往往采用分步实施的方式逐步逼近理想效果。初期可以先让较小规模的目标架构模仿较大原型的表现形式完成基础任务的学习过程;随着迭代次数增加再逐渐加大难度直至最终具备独立解决问题的能力。 #### 数据集的选择与处理 高质量的数据资源同样是成功执行这一转换流程不可或缺的因素。针对不同应用场景选取具有代表性和多样化的样本集合有助于提高泛化性能并减少过拟合风险。此外,适当调整输入格式、扩充上下文窗口长度或是应用数据增强手段均能有效改善迁移效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UnknownBody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值