CN117808120A - 用于大语言模型的强化学习的方法和装置 - Google Patents
用于大语言模型的强化学习的方法和装置 Download PDFInfo
- Publication number
- CN117808120A CN117808120A CN202311866241.XA CN202311866241A CN117808120A CN 117808120 A CN117808120 A CN 117808120A CN 202311866241 A CN202311866241 A CN 202311866241A CN 117808120 A CN117808120 A CN 117808120A
- Authority
- CN
- China
- Prior art keywords
- model
- large language
- reinforcement learning
- language model
- actor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Machine Translation (AREA)
Abstract
本公开提供了一种用于大语言模型的强化学习的方法、装置、设备和计算机可读存储介质。该方法采用奖励模型、评论者模型、动作者模型和初始化的大语言模型来协同执行对大语言模型的强化学习训练,其中动作者模型用于生成大语言模型的下一个动作,评论者模型用于评估该动作的质量,以用于更新大语言模型的行为策略,其中,将初始策略分布和动作者模型的策略分布的KL散度作为正则项加入目标函数,避免大语言模型的策略偏离原有策略太多,进而提高强化学习训练的稳定性。该方法能够针对大语言模型的强化学习训练中出现的各种问题对强化学习训练进行针对性优化,以提升大语言模型的性能,且通过补充多种训练稳定性策略,能够实现跨模型规模的稳定训练。
Description
技术领域
本公开涉及人工智能领域,更具体地,涉及一种用于大语言模型的强化学习的方法、装置、设备和存储介质。
背景技术
在当今人工智能领域,大语言模型的应用越来越广泛,而强化学习作为一种重要的技术手段,通过与环境的交互学习最佳的行为策略,在大语言模型中的应用具有重要的意义。强化学习可以用于训练模型生成更加流畅和合理的语言表达,提高对话生成能力和文本生成能力,帮助模型不断改进自身的语言生成能力,使其能够更好地满足用户的需求,并提升模型的整体性能。通过与环境的交互学习,大语言模型可以自动学习并改进自身的表达能力,从而生成更加自然和流畅的文本。这对于对话系统、智能客服、智能写作等应用具有重要意义。
因此,需要一种有效的用于大语言模型的强化学习的方法,以优化大语言模型的强化学习。
发明内容
为了解决上述问题,本公开通过利用近端策略优化算法对大语言模型进行强化学习,采用四个模型共同参与强化学习过程,针对该强化学习过程出现的问题来对大语言模型的强化学习进行针对性优化,从而改进大语言模型的性能。
本公开的实施例提供了一种用于大语言模型的强化学习的方法、装置、设备和计算机可读存储介质。
本公开的实施例提供了一种用于大语言模型的强化学习的方法,所述大语言模型被初始化为经监督微调的大语言模型,所述方法包括:获取提示指令;利用所述大语言模型,针对所述提示指令生成提示响应;针对所述提示指令和所述提示响应,执行用于所述大语言模型的强化学习的多轮迭代,以完成对所述大语言模型的强化学习,其中,在每轮迭代中:并行地调用初始化的大语言模型、以及用于所述大语言模型的强化学习的最新的奖励模型、评论者模型和动作者模型,以分别获得所述大语言模型的初始策略分布、所述提示指令和提示响应的奖励、所述大语言模型的每个动作所对应的价值、以及所述动作者模型的策略分布,其中,所述策略分布指示所述大语言模型执行每个动作的概率,所述每个动作对应于所述大语言模型生成每个词元;根据所述奖励、所述价值、所述初始策略分布和所述动作者模型的策略分布,确定目标函数;以及通过对所确定的目标函数进行优化来并行地对所述动作者模型和所述评论者模型进行参数更新,以对所述大语言模型进行参数更新,其中,所述目标函数用于衡量所述动作者模型的当前策略的性能,所述初始策略分布和所述动作者模型的策略分布的KL散度被作为正则项加入所述目标函数,其中,所述KL散度的系数基于所述KL散度的值而被动态调整。
本公开的实施例提供了一种用于大语言模型的强化学习的装置,包括:数据获取模块,被配置为获取提示指令;响应生成模块,被配置为利用所述大语言模型,针对所述提示指令生成提示响应;以及强化学习模块,被配置为:针对所述提示指令和所述提示响应,执行用于所述大语言模型的强化学习的多轮迭代,以完成对所述大语言模型的强化学习,其中,在每轮迭代中:并行地调用初始化的大语言模型、以及用于所述大语言模型的强化学习的最新的奖励模型、评论者模型和动作者模型,以分别获得所述大语言模型的初始策略分布、所述提示指令和提示响应的奖励、所述大语言模型的每个动作所对应的价值、以及所述动作者模型的策略分布,其中,所述策略分布指示所述大语言模型执行每个动作的概率,所述每个动作对应于所述大语言模型生成每个词元;根据所述奖励、所述价值、所述初始策略分布和所述动作者模型的策略分布,确定目标函数;以及通过对所确定的目标函数进行优化来并行地对所述动作者模型和所述评论者模型进行参数更新,以对所述大语言模型进行参数更新,其中,所述目标函数用于衡量所述动作者模型的当前策略的性能,所述初始策略分布和所述动作者模型的策略分布的KL散度被作为正则项加入所述目标函数,其中,所述KL散度的系数基于所述KL散度的值而被动态调整。
本公开的实施例提供了一种用于大语言模型的强化学习的设备,包括:一个或多个处理器;以及一个或多个存储器,其中,所述一个或多个存储器中存储有计算机可执行程序,当由所述处理器执行所述计算机可执行程序时,执行如上所述的用于大语言模型的强化学习的方法。
本公开的实施例提供了一种计算机可读存储介质,其上存储有计算机可执行指令,所述指令在被处理器执行时用于实现如上所述的用于大语言模型的强化学习的方法。
本公开的实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行根据本公开的实施例的用于大语言模型的强化学习的方法。
本公开的实施例所提供的方法采用奖励模型、评论者模型、动作者模型和初始化的大语言模型来协同执行对大语言模型的强化学习训练,其中动作者模型用于生成大语言模型的下一个动作,评论者模型用于评估该动作的质量,以用于更新大语言模型的行为策略,其中,将初始策略分布和动作者模型的策略分布的KL散度作为正则项加入目标函数,避免大语言模型的策略偏离原有策略太多,进而提高强化学习训练的稳定性。通过本公开的实施例的方法能够针对大语言模型的强化学习训练中出现的各种问题对强化学习训练进行针对性优化,以提升大语言模型的性能,并且通过在强化学习训练中补充多种训练稳定性策略,能够实现跨模型规模的稳定训练。
附图说明
为了更清楚地说明本公开的实施例的技术方案,下面将对实施例的描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本公开的一些示例性实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是示出根据本公开的实施例的用于大语言模型的强化学习的方法的流程图;
图2是示出根据本公开的实施例的使用RLHF方法来训练大语言模型的示意图;
图3是示出根据本公开的实施例的用于大语言模型的强化学习的每轮迭代的流程图;
图4是示出根据本公开的实施例的用于大语言模型的强化学习的每轮迭代的示意图;
图5是示出根据本公开的实施例的训练架构下所支持的模型参数与GPU数目之间的关系的示意图;
图6是示出根据本公开的实施例的强化学习训练不稳定的情况下的奖励与迭代轮数之间的关系的曲线图;
图7是示出根据本公开的实施例的强化学习训练不稳定的情况下的各个词元的策略的熵与迭代轮数之间的关系的曲线图;
图8是示出根据本公开的实施例的强化学习训练不稳定的情况下经优化的强化学习模型的各种性能的曲线图;
图9是示出根据本公开的实施例的用于大语言模型的强化学习的装置的示意图;
图10示出了根据本公开的实施例的用于大语言模型的强化学习的设备的示意图;以及
图11示出了根据本公开的实施例的示例性计算设备的架构的示意图。
具体实施方式
为了使得本公开的目的、技术方案和优点更为明显,下面将参考附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
在本说明书和附图中,具有基本上相同或相似步骤和元素用相同或相似的附图标记来表示,且对这些步骤和元素的重复描述将被省略。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性或排序。
在本公开的实施例中,术语“模块”或“单元”是指有预定功能的计算机程序或计算机程序的一部分,并与其他相关部分一起工作以实现预定目标,并且可以通过使用软件、硬件(如处理电路或存储器)或其组合来全部或部分实现。同样的,一个处理器(或多个处理器或存储器)可以用来实现一个或多个模块或单元。此外,每个模块或单元都可以是包含该模块或单元功能的整体模块或单元的一部分。
除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
为便于描述本公开,以下介绍与本公开有关的概念。
本公开的用于大语言模型的强化学习的方法可以是基于人工智能(Artificialintelligence,AI)的。人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。例如,对于基于人工智能的用于大语言模型的强化学习的方法而言,其能够以类似于人类通过肉眼识别机器人所处环境中所设置的标志物的方式来确定移动机器人相对于这些预先设置的标志物的位置,从而确定移动机器人在所处环境中的定位。人工智能通过研究各种智能机器的设计原理与实现方法,使本公开的用于大语言模型的强化学习的方法具有实时准确地识别环境中符合预先设置的标志物的轮廓特征的多个对象并自动提取其位置特征以指导移动机器人定位的功能。
本公开的用于大语言模型的强化学习的方法可以基于强化学习(ReinforcementLearning,RL)。强化学习是机器学习的一个分支,旨在让智能体(agent)通过与环境的交互学习如何做出决策,以使得在未来能够获得最大的累积奖励。在强化学习中,智能体通过尝试不同的行为来观察环境的反馈,并逐渐学习出最优的行为策略。强化学习的核心概念可以包括:(1)智能体(Agent):智能体是执行学习任务的实体,它通过观察环境的状态,并选择行为来影响环境,在大语言模型中,模型本身可以被看作是一个智能体;(2)环境(Environment):环境是智能体所处的外部世界,它对智能体的行为做出反馈,并决定智能体接下来的状态。在大语言模型中,生成文本的过程可以被看作是智能体与环境的交互过程;(3)奖励(Reward):智能体根据环境的反馈获得奖励或惩罚。奖励是指智能体在某个状态执行某个行为后所获得的数值反馈,目标是使得智能体通过最大化累积奖励来学习出最优的行为策略;(4)动作(Action):不同的环境允许不同种类的动作,在给定的环境中,有效动作的集合经常被称为动作空间(action space),包括离散动作空间(discrete actionspaces)和连续动作空间(continuous action spaces);(5)策略(Policy):策略定义了智能体在特定状态下选择行为的规则。强化学习的目标是学习出最优的策略,使得智能体在不同状态下选择的行为能够最大化累积奖励。在大语言模型中,强化学习可以被用于训练模型生成更符合预期的文本。通过定义合适的奖励函数,模型可以根据奖励信号来调整自身参数,从而生成更优质、多样且相关的文本。这种方法可以帮助模型适应特定任务或场景,并提高生成文本的质量和逼真度。
进一步地,本公开的用于大语言模型的强化学习的方法可以基于从人类反馈中强化学习(Reinforcement Learning from Human Feedback,RLHF)。RLHF是指利用人类专家的反馈信息对模型进行强化学习,以提高模型的性能。在对齐过程中,可以通过收集人类专家对模型生成文本的评价,然后使用这些评价信息来指导模型的训练,从而提高模型生成文本的质量。例如,在对话生成任务中,可以收集用户对模型生成的对话内容的评价,然后使用这些评价信息来指导模型的训练,使得模型生成更加符合用户期望的对话内容。
本公开的用于大语言模型的强化学习的方法可以近端策略优化(ProximalPolicy Optimization,PPO)算法。PPO算法的核心思想是通过限制策略更新的幅度,以确保每次更新都不会太大,从而提高训练的稳定性。PPO算法同时使用两个重要的概念:clipping(剪切)和surrogate objective(替代目标)。clipping是指限制新策略和旧策略之间的比率,以防止更新幅度过大;surrogate objective是一种替代的优化目标,用于在更新时衡量策略的改善。
综上所述,本公开的实施例提供的方案涉及人工智能、强化学习、PPO算法等技术,下面将结合附图对本公开的实施例进行进一步地描述。
基于PPO算法的大语言模型强化学习训练是一个复杂而具有挑战性的任务。在这个过程中,可能会出现一些问题,包括训练不稳定、奖励函数有偏、奖励函数有漏洞等。例如,强化学习训练过程中的不稳定性可能存在于训练过程中奖励函数不涨或者奖励突然大幅下跌的情况。又例如,在强化学习训练过程中,奖励函数可能存在偏差,即奖励函数正向增长,但大语言模型的最终效果变差。再例如,奖励函数有漏洞可能会导致大语言模型学习到不正确的策略,无法有效地实现任务的目标。
本公开基于此,提供了一种用于大语言模型的强化学习的方法,其通过利用近端策略优化算法对大语言模型进行强化学习,采用四个模型共同参与强化学习过程,针对该强化学习过程出现的问题来对大语言模型的强化学习进行针对性优化,从而改进大语言模型的性能。
具体地,本公开的实施例所提供的方法采用奖励模型、评论者模型、动作者模型和初始化的大语言模型来协同执行对大语言模型的强化学习训练,其中动作者模型用于生成大语言模型的下一个动作,评论者模型用于评估该动作的质量,以用于更新大语言模型的行为策略,其中,将初始策略分布和动作者模型的策略分布的KL散度作为正则项加入目标函数,避免大语言模型的策略偏离原有策略太多,进而提高强化学习训练的稳定性。通过本公开的实施例的方法能够针对大语言模型的强化学习训练中出现的各种问题对强化学习训练进行针对性优化,以提升大语言模型的性能,并且通过在强化学习训练中补充多种训练稳定性策略,能够实现跨模型规模的稳定训练。
图1是示出根据本公开的实施例的用于大语言模型的强化学习的方法100的流程图。
在步骤S101中,可以获取提示指令。可选地,可以从提示指令数据集中采样提示指令,该提示指令数据集可以是预先收集的具有足够的多样性的提示指令集合,以确保经强化学习训练的大语言模型能够很好地覆盖各种应用场景。在提示指令集合的收集完成后,可以从该提示指令集合中随机选取提示指令,以用于大语言模型的强化学习训练。
在步骤S102中,可以利用大语言模型,针对所述提示指令生成提示响应。根据本公开的实施例,所述大语言模型可以被初始化为经监督微调的大语言模型。
可选地,在本公开的用于大语言模型的强化学习的方法中,为了保证训练的稳定性,需要具备一定基本的能力的模型作为强化学习的初始模型,例如,大语言模型的初始状态可以是经监督微调的大语言模型。经过监督微调的大语言模型能够在各种自然语言处理任务上具有较优的表现,这种微调可以通过在特定任务的数据集上对模型进行有监督学习来实现。通过监督微调,大语言模型可以在特定任务上获得更好的性能,因为模型已经在大规模数据上进行了预训练,具有丰富的语言表示能力。微调过程中,模型可以根据任务特定的目标函数进行调整,以适应特定任务的要求。
接下来,在本公开的用于大语言模型的强化学习的方法中,可以通过从人类反馈中强化学习(RLHF)方法来对大语言模型进行强化学习,以进一步优化模型训练过程。其中,使用RLHF方法来训练大语言模型可以包括奖励模型(RW模型)的训练以及基于经训练的奖励模型的强化学习模型(RL模型)的训练。
图2是示出根据本公开的实施例的使用RLHF方法来训练大语言模型的示意图。
如图2所示,首先,针对从数据池中获取的提示指令,可以使用当前额大语言模型生成提示响应文本,并将生成的提示响应呈现给人类专家进行评估,以收集他们的反馈。例如,反馈可以是二进制的(例如,好/差),也可以是多维的(例如,在多个维度上对文本进行评分),或者还可以是对各个提示响应的优劣排序。因此,可以使用这些基于人类专家的反馈而标注的数据来对奖励模型进行训练,使得经训练的奖励模型学到的知识及其打分与人类价值观和利益保持一致。在RLHF方法中,人类专家扮演着重要的角色。他们通过提供反馈来帮助大语言模型学习出符合人类偏好的行为策略,从而有效地提高大语言模型的生成质量和相关性。
在完成用于大语言模型的奖励模型的训练后,可以进入强化学习模型的训练阶段。在RL模型的训练阶段,RL模型的初始模型可以采用经监督微调的大语言模型。因此,RL模型基于从数据池中获取的提示指令/状态可以生成提示响应/动作,然后该提示指令和提示响应可以被输入经训练的RW模型进行打分,来以返回的奖励的方式评价生成的提示响应质量。因此,RL模型的训练目标可以是使生成的提示响应在RW模型上获得尽可能高的打分。经过这样的训练的RL模型可以被保存以用于后续迭代优化,直到满足预定结束条件,诸如大语言模型达到预期的性能或达到预定的训练轮数等。
因此,基于所获取的提示指令,可以由初始的大语言模型来生成相应的提示响应,以用于后续的强化学习迭代优化。
在步骤S103中,可以针对所述提示指令和所述提示响应,执行用于所述大语言模型的强化学习的多轮迭代,以完成对所述大语言模型的强化学习。
可选地,在本公开的实施例中,可以采用PPO算法训练RL模型,即对设定的目标函数通过随机梯度下降进行优化。近端策略优化作为一种深度强化学习算法,用于训练智能体(即RL模型)在复杂环境中学习和执行任务。通过智能体的训练,使得其在与环境的交互中能够最大化累积回报,从而达成指定任务目标。
RL模型可以通过与环境的交互来学习最优策略,其中,在每个时间步,RL模型都可以感知环境的状态,并根据其当前策略选择一个动作。然后,RL模型可以执行该动作,并收到一个奖励信号,继而根据该奖励信号来更新其价值函数并根据价值函数来选择最优的动作策略,RL模型可以通过学习该价值函数来评估每个状态和动作的长期价值。随着RL模型与环境交互的次数增加(即迭代的轮数增加),其价值函数和策略也能够不断得到优化,从而使RL模型能够学习到最优的行为策略。
下面参考图3-来对本公开的强化学习训练过程进行介绍。其中,图3是示出根据本公开的实施例的用于大语言模型的强化学习的每轮迭代的流程图。图4是示出根据本公开的实施例的用于大语言模型的强化学习的每轮迭代的示意图。
如图3所示,在步骤S1031中,可以并行地调用初始化的大语言模型、以及用于所述大语言模型的强化学习的最新的奖励模型、评论者模型和动作者模型,以分别获得所述大语言模型的初始策略分布、所述提示指令和提示响应的奖励、所述大语言模型的每个动作所对应的价值、以及所述动作者模型的策略分布,其中,所述策略分布可以指示所述大语言模型执行每个动作的概率,所述每个动作可以对应于所述大语言模型生成每个词元。
可选地,将初始化的大语言模型的微调任务建模为强化学习(RL)问题,需要定义策略(policy)、动作空间(action space)和奖励函数(reward function)等基本要素。其中,策略可以是基于该大语言模型,接收提示指令作为输入,以输出提示响应文本(或文本的概率分布);动作空间可以是词表中的所有词元(token)在所有输出位置的排列组合;观测空间可以是可能的输入token序列(即提示指令),为词表中的所有token在所有输入位置的排列组合;而奖励函数可以是上一阶段训练后的RM模型,以配合一些策略层面的约束进行的奖励计算。
可选地,在利用PPO算法的大语言模型强化学习训练中,可以同时使用四种模型来协同训练大语言模型,以实现稳定的策略优化和训练。具体地,这四种模型可以包括奖励模型、评论者模型、动作者模型、以及初始化的大语言模型(即,经监督微调的大语言模型),如图4所示。针对四种模型的架构设计,通过采用独立组件模式,可以提高模型训练的灵活性,其中,可以设计多方调用,四种模型各自作为一个组件,并且每一个组件都可以作为一个单独的服务器,使得可以异化部署各个节点,合理分配资源。因此,在对上述模型的使用时,可以灵活切换训练和推理过程,实现方便灵活的调用。
可选地,初始化的大语言模型可以基于该提示指令输出其初始策略分布,如图4所示。该初始策略分布可以表示大语言模型基于该提示指令,输出每个token的概率分布,即生成每个token的概率。需要注意的是,大语言模型输出的初始策略分布可能并不是最优的。RL模型需要通过与环境的交互来不断更新其策略分布,以找到最优策略。
通过初始化的大语言模型获得初始策略分布,能够帮助RL模型更快地收敛到最优策略,并且可以防止RL模型陷入局部最优。此外,还可以使RL模型对不同的任务进行迁移学习。
可选地,在当前迭代中,经训练的最新的奖励模型可以用于获得当前提示指令和提示响应的奖励,如图4所示。
可选地,利用评论者模型来计算每个状态的价值。评论者模型的目标是学习一个价值函数,以评估每个状态的好坏。这个价值函数可以通过各种方法(诸如值迭代、策略迭代、深度学习模型等)来学习和估计。
可选地,动作者模型可以用于生成策略分布,即,在给定状态下采取不同动作的概率分布。动作者模型可以通过与评论者模型配合使用,来学习最优策略。例如,动作者模型的输入可以是当前状态,输出可以是动作概率分布(即策略分布)。动作者模型可以通过以下来生成策略分布:将当前状态输入动作者模型,以由动作者模型计算每个动作的概率,并根据这些概率,随机选择一个动作。
在步骤S1032中,可以根据所述奖励、所述价值、所述初始策略分布和所述动作者模型的策略分布,确定目标函数。
根据本公开的实施例,根据所述奖励、所述价值、所述初始策略分布和所述动作者模型的策略分布,确定目标函数可以包括:根据所述奖励、所述价值、所述初始策略分布和所述动作者模型的策略分布,确定每个词元所对应的优势值、以及所述评论者模型的目标价值,其中,所述优势值可以指示当前状态下的所述大语言模型生成所述词元的动作相对于生成其他词元的动作的优劣程度,并且所述评论者模型的目标价值可以是根据当前状态下的所述奖励和下一个状态的所述价值确定的;以及基于所述初始策略分布和所述动作者模型的策略分布、所确定的每个词元所对应的优势值、以及所述评论者模型的目标价值,确定所述目标函数。
可选地,根据奖励(即对模型在特定状态下采取特定行为的评价)、价值(表示状态的预期回报)、初始策略分布(模型在开始时的动作分布)和动作者模型的策略分布(模型生成动作的概率分布),可以确定每个词元所对应的优势值,其可以表示当前状态下模型选择生成某个词元的行为相对于选择其他词元的行为的优劣程度。
可选地,可以根据当前状态下的奖励和下一个状态的价值来确定评论者模型的目标价值(Target Value)。目标价值可以是评论者模型用来评估当前状态的好坏的指标,以指导动作者模型的学习过程。在强化学习中,目标价值通常可以用来指导动作者模型的学习过程。目标价值的计算通常可以涉及奖励、折扣因子、下一个状态的价值等因素。作为示例,具体地,可以根据评论者模型学习得到的价值函数,计算下一个状态的价值,该价值可以表示模型在下一个状态中所能获得的预期回报,接下来,考虑到未来奖励的不确定性,可以引入一个折扣因子(Discount Factor)(通常表示为γ,0≤γ≤1)来衡量未来奖励的重要性。因此,基于以上描述,目标价值可以计算为:目标价值=即时奖励+γ*下一个状态的价值。
如上所述,评论者模型的目标可以是学习一个价值函数,以评估每个状态的好坏,指导模型的学习过程。
具体地,可以根据状态的价值和动作者模型的策略分布,来计算每个动作的价值。例如,这可以通过将状态的价值与动作者模型的策略分布相乘来实现,以得到每个动作的“期望价值”。进一步地,在得到每个动作的“期望价值”之后,可以计算每个动作的优势值,该优势值可以表示当前状态下模型选择某个动作相对于选择其他动作的优劣程度。作为示例,计算优势值的一种常见方法可以是将每个动作的“期望价值”减去状态的价值,即优势值=动作的期望价值-状态的价值。最后,可以根据实际观察到的奖励,对计算得到的优势值进行调整,从而更好地反映实际情况下每个动作的优劣程度。
通过以上操作,可以利用奖励、价值、初始策略分布和动作者模型的策略分布来确定每个词元(动作)所对应的优势值,如图4所示,以帮助模型评估每个动作的优越性,从而指导模型的学习过程。
进一步地,基于初始策略分布和动作者模型的策略分布、以及所确定的每个词元所对应的优势值和评论者模型的目标价值,可以确定一个目标函数,以用于指导RL模型的学习过程,帮助RL模型不断调整策略以最大化预期回报。
可选地,为了实现RL模型的稳定训练,本公开的用于大语言模型的强化学习的方法还可以在模型训练中引入一些训练稳定性策略。
可选地,考虑到PPO算法的整个训练过程围绕优化打分作为目标来进行,与打分相关的变量可以包括奖励和优势值。因此,对于这两个变量,可以进行“归一化”和“剪切”处理。
根据本公开的实施例,根据所述奖励、所述价值、所述初始策略分布和所述动作者模型的策略分布,确定每个词元所对应的优势值、以及所述评论者模型的目标价值可以包括对所述奖励进行归一化处理。
可选地,可以对训练过程中的RM模型生成的奖励进行归一化处理,以解决现有的大语言模型不约束奖励绝对值所出现的问题。
根据本公开的实施例,基于所述初始策略分布和所述动作者模型的策略分布、所确定的每个词元所对应的优势值、以及所述评论者模型的目标价值,确定所述目标函数可以包括对所述优势值进行归一化处理。可选地,可以在最小的批大小(batchsize)粒度下对优势值进行归一化处理。
根据本公开的实施例,根据所述奖励、所述价值、所述初始策略分布和所述动作者模型的策略分布,确定每个词元所对应的优势值、以及所述评论者模型的目标价值可以包括在所述奖励大于预定阈值的情况下,去除与所述奖励相对应的提示指令和提示响应。可选地,可以对过大的奖励值进行剪切,以防止训练过程中出现的不稳定的情况。
根据本公开的实施例,根据所述奖励、所述价值、所述初始策略分布和所述动作者模型的策略分布,确定每个词元所对应的优势值、以及所述评论者模型的目标价值包括:使用广义优势估计方法,通过使用多轮迭代中的所述奖励来计算每个词元所对应的优势值。
可选地,在强化学习中,可以通过对多个轮次的训练迭代,利用获得的奖励信息来计算每个状态(或词元)的优势值。通过多轮迭代中积累的奖励信息,可以更好地反映出每个状态(或词元)对整体回报的贡献,从而更准确地计算优势值。并且在多轮迭代中,环境可能发生变化,通过使用多轮迭代中的奖励来计算优势值,可以更好地适应环境的变化,提高模型的鲁棒性和泛化能力。此外,通过多轮迭代中的奖励来计算优势值,可以帮助RL模型更快地收敛到最优策略,提高训练效率。
接下来,在步骤S1033中,可以通过对所确定的目标函数进行优化来并行地对所述动作者模型和所述评论者模型进行参数更新,以对所述大语言模型进行参数更新,其中,所述目标函数用于衡量所述动作者模型的当前策略的性能,所述初始策略分布和所述动作者模型的策略分布的KL散度被作为正则项加入所述目标函数,其中,所述KL散度的系数基于所述KL散度的值而被动态调整。
可选地,可以基于策略梯度的方法,以最大化期望回报。通过最大化目标函数,动作者模型可以学习到更好的策略分布,以最大化预期的回报。同时,优势值的引入可以帮助模型更好地评估每个动作的优劣程度,从而更有效地指导学习过程。可选地,可以将价值函数与目标价值进行比较,以计算误差,从而使用该误差来更新评论者模型的参数,如图4所示。
因此,在动作者模型和评论者模型的并行更新下,可以提高RL模型的更新效率。
需要注意的是,实际选择的目标函数可以根据具体的任务和算法而有所不同。在强化学习中,有许多不同的算法和方法可以用于确定目标函数,因此选择合适的目标函数需要根据具体情况进行权衡和调整,本公开对于目标函数的设计不作限制。
可选地,为了避免所确定的策略偏离原有策略太多,可以将初始策略分布和动作者模型的策略分布的KL散度作为正则项加入目标函数中,以提高RL模型训练的稳定性。其中,KL散度作为一种用于衡量两个概率分布之间差异的指标,通过将其作为正则项加入目标函数,可以约束新策略分布与初始策略分布之间的差异,从而限制策略的变化范围,提高训练的稳定性。
通过引入该正则项,目标函数在优化过程中不仅会考虑最大化预期回报,还会尽量保持新策略分布与初始策略分布之间的相似性,这有助于避免策略变化过大,减少训练过程中的不稳定性,提高模型的收敛性和泛化性能。
根据本公开的实施例,通过对所确定的目标函数进行优化来并行地对所述动作者模型和所述评论者模型进行参数更新,以对所述大语言模型进行参数更新可以包括:在针对所述提示指令和所述提示响应的所述训练的前N轮迭代中,保持所述动作者模型的参数固定,并更新所述评论者模型的参数,其中,N为正整数。可选地,在PPO算法的强化学习训练过程中,前N轮迭代中可以仅训练评论者模型,而保持动作者模型的参数固定,以防止初始化的评论者模型破坏初始评论者模型的效果。
根据本公开的实施例,通过对所确定的目标函数进行优化来并行地对所述动作者模型和所述评论者模型进行参数更新,以对所述大语言模型进行参数更新可以包括:在对所述评论者模型进行参数更新的过程中,将前一轮迭代中用于对所述评论者模型进行参数更新的数据累积到当前迭代中。
可选地,在评论者模型的训练过程中,可以将前一轮迭代中的评论者模型的训练数据累积到当前迭代中,使得评论者模型能够见到更多的训练数据,这有利于强化学习训练过程的稳定。
可选地,在本公开的实施例中,可以采用Megatron+DeepSpeed的训练架构,其中,Megatron是用于训练大规模模型的项目,其实现了高效的并行策略,包括模型并行、数据并行和管道并行,而DeepSpeed是一个用于加速深度学习模型训练的开源库,其提供了一种高效的训练框架,支持分布式训练、模型并行和数据并行。DeepSpeed还包括内存优化技术,诸如梯度累积和激活检查点,以降低内存需求。DeepSpeed可以与流行的深度学习框架(诸如PyTorch)无缝集成。因此,可以采用DeepSpeed来提高大规模模型训练的效率和可扩展性,提供优化器以及一些运行加速的手段。
图5是示出根据本公开的实施例的训练架构下所支持的模型参数与GPU数目之间的关系的示意图。如图5所示,在采用Megatron-DeepSpeed的训练架构下,所支持的模型参数几乎随GPU数量而呈现线性增长。
根据本公开的实施例,对于所述强化学习期间出现的由于所述奖励模型的打分而引起的错误,可以采用与所述错误相对应的训练数据对所述奖励模型进行重新训练,并将经重新训练的最新的奖励模型应用于所述大语言模型的强化学习。
在基于PPO算法的大语言模型强化学习训练训练过程中,涉及到动作者模型和评论者模型的协同训练,需要动作者模型为评论者模型提供优质的采样结果,同时评论者模型的准确评估可以帮助动作者模型优化策略。这个过程中动作者模型如果采样结果不好,可能导致评论者模型学习不准或者无法给出高分评估;而如果评论者模型学习不准,动作者模型的更新方向可能具有较大噪声,导致模型效果变差。因此需要密切关注训练过程中动作者模型和评论者模型的效果,让两者协同配合,提升奖励值。
下面,针对如上所述的基于PPO算法的大语言模型强化学习训练过程中出现的一些问题,对本公开中对大语言模型的强化学习的针对性优化的过程进行介绍。
如上所述,在基于PPO算法的大语言模型强化学习训练过程中,容易出现奖励函数不涨或者奖励突然大幅下跌的情况,图6是示出根据本公开的实施例的强化学习训练不稳定的情况下的奖励与迭代轮数之间的关系的曲线图。如图6所示,图6中的(a)示出了奖励随着迭代轮数的增加而未出现增长的情况,(b)示出了奖励随着迭代轮数的增加而突然大幅下跌的情况,其中,(a)和(b)中的浅灰色曲线对应于基线SFT模型。
针对上述问题,考虑到出现这样的问题的原因可能在于在基于PPO算法的大语言模型强化学习训练过程中,负向奖励导致策略的熵增加,导致逐渐学习到的策略偏离原有策略过多,最终导致效果变差。在强化学习中,策略的熵是指策略分布的不确定性。在PPO算法中,每个token(例如一个动作或者一个状态)都有一个对应的策略分布,策略的熵反映了这个分布的不确定性。具体地,策略的熵越大,意味着策略分布更加平均,智能体更加随机地选择行动,而不是根据环境的状态做出更有针对性的决策。相反,策略的熵越小,意味着策略分布更加集中,智能体更加有针对性地选择行动,能够更好地适应环境的变化。
图7是示出根据本公开的实施例的强化学习训练不稳定的情况下的各个词元的策略的熵与迭代轮数之间的关系的曲线图。如图7所示,在基于PPO算法的大语言模型强化学习训练过程中,随着迭代轮数的增加,高熵的token也逐渐增加。
因此,在本公开的实施例中,针对上述问题,可以通过增加新策略和原SFT模型的KL散度正则项的方式来限制策略偏离原策略太远。
根据本公开的实施例,本公开的用于大语言模型的强化学习的方法还可以包括:针对每个提示指令,生成多个不同的提示响应;以及利用所述奖励模型从所述多个不同的提示响应中选择与最高的奖励相对应的提示响应,用于所述动作者模型的参数更新。可选地,还可以使强化学习训练见到更多的正例,例如,在动作者模型的训练时,采样多个提示响应,并选取奖励最高的提示响应用于动作者模型训练。
图8是示出根据本公开的实施例的强化学习训练不稳定的情况下经优化的强化学习模型的各种性能的曲线图。其中(a)示出了各个词元的策略的熵与迭代轮数之间的关系,(b)示出了各个词元的策略的平均熵与迭代轮数之间的关系,(c)示出了奖励与迭代轮数之间的关系。如图8所示,(a)和(b)中的曲线均反应了经上述优化的强化学习模型可以实现稳定训练,策略的熵的变化方向(如图7和图8中的(a)中的箭头所示)持续收敛,且如(c)所示,经上述优化的强化学习模型的奖励函数能够实现正向增长。
此外,对于奖励函数可能存在偏差的情况,即奖励函数正向增长、但大语言模型的最终效果变差的情况,本公开的方法经过分析发现在模型的强化学习过程中可能存在倾向于拒绝回答的情况,例如,给出的提示响应为由于缺乏关键词的定义而无法给出答案。因此,根据本公开的实施例,在所述奖励模型对与拒绝回答相对应的提示响应打分更高的情况下,可以在所述奖励模型的训练中增加与拒绝回答相对应的提示响应的负例数据。
可选地,可以在奖励模型训练中增加拒绝回答的负例数据,以帮助奖励模型更快速地为这一类提示响应的打分获得更准确的值,进而避免强化学习训练收敛到这一类提示响应。
此外,还可以优化奖励模型的训练数据的内容和结构,以使得奖励模型能够和人的偏好对齐,避免奖励模型出现缺陷而被强化学习训练过程错误地学习。
如上所述,可以结合具体的强化学习训练中出现的问题,分析目前的模型的缺陷,以通过数据调整和模型参数调整来进行针对性优化。因此,在本公开的强化学习训练过程中,可以实现RM模型与RL模型的循环迭代训练,以克服在强化学习训练中出现的问题。
进一步地,还可以对不同变量进行消融实验,同时对训练底层机理进行更加深入的分析,使得更有方向性地进行优化。
因此,如上参考图1-图8所述,本公开的用于大语言模型的强化学习的方法采用奖励模型、评论者模型、动作者模型和初始化的大语言模型来协同执行对大语言模型的强化学习训练,其中动作者模型用于生成大语言模型的下一个动作,评论者模型用于评估该动作的质量,以用于更新大语言模型的行为策略,其中,将初始策略分布和动作者模型的策略分布的KL散度作为正则项加入目标函数,避免大语言模型的策略偏离原有策略太多,进而提高强化学习训练的稳定性。通过本公开的方法能够针对大语言模型的强化学习训练中出现的各种问题对强化学习训练进行针对性优化,以提升大语言模型的性能,并且通过在强化学习训练中补充多种训练稳定性策略,能够实现跨模型规模的稳定训练。
图9是示出根据本公开的实施例的用于大语言模型的强化学习的装置900的示意图。
根据本公开的实施例,所述用于大语言模型的强化学习的装置900可以包括数据获取模块901、响应生成模块902、和强化学习模块903。
数据获取模块901可以被配置为获取提示指令。可选地,数据获取模块901可以执行如上参考步骤S101所描述的操作。
例如,可以从提示指令数据集中采样提示指令,该提示指令数据集可以是预先收集的具有足够的多样性的提示指令集合,以确保经强化学习训练的大语言模型能够很好地覆盖各种应用场景。在提示指令集合的收集完成后,可以从该提示指令集合中随机选取提示指令,以用于大语言模型的强化学习训练。
响应生成模块902可以被配置为利用大语言模型,针对所述提示指令生成提示响应。可选地,响应生成模块902可以执行如上参考步骤S102所描述的操作。
例如,基于所获取的提示指令,可以由初始的大语言模型来生成相应的提示响应,以用于后续的强化学习迭代优化。
强化学习模块903可以被配置为针对所述提示指令和所述提示响应,执行用于所述大语言模型的强化学习的多轮迭代,以完成对所述大语言模型的强化学习,其中,在每轮迭代中:并行地调用初始化的大语言模型、以及用于所述大语言模型的强化学习的最新的奖励模型、评论者模型和动作者模型,以分别获得所述大语言模型的初始策略分布、所述提示指令和提示响应的奖励、所述大语言模型的每个动作所对应的价值、以及所述动作者模型的策略分布,其中,所述策略分布指示所述大语言模型执行每个动作的概率,所述每个动作对应于所述大语言模型生成每个词元;根据所述奖励、所述价值、所述初始策略分布和所述动作者模型的策略分布,确定目标函数;以及通过对所确定的目标函数进行优化来并行地对所述动作者模型和所述评论者模型进行参数更新,以对所述大语言模型进行参数更新,其中,所述目标函数用于衡量所述动作者模型的当前策略的性能,所述初始策略分布和所述动作者模型的策略分布的KL散度被作为正则项加入所述目标函数,其中,所述KL散度的系数基于所述KL散度的值而被动态调整。可选地,强化学习模块903可以执行如上参考步骤S103所描述的操作。
例如,可以采用PPO算法训练RL模型,即对设定的目标函数通过随机梯度下降进行优化。近端策略优化作为一种深度强化学习算法,用于训练智能体(即RL模型)在复杂环境中学习和执行任务。通过智能体的训练,使得其在与环境的交互中能够最大化累积回报,从而达成指定任务目标。
例如,在利用PPO算法的大语言模型强化学习训练中,可以同时使用四种模型来协同训练大语言模型,以实现稳定的策略优化和训练。具体地,这四种模型可以包括奖励模型、评论者模型、动作者模型、以及初始化的大语言模型(即,经监督微调的大语言模型)。针对四种模型的架构设计,通过采用独立组件模式,可以提高模型训练的灵活性,其中,可以设计多方调用,四种模型各自作为一个组件,并且每一个组件都可以作为一个单独的服务器,使得可以异化部署各个节点,合理分配资源。因此,在对上述模型的使用时,可以灵活切换训练和推理过程,实现方便灵活的调用。
例如,初始化的大语言模型可以基于该提示指令输出其初始策略分布。该初始策略分布可以表示大语言模型基于该提示指令,输出每个token的概率分布,即生成每个token的概率。需要注意的是,大语言模型输出的初始策略分布可能并不是最优的。RL模型需要通过与环境的交互来不断更新其策略分布,以找到最优策略。
例如,在当前迭代中,经训练的最新的奖励模型可以用于获得当前提示指令和提示响应的奖励。
例如,利用评论者模型来计算每个状态的价值。评论者模型的目标是学习一个价值函数,以评估每个状态的好坏。这个价值函数可以通过各种方法(诸如值迭代、策略迭代、深度学习模型等)来学习和估计。
例如,动作者模型可以用于生成策略分布,即,在给定状态下采取不同动作的概率分布。动作者模型可以通过与评论者模型配合使用,来学习最优策略。例如,动作者模型的输入可以是当前状态,输出可以是动作概率分布(即策略分布)。动作者模型可以通过以下来生成策略分布:将当前状态输入动作者模型,以由动作者模型计算每个动作的概率,并根据这些概率,随机选择一个动作。
因此,根据奖励(即对模型在特定状态下采取特定行为的评价)、价值(表示状态的预期回报)、初始策略分布(模型在开始时的动作分布)和动作者模型的策略分布(模型生成动作的概率分布),可以确定每个词元所对应的优势值,其可以表示当前状态下模型选择生成某个词元的行为相对于选择其他词元的行为的优劣程度。此外,可以根据当前状态下的奖励和下一个状态的价值来确定评论者模型的目标价值。
进一步地,基于初始策略分布和动作者模型的策略分布、以及所确定的每个词元所对应的优势值和评论者模型的目标价值,可以确定一个目标函数,以用于指导RL模型的学习过程,帮助RL模型不断调整策略以最大化预期回报。
根据本公开的又一方面,还提供了一种用于大语言模型的强化学习的设备。图10示出了根据本公开的实施例的用于大语言模型的强化学习的设备2000的示意图。
如图10所示,所述用于大语言模型的强化学习的设备2000可以包括一个或多个处理器2010,和一个或多个存储器2020。其中,所述存储器2020中存储有计算机可读代码,所述计算机可读代码当由所述一个或多个处理器2010运行时,可以执行如上所述的用于大语言模型的强化学习的方法。
本公开的实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是X86架构或ARM架构的。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
例如,根据本公开的实施例的方法或装置也可以借助于图11所示的计算设备3000的架构来实现。如图11所示,计算设备3000可以包括总线3010、一个或多个CPU 3020、只读存储器(ROM)3030、随机存取存储器(RAM)3040、连接到网络的通信端口3050、输入/输出组件3060、硬盘3070等。计算设备3000中的存储设备,例如ROM 3030或硬盘3070可以存储本公开提供的用于大语言模型的强化学习的方法的处理和/或通信使用的各种数据或文件以及CPU所执行的程序指令。计算设备3000还可以包括用户界面3080。当然,图11所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图11示出的计算设备中的一个或多个组件。
根据本公开的又一方面,还提供了一种计算机可读存储介质。所述计算机存储介质上存储有计算机可读指令。当所述计算机可读指令由处理器运行时,可以执行参照以上附图描述的根据本公开的实施例的用于大语言模型的强化学习的方法。本公开的实施例中的计算机可读存储介质可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)、增强型同步动态随机存取存储器(ESDRAM)、同步连接动态随机存取存储器(SLDRAM)和直接内存总线随机存取存储器(DR RAM)。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本公开的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行根据本公开的实施例的用于大语言模型的强化学习的方法。
本公开的实施例提供了一种用于大语言模型的强化学习的方法、装置、设备和计算机可读存储介质。
本公开的实施例所提供的方法采用奖励模型、评论者模型、动作者模型和初始化的大语言模型来协同执行对大语言模型的强化学习训练,其中动作者模型用于生成大语言模型的下一个动作,评论者模型用于评估该动作的质量,以用于更新大语言模型的行为策略,其中,将初始策略分布和动作者模型的策略分布的KL散度作为正则项加入目标函数,避免大语言模型的策略偏离原有策略太多,进而提高强化学习训练的稳定性。通过本公开的实施例的方法能够针对大语言模型的强化学习训练中出现的各种问题对强化学习训练进行针对性优化,以提升大语言模型的性能,并且通过在强化学习训练中补充多种训练稳定性策略,能够实现跨模型规模的稳定训练。
需要说明的是,附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含至少一个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
在上面详细描述的本公开的示例实施例仅仅是说明性的,而不是限制性的。本领域技术人员应该理解,在不脱离本公开的原理和精神的情况下,可对这些实施例或其特征进行各种修改和组合,这样的修改应落入本公开的范围内。
Claims (15)
1.一种用于大语言模型的强化学习的方法,所述大语言模型被初始化为经监督微调的大语言模型,所述方法包括:
获取提示指令;
利用所述大语言模型,针对所述提示指令生成提示响应;
针对所述提示指令和所述提示响应,执行用于所述大语言模型的强化学习的多轮迭代,以完成对所述大语言模型的强化学习,其中,在每轮迭代中:
并行地调用初始化的大语言模型、以及用于所述大语言模型的强化学习的最新的奖励模型、评论者模型和动作者模型,以分别获得所述大语言模型的初始策略分布、所述提示指令和提示响应的奖励、所述大语言模型的每个动作所对应的价值、以及所述动作者模型的策略分布,其中,所述策略分布指示所述大语言模型执行每个动作的概率,所述每个动作对应于所述大语言模型生成每个词元;
根据所述奖励、所述价值、所述初始策略分布和所述动作者模型的策略分布,确定目标函数;以及
通过对所确定的目标函数进行优化来并行地对所述动作者模型和所述评论者模型进行参数更新,以对所述大语言模型进行参数更新,其中,所述目标函数用于衡量所述动作者模型的当前策略的性能,所述初始策略分布和所述动作者模型的策略分布的KL散度被作为正则项加入所述目标函数,其中,所述KL散度的系数基于所述KL散度的值而被动态调整。
2.如权利要求1所述的方法,其中,对于所述强化学习期间出现的由于所述奖励模型的打分而引起的错误,采用与所述错误相对应的训练数据对所述奖励模型进行重新训练,并将经重新训练的最新的奖励模型应用于所述大语言模型的强化学习。
3.如权利要求2所述的方法,其中,在所述奖励模型对与拒绝回答相对应的提示响应打分更高的情况下,在所述奖励模型的训练中增加与拒绝回答相对应的提示响应的负例数据。
4.如权利要求1所述的方法,其中,根据所述奖励、所述价值、所述初始策略分布和所述动作者模型的策略分布,确定目标函数包括:
根据所述奖励、所述价值、所述初始策略分布和所述动作者模型的策略分布,确定每个词元所对应的优势值、以及所述评论者模型的目标价值,其中,所述优势值指示当前状态下的所述大语言模型生成所述词元的动作相对于生成其他词元的动作的优劣程度,并且所述评论者模型的目标价值是根据当前状态下的所述奖励和下一个状态的所述价值确定的;以及
基于所述初始策略分布和所述动作者模型的策略分布、所确定的每个词元所对应的优势值、以及所述评论者模型的目标价值,确定所述目标函数。
5.如权利要求4所述的方法,其中,根据所述奖励、所述价值、所述初始策略分布和所述动作者模型的策略分布,确定每个词元所对应的优势值、以及所述评论者模型的目标价值包括对所述奖励进行归一化处理。
6.如权利要求4所述的方法,其中,根据所述奖励、所述价值、所述初始策略分布和所述动作者模型的策略分布,确定每个词元所对应的优势值、以及所述评论者模型的目标价值包括在所述奖励大于预定阈值的情况下,去除与所述奖励相对应的提示指令和提示响应。
7.如权利要求4所述的方法,其中,根据所述奖励、所述价值、所述初始策略分布和所述动作者模型的策略分布,确定每个词元所对应的优势值、以及所述评论者模型的目标价值包括:使用广义优势估计方法,通过使用多轮迭代中的所述奖励来计算每个词元所对应的优势值。
8.如权利要求4所述的方法,其中,基于所述初始策略分布和所述动作者模型的策略分布、所确定的每个词元所对应的优势值、以及所述评论者模型的目标价值,确定所述目标函数包括对所述优势值进行归一化处理。
9.如权利要求1所述的方法,其中,通过对所确定的目标函数进行优化来并行地对所述动作者模型和所述评论者模型进行参数更新,以对所述大语言模型进行参数更新包括:在针对所述提示指令和所述提示响应的所述训练的前N轮迭代中,保持所述动作者模型的参数固定,并更新所述评论者模型的参数,其中,N为正整数。
10.如权利要求1所述的方法,其中,通过对所确定的目标函数进行优化来并行地对所述动作者模型和所述评论者模型进行参数更新,以对所述大语言模型进行参数更新包括:在对所述评论者模型进行参数更新的过程中,将前一轮迭代中用于对所述评论者模型进行参数更新的数据累积到当前迭代中。
11.如权利要求1所述的方法,还包括:
针对每个提示指令,生成多个不同的提示响应;以及
利用所述奖励模型从所述多个不同的提示响应中选择与最高的奖励相对应的提示响应,用于所述动作者模型的参数更新。
12.一种用于大语言模型的强化学习的装置,包括:
数据获取模块,被配置为获取提示指令;
响应生成模块,被配置为利用所述大语言模型,针对所述提示指令生成提示响应;以及
强化学习模块,被配置为:
针对所述提示指令和所述提示响应,执行用于所述大语言模型的强化学习的多轮迭代,以完成对所述大语言模型的强化学习,其中,在每轮迭代中:
并行地调用初始化的大语言模型、以及用于所述大语言模型的强化学习的最新的奖励模型、评论者模型和动作者模型,以分别获得所述大语言模型的初始策略分布、所述提示指令和提示响应的奖励、所述大语言模型的每个动作所对应的价值、以及所述动作者模型的策略分布,其中,所述策略分布指示所述大语言模型执行每个动作的概率,所述每个动作对应于所述大语言模型生成每个词元;
根据所述奖励、所述价值、所述初始策略分布和所述动作者模型的策略分布,确定目标函数;以及
通过对所确定的目标函数进行优化来并行地对所述动作者模型和所述评论者模型进行参数更新,以对所述大语言模型进行参数更新,其中,所述目标函数用于衡量所述动作者模型的当前策略的性能,所述初始策略分布和所述动作者模型的策略分布的KL散度被作为正则项加入所述目标函数,其中,所述KL散度的系数基于所述KL散度的值而被动态调整。
13.一种用于大语言模型的强化学习的设备,包括:
一个或多个处理器;以及
一个或多个存储器,其中存储有计算机可执行程序,当由所述处理器执行所述计算机可执行程序时,执行权利要求1-11中任一项所述的方法。
14.一种计算机程序产品,所述计算机程序产品存储在计算机可读存储介质上,并且包括计算机指令,所述计算机指令在由处理器运行时使得计算机设备执行权利要求1-11中任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机可执行指令,所述指令在被处理器执行时用于实现如权利要求1-11中任一项所述的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311866241.XA CN117808120A (zh) | 2023-12-29 | 2023-12-29 | 用于大语言模型的强化学习的方法和装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311866241.XA CN117808120A (zh) | 2023-12-29 | 2023-12-29 | 用于大语言模型的强化学习的方法和装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN117808120A true CN117808120A (zh) | 2024-04-02 |
Family
ID=90427482
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202311866241.XA Pending CN117808120A (zh) | 2023-12-29 | 2023-12-29 | 用于大语言模型的强化学习的方法和装置 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN117808120A (zh) |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118036757A (zh) * | 2024-04-15 | 2024-05-14 | 清华大学 | 大语言模型训练方法及装置 |
| CN119337916A (zh) * | 2024-12-20 | 2025-01-21 | 上海临竞科技有限公司 | 基于指令的智能体多风格无极调整方法及系统 |
| CN119647552A (zh) * | 2024-10-29 | 2025-03-18 | 深圳大学 | 机器人技能学习方法、装置、设备及存储介质 |
| WO2025081787A1 (zh) * | 2024-05-10 | 2025-04-24 | 脸萌有限公司 | 一种信息处理的方法、装置、设备和存储介质 |
| CN119940485A (zh) * | 2025-04-03 | 2025-05-06 | 厦门渊亭信息科技有限公司 | 一种大模型推理能力优化方法、系统及存储介质 |
| CN119938697A (zh) * | 2025-01-02 | 2025-05-06 | 立心通智科技(北京)有限公司 | 一种基于思维链的text2sql模型实现方法、装置、计算机设备及可读存储介质 |
| CN120671822A (zh) * | 2025-06-04 | 2025-09-19 | 西湖大学 | 一种基于奖励自适应强化学习探索的大语言模型推理能力增强方法 |
| CN120781988A (zh) * | 2025-08-29 | 2025-10-14 | 中国科学技术大学 | 一种可调优的大语言模型主动推荐智能体系统 |
| CN120806042A (zh) * | 2025-09-15 | 2025-10-17 | 苏州元脑智能科技有限公司 | 一种模型强化学习优化系统、方法及电子设备 |
| WO2025251220A1 (en) * | 2024-06-05 | 2025-12-11 | Beijing Youzhuju Network Technology Co., Ltd. | Adversarial training of model for question answering |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116415650A (zh) * | 2023-04-17 | 2023-07-11 | 惠州市沃羊文化发展有限公司 | 生成对话语言模型及生成对话的方法、装置和存储介质 |
| CN116523031A (zh) * | 2023-07-05 | 2023-08-01 | 深圳须弥云图空间科技有限公司 | 语言生成模型的训练方法、语言生成方法及电子设备 |
| US20230326212A1 (en) * | 2021-12-09 | 2023-10-12 | Kpmg Llp | System and method for implementing a multimodal assistant using large language models |
-
2023
- 2023-12-29 CN CN202311866241.XA patent/CN117808120A/zh active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20230326212A1 (en) * | 2021-12-09 | 2023-10-12 | Kpmg Llp | System and method for implementing a multimodal assistant using large language models |
| CN116415650A (zh) * | 2023-04-17 | 2023-07-11 | 惠州市沃羊文化发展有限公司 | 生成对话语言模型及生成对话的方法、装置和存储介质 |
| CN116523031A (zh) * | 2023-07-05 | 2023-08-01 | 深圳须弥云图空间科技有限公司 | 语言生成模型的训练方法、语言生成方法及电子设备 |
Non-Patent Citations (5)
| Title |
|---|
| LLMCAT: "强化学习7-PPO(Agent-only) 逐行代码讲解", pages 1 - 8, Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/624797778> * |
| OUYANG L 等: "Training language models to follow instructionswith human feedback", 《ARXIV》, 4 March 2022 (2022-03-04), pages 1 - 68 * |
| WHAOSOFT143: "让 PPO 训练更稳定_ppo效果不稳定", pages 1 - 9, Retrieved from the Internet <URL:https://blog.csdn.net/qq_29788741/article/details/134560223> * |
| 刘学博 等: "大模型关键技术与未来发展方向——从ChatGPT谈起", 《中国科学基金》, vol. 37, no. 05, 26 October 2023 (2023-10-26), pages 758 - 766 * |
| 风生水起: "PPO算法的一个简单实现:对话机器人", pages 1 - 3, Retrieved from the Internet <URL:https://www.cnblogs.com/end/p/17431691.html> * |
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118036757A (zh) * | 2024-04-15 | 2024-05-14 | 清华大学 | 大语言模型训练方法及装置 |
| WO2025081787A1 (zh) * | 2024-05-10 | 2025-04-24 | 脸萌有限公司 | 一种信息处理的方法、装置、设备和存储介质 |
| WO2025251220A1 (en) * | 2024-06-05 | 2025-12-11 | Beijing Youzhuju Network Technology Co., Ltd. | Adversarial training of model for question answering |
| CN119647552A (zh) * | 2024-10-29 | 2025-03-18 | 深圳大学 | 机器人技能学习方法、装置、设备及存储介质 |
| CN119337916A (zh) * | 2024-12-20 | 2025-01-21 | 上海临竞科技有限公司 | 基于指令的智能体多风格无极调整方法及系统 |
| CN119938697A (zh) * | 2025-01-02 | 2025-05-06 | 立心通智科技(北京)有限公司 | 一种基于思维链的text2sql模型实现方法、装置、计算机设备及可读存储介质 |
| CN119940485A (zh) * | 2025-04-03 | 2025-05-06 | 厦门渊亭信息科技有限公司 | 一种大模型推理能力优化方法、系统及存储介质 |
| CN120671822A (zh) * | 2025-06-04 | 2025-09-19 | 西湖大学 | 一种基于奖励自适应强化学习探索的大语言模型推理能力增强方法 |
| CN120781988A (zh) * | 2025-08-29 | 2025-10-14 | 中国科学技术大学 | 一种可调优的大语言模型主动推荐智能体系统 |
| CN120806042A (zh) * | 2025-09-15 | 2025-10-17 | 苏州元脑智能科技有限公司 | 一种模型强化学习优化系统、方法及电子设备 |
| CN120806042B (zh) * | 2025-09-15 | 2025-12-02 | 苏州元脑智能科技有限公司 | 一种模型强化学习优化系统、方法及电子设备 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN117808120A (zh) | 用于大语言模型的强化学习的方法和装置 | |
| CN111178486B (zh) | 一种基于种群演化的超参数异步并行搜索方法 | |
| US12364929B1 (en) | Deep learning system for data-driven skill estimation | |
| US12050976B2 (en) | Convolution operations utilizing nonzero padding data copied from input channel data | |
| JP7697317B2 (ja) | 専門的知識に基づいた交絡バイアスの識別及び定量化 | |
| CN114186474A (zh) | 用于目标控制的离线强化学习方法、装置和设备 | |
| WO2022057468A1 (zh) | 一种深度学习模型推理加速的方法、系统、设备及介质 | |
| US20240330774A1 (en) | Method of searching for an optimal combination of hyperparameters for a machine learning model | |
| CN117913787A (zh) | 基于lstm算法的短期电力负荷预测方法及系统 | |
| CN119721259B (zh) | 一种基于视觉语言模型的模型推理方法及装置 | |
| CN113408692B (zh) | 网络结构的搜索方法、装置、设备及存储介质 | |
| CN120218180A (zh) | 基于稀疏大语言模型的蒸馏方法、电子设备和存储介质 | |
| CN119721132A (zh) | 大模型的调整方法、装置、计算机设备和可读存储介质 | |
| CN116306942A (zh) | 语言处理模型的推理处理方法、装置及电子设备 | |
| CN121311886A (zh) | 用于扩散模型的方法和装置 | |
| JP2023028232A (ja) | 学習装置および学習方法 | |
| CN116206172B (zh) | 一种兼具AdamW和SGDM的深度神经网络优化方法 | |
| CN115081614B (zh) | 模型检查点参数域平均方法、装置、电子设备及存储介质 | |
| Henheik et al. | Revisiting Learning Rate Control | |
| CN120525016B (zh) | 一种基于超参数优化的人工智能模型构建方法及装置 | |
| CN119886073B (zh) | 一种大语言模型知识编辑方法及系统 | |
| CN117786416B (zh) | 一种模型训练方法、装置、设备、存储介质及产品 | |
| CN119026606B (zh) | 基于神经网络预训练大模型的旁路定向微调方法和系统 | |
| US20250384043A1 (en) | Draft model selection for speculative decoding with multiple expert models | |
| US20240028902A1 (en) | Learning apparatus and method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20240402 |