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

相关推荐
清空mega19 分钟前
动手学深度学习|批量归一化(Batch Normalization)超详细讲解:为什么它能让深层网络更容易训练?
网络·深度学习·batch
LSQ的测试日记36 分钟前
深度学习_YOLO,卡尔曼滤波和
人工智能·深度学习·yolo
bst@微胖子1 小时前
PyTorch深度学习框架之多分类交叉熵实现图像分类
pytorch·深度学习·分类
独隅1 小时前
Keras 的主要特点和适用场景
人工智能·深度学习·keras
郝学胜-神的一滴2 小时前
自动微分实战:梯度下降的迭代实现与梯度清零核心解析
人工智能·pytorch·python·深度学习·算法·机器学习
HyperAI超神经2 小时前
【TVM教程】理解 Relax 抽象层
人工智能·深度学习·学习·机器学习·gpu·tvm·vllm
极昆仑智慧3 小时前
NL2X技术正从模型驱动到系统工程驱动的范式转变
人工智能·自然语言处理·chatgpt
Dev7z4 小时前
基于深度学习的香梨产量预测系统设计与实现(UI界面+数据集+训练代码)
人工智能·深度学习·yolo12·产量预测·香梨
A尘埃4 小时前
深度学习之卷积神经网络CNN(卷积+池化)
人工智能·深度学习·cnn
junior_Xin4 小时前
机器学习深度学习beginning5
人工智能·深度学习