LLMs 库尔贝克-莱布勒散度 KL Kullback-Leibler Divergence

KL-散度,或称为库尔巴克-莱布勒散度,是在强化学习领域经常遇到的概念,特别是在使用Proximal Policy Optimization(PPO)算法时。它是两个概率分布之间差异的数学度量,帮助我们了解一个分布与另一个分布的差异。在PPO的上下文中,KL-散度在引导优化过程中发挥关键作用,以确保更新的策略不会过于偏离原始策略。

在PPO中,目标是通过根据与环境交互获得的奖励来迭代更新其参数,为代理找到一个改进的策略。然而,过于激进地更新策略可能导致不稳定的学习或剧烈的策略更改。为了解决这个问题,PPO引入了一个限制,限制了策略更新的程度。通过使用KL-散度来强制执行这个限制。

要理解KL-散度的工作原理,想象一下我们有两个概率分布:原始LLM的分布和一个RL更新LLM的新提议分布。KL-散度度量了在我们使用原始策略对来自新提议策略的样本进行编码时获得的信息的平均量。通过最小化这两个分布之间的KL-散度,PPO确保更新的策略保持接近原始策略,防止可能对学习过程产生负面影响的剧烈变化。

一个可以用来使用强化学习训练变压器语言模型的库,使用PPO等技术的是TRL(Transformer Reinforcement Learning)。您可以在这个链接中了解有关这个库以及其与PEFT(参数高效微调)方法(如LoRA(低秩调整))的集成的更多信息。下图显示了TRL中的PPO训练设置的概览。

Reference

https://www.coursera.org/learn/generative-ai-with-llms/supplement/JESIK/kl-divergence

相关推荐
adjusttraining2 小时前
毁掉孩子视力不是电视和手机,两个隐藏很深因素,很多家长并不知
深度学习·其他
ziwu6 小时前
【宠物识别系统】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·深度学习·图像识别
ziwu6 小时前
海洋生物识别系统【最新版】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·深度学习·图像识别
WWZZ20256 小时前
快速上手大模型:深度学习12(目标检测、语义分割、序列模型)
深度学习·算法·目标检测·计算机视觉·机器人·大模型·具身智能
浩浩的代码花园12 小时前
自研端侧推理模型实测效果展示
android·深度学习·计算机视觉·端智能
晨非辰12 小时前
C++ 波澜壮阔 40 年:从基础I/O到函数重载与引用的完整构建
运维·c++·人工智能·后端·python·深度学习·c++40周年
这张生成的图像能检测吗15 小时前
(论文速读)EfficientTrain++: 高效视觉骨干训练的通用课程学习
人工智能·深度学习·计算机视觉·训练方法
编程小白_正在努力中1 天前
神经网络深度解析:从神经元到深度学习的进化之路
人工智能·深度学习·神经网络·机器学习
无风听海1 天前
神经网络之经验风险最小化
人工智能·深度学习·神经网络
H***99761 天前
月之暗面公开强化学习训练加速方法:训练速度暴涨97%,长尾延迟狂降93%
人工智能·深度学习·机器学习