Direct Preference Knowledge Distillation for Large Language Models

本文是LLM系列文章,针对《Direct Preference Knowledge Distillation for Large Language Models》的翻译。

大型语言模型的直接首选项知识蒸馏

摘要

在大型语言模型 (LLM) 领域,知识蒸馏 (KD) 是将功能从教师模型迁移到学生模型的关键技术。然而,现有的 KD 方法在蒸馏 LLM 方面面临局限性和挑战,包括效率和传统 KL 散度测量能力不足。结果表明,LLM 可以作为隐式奖励函数,我们将其定义为 KL 分歧的补充。在这项工作中,我们提出了 LLM 的直接偏好知识蒸馏 (DPKD)。我们将 LLM 的 KD 重新表述为两个阶段:首先优化和目标,包括隐性奖励和反向 KL 发散,然后提高教师产出对学生产出的偏好概率。我们对 LLM 参数范围从 120M 到 13B 的各种数据集进行了实验和分析,并证明了我们的 DPKD 方法的广泛适用性和有效性。同时,我们通过实验和理论分析证明了 KD 中引入的隐性奖励和输出偏好的价值和有效性。DPKD 方法在输出响应精度和精确匹配百分比方面都优于基线方法。代码和数据可在 https://aka.ms/dpkd上获得。

1 引言

2 方法

### 如何通过人类反馈训练语言模型以遵循指令 通过人类反馈训练语言模型以使其能够更好地遵循指令是一个复杂的过程,涉及多个阶段和技术方法。以下是对此过程的详细介绍: #### 数据收集与准备 为了使模型具备理解并执行指令的能力,数据的质量至关重要。最初的数据来源于互联网文本,这些数据用于预训练大型语言模型的基础架构[^2]。然而,这种基础模型的目标仅仅是预测下一个单词,并未针对特定的任务优化。 在项目初期,由于缺乏现成的支持指令交互的模型,研究人员采用了人工生成的方式获取高质量的输入-输出对。具体来说,OpenAI 雇佣了承包商来手动创建三类提示及其对应的理想响应[^3]。这种方法虽然劳动密集型较高,但它为后续更高效的自动化流程奠定了坚实的基础。 #### 微调 (Fine-tuning) 一旦积累了足够的高质量样本集之后,则可以利用它们进一步微调预先存在的大体量参数化神经网络结构。此步骤旨在调整原有通用性较强的语言建模能力向更加专注于理解和回应各种形式的具体指示方向转变。即让机器学习如何依据给定条件产生恰当的结果而不是单纯依赖统计规律推测可能延续的内容片段[^1]。 #### 基于偏好排序的学习机制引入 除了传统的监督式教学外,在本案例里还特别强调了一种新颖的技术手段—基于偏好的强化学习(RLHF, Reinforcement Learning from Human Feedback) 。它的工作原理大致如下:先由真人审阅若干候选答案版本;接着根据其主观判断给出相对优劣评价等级作为奖励信号反馈至算法内部;最后借助这些累积起来的经验指导系统逐步改进直至达到预期效果为止。 ```python def train_with_human_feedback(model, dataset): """ A simplified pseudo-code representation of training a model using human feedback. Args: model: Pretrained language model instance. dataset: Dataset containing input-output pairs along with preference rankings. Returns: Trained model that better follows instructions based on human preferences. """ for epoch in range(num_epochs): for batch in dataset: outputs = model(batch['input']) # Obtain human-generated ranking or direct labels as rewards reward_signal = get_reward_from_humans(outputs) # Update model parameters via reinforcement learning techniques update_model_parameters(model, reward_signal) return model ``` 上述伪代码展示了如何结合人类反馈来进行模型训练的一个简化框架。其中`get_reward_from_humans()`函数代表从真实用户处获得关于不同输出选项之间比较的信息源流转换操作序列集合体实例对象列表数组等等概念术语定义说明文档链接地址引用标记.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

UnknownBody

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

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

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

打赏作者

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

抵扣说明:

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

余额充值