# 热门搜索 #
搜索
现代人工智能是一种驯化
405点击    2023-08-28 16:39

导言


随着互联网规模的人工智能模型从粗糙的研究演示迅速成熟为面向用户的生产型系统,人们的期望越来越高,目标也发生了巨大变化。在短短几个月内,人工智能界已经从对概念验证的 "零敲碎打 "能力留下深刻印象,集体转向解决提高微调能力的质量和可靠性这一相对具有挑战性的 "最后一公里 "问题。尽管人工智能界可能希望(或担心),但似乎仅仅倾泻越来越多的计算量、代币和参数来提升扩展曲线是不够的。虽然这种天真的扩展方法可以产生基础模型,并对人类经验的总和有一个粗略的了解,但如何使这些基础模型对特定的下游能力有用并具有性能,才是一个万亿美元级的问题。现代人工智能现在越来越多地研究数字驯化:驯服野生互联网规模数据分布的艺术和科学。


先验放大方法


现代大型语言模型(LLM)和视觉语言模型(VLM)的训练过程严重依赖于大量互联网规模的数据。像变压器这样的大容量模型架构已显示出有效模拟这些极其多样化的数据分布的重要能力--有时可能太强了。这些大型模型在各种数据的虚拟混合物中进行训练:来自开放域小说的优雅散文与令人发指的 4chan 有毒帖子、出色的软件项目与漏洞百出的作业代码、绚丽的专业摄影作品与业余社交媒体自拍照混杂在一起。于是,这些模型开始训练并吸收这些网络规模数据集的所有光彩和不完美之处,这些模型开始像一面镜子,照出数字人类体验的面貌。不过,虽然这些 "原始 "模型可能会为研究人类文化提供独特的社会学工具,但它们离产生高质量、理想和一致的输出还相去甚远,而这些能力是在面向用户的应用中大规模全面生产所必需的。


在这一点上,重要的是要认识到,这些原始模型并不是坏模型,而是在做它们设计时要做的事情:详尽而稳健地模拟它们所训练的数据分布。这些底层数据分布--数据集先验--可能确实包含许多不理想的属性,但也包含性能良好的最终模型所需的良好属性(以及多样性和规模)。最近流行的一种假说强调,模型的知识和能力几乎完全是在预训练过程中学习的,而对齐则是教它在推理过程中应该使用哪种前验的子分布。万亿美元的问题变成了:如何在数据集中放大好的前验,同时抑制坏的前验?如何驯服直接从野生异质互联网分布中捕获的原始模型?


先验放大:如何在模型对互联网规模数据集的理解上投射和放大一组所需的先验。


在过去的一年中,有几种主要的方法获得了关注。虽然它们的技术基础和优势各不相同,但都有一个共同的目标,那就是先验放大:如何将一组所需的先验投射和放大到模型对互联网规模数据集的理解上。在本概述中,我们将介绍各种先验放大方法、显著的使用实例,并提供一个高层次的框架,以便在这些方法之间做出选择。


无论是来自人类还是其他人工智能系统的先验知识分布,都会在整个预训练、微调和推理过程中塑造一个基础模型。


1. 提示


要想引导基础模型实现某些期望的先验,最明显的出发点就是友好地询问模型。直观的概念很简单:如果模型在训练过程中学习了各种不同的数据,那么在推理时,您是否可以通过精心设计上下文来引导模型,使您的查询看起来更像训练数据中的高质量示例?这可以利用在训练过程中看到的相关性和先验性。例如,与高参与者 ELO 评分相关的棋局很可能比低参与者 ELO 评分的棋局有更强的棋步;因此在测试时,一个有希望的提示应该让模型非常清楚地意识到这是高 ELO 棋局,并相应地做出大师级的预测。为了避免深入探讨提示工程(又称上下文学习)的所有细微差别,如果您有兴趣深入了解,我们将为您提供一份关于提示工程的精彩调查报告。


就本分析而言,我们认为零点提示有明显的局限性。提示是一种机会主义策略,强烈依赖于原始训练数据集中的模式、相关性和先验。成功的提示工程是在过于通用的提示(模型可以成功遵循,但未必有用,如 "像国际象棋人工智能那样下棋")和过于具体的提示(有用,但模型无法概括,如 "像 9000 ELO 国际象棋人工智能那样下棋")之间的拉锯战。


当野生数据分布包含的不良数据相关性多于理想相关性时,提示对底层数据分布的依赖就变得具有挑战性,这也是瓦卢吉效应的一部分。例如,与 "礼貌的政治言论变得有毒,然后又变得礼貌 "相比,互联网论坛讨论很可能包含许多 "礼貌的政治言论变得有毒 "的例子。这就使得训练数据分布中的不良区域成为吸收状态,仅靠提示很难摆脱这种状态。


且不论这些问题是否会随着 "更好的提示 "而消失,但很明显,零点法迫使模型在推理时不得不带着训练分布中包含的任意先验的所有包袱运行。如果我们不局限于无梯度提示,而是考虑对原始模型本身进行微调,是否能更有效地放大先验呢?


2. 有监督的微调(SFT)


在监督微调(SFT)中,原始模型在不同的数据集上进行预训练,然后在更小但质量更高的数据集上进行训练,这些数据集可能是也可能不是原始数据集的子集。微调模型是 "展示而非说明 "的缩影,微调数据集就像黄金标准,包含了最终模型所需的所有属性。这种简单性提出了一个令人信服的论点:为原始模型提供一些目标数据集,而 SFT 则有望使原始模型更接近这一目标分布。由于 SFT(又称行为克隆)是有监督的学习,因此如果数据良好,模型庞大,就能保证成功。


SFT 的机制对于微调数据集的来源也很灵活。它可以是原始多样化数据集的一个子集,也可以是一个全新的定制数据集。它可以是人工精心制作和验证的,也可以是使用工程启发式方法和规则自动获取的。而且,正如我们稍后将看到的,它还可以通过合成生成。


但是,假设我们已经选择了一个特定的微调数据集,它代表了我们希望提炼到模型中的所有好的先验:如何对基础模型进行机械微调呢?这里也有几种选择。标准 SFT 对整个基础模型进行微调,更新整个网络的权重。这是最详尽的更新类型,有可能导致基础模型行为发生重大变化。有时,我们需要更轻松的操作(没坏就别修!),只需对网络的一个子集进行微调;LiT 就是一个例子,它在微调语言编码器的同时冻结了 CLIP 图像编码器。与此相关的一类新方法被称为参数高效微调(PEFT),它们进一步发展了这一概念,冻结了原始模型的大部分,只微调了一组相对较小的(额外的)模型参数。像 LoRA 这样的 PEFT 方法开启了巨大的开源创新,使消费级硬件能够对相当大的基础模型进行微调。




有监督的微调方法旨在放大微调数据集中包含的先验。


显然,微调技术正在迅速发展,在可预见的未来,它仍将是一个令人兴奋的领域。无论具体的 SFT 方法如何,它仍然在很大程度上依赖于底层微调数据集的组成和质量。在 SFT 中,放大什么先验值和如何放大先验值同样重要。


以下是一些能够提炼出所需的人类先验的 SFT 方法和高质量数据集的例子:


LAION-Aesthetics 是一个高质量的图像数据集,是 LAION-5B 的过滤子集;它通过使用预训练的 CLIP 嵌入进行过滤。旨在捕捉视觉愉悦图像的先验。

视频预训练从承包商处收集了特定任务的 Minecraft 游戏。旨在捕捉有指向性的、有用的 Minecraft 动作先验。

FLAN 将 60 多个高质量 NLP 数据集格式化为指令遵循数据集。旨在捕捉理解和遵守文本指令的先验。

交互语言》包含由承包商远程操作和标注的语言标注机器人轨迹。旨在捕捉语言描述与机器人轨迹之间的关系

CodeXGLUE 包含来自 GitHub 的流行代码库。旨在捕捉功能正确、编写精良的编程代码。

锁定图像调整(LiT)对文本进行微调,以匹配冻结的预训练图像编码器。

PEFT 方法(如前缀调整、提示调整、低秩自适应(LoRA)、ControlNet)可冻结主网络并添加新的可调整权重,从而快速适应新的数据集。


3. 从人类反馈中强化学习(RLHF)


与 SFT 不同的是,强化学习(RL)微调引入了奖励模型,这是一个独立的组件,目的是在训练过程中直接为模型输出提供细粒度的反馈信号。最流行的强化学习微调范式之一是 "人类反馈强化学习"(RLHF),奖励模型直接根据人类偏好标签进行训练。RLHF 与 SFT 早期采用的 "不告诉"(show don't tell)非参数方法类比,RLHF 恰恰相反:通过参数化奖励模型明确学习良好的先验,然后在训练过程中直接 "告诉 "原始模型这些偏好。将自回归令牌预测表述为强化学习问题有两个非常引人注目的技术优势:直接的政策反馈和在次优数据上进行训练的能力。


首先,策略上的学习信号非常有用,而且与标准离线非策略训练中的学习信号有本质区别。[1] 与告诉模型 "这个其他预测会有多好 "的非策略反馈相比,策略上的反馈为模型提供了 "你的最佳预测有多好 "的信息。然而,除了政策上的反馈信息量最大之外,有时政策外的反馈也可能是陈旧和不正确的:预先收集的训练数据集包含的目标标签存在于真空中,并没有考虑到模型当前的能力。为了说明这一点,请看约翰-舒尔曼(John Schulman)举例说明如何调整 ChatGPT 以平衡对冲("很抱歉,我没有这方面的信息")和自信预测("答案肯定是肯定的")。在所有情况下,对给定输入的正确回答可能都不一样;一个拥有丰富而准确的知识图谱的模型应该得到自信输出的奖励,而一个对事实理解有偏差的模型则应该得到对冲输出的奖励。用 RL 术语来说,我们有一个部分可观察性问题,因为我们可能希望在与行为策略相匹配的奖励函数上进行操作,而不是在最优甲骨文策略的奖励函数上进行操作;RLHF 正是试图解决这个问题。


其次,RLHF 提供了细粒度的奖励,可以在次优数据上进行训练。SFT 设置只允许在包含或排除不同质量的数据之间划定一个硬边界,而 RLHF 则可以采用一种更灵活的方法,在奖励模型训练和使用奖励模型进行微调期间利用次优数据。在奖励模型训练过程中,可以加入不同质量的数据,使奖励模型更加稳健。在基础模型微调过程中,奖励模型能够输出多种粒度的奖励标度(如 "正确+有信心 "奖励 1.0,"正确+无信心 "奖励 0.5,"不正确+有信心 "奖励-2.0),从而有效利用不同类型的次优数据。


除了这两项技术上的优势之外,系统层面的优势还在于可以将奖励模型视为一个独立的组成部分,并对其进行反复研究和改进。这就为建立细致入微的奖励模型提供了可能,进而将非常精细的反馈传播到原始基础模型中。经验证明,与成功的 RLHF 微调相比,SFT 似乎会对基础模型的指令遵循行为产生更大的影响。


下面是一些放大人类偏好先验的 RLHF 例子:


InstructGPT(之后是 ChatGPT 和 GPT-4)使用承包商收集的指令跟踪演示以及人类标记的模型输出排名训练了文本对齐奖励函数。

文本到图像的对齐使用稳定扩散从文本生成图像的离散人类偏好样本来训练图像生成奖励函数。

用于人在回路中 RL 的少量偏好学习预训练了机器人操纵奖励模型,并利用人类反馈使其适应新任务。


4. 纳入人工智能反馈: 人工智能批评者


虽然 RLHF 提供了一种将人类知识转移到人工智能模型的强大机制,但它也面临着一些实际限制:人类反馈可能存在噪音、不一致,而且收集成本高昂。为了应对这些挑战,人工智能反馈强化学习(RLAIF)旨在利用经过提示预训练的模型生成偏好数据来训练奖励模型,从而将现有的人工智能模型带入环路。RLAIF 利用了解决方案验证比解决方案生成容易得多这一非对称特性(如果你仔细观察,这就类似于 P vs. NP)。即使现有的基础模型不足以生成与某些所需先验相对应的输出,但也许它们足以在看到好答案时知道它们,并提供政策上的偏好标签?因此,RLAIF 可以捕捉到已提示的基础模型中包含的良好先验,从而自动生成偏好数据,无需人工参与,用于下游奖励模型的训练。


但是,作为人工智能批评者的基础模型不仅可以为奖励模型生成数据,还可以直接成为奖励模型。在推理时,基础模型可以尽力完成任务,然后自我反省是否成功。推理时的人工智能评论家可以执行额外的结构,例如与树形结构搜索相结合,修剪经不起人工智能评论家审查的逻辑推理计划,甚至在 "思想协会 "中使用多个人工智能评论家来辩论和讨论潜在的输出。在训练时,这些人工智能评论家(当前模型或另一个模型)会提供直接的政策反馈,目的是自动将优秀的人工智能评论家先验提炼到经过微调的模型中。这与 RL 中的 "行动者批判"(Actor-Critic)方法有着明显的相似之处,批判者更容易学习,但却能为行动者策略提供巨大的正则化和引导优势。


这里有几个人工智能反馈的例子,它们将现有的人工智能先验放大到其他人工智能模型上:


克劳德(Claude)介绍了《宪法》人工智能(Constitutional AI),该人工智能从人工生成的规则和原则提示开始,在人工智能反馈生成和输出偏好排序过程中使用这些规则和原则提示,在下游强化学习过程中使用这些规则和原则提示,以减少有害性,并增加遵循 LLM 的指令的有用性。

ALMoST 利用不同质量和大小的 LLM 生成对比反应,可用于训练基于排序的奖励模型。

LLM 自我反思是一个快速发展的领域。LLMs 了解自身的不确定性,Reflexion(和后续)在推理过程中使用人工智能反馈,而 LLMs Self-Improving 则在训练过程中纳入了人工智能反馈。

思维之树 "在推理过程中使用结构化搜索,利用 LLMs 提出并搜索最有前途的推理链。

Society of Minds 利用 LLMs 之间的多代理辩论,采用类似合奏的方法来改进事实和推理。

Inner Monologue 利用专家模型为迭代规划机器人任务的 LLM 提供文本反馈。

AutoGPT 将人工智能反馈与数字工具使用相结合,在推理时间内自主执行任务,直至自我判断完成。


5. 合成数据生成


我们已经提到了之前将人工智能纳入训练不同部分的放大实例,无论是像 LAION-Aesthetics 这样利用 CLIP 嵌入进行数据集过滤,还是利用基础模型生成的反馈进行人工智能批判。但是,人工智能模型是否也能改善我们获取和标注全新数据集的方式呢?更进一步说,人工智能模型能否生成有用的、质量足够高的数据,以便随后进行训练?


一个起点可能是在数据引擎循环中不完全取代人类,而只是通过共享自主范式来增强人类的能力。人工智能模型的预测可能并不完美,但也许是一个足够好的起点,可以节省人类贴标签的时间。例如,特斯拉自动驾驶团队著名的视觉数据引擎在三维物体分割和车道检测等任务中使用自动标签作为初始起点,供人类评分员进行修正。最近,Meta 公司发布了 SA-1B 分割掩码数据集,该数据集采用了交互式模型辅助标注流程,比完全人工标注方法快 6.5 倍。


除了辅助人工标注外,生成建模技术的进步能否在完全没有人工参与的情况下创建有用的合成数据?这一想法在过去曾作为半监督学习或伪标签进行过广泛研究;这篇博文是对2021年前半监督学习的一个很好的概述。但是,2021 年后,语言和视觉领域的高性能互联网规模模型激增,极大地增加了合成数据生成的潜力。过去,合成标签依赖于狭隘的特定领域模型,而现在,合成标签有可能由并非专门针对手头任务的通用模型生成。这样做有两个好处:一是降低了合成数据生成的尝试成本,二是有可能将互联网规模的常识引入特定的训练领域。


从视觉到机器人学,人们越来越多地探索了这种 "将通用大型模型用于狭义合成生成 "的方法。尤其令人兴奋的是,一些成果显示了通用模型能力从数据生成到数据消费模型的正向转移的力量: InstructPix2Pix 将 LLM 的指令理解能力与文本到图像生成模型相结合,创建了一个合成图像编辑指令数据集。合成数据生成还可用作现有地面实况标签的数据扩充;DIAL 就探索了这一点,它利用 CLIP 预测的指令扩充了以语言为条件的机器人轨迹。最后,合成数据生成还可用于不同规模的模型之间的提炼,例如 Alpaca 可根据 175B 参数的 GPT-3 输出指令,对 7B 参数的 LLaMA 模型进行微调[2]。


趋势似乎很明显。虽然合成数据的实用性和质量在过去经常受到质疑(无论是技术层面还是哲学层面),但现在看来,至少有几个领域的合成数据能够将低成本高效率与足够的训练质量结合起来,在某些情况下甚至能将数据标注模型积极地转移到数据消费模型上。


下面是一些合成数据生成的例子:


Segment Anything 模型在模型辅助注释收集的 11 亿例分割掩膜数据集上进行了训练。

特斯拉自动驾驶汽车的视觉模型利用模型辅助标注来完成分割和检测任务。

VPT 是一个 Minecraft 代理,它使用反动力学模型自动标注 Minecraft 游戏视频的原始键盘动作输入。

Goat 在生成的算术数据集上对 LLaMA 进行了微调,该数据集包含了准确和精确的数学严谨性。

ROSIE 和 CACTI 是使用扩散模型进行语义视觉数据增强的机器人视觉数据增强方法。

DIAL 是一种机器人语言增强方法,它使用 CLIP 为机器人轨迹数据集生成语言指令或增强现有指令。

Alpaca 和 Vicuna 是指令跟踪 LLMS,可在 GPT-3 和 ChatGPT 输出上对 LLaMA 进行微调。Alpaca-LoRA 使用低阶自适应,以避免对整个模型进行微调。

InstructPix2Pix 是一种遵循指令的文本到图像生成模型,它通过将 LLM 的指令与稳定扩散生成图像相结合来生成数据集。

通过稳定扩散合成生成的图像可以提高下游分类的准确性。


结论


那么,将所需先验投射到现有基础模型上的最佳微调策略是什么?这是一个价值万亿美元的问题,本综述中提到的大量令人兴奋的研究都在积极探索这个问题。



在先验放大方面,并不存在一种放之四海而皆准的优越方法,而是存在一系列具有竞争力的方法,这些方法必须兼顾各种相互竞争的因素,在提高自动化和可扩展性与增加对人工智能先验和更多计算的依赖之间取得平衡


但是,我们已经可以总结出一些经验和可行的建议。综合前面的方法比较,在设计先验放大决策时,有几个潜在的高层次问题需要考虑:


原始训练语料库是否包含您想要的所有功能和先验?

如果是,请尝试 "提示"。

如果不是,则对模型进行微调。

是否容易获得不同的微调数据集?

如果是,请尝试 SFT。

如果不容易,请尝试 RLHF 或 AI Feedback。

您是否能获得大量计算资源?

如果有,对整个模型进行微调。

如果没有,则使用 PEFT。

现有的人工智能模型是否足以用于数据生成或数据验证?

如果足以生成数据,请尝试创建合成数据。

如果足以进行验证,但不能生成数据,请尝试使用人工智能反馈(RLAIF)或自我反思。

如果都不行,那就坚持使用 RLHF。

放大一点来看,必须认识到人工智能加速先验放大是一把双刃剑。随着人工智能模型越来越多地应用于数据整理和训练过程的各个环节,这些人工智能模型中预先存在的先验也会被传递出去--既包括理想的先验,也包括不理想的先验。所讨论的每种微调方法都可以反复应用多次,每一代经过微调的 "学生 "模型都是下一代模型的 "老师"。因此,随着时间的推移,与过去简单的模型训练相比,特定先验的原始来源开始变得模糊不清。这对人工智能领域在对齐、安全和控制偏差方面的技术方法有着非常现实的影响。


这些都是非常难以思考的问题,但这已成为现代人工智能的核心问题之一。先验无处不在,无所不能。在海量互联网规模数据分布的背景下正确塑造和放大它们,是现代人工智能的下一个前沿领域:数字驯化研究。


特别感谢 Eric Jang、Karol Hausman 和 Daniel Bashir 的有益反馈!


1. 在机器人学中,算法设计决定政策内反馈还是政策外反馈是一个研究得很透彻的问题,在这个问题上,政策内反馈的诱人优势必须与现实世界昂贵的交互成本进行实际权衡。然而,在数字基础建模问题中,利用学习到的奖励模型进行政策内反馈则要简单得多。

2. Alpaca 等方法需要注意的一点是,合成微调数据集通常不如策略反馈,合成数据集的标签可能适合原始数据生成基础模型(在 Alpaca 的案例中为 ChatGPT),但不适合较小、较弱的模型。这导致 Alpaca 等人工智能模型有效地提炼出了 ChatGPT 的风格和格式,但却没有提炼出事实性等重要功能。最近大规模 LLM 快速提炼的趋势可能提供了一种能力提炼的虚假承诺,但这种承诺并不完全存在。


原文转载自thegradient,作者Ted Xiao,谷歌 DeepMind 的高级研究工程师,主要研究大规模机器人学习、强化学习和多任务学习方面的问题。



关键词: AI , LLM , VLM
AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
数字人

【开源免费】Fay开源数字人框架是一个AI数字人项目,该项目可以帮你实现“线上线下的数字人销售员”,

“一个人机交互的数字人助理”或者是一个一个可以自主决策、主动联系管理员的智能体数字人。

项目地址:https://github.com/xszyou/Fay

2
智能体

【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。

项目地址:https://github.com/Significant-Gravitas/AutoGPT


【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。

项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md

3
微调

【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。

项目地址:https://github.com/InternLM/xtuner