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

相关推荐
好评笔记16 分钟前
机器学习面试八股——常用损失函数
人工智能·深度学习·算法·机器学习·校招
weixin_4684668518 分钟前
全局与局部注意力机制新手实战指南
人工智能·python·深度学习·算法·自然语言处理·transformer·注意力机制
小糖学代码37 分钟前
LLM系列:环境搭建:5.Python-dotenv 环境变量管理
人工智能·python·深度学习·神经网络
voidmort2 小时前
3. 微调(Fine-tuning)与强化学习(RL)的核心思想
python·深度学习·算法
keyanbanyungong3 小时前
告别杂乱病历!临床科研AI工具实测
人工智能·深度学习
z小猫不吃鱼5 小时前
13 Scaling Law 入门:模型规模、数据规模和计算量是什么关系?
人工智能·深度学习·机器学习
知识浅谈6 小时前
Transformer 中的 Q、K、V 到底是什么?怎么理解 Query、Key、Value?
人工智能·深度学习·transformer
人工智能培训7 小时前
设备故障?数字孪生提前预警
人工智能·深度学习·神经网络·机器学习·生成对抗网络
weixin_468466857 小时前
千问大模型在阿里生态中的实战应用指南
大数据·人工智能·深度学习·ai·大模型·智能交互·自动应答
wangqiaowq8 小时前
预训练 后预训练 微调
人工智能·深度学习·机器学习