大模型背后的秘密公式: Q*?

这麽说好像我是James Bond后面那个厉害的Q先生,Q是英文Quartermaster(軍需官)第1個英文字大寫,是007系列英國祕勤局虛構部門Q部門的領導。

Stanford大学的研究者最近发表了一篇名为"From r to Q*: Your Language Model is Secretly a Q-Function"的论文,核心观点是将语言模型解释为最优Q函数,并以此推导出DPO算法在序列决策问题中的应用。这为DPO在序列决策任务中的应用提供了理论基础。本报告探讨了其在多轮对话、智能体建立、端到端生成式AI系统训练等方面的应用前景,并提供了使用DPO在Reddit TL;DR数据集上训练的样本生成结果。

在这里插入图片描述

让我们深入探讨一下其中的关键论证。首先,作者定义了语言模型中的token级MDP(Token-level Markov Decision Process),这是一种用于表示语言模型序列决策过程的数学框架。在token级MDP中,每个token都被视为一个独立的决策步骤。其组成要素包括:状态空间S、动作空间A、转移函数f、奖励函数r和初始状态分布 ρ 0 \rho_0 ρ0。由于语言的顺序特性,token级MDP具有独特的树形结构,与一般的MDP(例如棋类游戏)不同,因此许多基于MDP的理论结果在此都有独特的解释。

在这里插入图片描述

接着,作者指出在token级MDP中,最优策略 π ∗ \pi^* π与最优Q函数 Q ∗ Q^* Q之间满足一定关系,语言模型生成每个token的概率分布恰好对应以logits为 Q ∗ Q^* Q的softmax函数。作者进一步证明,在token级MDP中,奖励函数r与最优Q函数 Q ∗ Q^* Q之间存在一一映射关系,表明我们可以将语言模型视为隐式地表示了某个最优Q函数的奖励函数。DPO算法的目标就是调整模型参数,使其所对应的奖励函数符合人类偏好,同时DPO能够学习任意密集奖励函数对应的最优策略。

在这里插入图片描述

这一理论洞见具有重要意义。它揭示了语言模型的潜在强化学习特性,为DPO等对齐算法在序列决策中的应用提供了理论支持,同时也为PPO等传统强化学习算法在语言任务上的应用提供了合适的问题建模。这篇论文开创性地将Q学习与语言模型结合,极大拓展了RLHF的理论框架和算法工具箱。

作者还概述了如何使用DPO从人类反馈中端到端训练生成式AI系统。通过在混合MDP中同时优化提示生成器和图像生成器,联合训练可使系统生成更对齐的提示和图像。在Reddit TL;DR数据集上的实验表明,beam search可提高DPO模型的匹配质量但宽度过大会导致冗长,而有无监督式微调(SFT)预训练则显著影响生成摘要的可读性。

这项工作为将DPO扩展到序列决策、强化学习领域奠定了理论基础,并提出了从反馈中学习推理、多轮对话、智能体训练、端到端生成式AI训练等具启发性的潜在应用方向。通过将DPO重新诠释为最佳Q函数学习,它为偏好对齐技术的发展开辟了简洁高效的新路径。未来,大规模实证研究以及在更多任务中的探索,有望进一步推动需要多步交互及端到端优化的语言模型对齐应用。

科普什么是Q函数(可不是Altman家的 Q ∗ Q^* Q):

Q函数,全称为动作-价值函数(Action-Value Function),是强化学习中的一个重要概念。它表示在给定策略 π \pi π下,从状态s开始执行动作a,然后继续遵循策略 π \pi π所获得的期望累积奖励。用数学公式表示为:

Q π ( s , a ) = E π [ R t + 1 + γ R t + 2 + γ 2 R t + 3 + . . . ∣ S t = s , A t = a ] Q^\pi(s, a) = E_\pi[R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ... | S_t = s, A_t = a] Qπ(s,a)=Eπ[Rt+1+γRt+2+γ2Rt+3+...∣St=s,At=a]

其中, γ \gamma γ是折扣因子,用于平衡即时奖励和长期奖励的重要性。期望 E π E_\pi Eπ表示在给定策略 π \pi π的情况下对未来奖励的平均值。

Q函数有以下几个关键性质:

  1. 最优Q函数 Q ∗ ( s , a ) Q^*(s, a) Q(s,a)给出了在状态s下采取动作a,然后在之后的所有时间步遵循最优策略 π ∗ \pi^* π可以获得的最大期望累积奖励。

  2. 基于最优Q函数,我们可以很容易地得到最优策略: π ∗ ( a ∣ s ) = arg ⁡ max ⁡ a Q ∗ ( s , a ) \pi^*(a|s) = \arg\max_a Q^*(s, a) π(as)=argmaxaQ(s,a)。即在每个状态下选择Q值最大的动作。

  3. Q函数满足贝尔曼最优方程(Bellman Optimality Equation):

    Q ∗ ( s , a ) = E [ R t + 1 + γ max ⁡ a ′ Q ∗ ( S t + 1 , a ′ ) ∣ S t = s , A t = a ] Q^*(s, a) = E[R_{t+1} + \gamma \max_{a'}Q^*(S_{t+1}, a') | S_t = s, A_t = a] Q(s,a)=E[Rt+1+γmaxaQ(St+1,a)St=s,At=a]

这个方程表示最优动作价值等于即时奖励加上下一状态的最大Q值(乘以折扣因子 γ \gamma γ)的期望。

在强化学习中,我们通常利用贝尔曼方程作为更新Q函数估计值的依据,例如在Q-learning算法中:

Q ( S t , A t ) ← Q ( S t , A t ) + α [ R t + 1 + γ max ⁡ a Q ( S t + 1 , a ) − Q ( S t , A t ) ] Q(S_t, A_t) \leftarrow Q(S_t, A_t) + \alpha[R_{t+1} + \gamma \max_a Q(S_{t+1}, a) - Q(S_t, A_t)] Q(St,At)Q(St,At)+α[Rt+1+γmaxaQ(St+1,a)Q(St,At)]

其中 α \alpha α是学习率。这个更新规则可以被证明在一定条件下收敛到最优Q函数。

Q函数提供了一种评估动作好坏的方法,使我们能够在不完全了解环境动态的情况下做出最优决策。很多强化学习算法如Q-learning、SARSA、DQN等都是围绕估计和优化Q函数展开的。

近年来,随着深度学习的发展,深度Q网络(DQN)等算法将神经网络用于逼近Q函数,取得了显著的成功,使得Q学习的思想得以扩展到大规模甚至连续的状态-动作空间中。

总之,作为连接策略评估和策略改进的桥梁,Q函数是现代强化学习的核心概念之一。深入理解Q函数的性质和更新方法,对于设计高效的强化学习算法至关重要。同时Q学习在机器人、自动驾驶、游戏AI等领域也有广泛应用。而将Q学习与神经语言模型相结合,更是近年来的一个令人激动的新方向,为对齐大型语言模型行为带来了新的理论视角和技术路径。

Token级MDP(Token-level Markov Decision Process)是一种用于表示语言模型中序列决策过程的数学框架。在这个MDP中,每个token(词汇表中的词)都被视为一个独立的决策步骤。让我详细解释一下它的组成要素:

  1. 状态空间(State Space, S):包含到目前为止生成的所有token,即 s t = x 0 , . . . , x m , y 0 , . . . , y t s_t=\\{x_0, ..., x_m, y_0, ..., y_t\\} st=x0,...,xm,y0,...,yt,其中 x i x_i xi是输入序列的token, y i y_i yi是生成序列的token。

  2. 动作空间(Action Space, A):词汇表V中的所有token。在每个状态下,模型从词汇表中选择一个token作为动作。

  3. 转移函数(Transition Function, f):描述在给定状态s下采取动作a后,环境将转移到哪个新状态s’。在token级MDP中,转移函数是确定性的: f ( s , a ) = s ∣ a f(s, a) = s|a f(s,a)=sa,即新状态是原状态与新token的拼接。

  4. 奖励函数(Reward Function, r):定义在每个状态动作对 ( s , a ) (s, a) (s,a)上的即时奖励值。在RLHF设定中,奖励函数从人类反馈中学习。

  5. 初始状态分布(Initial State Distribution, ρ 0 \rho_0 ρ0):定义了MDP的初始状态分布,通常对应输入提示的分布。

在token级MDP中,模型的目标是最大化累积期望奖励:

max ⁡ π E τ ∼ π [ ∑ R ( s t , a t ) ] \max_\pi E_{\tau \sim \pi}[\sum R(s_t, a_t)] maxπEτπ[R(st,at)]

其中 π \pi π是模型的策略(policy), τ \tau τ是轨迹(trajectory), R ( s t , a t ) R(s_t, a_t) R(st,at)是t时刻的奖励。求解这一目标的经典方法是强化学习,例如近端策略优化(PPO)。

值得注意的是,由于语言的顺序特性,token级MDP具有独特的树形结构(tree structure),即在给定输入提示(初始状态)的情况下,模型的每个决策都会导向一个全新的状态,这与一般的MDP(例如棋类游戏)不同。因此,许多基于MDP的理论结果(如Bellman方程)在这里都有独特的解释。

作者首先定义了语言模型中的token级MDP,其中每个时间步对应生成一个token的决策。接着,他们指出,在这个特殊的MDP中,最优策略 π ∗ \pi^* π与最优Q函数 Q ∗ Q^* Q之间满足如下关系:

π ∗ ( a t ∣ s t ) = exp ⁡ ( ( Q ∗ ( s t , a t ) − V ∗ ( s t ) ) / β ) \pi^*(a_t|s_t) = \exp((Q^*(s_t,a_t) - V^*(s_t)) / \beta) π(atst)=exp((Q(st,at)V(st))/β)

其中 V ∗ V^* V是最优价值函数, β \beta β是温度参数。换句话说,语言模型生成每个token的概率分布,恰好对应了以logits为 Q ∗ Q^* Q的softmax函数。进一步地,Bellman最优方程给出了 Q ∗ Q^* Q和环境奖励r之间的递归关系:

Q ∗ ( s t , a t ) = r ( s t , a t ) + β log ⁡ π r e f ( a t ∣ s t ) + V ∗ ( s t + 1 ) Q^*(s_t,a_t) = r(s_t,a_t) + \beta \log \pi_{ref}(a_t|s_t) + V^*(s_{t+1}) Q(st,at)=r(st,at)+βlogπref(atst)+V(st+1)

作者据此证明,在token级MDP中,奖励函数r与最优Q函数 Q ∗ Q^* Q之间存在一一映射关系。这意味着我们可以将语言模型视为一个隐式地表示了某个最优Q函数的奖励函数。DPO算法的目标就是调整模型参数,使其表示的Q函数所对应的奖励函数符合人类偏好。作者进一步论证了DPO能够学习任意密集奖励函数对应的最优策略。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/323406.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

回答篇:测试开发高频面试题目

引用之前文章:《测试开发高频面试题目》 https://blog.csdn.net/qq_41214208/article/details/138193469?spm1001.2014.3001.5502 本篇文章是回答篇(持续更新中) 1. 什么是测试开发以及其在软件开发流程中的作用。 a. 测试开发是指测试人员或…

ABC352编程笔记

ABC352 编程笔记 题意&#xff1a;输入&#xff0c;四个数 a , b , c , d a,b,c,d a,b,c,d&#xff0c;若 d d d 在 c , d c,d c,d 之间&#xff0c;则输出 Yes&#xff0c;否则输出 No。 正解&#xff1a;直接判断。 #include <bits/stdc.h> //#define int long lo…

基于 stable diffusion 制作上世纪90年代的游戏美术风格

1. 项目背景 目前游戏项目中出现美术产能不足的瓶颈&#xff0c;如果使用 midjourney 之类的第三方生成式人工智能产品生成美术素材的话&#xff0c;一方面需要将我们的美术资产投喂给第三方企业进行风格训练&#xff0c;有安全性上的风险&#xff0c;另一方面&#xff0c;第三…

华为ensp中BFD和OSPF联动(原理及配置命令)

作者主页&#xff1a;点击&#xff01; ENSP专栏&#xff1a;点击&#xff01; 创作时间&#xff1a;2024年5月6日20点26分 BFD通常指的是双向转发检测。BFD是一个旨在快速检测通信链路故障的网络协议&#xff0c;提供了低开销、短延迟的链路故障检测机制。它主要用于监测两个…

VisualGDB:Linux静态库项目创建、编译及库的使用

接上篇《VisualGDB&#xff1a;Linux动态库项目创建、编译及库的使用》&#xff0c;静态库的创建和使用与动态库基本无差别&#xff0c;唯一需要做的就是指定项目生成静态库。 一、指定项目生成静态库 二、重新构建和编译项目 这里注意&#xff0c;同样要copy一个libxxx.so格式…

【Spring】GoF 之代理模式

一、代理模式 在 Java 程序中的代理模式的作用&#xff1a; 当一个对象需要受到保护的时候&#xff0c;可以考虑使用代理对象去完成某个行为 需要给某个对象的功能进行功能增强的时候&#xff0c;可以考虑找一个代理进行增强 A 对象无法和 B 对象直接交互时&#xff0c;也可以…

IDEA终端环境配置

Idea如何配置终端&#xff1b; 第一步&#xff1a;找到我的电脑&#xff0c;右击——属性——高级系统设置——环境变量 先配置path: 在后面加入&#xff1a;C:\Program Files (x86)\Java\jdk1.7.0_75\bin&#xff08;每个人放置jdk的位置不同。&#xff09; 新建classpath:…

华为OD机试【贪吃的猴子】(java)(200分)

1、题目描述 只贪吃的猴子&#xff0c;来到一个果园&#xff0c;发现许多串香蕉排成一行&#xff0c;每串香蕉上有若干根香蕉。每串香蕉的根数由数组numbers给出。 猴子获取香蕉&#xff0c;每次都只能从行的开头或者末尾获取&#xff0c;并且只能获取N次&#xff0c;求猴子最…

机器人系统ros2-开发实践08-了解如何使用 tf2 来访问坐标帧转换(Python)

tf2 库允许你在 ROS 节点中查询两个帧之间的转换。这个查询可以是阻塞的&#xff0c;也可以是非阻塞的&#xff0c;取决于你的需求。下面是一个基本的 Python 示例&#xff0c;展示如何在 ROS 节点中使用 tf2 查询帧转换。 本教程假设您已完成tf2 静态广播器教程 (Python)和tf…

如何高效解决渠道问题

品牌渠道会围绕销售做一系列活动&#xff0c;定价也会影响渠道的发展&#xff0c;同样的维护好价格&#xff0c;对渠道来说同样重要&#xff0c;渠道中常见的问题包含低价、窜货等&#xff0c;当低价问题不及时解决&#xff0c;会波及影响更多链接&#xff0c;使其他店铺为了流…

力扣刷题第1天:消失的数字

大家好啊&#xff0c;从今天开始将会和大家一起刷题&#xff0c;从今天开始小生也会开辟新的专栏。&#x1f61c;&#x1f61c;&#x1f61c; 目录 第一部分&#xff1a;题目描述 第二部分&#xff1a;题目分析 第三部分&#xff1a;解决方法 3.1 思路一&#xff1a;先排序…

企业短信平台群发_专业群发短信平台

企业平台群发是一种方便、高效的营销方式&#xff0c;通过专业群发平台&#xff0c;企业能够快速、准确地向大量目标客户发送&#xff0c;提高品牌知名度、促进销售和客户互动。下面将详细介绍企业短信平台群发的优势及使用方法。 优势 提高信息覆盖率 企业平台群发可以让企业…

html--瀑布效果

<!doctype html> <html> <head> <meta charset"utf-8"> <title>瀑布效果</title><style> body {background: #222;color: white;overflow:hidden; }#container {box-shadow: inset 0 1px 0 #444, 0 -1px 0 #000;height: 1…

Vue 插槽

Vue插槽是一种特殊的语法&#xff0c;用于在组件中定义可复用的模板部分。它允许开发者在组件的标记中声明一个或多个插槽&#xff0c;然后在使用该组件时&#xff0c;可以根据自己的需求将内容插入到这些插槽中。 Vue插槽分为默认插槽和具名插槽两种。 目录 默认插槽 语法…

【图书推荐】《JSP+Servlet+Tomcat应用开发从零开始学(第3版)》

本书目的 系统讲解JSPServletTomcat开发技术&#xff0c;帮助读者用最短的时间掌握Java Web应用开发技能。 内容简介 本书全面系统地介绍JSPServletTomcat开发中涉及的相关技术要点和实战技巧。本书内容讲解循序渐进&#xff0c;结合丰富的示例使零基础的读者能够熟练掌握JSP…

Leetcode—2105. 给植物浇水 II【中等】

2024每日刷题&#xff08;131&#xff09; Leetcode—2105. 给植物浇水 II 实现代码 class Solution { public:int minimumRefill(vector<int>& plants, int capacityA, int capacityB) {int size plants.size();int i 0;int j size - 1;int capA capacityA;in…

探秘Tailwind CSS:前端开发的加速器(Tailwind CSS让CSS编写更简洁)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 Tailwind CSS 📒📝 快速体验📝 深入学习⚓️ 相关链接 ⚓️📖 介绍 📖 在这个快速迭代的互联网时代,前端开发效率和设计质量的双重要求,使得开发者们不断寻求更高效的工具和方法。今天,我们要介绍的是一个能够极大…

酷柚易汛ERP源码部署/售后更新/搭建/上线维护

一款基于FastAdminThinkPHPLayui开发的ERP管理系统&#xff0c;帮助中小企业实现ERP管理规范化&#xff0c;此系统能为你解决五大方面的经营问题&#xff1a;1.采购管理 2.销售管理 3.仓库管理 4.资金管理 5.生产管理&#xff0c;适用于&#xff1a;服装鞋帽、化妆品、机械机电…

设计模式之服务定位器模式

想象一下&#xff0c;你的Java应用是一座庞大的迷宫&#xff0c;里面藏着无数宝贵的服务宝藏&#xff0c;而你正需要一张精确的藏宝图来指引方向&#xff0c;迅速找到并利用这些宝藏。服务定位器模式&#xff0c;正是这样一张神奇的地图&#xff0c;它帮你动态定位并获取应用中…

『先进技术助力』Kompas AI:智能AI代理在工作中的应用与效率提升

『智能化未来』Kompas AI如何改变我们的工作方式&#xff1f; 在这个信息时代&#xff0c;利用AI聊天机器人来处理机械性的工作已经成为一种趋势。ChatGPT作为一种智能助手&#xff0c;不仅能够提高工作效率&#xff0c;还可以帮助我们更明智地做出决策&#xff0c;从而释放出更…