涌现能力
在自然语言处理领域中,涌现能力(EmergentAbility)是指在训练模型时,模型可以自主地学习到新的任务或功能。换句话说,涌现能力是指模型具有自学习的能力,可以在没有额外训练数据的情况下,自主地实现新的任务或功能。涌现能力的实现基于模型的泛化能力和模型的表示能力。模型的泛化能力指的是模型在训练集和测试集之间的性能表现。模型的表示能力指的是模型可以在训练集中学习到的语言表示和结构。如果模型具有足够的泛化能力和表示能力,那么它就能够在新的任务或功能出现时自主地学习到这些任务或功能,而无须重新训练模型。
从 GPT-1、GPT-2、GPT-3的发展历程可以发现,随着模型规模的增大,GPT在极少甚至没有提示的情况下解决新问题的能力在逐渐提升。Wei等人发现,随着规模的增大,模型会出现涌现能力,即小模型没有而大模型有的能力。例如,当型没有达到一定规模前,其在Few-shot 情形下的回答随机性较大,而当模型规模突破了临界点后,其 Few-shot能力会大幅提升。可以看出在模型达到一定规模之前的表现和随机模型样,但是到了一定规模之后,模型的表现显著提高并远远高于随机结果。
在 BIG-Bench上,GPT-3和LaMDA 在未达到临界点时,模型的表现都接近于零。而当GPT-3的规模突破训练一定效率时,LaMDA的规模突破也突破一定训练效率时,模型的表现开始快速上升。这些结果说明,必须要有一定规模的模型才能让机器拥有自能。
扩散模型的未来GPT及大模型下面介绍 GPT-3的模型参数和训练参数。GPT3有96个注意力层,并且每层有96个注意力头。词嵌入的维度从“1600”提升为“12888”,上下文窗口为2048个词长。此外,GPT-3还使用了稀疏注意力模块,降低了计算复杂度,仅关注相对距离不超过k和相对距离为2k、3k等的字符。稀疏注意力有局部紧密相关和远程稀疏相关的特性,对距离较近的上下文关注多,对距离较远的上下文关注少。除此之外,与GPT2本相同。GPT-3的训练数据集为5个不同的库,每个库都有特定的权重,高质量的据库采样量大,模型会被训练更多的“epoch”。这些数据库为common craw1、webText2、Booksl、Books2和 Wikipedia。总体数据量为 GPT-2的 10 倍以上实验结果表明,不论是“Zero-shot”还是“Few-shot”,GPT-3在多个任务中的表观比原来的 SOTA 更好。对于部分数据库上的任务,虽然 GPT3不能打败 SOTA,但是比Zero-shot 的 SOTA 表现得更好。在绝大多数情况下,在Few-shot情形下 GPT-的表现比在 One-shot 情形下表现得更好。但 GPT-3 仍有其局限性和可能的不良影响。虽然GPT-3可以生成高质量文本,但是当生成长句子时,它会出现前后矛盾或者重复的情况。GPT-3在自然语言推断中的表现不好,无法确定某个句子是否提示了其他语旬。此外,因为在训练时所有词被同等看待,所以对于一些无意义的词或者虚词也要很多计算量去计算,无法根据任务特点或者目标导向处理字符。另一方面,由于GPT-3 过于庞大、推断耗费较大,并且难以解释其机理,我们并不清楚 GPT-3是在“记"还是在“学习”。对于少样本学习,我们并不清楚什么样的示例和提示会起作用。最后一点,GPT-3可以生成以假乱真的新闻稿,这就意味着GPT-3存在传递错误信息和不实消息,并用于作假、生成有偏见的文本的风险。
InstructGPT和 ChatGPT
虽然GPT-3在各大自然语言处理任务,以及文本生成的任务中令人惊艳,但是它还是会生成一些带有偏见的、不真实的、有害的、可能造成负面社会影响的信息。由于预训练模型是超大参数量级的模型在海量数据上训练出来的,与完全由人工控制的专家系统相比,预训练模型就像一个黑盒子。没有人能够保证预训练模型不会生成包含种族歧视、性别歧视等的危险内容,因为在几十 GB 甚至几十 TB 的训练数据理很可能会包含类似的训练样本。此外,GPT-3并不能按人类喜欢的表达方式去做出题,我们希望模型的输出可以与人类真实意图“对齐”(Aigmment),也就是说让语言模型的生成结果和人类的意图相匹配。这也是创造InstructGPT的初衷,InstructGPT的作者对其设置的优化目标可以概括为“3H”:Helpful(有用的)、Honest(可信的)和 Harmless(无害的)。为了实现 3H,InstructGPT在 GPT-3 的基础上进行微调,其训练方式可以分为3个步骤:1.有监督微调;2.奖励模型训练;3.强化学习训练。ChatGPT就是采用的和InstructGPT一样的技术方案开发出来的。实际上我们可以将其拆分成两种技术方案,一种是有监督微调(SFT);另一基于人类反馈的强化学习(RLHF),包合训练奖励模型并进行强化学习训练,下面们将介绍这两种技术方案。
例如,在Few-shot 设置中,GPT-3对于同一个下游任务,通常采用固定的任务播方式,但这与真实场景下用户的使用方式存在较大的区别。一般来说用户在使用GPT-3时不会采用固定的任务表述,而是根据自己的说话习惯去表达某个需求。在训练过程中,首先从用户的真实请求中采样下游任务的播述,然后标注人员对任务描述进行续写,从而得到对问题的高质量回答,最后使用真实任务和真实回咨对模型进行微调。
基于人类反馈的强化学习,简单来说就是对GPT生成的内容进行打分,符合标准的回答给予较多的回报,鼓励模型生成这种回答,对于不符合标准的回答给予较少的回报,抑制模型生成这种回答。给予人工评分的强化学习效率低、消耗资源大,其替代方案是训练一个奖励模型来模拟人类打分。具体方法就是,对同一个问题让模型生成一些文章,请评分人员对这些文章根据内容好坏进行排序,然后训练奖励模型模拟人类的评价结果。训练的目标函数就是简单回归任务的目标函数,但是为了能够适配GPT生成文本的多样性和复杂性,奖励模型一般会采用并生成与模型体量一致的模型。训练完成后,就可以用奖励模型代替人工对GPT进行强化学习训练了。具体来说,使用GPT生成一篇文章,然后使用奖励模型对其摘要进行打分,然后使用打分值,并借助PPO(Proximal Policy Optimization)算法优化 GPT。
实验结果表明,标注人员明显感觉InstructGPT的输出比GPT-3的输出更好,1.3B的InstructGPT就能带来比175B的SFT更好的体验。此外,InstructGPT在真实性丰富度上表现得更好,并且对有害结果的生成控制得更好。这种提升是自然的结果因为人工续写微调,以及强化学习训练会促使模型生成真实的样本,避免有害样本但是InstructGPT 对于“偏见”没有明显改善,有时会给出荒谬的输出,这可能是受限于纠正数据的数量。此外,即便是优化了损失函数,mstrnucGPT仍会降低模型在通用自然语言处理任务上的效果。
Visual ChatGPT
前面所说的GPT 技术都是应用于自然语言场景中的,在实际的生产、生活还需要多模态的输入、输出形式来满足不同的需求。Visual CHATGPT是一种结合了CHATGPT和视觉基础模型(Visual Foundation Mode,VEM)的多模态同答系统。视觉基础模型一词通常用于描述计算机视觉中使用的一组基本算法:包括Stable Diffusion ,BLIP,controlNet 等。这些算法用于将标准的计算机视觉技能转移到人工智能应用程序中并作为更复杂模型的基础。VisualChatGPT将一系列视觉基融模型接入CHATGPT,使用户能够与ChaGPT以文本和图像的形式交互,并且提供复杂的视业指令,让多个模型协同工作。也就是说,它不仅可以像ChatGPT那样实现语音问答,还可以根据输入的图片实现视觉问答(VQA)、生成和修改图片、去掉图片中不需要的内容。 VisualChatGPT 可以理解用户的指令(如搜索、查询),并且具有修改和改进输出的反馈回路,可根据反馈进行调整和提高。Visual ChatGPT 的系统架构由用户查询(User Query)模块、提示管理(PromptManager)模块、视觉基础模型(VEM)、调用ChatGPTAPI系统和选代交互(fterativeReasoning)模块、输出(Outputs)模块构成。其中 ChatGpT 和 Prompt Manager(负责意图识别和语言理解,并决定后续的操作和产出。本节将结合 GPT及大模型来对扩散模型未来的研究方向进行简要阐释,主要从模型的算法研究和应用范式两方面进行分析。
从算法的研究上来看,扩散模型与chatgpt及大模型一样都是生成式预训练,关于扩散模型可能的研究方向有以下几个:
(1)当训练数据量和模型参数数量不断上涨时,gpt及大模型的表现会呈现出上涨的趋势,并在达到某一个点时发生突变,也是拥有“涌现能力、扩散趋有同样的上涨趋势,以及是否会有涌现能力是值得探索的,但是由于扩散模型的训练是非常消耗资源的,所以增大模型参数训练的优化问题也需要考虑进来。
(2)CHATGPT等应用拥有卓越性能的一大原因是,在其模型训练过程中加入了基于人类反馈的强化学习进行微调,这能够大大提升微调的效果。因此在型中加入基于人类标注得到的“Reward Mode!”,并进行强化学习微调也是得尝试的,况且引入人类反馈还能大大提升扩散模型在“Human Evalunai中的表现。
(3)LLaMA等大模型开源后,很多研究者探索了基于大模型进行高效微调的方法,即不微调大模型本身,仅通过构造相关指令集和拥有少量参数的adaptor的方式挖掘大模型存储的知识。因此,如何高效微调Stable Diffusion 等来应新的任务(如 ControlNet)是值得进一步研究的。
应用范式
从模型的应用上来说,GPT及大模型已经能够广泛用于各种任务了,但扩散模型的应用范式还有待探索:
(1)目前大部分扩散模型在生成任务中表现出色,能够生成逼真的、符合输入提示语义的样本。但是,很少有研究探索扩散模型在认知推理或者少样本泛化等任务中的应用的。因此,将扩散模型推广到更多的应用范式,进一步向GPT大模型的应用领域探索,对于发挥扩散模型的潜能是至关重要的。
(2)在Visual ChaGPT 中,扩散模型被当成视觉基础模型使用,但是对于多模态能问答任务,自然语言和多模态特征也很重要。因此,如何开发出语言扩散大模型,甚至多模态扩散大模型来为多模态应用服务是值得进一步探索的,不同态的扩散大模型如何与现有基于LLM 的大模型形成协同作用也是值得研究的。