绿色字为详细资料的超链接,点进可读
80
第1-303讲:《》
第304讲:《》
特殊工艺:《》
检测评价专题:《》
诊断与体检专题:《》
绿色字为详细资料的超链接,点进可读
人工智能( ,AI)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
AI是由人制造出来的机器所表现出来的智能,随着医学、神经科学、自动控制科学、机器人学及统计学等的进步,有些预测则认为人类的无数职业也逐渐被AI所取代。
AI划时代里程碑( Pre- ),是人工智能研究实验室新推出的一种人工智能技术驱动的自然语言处理工具,使用了神经网络架构,也是GPT-3.5架构。
Trm是一个结构
这是一种用于处理序列数据的模型,拥有语言理解和文本生成能力,尤其是它会通过连接大量的语料库来训练模型,这些语料库包含了真实世界中的对话,使得具备上知天文下知地理,还能根据聊天的上下文进行互动的能力,做到与真正人类几乎无异的聊天场景进行交流。不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。
和在模型结构,训练方式上都完全一致,即都使用了指示学习( )和人工反馈的强化学习( from Human ,RLHF)来指导模型的训练,它们不同的仅仅是采集数据的方式上有所差异。
与今年初公布的 核心思想一致。其关键能力来自三个方面:
1. 强大的基座大模型能力();
2. 高质量的真实数据;
3. 强化学习(PPO算法)。
应部分职业卫生监督员和卫生监督机构科教信息科同行的要求,下面我用科普形式简述一下的工作原理与应用。
的训练过程
/的训练可以分成3步,其中第二步和第三步是的奖励模型和强化学习的SFT模型可以反复迭代优化。
1. 根据采集的SFT数据集对GPT-3进行有监督的微调( ,SFT);
2. 收集人工标注的对比数据,训练奖励模型( Model,RM);
3. 使用RM作为强化学习的优化目标,利用PPO算法微调SFT模型。
第一步有监督微调(SFT)
首先是数据集采集。SFT数据集是用来训练第一步有监督的模型,即使用采集的新数据,按照GPT-3的训练方式对GPT-3进行微调。因为GPT-3是一个基于提示学习的生成模型,因此SFT数据集也是由提示-答复对组成的样本。SFT数据一部分来自使用的的用户,另一部分来自雇佣的40名标注工()。在这个数据集中,标注工的工作是根据内容自己编写指示,并且要求编写的指示满足下面三点:
(1)简单任务:
给出任意一个简单的任务,同时要确保任务的多样性;
(2)Few-shot任务:
给出一个指示,以及该指示的多个查询-相应对;
(3)用户相关的:
从接口中获取用例,然后让根据这些用例编写指示。
的数据分布
使用有监督学习方式,基于GPT3.5微调训练一个初始模型,训练数据约为2w~3w量级。由标注师分别扮演用户和聊天机器人,产生人工精标的多轮对话数据。
在人类扮演聊天机器人时,会得到机器生成的一些建议来帮助人类撰写自己的回复,以此提高撰写标注效率。
以上精标的训练数据虽然数据量不大,但质量和多样性非常高,且来自真实世界数据,这是很关键的一点。
的计算流程之一
有监督微调(SFT)
在机器学习中,指示学习( )和提示( )学习是重要的技术基础。
指示学习是谷歌的Quoc V.Le团队在2021年的一篇名为《 Are Zero-Shot 》文章中提出的思想。指示学习和提示学习的目的都是去挖掘语言模型本身具备的知识。不同的是是激发语言模型的补全能力,例如根据上半句生成下半句,或是完形填空等。是激发语言模型的理解能力,它通过给出更明显的指令,让模型去做出正确的行动。我们可以通过下面的例子来理解这两个不同的学习方式:
(1)提示学习:
给男朋友买了这双跑步鞋,他很喜欢,这双跑步鞋太____了。
(2)指示学习:
判断这句话的情感:给男朋友买了这双跑步鞋,他很喜欢。选项:A=好;B=一般;C=差。
指示学习的优点是它经过多任务的微调后,也能够在其他任务上做zero-shot,而提示学习都是针对一个任务的。泛化能力不如指示学习。我们可以通过下图来理解微调,提示学习和指示学习。
第二步奖励模型(RM)训练
RM数据集用来训练第二步的奖励模型,也需要为/的训练设置一个奖励目标。这个奖励目标不必可导,但是一定要尽可能全面且真实的对齐我们需要模型生成的内容。可以通过人工标注的方式来提供这个奖励,通过人工对可以给那些涉及偏见的生成内容更低的分从而鼓励模型不去生成这些人类不喜欢的内容。/的做法是先让模型生成一批候选文本,让后通过根据生成数据的质量对这些生成内容进行排序。
的数据分布
收集相同上文下,根据回复质量进行排序的数据:即随机抽取一大批,使用第一阶段微调模型,产生多个不同回答:(P,a1),(P,a2),(P,a3)…(P,ak),之后标注人员对k个结果排序,形成Ck2组训练数据对。
之后,使用 loss来训练奖励模型,可以预测出标注者更喜欢哪个输出。”从比较中”学习可以给出相对精确的奖励值。
这一步使得从命令驱动转向了意图驱动,“它会不断引导GPT说人类要他说的”。另外,训练数据不需过多,维持在万量级即可。因为它不需要穷尽所有的问题,只要告诉模型人类的喜好,强化模型意图驱动的能力就行。
的计算流程之二
奖励模型(RM)训练
因为训练RM的数据是一个根据生成结果排序的形式,所以它可以看做一个回归模型。RM结构是将SFT训练后的模型的最后的嵌入层去掉后的模型。它的输入是和,输出是奖励值。具体的讲,对弈每个,/会随机生成K个输出(4≤K≤9),然后它们向每个成对的展示输出结果,也就是每个共展示Ck2个结果,然后用户从中选择效果更好的输出。在训练时,/将每个的Ck2个响应对作为一个batch,这种按为batch的训练方式要比传统的按样本为batch的方式更不容易过拟合,因为这种方式每个会且仅会输入到模型中一次。
奖励模型的损失函数表示为下式。
其中rθ(x,y)是提示x和响应y在参数为θ的奖励模型下的奖励值,yw是更喜欢的响应结果,yl是不喜欢的响应结果。D是整个训练数据集。
这个损失函数的目标是最大化更喜欢的响应和不喜欢的响应之间的差值。
第三步通过PPO根据奖励模型进行强化学习
的PPO数据没有进行标注,它均来自GPT-3的API的用户,既又不同用户提供的不同种类的生成任务,其中占比最高的包括生成任务(45.6%),QA(12.4%),头脑风暴(11.2%),对话(8.4%)等。
的数据分布
PPO( )是一种新型的 算法( 是一种强化学习算法,通过优化智能体的行为策略来解决在环境中实现目标的问题)。
我们只需了解普通的 算法对步长十分敏感,但是又难以选择合适的步长,在训练过程中新旧策略的的变化差异如果过大则不利于学习。而PPO提出了新的目标函数可以在多个训练步骤实现小批量的更新,解决了 算法中步长难以确定的问题。由于其实现简单、性能稳定、能同时处理离散/连续动作空间问题、利于大规模训练等优势,近年来受到广泛关注,成为默认强化学习算法。
第三步是使用PPO强化学习策略来微调第一阶段的模型,其核心思想是随机抽取新的,用第二阶段的 Model给产生的回答打分。
这个分数即回答的整体,进而将此回传,由此产生的策略梯度可以更新PPO模型参数。整个过程迭代数次直到模型收敛。
强化学习算法可以简单理解为通过调整模型参数,使模型得到最大的奖励(),最大奖励意味着此时的回复最符合人工的选择取向。
的计算流程之三
通过PPO根据奖励模型进行强化学习
PPO的训练集完全来自API,它通过第二步得到的奖励模型来指导SFT模型的继续训练。很多时候强化学习是非常难训练的,/在训练过程中就遇到了两个问题:
问题1:
随着模型的更新,强化学习模型产生的数据和训练奖励模型的数据的差异会越来越大。目前其解决方案是在损失函数中加入KL惩罚项(见下式)来确保PPO模型的输出和SFT的输出差距不会很大。
问题2:
如只用PPO模型进行训练,会导致模型在通用NLP任务上性能的大幅下降,目前其解决方案是在训练目标中加入了通用的语言模型目标(见下式),这个变量目前被称为PPO-ptx。
因此,目前PPO的训练目标为:
以上三个步骤即的训练过程,合称为文献中提到的RLHF技术。
步骤中需要人工反馈的强化学习,是因为训练得到的模型并不是非常可控的,模型可以看做对训练集分布的一个拟合。那么反馈到生成模型中,训练数据的分布便是影响生成内容的质量最重要的一个因素。
有时候我们希望模型并不仅仅只受训练数据的影响,而是人为可控的,从而保证生成数据的有用性,真实性和无害性。论文中多次提到了对齐()问题,我们可以理解为模型的输出内容和人类喜欢的输出内容的对齐,人类喜欢的不止包括生成内容的流畅性和语法的正确性,还包括生成内容的有用性、真实性和无害性。
我们知道强化学习通过奖励()机制来指导模型训练,奖励机制可以看做传统模训练机制的损失函数。奖励的计算要比损失函数更灵活和多样(的奖励是对局的胜负),这带来的代价是奖励的计算是不可导的,因此不能直接拿来做反向传播。
强化学习的思路是通过对奖励的大量采样来拟合损失函数,从而实现模型的训练。同样人类反馈也是不可导的,那么我们也可以将人工反馈作为强化学习的奖励,基于人工反馈的强化学习便应运而生。
RLHF最早可以追溯到在2017年发表的《Deep from Human 》,它通过人工标注作为反馈,提升了强化学习在模拟机器人以及雅达利游戏上的表现效果。
/中还用到了强化学习中一个经典的算法:提出的最近策略优化( ,PPO)。
PPO算法是一种新型的 算法, 算法对步长十分敏感,但是又难以选择合适的步长,在训练过程中新旧策略的的变化差异如果过大则不利于学习。
PPO提出了新的目标函数可以在多个训练步骤实现小批量的更新,解决了 算法中步长难以确定的问题。其实TRPO也是为了解决这个思想但是相比于TRPO算法PPO算法更容易求解。
优缺点
/的优点
是的兄弟模型( model),后者经过训练以遵循中的指令,从而提供详细的响应。是在今年3月在文献 to with human 中提出的工作。其整体流程和以上的流程基本相同,但是在数据收集、基座模型(GPT3 vs GPT 3.5)以及第三步初始化PPO模型时略有不同。
的工作与类似:给定且需要人工写回答。首先工作人员训练了一个的早期版本,使用完全人工标注的数据,分3类:
+、+多个 和用户在使用API过程中提出的需求。从第二类数据的标注,推测可能用检索来提供多个In 的示例,供人工标注。剩余步骤与以上相同。
对于数据质量和数据泛化性的把控,也是的一大优势:寻找高质量标注者——寻找在识别和回应敏感提示的能力筛选测试中,表现良好的;使用集外标注者保证泛化性——即用未经历以上步骤的更广大群体的标注者对训练数据进行验证,保证训练数据与更广泛群体的偏好一致。
的工作在“解锁”()和挖掘GPT3学到的海量数据中的知识和能力,但这些仅通过快速的In-的方式较难获得。找到了一种面向主观任务来挖掘GPT3强大语言能力的方式。
三步走的核心思想:
收集反馈数据→训练奖励模型→PPO强化学习
1. 效果比GPT-3更加真实
因为GPT-3本身就具有非常强的泛化能力和生成能力,再加上/引入了不同的进行提示编写和生成结果排序,而且还是在GPT-3之上进行的微调,这使得人类在训练奖励模型时对更加真实的数据会有更高的奖励。
与GPT3的区别
2. 模型的无害性比GPT-3有所提升
但是,在歧视、偏见等数据集上并没有明显的提升。这是因为GPT-3本身就是一个效果非常好的模型,它生成带有有害、歧视、偏见等情况的有问题样本的概率本身就会很低。仅仅通过40个采集和标注的数据很可能无法对模型在这些方面进行充分的优化,所以会带来模型效果的提升很少或者无法察觉。
3.具有很强的能力
首先GPT-3就具有很强的能力,基于GPT-3制作的API也积累了大量的代码,而且还有部分的内部员工参与了数据采集工作。
通过相关的大量数据以及人工标注,训练出来的/具有非常强的能力。
/的不足
1.会降低模型在通用NLP任务上的效果
在PPO的训练的时候讨论了这点,虽然修改损失函数可以缓和,但这个问题并没有得到彻底解决。
2. 有时会给出一些荒谬的输出
虽然/使用了人类反馈,但限于人力资源有限,人类反馈仍然不够。
影响模型效果最大的还是有监督的语言模型任务,人类只是起到了纠正作用。
所以很有可能受限于纠正数据的有限,或是有监督任务的误导(只考虑模型的输出,没考虑人类想要什么),导致它生成内容的不真实。就像一个学生,虽然有老师对他指导,但也不能确定学生可以学会所有知识点。
3. 模型对指示非常敏感
这个也可以归结为标注的数据量不够,因为指示是模型产生输出的唯一线索,如果指示的数量和种类训练的不充分的话,就可能会让模型存在这个问题。
4. 模型对简单概念的过分解读
这可能是因为在进行生成内容的比较时,倾向于给更长的输出内容更高的奖励。
5. 对有害的指示可能会输出有害的答复
这个是因为/假设编写的指示是合理且价值观正确的,并没有对用户给出的指示做更详细的判断,从而会导致模型会对任意输入都给出答复。
虽然后面的奖励模型可能会给这类输出较低的奖励值,但模型在生成文本时,不仅要考虑模型的价值观,也要考虑生成内容和指示的匹配度,有时候生成一些价值观有问题的输出也是可能的。
/的优化空间
1. 人工标注的降本增效
/雇佣了40人的标注团队,但从模型的表现效果来看,这40人的团队是不够的。如何让人类能够提供更有效的反馈方式,将人类表现和模型表现有机和巧妙的结合起来是非常重要的。
2. 模型对指示的泛化/纠错等能力
指示作为模型产生输出的唯一线索,模型对他的依赖是非常严重的,如何提升模型对指示的泛化能力以及对错误指示示的纠错能力是提升模型体验的一个非常重要的工作。这不仅可以让模型能够拥有更广泛的应用场景,还可以让模型变得更“智能”。
3. 避免通用任务性能下降
可能需要设计一个更合理的人类反馈的使用方式,或是更前沿的模型结构。因为人类讨论了/的很多问题可以通过提供更多标注的数据来解决,但这会导致通用NLP任务更严重的性能下降,所以需要方案来让生成结果的3H和通用NLP任务的性能达到平衡。
就像很多人类算法刚诞生时一样,凭借其有用性、真实性、无害性的效果,引起了业内广泛的关注和人类对AI的思考。
但是,当我们看完其算法原理之后,发现它并没有业内宣传的那么恐怖。反而,我们可以从它的技术方案中学到很多有价值的东西。
参阅近2年 GPT语言模型相关的文章,RLHF的方法效果显著,成功的核心也在于基于LLM(Large model)的RLHF( from Human )。可以说,RLHF是一个很有希望且有趣的方向;强化学习在即将发布的GPT-4中大概率扮演这关键角色。
/在AI界最重要的贡献,是将强化学习和预训练模型巧妙的结合起来,并通过人工反馈提升了模型的有用性,真实性和无害性。
也进一步提升大模型的成本,之前还只是比拼数据量和模型规模,现在甚至也引入了雇佣的外包这一支出,这让个体研究者更加望而却步。
应用
文字模态的AIGC应用
可依附于对话形态的产品和载体大有空间,包括但不限于内容创作、客服机器人、虚拟人、机器翻译、游戏、社交、教育、家庭陪护等领域。这些或许都将是 能快速落地的方向。
其中有些方向会涉及到交互的全面改革,比如机器翻译不再是传统的文本输入→实时翻译,而是随时以助手问答的形式出现。甚至给出一个大概笼统的中文意思,让机器给出对应英文。目前人类目前所做的写作产品,可能也会涉及创作模式的改变和革新。
有些方向会全面提升产品质量,比如已存在的客服机器人、虚拟人等。
文字形态的基础模型
作为文字形态的基础模型,自然可以与其他多模态结合。
比如最近同为火热的 模型,利用生成较佳的,对于AIGC内容和日趋火热的艺术创作,提供强大的文字形态的动力。
对于搜索引擎的代替性
可以作为搜索引擎的有效补充,但至于是否能代替搜索引擎,抛开推理成本不谈,目前只从效果上来说为时尚早。
对于网络有答案的query,抽取就完全能满足,现友商最近就有这样的功能。网络上没有明确答案,即使检索了相关材料(目前还没有这样的功能),也没人能保证生成结果的可信度。
本身的升级
本身的升级与的结合对信息进行实时更新,并且对于事实真假进行判断。
现在的没有实时更新和事实判断能力,而这如果结合的自动搜索能力,让学会自己去海量知识库中探索和学习,预测可能会是GPT-4的一项能力。
还有其他更多方向,包括与最近数理逻辑工作的结合等等。
的借鉴和使用
对于的借鉴和使用,大致可以归类以下4个方向:
1. 直接使用
即复用API中效果极佳的部分,直接使用的优势是可以快速实现多粒度多层级功能需求。在很多需求难以定义清晰、数据难以获得的情况下,复用并包装这样的功能一本万利。
当然其缺点也很明显。直接调用成本是极高的,根据GPT3.5()的成本推测:1k ≈700 words为0.02美元。换算后,一篇2k字的文章直接调用需要0.4人民币。若保守按照日活1w用户、人均10篇文章计算,则每日调用成本为:10000*10*0.4=40000元。虽成本过于高昂,但实现时间最少。
根据Musk 上与工作人员的对话,也可以看到每次聊天过程需要几美分的成本,所以直接调用成本极高。
2. 间接使用
核心思想是利用接口,按照不同需求生成高质量数据,克服现有数据难获得的瓶颈;进而利用现有开源大模型进行数据扩增,这是目前比较切实,实现时间较少,是在时间成本和效果上折中的方式。
3. 思想借鉴
首先,人类目前有初步尝试参考RLHF的方法,如对多候选进行标注、利用得到的标注结果重新微调生成模型、或者增加排序阶段加入RL学习。其次,人类也尝试一些高效调参的方法微调现有大模型。但此条受限于资源尚需评估和确认。
4. 交互升级
将写作整体打造为的形式,此核心思想涉及到交互层面的变革。但的出现和核心技术让形式升级成为可能。随着深度学习和多智能体系统的发展,未来会有多种、多样、多功能的X-Bot出现。