当前位置: 首页 > news >正文

普林斯顿:LLM基于边际优化的梯度纠缠

在这里插入图片描述

📖标题:A Common Pitfall of Margin-based Language Model Alignment: Gradient Entanglement
🌐来源:arXiv, 2410.13828

🌟摘要

🔸从人类反馈中强化学习(RLHF)已成为对齐语言模型(LM)的主要方法,使其更有帮助,危害更小。RLHF的核心是使用基于裕度的损失进行偏好优化,该损失仅根据首选和非首选响应之间的差异来指定理想的LM行为。
🔸在本文中,我们发现了基于裕度的方法的一个常见陷阱——理想LM行为在首选和非首选响应上的规范不足,随着裕度的增加,这会导致两个意想不到的后果:(1)非首选(例如,不安全)响应的概率可能会增加,从而导致潜在的安全对齐失败。(2) 即使这些响应是理想的,首选响应的概率也可能降低。我们揭开了这些有问题行为背后的原因:基于边际的损失将首选概率的变化与被取消的概率的梯度联系起来,反之亦然,这通常会阻止首选概率在被取消的情况下增加,从而导致两种概率同步增加或减少。我们将这种基于边缘的目标固有的效应称为梯度纠缠。从形式上讲,我们推导出了一般基于边缘的对齐目标的条件,在这些条件下,梯度纠缠变得令人担忧:优选对数概率的梯度与解卷积对数概率的斜率之间的内积相对于单个梯度范数较大。
🔸我们从理论上研究了为什么在对齐语言模型时,这些内积会很大,并实证验证了我们的发现。我们框架的实证意义进一步扩展到解释各种偏好优化算法训练动态的重要差异,并提出潜在的算法设计,以缓解基于边际的方法的规格不足问题,从而改善语言模型对齐。

🛎️文章简介

🔸研究问题:基于边际的语言模型在对齐中会面临常见的梯度纠缠陷阱。
🔸主要贡献:论文揭示了梯度纠缠是边际目标中固有的问题,导致了选择和拒绝概率同步增加或减少,并提出了两种潜在的算法设计来缓解梯度纠缠效应。

📝重点思路

🔺相关工作

🔸RLHF:LLM提高其有用性和减轻危害性的主要方法,包括教学数据的监督微调和偏好的强化对齐。
🔸奖励模型:近期研究通过边际的偏好优化损失来直接优化语言模型,但会出现所选响应和拒绝响应的对数概率同步增加或减少。
🔸原因分析:只指定了选择和拒绝的对数概率之间边际的理想行为,即让正例高于负例,而非降低负例概率和提高正例概率。

🔺论文方案

🔸理论分析:论文推导了梯度内积的条件,理论分析在基于边际的目标函数中,选择和拒绝的对数概率的梯度纠缠效应,解释了为什么在某些情况下选择和拒绝的对数概率会同步增加或减少。
🔸合成设置实验:在合成设置中,论文理论证明了当选择和拒绝的响应共享更多相似的token时,它们的梯度内积会增加。同时,尽管句子级别的梯度内积可能很大且为正,但单个token级别的内积可以很小且为负。
🔸实证验证:通过实证验证了这些理论见解,发现DPO和R-DPO中选择和拒绝的对数概率倾向于同时减少,证明了梯度纠缠的存在。
🔸算法设计:基于理论和实证分析,提出了两种潜在的算法设计来缓解梯度纠缠效应,即成对归一化梯度下降和稀疏正则化的token掩码。

🔎分析总结

🔸梯度纠缠的存在:实验发现,在DPO和R-DPO中,选择和拒绝的对数概率倾向于同时减少,这证明了梯度纠缠的存在。
🔸梯度内积的影响:实验揭示了梯度内积是驱动梯度纠缠效应的关键量,当梯度内积较大时,选择和拒绝的对数概率会同步增加或减少。
🔸token级别的梯度动态:实验发现,显著的token(如“positive”/“negative”)在选择和拒绝的响应中最具对比性,表现出负的梯度相关性,防止了梯度纠缠;而那些非对比性的不显著token(如相同的token)由于其梯度的高相似性,导致了梯度纠缠。
🔸算法设计的有效性:提出的两种算法设计(成对归一化梯度下降和稀疏正则化的token掩码)可能有效缓解梯度纠缠效应。

💡个人观点

论文的核心是理论和实验分析当前偏好对齐方案导致的正负样本概率同步变化,将其定义为token语义层面的梯度纠缠,算是一种“奖励黑客”导致没有真正学到奖励。

🧩附录

在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/483648.html

相关文章:

  • 通俗易懂:什么是 Java 类加载?
  • Dijkstra 算法的实现方案
  • OpenGL 进阶系列07 - 阴影贴图(shadowmap )
  • 【CAN介绍】【第一篇章】
  • 【统计子矩阵——部分前缀和+双指针】
  • 用正则表达式检查是IP否为内网地址
  • Leetcode刷题笔记14
  • PHP图书绘本借阅管理系统小程序源码
  • 【JavaWeb】JavaWeb入门之XML详解
  • JS手写-this绑定实现
  • 【时间之外】IT人求职和创业应知【31】
  • 如何使用ffmpeg命令行进行录屏
  • ODOO学习笔记(8):模块化架构的优势
  • 数字IC后端实现之Innovus specifyCellEdgeSpacing和ICC2 set_placement_spacing_rule的应用
  • 每日小练:Day2
  • ubuntu 安装kafka-eagle
  • 深入理解指针
  • 自动驾驶合集(更新中)
  • Chapter 14 scoped样式以及data函数
  • Golang | Leetcode Golang题解之第557题反转字符串中的单词III
  • 区块链技术在电子政务中的应用
  • Simulink中Matlab function使用全局变量
  • WPF-控件的属性值的类型转化
  • 海思Hi3516DV300上播放G711U音频文件
  • Linux源码阅读笔记-V4L2框架基础介绍
  • 列表(list)
  • 使用Python抓取数据的实战指南
  • GIC寄存器介绍
  • c++实现B树(下)
  • 外星人入侵