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

相关推荐
丶Darling.3 小时前
深度学习与神经网络 | 邱锡鹏 | 第四章学习笔记 神经网络
深度学习·神经网络·学习
MPCTHU3 小时前
预测分析(四):面向预测分析的神经网络简介
人工智能·深度学习·神经网络
qq_273900234 小时前
Pytorch torch.nn.utils.rnn.pad_sequence 介绍
人工智能·pytorch·python·rnn·深度学习
lida20037 小时前
ChatGPT之智能驾驶问题讨论
chatgpt
橙色小博8 小时前
残差神经网络(ResNet)概念解析与用法实例:简洁的图像处理任务
人工智能·python·深度学习·神经网络·cnn·resnet
阿里云大数据AI技术8 小时前
【解决方案】DistilQwen2.5-R1蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践
人工智能·深度学习
Blossom.1188 小时前
物联网安全技术:守护智能世界的防线
人工智能·深度学习·物联网·安全·机器学习·自动化·去中心化
木盏9 小时前
Linux终止进程(kill process)的一些玩法
linux·运维·深度学习
HNU混子9 小时前
手搓多模态-05 transformer编码层
人工智能·深度学习·transformer·编码器·激活函数·多模态大模型