本文是对《Interactive Natural Language Processing》的翻译。
交互式自然语言处理
- 摘要
- 1 引言
- 2 交互式对象
- 2.1 人在环
- 2.2 KB在环
- 2.3 模型或工具在环
- 2.4 环境在环
- 3 交互界面
- 3.1 自然语言
- 3.2 形式语言
- 3.3 编辑
- 3.4 机器语言
- 3.5 共享内存
- 4 交互方法
- 4.1 预训练语言模型
- 4.2 提示
- 4.2.1 标准提示
- 4.2.2 启发式提示
- 4.2.3 提示链
- 4.3 微调
- 4.3.1 监督指令调整
- 4.3.2 持续学习
- 4.3.3 参数高效微调
- 4.3.4 半监督微调
- 4.4 主动学习
- 4.5 增强学习
- 4.5.1 反馈循环
- 4.5.2 奖励模型
- 4.6 模仿学习
- 4.7 交互信息融合
- 5 评估
- 5.1 评估人在环的交互
- 5.2 评估KB在环的交互
- 5.3 评估模型或工具在环的交互
- 5.4 评估环境在环的交互
- 6 应用
- 6.1 可控文本生成
- 6.2 写作助理
- 6.3 嵌入式AI
- 6.4 文本游戏
- 6.5 其他应用
- 7 道德与安全
- 8 未来方向
- 9 结论
摘要
交互式自然语言处理(iNLP)已成为NLP领域的一种新范式,旨在解决现有框架中的局限性,同时与人工智能的最终目标保持一致。这种范式将语言模型视为能够反复观察、行动和接收来自外部实体的反馈的代理。
具体而言,这种背景下的语言模型可以:(1)与人类互动,以更好地理解和解决用户需求,个性化响应,与人类价值观保持一致,并改善整体用户体验;(2) 与知识库互动,用事实知识丰富语言表达,增强反应的上下文相关性,并动态利用外部信息生成更准确和知情的反应;(3) 与模型和工具交互,以有效分解和处理复杂任务,利用特定子任务的专业知识,并促进社会行为的模拟;以及(4)与环境互动,学习基于基础的语言表达,并有效地处理具体任务,如根据环境观察进行推理、规划和决策。
本文对iNLP进行了全面的综述,首先提出了概念的统一定义和框架。然后,我们提供了iNLP的系统分类,剖析了其各种组件,包括交互对象、交互接口和交互方法。我们继续深入研究该领域使用的评估方法,探索其不同的应用,仔细审查其伦理和安全问题,并讨论未来的研究方向。这项调查是对这一快速发展领域感兴趣的研究人员的切入点,并为iNLP的当前前景和未来轨迹提供了广阔的视角。
1 引言
近年来,自然语言处理(NLP)见证了一场引人注目的革命,这要归功于生成性预训练语言模型(PLM)的发展,如BART、T5、GPT-3、PaLM等等。这些模型可以生成连贯且语义有意义的文本,使其适用于各种NLP任务,如机器翻译、摘要和问答。然而,这些模型也有明显的局限性,如与人类需求的不一致、缺乏可解释性、幻觉、不精确的数学运算,以及复杂推理能力有限等。
为了解决这些限制,出现了一种新的自然语言处理范式:交互式自然语言处理(iNLP)。在NLP和机器学习文献中,“交互式”有多种定义,该术语通常指的是人类参与该过程。例如,Wondimu等人将交互式机器学习(iML)定义为“一种主动的机器学习技术,其中模型是以人在环的方式设计和实现的。Faltings等人将交互式文本生成视为“一项任务,该任务允许通过使用用户模拟器交互式地训练生成模型,而无需涉及真实用户,该用户模拟器提供编辑,引导模型指向给定的目标文本。王等人将人在环(HITL)描述为“模型开发人员不断将人的反馈集成到模型部署工作流的不同步骤中。”ChatGPT的流行也证明了通过从人的反馈中强化学习(RLHF)实现人与LM交互的令人印象深刻的能力。尽管人类是与语言模型交互最常见的对象类型,但最近的研究揭示了其他重要的交互对象类型,包括知识库(KBs)、模型/工具,和环境。因此,在我们的调查中,我们首先定义了交互式自然语言处理,它涵盖了可以与语言模型交互的更广泛的对象:
交互式自然语言处理(iNLP)将语言模型视为能够在与外部对象(如人类、知识库、工具、模型和环境)的循环中观察、行动和接收反馈的代理。
具体来说,通过交互,语言模型(LM)可以利用外部资源来提高其性能,并解决第一段中提到的限制。例如,与人类的互动使语言模型更好地与人类的需求和价值观(例如,乐于助人、无害、诚实)相一致,与KBs的互动可以帮助语言模型缓解幻觉。同样,与模型或工具交互可以提高LM的能力,如推理、忠实和数学运算的准确性。最后,与环境的交互可以增强LMs的基础推理能力,并促进LMs在具体任务中的应用。
此外,交互可能有可能开启语言处理未来的里程碑,这可以被视为人工智能的圣杯。2020年,Bisk等人研究了自然语言处理的未来方向,并提出了审计NLP进展的五个世界范围级别:“(1)语料库;(2)互联网;(3)感知(多模式NLP);(4)实施;(5)社交。”值得注意的是,最近发布的GPT-4和PaLM-2,为第三层次的“感知”带来了重大进步。化身人工智能和社会化身人工智能从根本上假设,可以通过建立涉及语言模型代理、环境和人类的互动循环来学习更全面的语言表示。这一观点强调了NLP社区需要将注意力转移到第四和第五层次(“体现”和“社会互动”),以推动该领域向前发展。除了模型、人类和环境之外,促进语言模型与外部世界之间联系的工具和知识库也在实现(社会)体现方面发挥着重要作用。语言模型的社会体现的未来成就可能会导致重大现象,包括人为的自我意识和语言模型社会的出现。
因此,交互式NLP对NLP研究人员和从业者都是有益的,因为它有可能解决幻觉和对齐等局限性,同时也与人工智能的最终目标保持一致。值得注意的是,随着最近发布的ChatGPT和GPT-4,它们已经淹没了NLP社区,并因其卓越的通用能力而被一些研究人员视为人工通用智能(AGI)的火花。这一转变促使许多调查和立场文件旨在提出新的研究方向,其中许多涉及互动主题。例如,Mialon等人调查了PLM采用级联机制进行推理的策略,并利用工具采取行动。但是缺乏对互动性的深入讨论,只关注工具的使用和推理,而忽略了其他主题,如与知识库的互动和社会行为的模拟。杨等人调查了基础模型和决策的跨学科研究领域,特别强调探索语言模型与人类、工具、代理和环境的互动。但他们主要关注决策设置和强化学习形式,而没有从NLP技术的角度,如思维链提示,提供关于与知识库交互或交互方法的全面讨论。Bubeck等人讨论了基于工具使用和体现的语言模型与世界的互动,以及基于心理理论和自我解释的语言模型与其人类的互动。但他们主要关注于评估大型语言模型(LLM)的能力,而缺乏对研究中使用的交互方法的全面讨论。其他调查和工作也为互动主题提供了宝贵的见解。然而,它们也针对某些方面,并没有提供涵盖交互式NLP整个范围的统一和系统的综述。
显然,交互式NLP领域在过去几年中经历了重大发展,出现了新形式的交互式对象,超越了标准的“人在环”方法。这些新形式的对象包括知识库、模型/工具和环境。虽然上述工作提供了一些涉及模型/工具和环境的交互的覆盖范围,但明显缺乏关于使用知识库(KB)与语言模型交互的讨论。此外,还缺乏对交互式NLP背景下的方法进行全面回顾。因此,我们综述的主要目标是:
- 1.统一定义和表述:为交互式NLP提供统一的定义和表述,将其确立为NLP的新范式。
- 2.综合分类:根据交互对象、交互接口和交互方法等维度对iNLP进行全面分类,从而系统地了解其不同方面和组成部分。
- 3.进一步讨论:调查iNLP中使用的评估方法,检查其不同的应用,并讨论该领域的伦理和安全问题以及未来方向。
我们认为,进行这样的综述是非常及时的,我们的论文旨在填补上述综述的空白,为有兴趣在这一重要且快速发展的领域进行研究但可能还不熟悉的研究人员提供一个切入点。如图1所示,我们将从深入讨论交互对象开始(§2),然后概述了语言模型与外部对象通信的交互接口(§3)。然后,我们组织了各种交互方法,通过这些方法,语言模型扇出交互消息(§4)。接下来是关于iNLP背景下评估的讨论(§5)。最后,我们将研究iNLP的当前应用(§6),讨论伦理和安全问题(§7),并提出未来的方向和挑战(§8)。分类2提供了我们调查的鸟瞰图。
2 交互式对象
在本节中,我们将讨论与语言模型交互的对象,如图1所示。当一个实体与语言模型交互时,它被认为是“在循环中”的,这意味着它是模型训练或模型推理过程中的积极参与者。如前所述,交互对象包括人、知识库、模型/工具和环境;每一个将在下面的小节中介绍。
2.1 人在环
人在环NLP代表了一种强调人与语言模型之间信息交换的范式。这种方法寻求更有效地满足用户的需求并维护人类价值观,这一概念被称为人类LM对齐。相比之下,早期对文本生成的研究主要集中在样本的输入和输出上,忽略了人类偏好、体验、个性化、多样化需求和实际文本生成过程等方面。近年来,随着预训练语言模型(PLM)和大型语言模型(LLM)的成熟,优化人机模型交互已成为社区内普遍关注的问题。在模型训练或推理阶段,使用真实或模拟用户,结合人类提示、反馈或配置,被证明是增强人类LM对齐的有效策略。
随后,我们根据用户交互方案将人在环NLP分为三种类型,并增加了一节,深入研究了人的行为模拟和对这些类型的偏好,以实现人在环系统的可扩展部署。这些类别包括:
- 1.使用人工提示进行通信:用户可以在对话中连续与模型进行交互。
- 2.从人类反馈中学习:用户可以提供反馈来更新LM的参数。
- 3.通过人工配置进行调节:用户可以配置LMs的设置。
- 4.从人体模拟中学习:上述三种类型都采用了对用户的模拟,确保了实际的实现和可扩展性。
与人类提示沟通。
这是人类LM交互的最常见形式,它允许语言模型以对话的方式与人类交互。这种交互方案的主要目的是保持实时和连续的交互,因此典型的应用场景包括对话系统、实时翻译和多轮问答。这种交替迭代的交互式过程允许模型的输出逐渐重新排列,以满足用户需求。
通常,这种交互方案在交互过程中不会更新模型的参数,而是要求用户不断输入或更新提示,以从语言模型中获得更有意义的响应。因此,由于需要提示工程或对话工程,对话可能是不灵活和劳动密集型的。为了解决这些限制,Malmi等人提出了基于编辑的方法。;Schick等人;Faltings等人;施等人;Du等人鼓励语言模型修改现有输出(见第3.3节)。此外,还开发了基于上下文的方法,通过在输入上下文中添加示例或指令来增强模型输出,例如小样本提示或上下文学习。
然而,由于这些方法不涉及调整语言模型以适应人类用户,因此可能需要大量的尝试编辑或提示才能达到预期结果,从而导致更长的对话回合。因此,这种交互方案可能是低效的,并且可能导致次优的用户体验。
从人的反馈中学习。
与“与人工提示沟通”不同,这种交互方案为模型优化提供了对模型输出的反馈,如评分、排名和提供建议。因此,这种反馈用于调整模型的参数,而不是简单地作为语言模型响应的提示。这种互动的主要目标是更好地使LM适应用户需求和人类价值观。
例如,Godbole等人和Settles采用主动学习来提供人类反馈。通过根据模型预测标记一些例子,他们更新了模型参数,以提高对人类需求的理解。最近,Shuster等人通过从用户反馈和对话历史中不断学习来增强语言模型。InstructionGPT最初使用监督指令调整来训练GPT-3,随后通过来自人类反馈的强化学习(RLHF)对其进行微调,其中奖励模型是在注释的人类偏好数据上训练的。反过来,这个奖励模型充当用户模拟器,可以为模型的预测提供反馈。Ramamurthy等人证明,当学习的奖励模型为RL方法提供信号时,RLHF比监督方法更有数据和参数效率,更不用说偏好数据比基本事实数据更容易收集。Fernandes等人和Wang等人就“从反馈中学习”这一主题进行了全面的综述。我们请读者参考这两项综述以了解更多信息。
通过人工设置进行调节。
先前讨论的两种交互方案涉及通过提示或反馈与模拟或真实人类进行互动。另一方面,通过人工配置进行调节依赖于用户根据自己的需求定制和配置语言模型系统。这种定制可以包括对系统结构、超参数、解码策略等的调整。尽管它可能不是最灵活的方法,但它是促进用户和系统之间交互的最简单方法之一。
例如,吴等人预先定义了一组LLM原始运算,如“意念”、“拆分点”、“组合点”等。;每个操作都由特定的提示模板控制。用户可以自定义不同操作的使用和链接方案,以满足一组给定的要求。类似地,PromptChainer是一个交互式界面,旨在促进链的不同步骤之间的数据转换。它还提供了不同粒度级别的调试功能,使用户能够创建自己的LM链。用户还可以配置一些超参数来控制LLM的性能。这包括但不限于温度(控制输出的随机性)、生成的最大代币数量,以及通过细胞核采样控制多样性的“top-p”。维姆帕拉等人提出了“循环中的用户”的概念,这意味着用户可以使用人类指令配置LM机器人交互,确保交互的过程和结果以用户的需求为中心。
从人体模拟中学习。
在许多情况下,与真实用户一起训练或部署语言模型是不切实际的,这促使开发各种用户模拟器来模拟用户行为和偏好。例如,欧阳等人最初根据真实注释者的偏好对生成的响应进行排名,然后在该偏好数据上训练从GPT-3初始化的奖励模型,以用作用户偏好模拟器。Kim等人提出了一种通过利用Transformer模型来模拟人类偏好的方法,该Transformer模型捕捉人类决策轨迹片段内的重要事件和时间依赖性。此外,这种方法依赖于非马尔可夫奖励的加权和。Faltings等人通过基于BertScore的词元相似性得分和动态编程来模拟用户编辑建议,以计算草稿和目标之间的对齐。Lynch等人收集了大量语言注释的轨迹,并在数据集上使用行为克隆对策略进行了训练。这些收集的轨迹也可以被视为用户模拟器。
用户模拟器的设计对于语言模型的成功训练和评估至关重要。例如,在开发通用对话系统时,为了准确复制真实用户的行为和偏好,收集各种各样的用户数据以训练模拟器至关重要。这使得它能够涵盖用户偏好和行为的全方位。此外,在为快速变化的应用场景开发语言模型时,必须不断更新和完善模拟器,以适应用户人口统计的变化及其不断变化的偏好。
2.2 KB在环
知识库在环NLP有两种主要方法:一种侧重于利用外部知识源在推理时间内增强语言模型,而另一种则旨在利用外部知识来增强语言模型训练,从而获得更好的语言表征。在训练过程中与知识库交互可以帮助改进模型的表示,以包含更多的事实知识。相反,在推理过程中与知识库交互可以帮助语言模型通过基于手头的特定输入或查询动态利用外部知识源来生成更准确、上下文相关和知情的响应。
在下面的部分中,我们将讨论知识源和知识检索。关于知识整合,我们请读者参考§4.7了解更多细节。
知识来源。
知识源通常分为以下类型:
(1) 语料库知识:通常,语料库知识存储在特定语料库的离线集合中,语言模型访问该集合以增强其生成能力。语料库知识的常见例子包括维基百科语料库(基金会)、维基数据语料库、Freebase语料库、PubMed语料库和CommonCrawl语料库等。由于语料库知识的可控性和有效性,以往的研究大多集中在语料库知识上。RetrievalAugmented Language Models已被提议开发能够利用外部知识库进行更基础生成的语言模型。为了进一步提高可解释性,随后的研究建议使用提取的问答对作为语料库,以获得更细粒度的知识三重基础。最近,正如GopherCite所证明的那样,人们对引入引文以增强语言模型的基础越来越感兴趣。另一项工作,包括KELM、ERNIE和其他,主要采用公认的实体作为将知识图谱信息集成到神经表示中的基础。
(2) 互联网知识:与语料库知识相关的一个挑战是其覆盖范围有限,并且需要专门的检索训练。一个潜在的解决方案包括将检索过程转移到搜索引擎,并对其进行调整以找到所需的内容。互联网增强语言模型首次被引入,通过基于互联网搜索结果的回答来回答开放领域问题。这种方法已经被证明可以有效地回答时间敏感的问题。互联网也被用于事后归因。WebGPT提出用网络浏览器为语言模型提供动力,该浏览器在生成知识渊博或真实的文本之前搜索网络。MineDojo为视频语言模型配备了互联网规模的知识,以在Minecraft环境中处理各种任务。ToolFormer类似地将搜索引擎集成到语言模型的工具使用自适应中。ReAct建议利用互联网来增强黑盒大型语言模型的推理能力。
虽然语料库知识和互联网知识都是语言模型可以用来增强其能力的宝贵资源,但它们在可控性和覆盖性方面本质上是不同的。语料库知识被预先收集并离线存储在受控的环境中,使其易于访问并集成到语言模型中。然而,它受到语料库中信息的限制,可能不是最新的或全面的。相比之下,互联网知识提供了一个庞大而多样的不断更新的信息库,提供了更全面的覆盖范围。然而,控制和管理互联网知识是一项挑战,因为从互联网上获得的信息可能更嘈杂,甚至更具误导性。此外,值得注意的是,还有其他各种类型的知识来源,如视觉知识、基于规则的知识。根据其性质,这些知识可以分为语料库知识或网络知识。
知识检索。
用知识增强语言模型需要仔细考虑知识质量。知识质量主要受到知识缺失和知识噪声等问题的影响。通过改变或扩展知识源以提供更全面的信息,可以减轻知识缺失。为了处理知识噪声,一种直观的方法是过滤掉噪声信息。刘等人和叶等人建议通过使用可见性矩阵来解决这个问题,该矩阵对知识和输入之间的注意力得分起作用。这有助于将高质量的知识更好地集成到语言模型中。尽管这些方法取得了成功,但改进知识检索仍然是应对这些挑战的最关键方面。这是因为改进知识检索直接影响选择并集成到语言模型中的知识的准确性和召回率,从而提高整体性能。知识检索总体上有三种方法:
(1) 稀疏检索:在这种方法中,基于输入文本中单词或短语与知识源之间的词汇匹配或稀疏表示之间的相似性来检索知识。例如,ToolFormer采用BM25作为从维基百科检索知识的指标。DrQA使用TF-IDF向量检索文档。RepoCoder将Jaccard索引作为其检索指标之一。此外,研究人员探索了如何利用预训练语言模型复合词的稀疏表示与词汇匹配方法。
(2) 密集检索:密集检索方法根据输入文本的含义检索知识,而不仅仅是匹配准确的单词或短语。意思通常是由一个习得的检索器编码的。可以使用双编码器或交叉编码器作为检索器。例如,REALM采用了一种以无监督方式训练的潜在知识检索器,以在训练和推理阶段从庞大的语料库中提取相关信息和上下文。Retro使用双编码器从外部知识库中检索组块,并通过交叉注意力将检索到的组块集成到语言模型中。Cai等人联合训练翻译记忆检索器和神经机器翻译模型。RepoCoder还采用嵌入模型来计算输入和知识之间的余弦相似性。Atlas使用Contriever检索知识,Contriever是一种通过对比学习训练的基于密集双编码器的检索器。Izacard&Grave和RePlug提出将读者的知识提取到检索器模型中,这只需要很少的注释训练数据。
(3) 生成检索:生成检索器不是通过匹配来检索知识,而是直接将文档id或内容作为知识来生成。因此,生成检索器,通常以语言模型的形式,可以被视为一种知识库,也称为隐式知识。例如,DSI将许多文档及其id编码为语言模型的参数。在推理过程中,模型生成最相关文档的id。孙等人提出用复述来扩充语言模型,复述是由语言模型生成的相关知识内容。余等提示大型语言模型基于给定问题生成不同的上下文文档,然后阅读生成的文档以产生最终答案,其中LLM提示的上下文内演示是从集群文档池中采样的。值得注意的是,知识蒸馏也可能属于这一类。例如,Ho等人允许大型语言模型充当教师,将他们的推理技能蒸馏成较小的语言模型。知识渊博的大型语言模型可以被视为小型语言模型的生成检索器式知识库。
(4) 强化学习:知识检索也可以被表述为强化学习问题。例如,WebGPT通过行为克隆(BC)和来自人类反馈的强化学习(RLHF)来学习检索和选择文档。张等人将实例检索问题表述为马尔可夫决策过程(MDP),并提出了一种选择实例的强化学习(RL)方法。
2.3 模型或工具在环
处理复杂的任务往往需要实施能够简化过程的战略方法。其中一种有效的策略是将任务显式分解为模块化的子任务,然后逐步解决这些子任务。或者,另一种策略涉及通过多个语言模型代理之间的分工对任务进行隐含分解。这种方法能够自然和自适应地分解工作,因为每个代理在更大的任务中承担特定的角色。任务分解过程不仅允许子任务模块化,而且允许子任务组合。此外,通过将任务分解为多个步骤,可以将特定步骤分配给某些专家模型或外部工具,例如专门从事算术计算、网络搜索、计数等的工具。受(Mialon等人;Yao等人)的启发,分解和解决这些子任务主要涉及三个基本操作:
- 1.思维:该模型进行自我交互,以推理复杂问题并将其分解为模块化的子任务;
- 2.行动:模型调用工具或模型来解决这些中间子任务,这可能会对外部世界产生影响;
- 3.协作:具有不同角色或分工的多个模型相互沟通和合作,以实现共同目标或模拟人类社会行为。
思考
例如,考虑“非洲最大的动物是什么?”这个问题,它可以分解为三个子任务链:“非洲有什么动物?”→ “这些动物中哪一种是大的?”→ “其中哪一个最大?”这三个子任务形成了一个提示链(参见第4.2.3节),允许通过单个LM、多个LM甚至工具单独解决每个子任务。也就是说,通过思考的过程,整个任务可以分解为多个子任务,这些子任务可以通过语言模型或工具之间的交互以链式的方式有效地处理。
这种认知过程的初步实例化是思维链(CoT),它试图使用级联机制从大型语言模型中引出多跳复杂推理能力。CoT不是直接生成答案,而是预先生成多个想法(即推理步骤)。因此,CoT将任务分解为两个子任务:想法生成→ 答案生成。然而,典型的CoT涉及在没有交互机制的情况下在单个模型运行中解决这些子任务。
CoT的衍生工作显示出越来越倾向于利用自交互循环,该循环涉及迭代调用相同的语言模型来解决不同的子任务,也称为多阶段CoT。此外,其他一些衍生工作与CoT或多阶段CoT有着相似的原理,但采用了不同的训练策略,如自举(如§4.3.4所述)。一些工作超越了思想生成的子任务,引入了新的子任务——包括思想验证、事实选择和推理,以及自我完善和自我反馈等。事实上,所有这些工作都可以被视为思维认知过程的例证。它们采用自交互机制,其中迭代地使用单一语言模型将任务分解为子任务,并有效地解决这些子任务。
行动
与思维过程不同,行动涉及LM与外部实体(如其他LM和工具)的互动。由于不同的模型或工具可以拥有特定的专业知识,因此当任务分解为子任务时,LM可以调用这些外部实体来执行特定的子任务。例如,思想验证可以使用判别模型来完成,事实选择可以使用检索器模型。外部工具,如计算器、模拟器、搜索引擎、代码解释器和执行器以及其他API,也可以合并到循环中,以解决语言模型通常遇到困难的子任务。通常地强调忠实和精确的任务(如真实事实、复杂的数学运算)和LM训练语料库之外的任务(例如最新信息、低资源语言、时间意识、图像生成)使用外部工具比LM更好地解决。
例如,ToolFormer通过对工具使用提示语料库进行再训练,并涉及计算器、日历、搜索引擎、问答系统和翻译系统等工具,增强了具有工具使用能力的语言模型。ART首先从涉及多步骤推理和工具使用的任务库中选择演示。这些演示作为冻结LLM以可执行程序的形式生成中间推理步骤的提示。ReAct将思维链推理和特定任务的工具使用行为相结合,以提高语言模型的交互决策能力。TaskMatrix.AI提出了一个基于工具使用API构建的新AI生态系统的愿景,提出了一种由API平台、API选择器、多模态会话基础模型、基于API的动作执行器组成的体系结构,并集成RLHF和反馈给API开发人员以优化系统。该体系结构得益于其执行数字和物理任务的能力、针对不同任务专家的API存储库、终身学习能力以及改进的可解释性。HuggingGPT和OpenAGI Ge等人使用ChatGPT作为任务控制器,将任务规划为多个子任务,这些子任务可以通过从HuggingFace平台中选择的模型(工具)来解决。
此外,行动可以通过工具的使用对外部世界产生切实的影响,也被称为面向工具的学习。例如,ChatGPT插件使LLM能够直接利用工具执行旅行预订、杂货店购物和餐厅预订等任务。LM Nav利用视觉导航模型(VNM)来执行LLM计划的动作,实现真实世界的机器人导航。在这些情况下,整个任务仍然被分解为子任务,但其中一些子任务与外部世界相连。通过使用特定的模型或工具来解决这些子任务,可以在环境中实现有形的效果。读者可以参考§2.4了解与语言模型和环境之间的交互有关的其他信息。
协作。
上述大多数研究都依赖于手动任务分解。尽管一些现有的工作提出了通过远程监督或上下文学习进行自动任务分解,但显式任务分解并不总是直截了当的。一方面,它需要人力专业知识或大量的手工工作。另一方面,在某些情况下,不同的语言模型代理可能共享一个难以明确分解的共同目标。在这种情况下,任务分解或分工可能会隐含地出现,因为具有专业技能的不同代理在任务中扮演不同的角色并相互作用。例如,在MineCraft中,具有不同但互补的配方技能的代理可以交流和协作合成材料,其中专业代理可以自动发现潜在的分工。据我们所知,我们可以将基于协作的方法分为三类:
(1) 闭环交互是指多个代理在反馈循环中相互交互的协作过程。在控制理论的背景下,闭环控制器使用反馈来控制动态系统的状态或输出。通常,闭环控制器优于开环控制器,因为它们在变化或不确定的环境中提供了更大的适应性和鲁棒性。同样,与开环交互相比,语言模型代理之间的闭环交互更有效、更稳健,使其成为基于协作的方法的主要范式。例如,苏格拉底模型和内部独白使语言模型能够分别与视觉语言模型、音频语言模型或人类合作,进行以自我为中心的感知和机器人操纵任务。基于语言的闭环反馈被纳入LLM规划,显著提高了教学完成能力。Planner Actor Reporter使用LLM(Planner)为单独的RL代理(Actor)生成指令,以在具体环境中执行。将环境状态报告回规划器(通过报告器),以完善说明并完成反馈循环。请注意,闭环交互在环中环境场景中非常适用,其中来自环境的闭环反馈可以通过连接到环境的模型传递。
(2) 语言模型中的心理理论在研究界引起了越来越多的关注。根据科辛斯基的说法,“心理理论,或将不可观察的心理状态归因于他人的能力,是人类社会互动、沟通、同理心、自我意识和道德的核心。”。这一发现表明,类似ToM的能力可能是在大型语言模型中自然出现的。据此,MindCraft为两个对话主体分配了不同的材料组成表(子技能),使他们能够通过相互沟通进行合作并完成材料组成任务。朱等人提供了ToM的说话者和倾听者公式,其中说话者应该模拟倾听者的信念(即,对一些候选指令的行动可能性)。这些ToM机制有利于协作任务。
(3) 交流代理将语言模型视为主体,并深入研究多主体交流。除了心理理论之外,多智能体交流还研究了指称游戏、语言习得、语言出现和角色扮演的场景,这意味着对LLM社会的努力。例如,王等人使两个交流主体,一个说话者和一个倾听者,学会玩“说、猜、画”游戏,并自动推导出他们之间的交互界面,即所谓的机器语言。Camel提出了一个角色扮演框架,该框架涉及两个合作代理,一个是人工智能用户,另一个是AI助手。这两种语言模型使用共享的任务说明符提示和不同的角色分配提示进行提示,称为初始提示。在启动提示的条件下,他们在没有任何额外的人工指令来解决指定任务的情况下相互交流。Generative Agents引入了一种新颖的架构,该架构扩展了LLM,以实现在交互式沙盒环境中对人类行为的可信模拟,展示了Agent自主规划和展示个人和社会行为的能力。袁和朱的形式主义甚至将现有的机器学习范式,如被动学习和主动学习,视为交际学习,这与ter Hoeve等人的交互式语言建模的观点一致。在这些范式中,语言模型主体被分为教师和学生,学生通过互动向教师学习。他们将学习视为一个交流和协作的过程。
2.4 环境在环
NLP社区内的一个新趋势是利用LMs的力量来解决具体任务,如机器人操纵、自动驾驶和以自我为中心的感知等。在这些场景中,环境被集成到具有语言模型的交互式循环中。环中环境NLP的目的是语言基础,即根据环境和经验来表示具有意义的语言。有人认为,只有将LMs与现实世界或虚拟环境进行交互,它们才能学习真正有基础的语言表达。在这种交互过程中,环境承担为LM提供低级别观测、奖励和状态转换的责任。同时,LM的任务是为环境任务生成解决方案,包括推理、规划和决策。
我们为语言基础定义了两个维度,如图7所示。横轴从具体端横跨到抽象端。“具体”一词指的是捕捉世界高维数据的模型,如图像、音频和其他类似的感官输入。另一方面,术语抽象适用于捕获低维数据的模型,如语言、代码或其他符号表示。与更具体的表示相比,抽象或瓶颈表示带来了更强的泛化和推理能力。
纵轴范围从低维到高维,其中低维意味着与环境的更直接和具体的互动,如感知或操纵,而高维意味着与周围环境的更间接和概念性互动,如推理、规划和决策。该轴可以反映模型对环境的上下文和情境理解的程度。
通常,环境可以是由MuJoCo和MineCraft等程序模拟的真实世界或虚拟世界。因此,该环境位于图7的左下象限,具有数据和低级交互过程的具体表示。而语言模型位于图7中的右上象限,具有数据和高级交互过程的抽象表示。这种差异使得有必要为LM-env交互建立语言模型。主要有两个方向:模态基础和可供性基础。
(1) 模态基础旨在将语言模型从抽象象限转移到具体象限。将图像、音频或其他形式的信息融入其中是直观的。这样,语言模型可以从环境中捕捉到更完整的观察结果。
(2) 可供性基础努力将语言模型从高级象限过渡到低级象限。目标是将语言模型的输出与上下文场景对齐,确保生成的文本与周围环境相对应,而不是与周围环境分离。
值得注意的是,这两个目标并不是独立的过程,往往会形成对环境的协同作用。此外,其他额外的要求,如偏好和安全性也是可能的方向,这可能会进一步让人参与其中。
模态基础。
模态基础语言模型(MGLM)旨在允许语言模型处理更多模态的数据,如视觉和音频。例如,在视觉基础(即视觉语言预训练模型)的背景下,有三种方法:(1)双塔建模,为不同的模态训练不同的编码器;(2) 单塔建模,使用多模态数据的串联来训练单个模型;(3) 冻结的预训练视觉与语言模型之间的相互作用。这些方法涉及在语言模型的训练和推理阶段使用视觉信息。通过结合视觉信号,这些方法能够在视觉上表现语言。这种表示的增强有助于提高语言模型和环境之间的交互效率,因为它允许增加信息吞吐量。
例如,WebShop和Interactive Language分别使用ResNet和Transformer模型来处理视觉和语言数据,并将融合后的表示输入到另一个Transformer中以生成动作输出;VIMA和Gato使用一个单一模型来同时处理连接的多模态数据并预测动作;Socratic Models、 Inner Monologue和LM Nav使用多模式语言模型将视觉输入转换为语言标题或短语,并使用LLM进行规划、推理和问答,以执行具体任务。ViperGPT为LLM配备了用于各种感知和知识模块的API,以及Python解释器,使LLM能够为视觉推理任务生成可执行代码。
模态基础的另一个目标是在语言模型中保留尽可能多的高级知识,以确保模型仍然能够有效地执行常识推理、规划、问答、代码生成等任务。随着模型的规模增加,这些能力变得更加明显和复杂,称为涌现能力。这些功能是利用语言模型实现具体任务的主要目的之一。这些能力的一个示例是在完成长期导航任务的背景下演示的。在此类任务中,LLM对指令的有效规划至关重要。
可承受基础。
然而,通常,为了使MGLM知识丰富,需要使用来自开放域的大量数据对模型进行预训练,这可能导致输出过于多样化,因此与真实环境中的条件不匹配。因此,需要将来自环境的一些低级信息纳入语言模型,这被称为“可承受基础”。
根据Gibson和Khetarpal等人:“可供性描述了这样一个事实,即某些状态使代理人能够在具体代理人的背景下进行某些行动。”同样,根据Ahn等人:“习得的可供性函数(Can)提供了一个世界基础,以确定对计划执行什么是可能的”。然而,Chen等人认为,Ahn等人未能在场景尺度上提供可供性基础,从而限制了推理机器人在给定环境中可以执行的潜在动作的能力。因此,遵循这一思想,基于可供性的lanugage模型(AGLM)主要有两个要求:(1)场景尺度的感知,以及(2)以基于语言的指令为条件的可能动作。例如,当考虑智能家居环境并要求代理“关闭客厅的灯”时,场景尺度感知旨在使代理意识到所有(或仅)现有和相关的物体,如“台灯”和“吊灯”。其次,可能的操作任务代理确定可以完成指令的对象上的可执行操作,例如“按下开关”。
例如,SayCan利用大型语言模型生成对象行动建议列表(即任务基础),然后通过与环境相关的值函数(即世界基础)对其进行评分。类似地,Chen等人首先通过对机器人代理的预探索来构建语言可查询的场景表示NLMap,然后使用LLM来生成要过滤和定位的相关对象的列表。对象的存在和位置最终用于LLM规划。Abramson等人通过行为克隆训练一名代理,研究配对人类玩家的互动。然后,他们收集人类对学习后的代理的反馈,以训练奖励模型,该模型最终用于对代理进行后训练。也就是说,它们通过行为克隆和RLHF实现了可供性基础。“代码即策略”使语言模型能够直接生成可执行代码。生成的代码可以使用python解释器执行,以进行可供性验证。LM Nav将语言模型的规划结果转换为图像形式,然后使用视觉导航模型将其转换为可执行指令(即动作+距离)。基础解码将LLM的高级语义理解与基础模型的基于现实的实用性相结合,能够生成动作序列,这些动作序列既基于知识,又在机器人等具体代理任务中可行。Wake等人提供了许多利用ChatGPT生成可执行动作序列以完成用户分配的任务的例子。
注意,循环中的知识库、循环中的模型/工具或循环中的人方法也可以用于模态基础或可供性基础。在这些方法中,外部对象或实体承担这些功能,例如利用人类来描述用于模态基础的视觉场景。
3 交互界面
在本节中,我们将讨论语言模型与交互对象进行通信的接口。接口包括三种类型的语言:自然语言、形式语言和机器语言,以及两种特殊的接口:编辑和共享内存。
3.1 自然语言
自然语言是最常见的交互界面。通过这个界面进行交流需要交互对象能够有效地理解和产生自然语言。因此,该接口通常用于环中模型和环中人。自然语言交互使用户能够以固有的表达能力表达他们的需求,从而在不需要专业训练的情况下有效沟通他们的需求。此外,这种交互界面有助于更好地理解中间交互过程,从而提高交互链的可调试性和可解释性。至关重要的是,由于LMs主要是在自然语言上进行预训练的,因此通过自然语言而不是其他语言与他们互动是激活和利用LMs中编码的知识的最有效方式。LM训练数据和交互界面之间的这种对齐允许对包含在LM内的知识的最佳利用。
然而,通过自然语言与语言模型进行交互在很大程度上依赖于语言的组织和表达,通常需要复杂的提示工程。语言的组织是指模型提示的结构,可分为非结构自然语言和结构自然语言。另一方面,话语是指用于表达给定提示或查询的特定措辞或语言。言语天生就比较灵活,因此很难确定一个最佳的言语。不同的话语可能产生不同的结果,因为它们与模型参数中的激活模式不同。实际上,可以通过手动或自动搜索来发现合适的提示。我们请读者参考§4.2了解更多信息。
非结构的自然语言。
无结构的自然语言是一种自由形式的文本。当它作为语言模型的输出时,它没有特定的分类,内容可以是自由形式的回答,如问题的答案和文本反馈。当它作为语言模型的输入时,除了主要的输入内容,如交互消息和查询,它主要采用三种形式的辅助上下文:(1)小样本示例,(2)任务描述,和(3)角色分配。其中,
- 小样本提示的输入格式示例:“[example-1];[example-2];[EExample-3];[Input]”例如“海獭→ 卢特雷·德梅尔;毛绒长颈鹿→ 吉拉菲-佩卢切;干酪→” 翻译任务。
- 任务描述的输入格式示例:“[任务描述]:[输入]”,例如“将英语翻译成法语:cheese→”.
- 角色分配的输入格式示例:“[角色分配].[Input]”例如“充当python程序员:编写代码来检测对象”。
例如,最近的一些工作,包括自然指令和超自然指令,已经用自然语言构建了任务及其相应指令的综合集合。交互式语言使人类能够基于给定环境的当前状态为多模式语言模型提供实时指令,用于机器人操作。Camel定义了一个初始提示,包括一个任务说明符提示和两个角色分配提示,即辅助系统提示和用户系统提示,用于角色扮演任务。
结构自然语言。
结构自然语言通常在内容或格式方面对文本施加明确的约束。这种约束可以施加在语言模型的输入或输出上。例如,Drissi等人;Sun等人;杨等人通过大纲或计划(例如,“(1)引言,(2)相关工作,(3)方法,(4)实验结果,……”或故事情节)定义生成文章的整体结构。安等人和陈等人通过模板统一生成文本的格式(例如“pick-up[object]”),以便于解析动作和要执行的对象。ProQA采用了一种以结构化方式设计的基于提示的输入模式,例如,“[Format]:<提取QA>;[Task]:<SQuAD>;【域名】:<维基百科>;[问题]:诺曼底位于哪个国家?[段落]:…”。该模式允许对所有QA任务的知识概括进行有效建模,同时还保留针对每个单独QA任务定制的任务特定知识。请注意,尽管ProQA在其输入模式中包含了某些软提示(参见第3.4节),但其实例的主体仍然由自然语言组成。
虽然非结构化自然语言由于其灵活性、简单性和可读性而成为广泛使用的交互界面,但它也存在一些缺点,包括歧义、缺乏连贯性和可简化性。尽管这些挑战可以通过使用结构化自然语言来部分解决,但所有形式的自然语言都受到其主观性和可变性的内在限制。
3.2 形式语言
为了进一步释放结构语言的优势,如明确性、连贯性和简洁性,并减轻上述自然语言的固有局限性,形式语言成为另一个重要的交互界面。根据维基百科的说法,“形式语言由字母表中的单词组成,这些单词的字母是根据一套特定的规则精心形成的。”形式语言被用于数学、逻辑、语言学、计算机科学等各个领域,以及其他对精确和明确的交流至关重要的领域。以下是一些形式语言的例子:
- 1.编程语言:示例包括C、Java、Python和许多其他语言。这些编程语言用于编写计算机可以执行的脚本或命令。
- 2.查询语言:示例包括SQL和XQuery,它们用于检索和操作存储在数据库中的数据。
- 3.数学表达式:例子包括布尔代数、一阶逻辑和方程。它们被用来描述数学概念和关系。
- 4.形式语法:例子包括上下文无关语法、正则语法、递归语法等。它们被用来描述自然语言的句法结构。
- 5.其他:例如,知识三元组和正则表达式(regex)。
使用形式语言作为交互界面的交互对象通常包括知识库、环境和模型/工具。例如,Mind’s Eye使用文本到代码的语言模型为物理模拟引擎生成渲染代码。姜等人涉及创建数学证明的三步方法。这种方法包括制定一个初始的非正式证明,将其转换为正式的草图,然后使用标准证明器来证明这些猜测。这允许使用自然和数学语言将非正式的数学问题自动转换为完全形式化的证明。Binder首先将其输入解析为给定问题和知识库的程序(Python、SQL等),然后执行它们以获得结果。K-Adapter通过使用适配器将语言知识融入PLM,举例说明了形式语法作为交互接口的应用。在某些特定情况下,其他交互对象也可能使用形式语言。例如,人类开发人员可以使用形式语言与基于代码的语言模型进行交互。Lahiri等人创建了一个交互式框架,通过测试用例生成和用户反馈来完善用户意图。
与自然语言相比,形式语言作为一种交互界面具有独特的优势,包括:(1)它带来了精确和清晰,消除了自然语言中经常出现的歧义。(2) 它的结构化语法和规则使它可以直接解析,并易于由程序进行解释,例如,可以与工具进行更高效、更准确的交互。(3) 它更有效地促进了复杂的推理和基于逻辑的运算,因为代码或数学证明是包含一系列逻辑推理步骤的数据格式,这可能为增强模型的推理能力提供机会。然而,正式语言的使用可能有一定的局限性,包括:(1)可及性有限:它通常需要专业知识或训练才能正确理解和使用。它依赖于专门用正式语言训练的LMs。(2) 高灵敏度:例如,即使是代码中的小错误也会使它们无法执行。(3) 缺乏表现力:它无法以细致入微和灵活的方式传达思想。
3.3 编辑
文本编辑旨在通过应用一组编辑,如删除、插入和替换,将文本源输入重建为目标输入。文本编辑背后的动机是认识到源文本和目标文本在各种单语任务中往往有显著的相似之处。文本编辑模型没有复制源词,而是将这种复制减少为预测单个保持操作。此外,关于语言编辑的丰富元数据,包括插入或删除的跨度和词序,通常有助于编辑。
鉴于文本数据编辑在代码预训练、图像编辑、药物设计和其他领域的成功,从文本数据编辑中学习越来越受到关注。先前与认知相关的研究已经证明,与纠正迁移错误相比,机械编辑操作需要更少的认知努力,迁移错误没有参考源文本版本,迭代编辑程序在提高学生的写作能力方面发挥着重要作用。此外,这些与编辑相关的认知现象也影响了NLP的各个主题。通过解决优势序列到序列方法的一些局限性,例如相对较高的计算要求,文本编辑已经找到了广泛的应用如自动后期编辑,数据到文本生成、语法纠错,标点符号恢复、句子简化、人的价值对齐,风格转换,以及序列到序列的预训练。
类似于人类对手稿进行反复修改直到定稿的模式,完整的文本编辑过程可以分解为多轮迭代编辑,而不是一次编辑。因此,编辑可以被视为一种交互界面。通常,文本编辑可以通过编辑模型与其自身之间的交互来进行,将先前迭代的输出作为当前迭代的输入,直到文本被完全编辑才能返回。同时,文本编辑也可以通过多个不同模型或模块之间的交互进行。例如,编辑可以拆分为任务,例如序列标记和屏蔽语言建模,以便模型进行协作。具体地,标记器首先将编辑操作附加到每个词元。然后,掩码语言模型填充占位符进行插入和替换操作,以完成编辑。此外,代码解释器、环境和用户模拟器的参与可以更好地控制编辑并提供额外的监督信号。
最近的研究证明,通过检索或生成原型,即要编辑的原始文本,可以将基于编辑的模型扩展到各种NLP下游任务。此外,文本编辑模型在低资源环境中表现出了令人印象深刻的性能,可以摆脱典型的自回归机制,从而提高推理速度。然而,如何自动生成通用NLG任务的原型,以将文本编辑范式扩展到它们,仍在探索中,这阻碍了编辑作为交互界面的广泛使用。
3.4 机器语言
在某些情况下,语言模型和交互对象之间的通信语言是不可读的。这种通信接口被称为机器语言,因为它只能由计算机(例如,模型、工具)理解和处理。我们可以将这种类型的交互界面分为两类:离散机器语言和连续机器语言。
离散机器语言。
它指的是一种人类无法读取并量化的交互界面。例如,OFA和BEiT-3将图像视为“外语”的一种形式。也就是说,图像块的序列是通过图像量化和离散化技术获得的。该过程允许生成或理解不能由人类直接读取但可以由VQVAE或VQGAN等模型处理的图像标记序列。类似地,语言模型内部的隐藏状态也可以以类似的方式离散为离散机器语言。例如,Trauble等人;刘等;王等人已经证明,离散的、人类无法读取的隐藏状态可以带来更好的泛化和鲁棒性。
连续机器语言。
它是指一种交互接口,通过该接口,语言模型可以在密集空间中使用连续标量或向量与交互对象进行通信。例如,Flamingo将图像编码并重新采样为密集和连续的向量,然后通过交叉关注将其传递给语言模型。BLIP-2将图像编码并映射到许多软词元中,并将它们作为文本输入的前缀传递给语言模型。
请注意,度量信号,如标量奖励和排名分数,也可以被视为语言模型所使用的机器语言的一种形式。特别地,如果这些信号属于一组离散的数字(例如, ∈ Z \in\mathbb{Z} ∈Z),它们可以被归类为离散机器语言的一种形式。如果它们被表示为连续值(例如, ∈ R \in\mathbb{R} ∈R),它们可以被归类为连续机器语言的一种形式。
3.5 共享内存
前面讨论的交互界面侧重于语言模型和交互对象之间的直接通信。然而,也有一种形式的间接通信是通过共享信息单元来促进的,通常称为共享存储器。也就是说,消息接收方不直接从发送方接收消息,而是从发送方预先编写消息的内存池中检索消息。根据消息存储和使用的形式,这种类型的交互界面可以分为两类:硬内存和软内存。
硬内存。
硬存储器通常利用人类可读的历史日志来存储共享信息。例如,Socratic Models采用了一种通信机制,其中视觉语言模型(VLM)、音频语言模型(ALM)和语言模型(LM)通过用自然语言编写的历史日志进行交互。该日志记录了每个模型感知的状态的完整历史。MemPrompt使用用户反馈记忆将人工提示编辑为GPT-3,以实现更好的人机交互。Dalvi等人用用户反馈的动态记忆来增强问答模型,以进行持续学习。
软内存。
软存储器通常采用可查询和人工不可读的存储器槽来存储共享信息。这些存储器槽利用连续机器语言来有效地存储和检索信息。例如,共享全局工作区将来自多个模块的信息存储在工作内存插槽的共享序列中,以促进模块间的通信和协调。词元图灵机使用额外的存储单元来存储历史状态信息,以帮助长期机器人操作。
利用内存作为间接交互接口提供了优于直接通信的几个优点。它允许交互式对象检索早期的消息,使它们能够访问过去的信息。存储器能够存储大量信息,促进高通量通信。然而,内存可能会变得嘈杂或过时,从而导致潜在的混乱或错误。从内存中检索可能很耗时,影响交互的效率。它还可能在交互中引入不可预测性和不确定性。因此,精心设计对于确保内存的有效利用至关重要。
4 交互方法
本节旨在探讨语言模型用于理解和处理交互消息的方法。我们首先快速浏览预训练的语言模型(§4.1)。接下来,我们将交互方法分为五类:无需模型训练的提示(§4.2)、涉及更新模型参数的微调(§4.3)、主动学习(§4.4)、强化学习(§4.5)以及模仿学习(§4.6)。最后,我们建议以统一的方式重新构建和形式化这些方法,即交互消息融合(§4.7)。
4.1 预训练语言模型
预训练语言模型(PLM),特别是大型语言模型(LLM),已经显示出其作为推进语言智能的基石的巨大潜力。Transformer、BERT、GPT-3和ChatGPT被认为是将预训练的语言模型用于各种NLP任务的四个主要里程碑,它们也构成了人工智能发展的路线图。PLM通常基于Transformer,可分为两个维度:(1)架构,(2)预训练策略。
架构。
总体上有三种类型的架构:(1)仅编码器,其中模型获取输入词元并产生输入文本的固定维表示,(2)编码器-解码器,其中模型首先用编码器生成输入文本的定维表示,然后使用解码器基于该表示自回归地生成词元,以及(3)仅解码器,其中模型仅利用解码器,基于作为上下文的输入文本以自回归方式直接生成词元。仅编码器的架构特别适合于判别性任务,例如文本分类。另一方面,编码器-解码器架构特别适合序列到序列的任务,例如机器翻译。最后,仅解码器的架构特别适合生成任务,例如故事生成。
预训练策略。
LM通常采用自我监督的训练目标进行预训练,包括:(1)因果LM(因果语言建模),其中该模型基于从左到右的先前词元预测下一个词元。(2) PrefixLM(前缀语言建模),其中该模型使用双向编码的前缀以及从左到右的先前词元来预测下一个词元。(3) MLM(掩蔽语言建模),其中该模型预测输入的掩蔽跨度。(4) Seq2Seq(序列到序列),其中模型基于编码输入从左到右对输出进行解码。(5) SRC(句子关系捕获),包括下一句预测和句子顺序预测等任务,旨在捕获句子之间的关系。其他预训练目标,如从右到左的语言建模和置换语言建模,不太常用。
我们简要介绍了表1中具有代表性的PLM、表2中的LLM和表3中的多模式基础模型(MFM)。我们让读者参考刘等人、周等人和赵等人了解更多信息。
4.2 提示
根据Khot等人,提示是指专注于通过提示调用模型的交互方法,而不涉及任何参数更新。这一研究来源于语境学习,这是大型语言模型的一种重要能力。上下文学习(ICL)是指允许大型语言模型从上下文中提供的示例中学习的方法。此外,任务描述也可以结合在上下文中,并附带一些样本示例。提示是包含交互式消息的最简单方法之一。然而,正如我们将在下面讨论的那样,使其有效仍然很棘手。
请注意,在本小节中,讨论的重点是大规模生成语言模型,因为使用小型语言模型实现提示具有挑战性,这可能需要对提示进行微调。
在以下小节中,提示方法根据其特点和目标分为三类:(1)标准提示,以简单的任务描述和演示(即示例)作为指导遵循的上下文;(2) 上下文启发性提示,可以刺激语言模型生成推理的中间步骤;以及(3)提示链,它级联用于复杂推理和流水线任务的多语言模型运行。
4.2.1 标准提示
标准提示是语境学习最基本的形式。提示上下文主要包括简洁的、以答案为中心的任务描述,以及一些样本示例,如第3.1节所述。在自然指令和超自然指令中,上下文或指令的基本结构由以下部分组成:任务定义、几个伴随解释(演示)的积极例子和许多伴随澄清的消极例子。尽管标准提示方法简单,但由于大型语言模型往往对上下文敏感,常常导致缺乏稳健性,因此继续提出各种标准提示方法。
这一研究方向致力于增强指令的组织,以提高ICL的性能,这使语言模型能够更好地理解和响应交互消息。根据董等人,这主要需要优化以下因素:(1) 实例选择;(2) 实例处理;以及(3)实例组合。
实例选择。
为了找到有用的例子,可以使用各种无监督的提示检索方法,包括距离度量、互信息和n-gram重叠,这些都在中进行了讨论。此外,Rubin等人和Cheng等人利用学习的检索器来识别与输入最相关的演示。张等人选择使用强化学习的演示。Li&Qiu提出了Infocore,这是一种旨在评估示例信息性的指标,它使用来自语言模型的反馈来促进示例选择。它采用迭代分集引导搜索算法来改进和评估实例。沿着这条线进行的大多数研究都建立在这样一个前提之上,即演示的相关性增加与ICL性能的增强直接相关。然而,Si等人发现,与分布演示相比,使用随机抽样演示会导致GPT-3的类似结果。李等人揭示了LLM的可控性和鲁棒性可以通过在微调过程中结合反事实和不相关的上下文来提高。
实例处理。
上下文的处理涉及四种主要类型:扩展、过滤、编辑和格式化。例如,SuperICL通过合并由小型插件模型预测的标签及其相关的置信度分数来扩展上下文示例,以增强大型语言模型的上下文。周等人采用LLM进行指令生成、示例生成和通过评分模型进行过滤。Honovich等人基于示例生成任务描述。GrIPS采用无梯度、基于编辑的方法来进行指令搜索(处理)。特别地,它遵循在短语级别修改基本指令并随后评估候选指令以识别最优指令的迭代过程。ProQA使用结构化模式来格式化上下文。
实例组合。
在给定的背景下,演示的顺序和结构也起着至关重要的作用。例如,Liu等人和Lu等人分别根据它们与输入的距离和熵度量对上下文中的示例进行排序,如Dong等人所述。批量提示使LLM能够对一批中的多个样本进行推理,从而在保持整体性能的同时降低词元和时间成本。结构化提示涉及将多组示例编码为多个LM副本,然后使用重新缩放的注意力将其合并。这一过程允许LM合并1000多个示例并将其置于上下文中。ICIL将由任务定义和示例组组成的多个任务指令放在上下文中,以提高LLM的零样本任务泛化性能。
请注意,尽管本部分中提到的各种方法主要是为通用上下文学习而设计的,但它们可以用作交互消息通信的方法。在与语言模型的交互过程中,通过精心设计的提示工程来确定组织交互消息上下文的最合适方式对性能提升至关重要。例如,在循环中的知识库范围内,Lazaridou等人、Izacard等人和Ram等人致力于如何通过ICL将检索到的知识输入到语言模型中;在env-in-the-loop的范围内,Weir等人演示了如何生成任务指令并实现跨环境传输,以帮助代理泛化其执行。
4.2.2 启发式提示
启发性提示扩展了标准提示,通过在上下文中为LLM提供额外的分步指导,提高了LLM的推理和计划能力。
小样本演示。
典型的思维链使用了一些带有推理步骤的样本示例来引发推理,如下所示:
例如,Scratchpads和CoT是启发性提示的两种代表性技术。它们在小样本示例中明确描述了推理步骤,与标准提示相比,显著提高了数学推理能力。Least-to-most promoting旨在解决CoT难以解决的复杂任务。它通过将复杂的问题分解为更小、更易于管理的问题来实现这一点,只需很少的样本演示。其他后续工作侧重于如何提高CoT的稳健性,例如对结果的多数投票、困惑检查或从预定义的聚类中检索CoT。
其他形式的指示。根据最近的研究,可能没有必要仅仅依靠人类书面的、循序渐进的理由来引出提示,因为其他形式的指令可能是有用的。例如,零样本CoT使用一个简单的短语“Let’s think step by step.”来诱导零样本设置中的CoT式推理:
答案的格式和任务描述也被探索作为启发性提示。除了文本形式的CoT,思维程序(PoT)、程序辅助语言模型(PAL)和ViperGPT利用程序形式的CoT在程序可以解决的许多任务中获得可靠的推理性能。与基于文本的CoT相比,PoT、PAL和ViperGPT具有优势,因为它们通过执行程序来提供经过验证的逐步结果。另一方面,朴素CoT无法验证结果。此外,通过特殊设计的提示(例如,“搜索[查询]”、“<API>计算器(735/499)→ 1.47</API>“),人类可以解锁语言模型的工具使用能力,例如网络搜索、计算器、物理模拟等(参见第2.3节)。
注意,在交互式自然语言处理的范围内,启发性提示可以用于增强语言模型在与其他对象交互过程中的推理和规划能力。此外,启发性提示的概念通常在循环中的模型/工具的范围内实例化(§2.3),这将在下一部分(§4.2.3)中详细讨论。
4.2.3 提示链
越来越多的研究正在使用多级思维链来提高多跳推理能力。在这种方法中,LM是级联的,可以通过不同的上下文进行提示,从而实现更复杂的推理。这与典型的启发性提示形成了鲜明对比,后者通常只通过上下文学习进行一个阶段的思维链推理。这种方法是直观的,因为它可以通过使用不同但相互依赖的提示进行多个模型运行来帮助生成精确的推理步骤。相反,启发性提示依赖于只有一个上下文的单个模型运行。
通过对不同推理步骤或子任务的任务和级联语言模型进行分解,提示链接不仅可以执行多跳推理,而且在同行评审写作和广告生成等流水线任务中也能很好地工作。提示链是模型/工具在环自然语言处理的基本方法之一(见第2.3节)。
LM Cascades已经在这一领域提出了一些工作,包括顺序推理机制、使用验证器或工具的推理过程和多智能体交互问题。乔等人研究了通过语言模型提示增强推理,重点研究了策略增强和知识增强。该研究探索了各个方面,如提示工程、过程优化、外部引擎以及内隐和外显知识。然而,据我们所知,没有一项综述系统地检查了提示链接的结构。因此,在本部分中,我们根据提示链接方案的拓扑结构将其分为四类,如图16所示。此外,用户可以自定义它们,而不是固定的提示链接方案(§4.2.3自定义)。它们也可以自动构建(§4.2.3自动化)。
顺序的
节点排列在一条直线上,其中每个节点将先前节点的特定输出作为输入,包括初始输入查询。例如,Self Ask和Successive Promoting通过顺序问题生成(QG)和问答(QA)节点构建推理链。王等人进一步使较小的语言模型能够通过学习的上下文感知提示器构建类似的QG-QA链。选择推理首先利用选择模块根据给定问题选择一组相关事实。随后,推理模块通过利用这一事实子集来生成新的事实。多模式CoT通过两步处理来解决视觉推理问题,这两步处理包括基于图像、问题和生成的基本原理的基本原理生成和答案推理。Mind’s Eye首先为中间环境模拟器生成渲染代码,以获得基础,然后根据模拟结果生成最终答案。请注意,当循环块的数量变为零时,它被减少到标准提示(§4.2.1)。当在单个模型运行中同时提示中间推理步骤和最终答案时,它被降低到单级CoT(§4.2.2)。
分支的。
节点以树状结构排列,其中节点的输出可以用作多个其他节点的输入,而节点的输入可以来自多个其他的节点的输出。例如,Perez等人将一个多跳问题分解为多个单跳子问题,然后将它们的答案聚合得到最终答案。王等人首先通过从语言模型的解码器中采样来生成一系列推理路径,然后通过计算推理路径的可能性来聚合最终答案集中最一致的答案。Ask Me Anything首先通过不同的上下文演示将问题重新格式化为各种可能的问题,然后分别回答。最后,通过学习的概率图形模型将答案聚合为最终答案。思维树以树形形式构建了语言模型的推理链,能够通过启发式方法评估状态,并通过广度优先搜索(BFS)或深度优先搜索(DFS)探索潜在的解决方案,显著提高了模型解决问题的能力。刘等人研究了多提示学习,包括提示组合、提示合成和提示分解,这些都可以被视为这一行。
分解的。
整个过程是线性的,但一些节点可以进一步递归地分解为嵌套或分层链,这些链遵循所描述的四种方案中的任何一种。例如,周等人首先调用LM将问题简化为多个子问题,然后迭代调用语言模型逐步解决这些子问题(即,第一个节点用于问题简化,而第二个节点是另一个顺序链)。分解提示将问题分解为一系列子问题,每个子问题在生成后立即通过使用另一个提示链接块或仅标准提示进行回答。这种方法有助于任务的分层和递归分解。
互动的
节点被分为多个组,每个组都有自己的功能。这些群体以交替的方式相互交流,以构建一个互动链。例如,Socratic Models和Inner Monologue根据模态划分节点组。他们利用LLM进行规划和推理,同时利用VLM进行观察。ChatGPT询问,BLIP-2回答使用ChatGPT来询问关于图像的问题,而BLIP-2用于回答这些问题。这种通过问答的通信是交互式地执行的,以生成图像字幕。(Chen)中的视觉推理路径可以分为两组,一组用于生成答案和解释,另一组用于通过多模式分类器进行解释验证。Cobbe等人的框架;翁等人可以看作是思维生成群体和思维验证群体之间的互动。MindCraft首先分配两个具有不同技能(即配方知识)的代理,然后让他们通过问答进行互动,以在MineCraft环境中完成任务。
定制。
提示链接方案取决于与问题性质相关的几个因素,如问题的复杂性、结构和相关数据的可用性。因此,由于其多样性和可变性,固定的提示链接方案可能无法满足用户的需求。一个直观的解决方案是让用户能够自行创建或修改提示链接方案,这可以进一步增强系统的可调试性和可配置性。通常,这一功能对于流水线任务更为重要,如同行评审写作、头脑风暴、个性化抽认卡创作、写作助理等。例如,AI Chains定义了一组原始操作,如分类、事实查询、信息提取、拆分点、组合点等。这些原始操作通过输入到语言模型中的不同指令来实现。然后,一个交互式界面显示提示链接方案,用户可以自定义这些方案来构建管道。PromptChainer还引入了一个交互式界面,该界面有助于链的可视化编程。它将节点分为三种类型:LLM节点,如通用LLM和LLM分类器;Helper节点,例如模型输出评估、数据处理和通用JavaScript;和通信节点,例如数据输入、用户操作和API调用。由节点图定义的工作流也是透明和可配置的。已经表明,这种方法可以帮助用户为音乐聊天机器人、广告生成器、图像查询生成器和写作助手等应用程序建立令人满意的管道。
自动化。
提示链接方案也可以自动构建。例如,ReAct和MM ReAct根据上下文确定是应该生成思想还是应该自动调用工具。ToolFormer可以根据上下文确定使用哪些工具或是否使用工具,因为它是根据工具使用提示数据进行训练的。
4.3 微调
微调是指更新模型参数的过程。正在进行的交互提供了越来越多的交互消息,这些交互消息可以用于更新模型的参数,从而使语言模型更好地适应指令跟随等交互和基础。这条研究线还探索了如何在不发生灾难性遗忘的情况下有效利用这些新数据,如何确保对新任务的概括,以及如何更有效地适应语言模型。
在本小节中,我们讨论了四种常用的基于微调的方法:(1)监督指令调优,旨在使语言模型适应指令跟随,并增强其任务泛化能力(§4.3.1);(2) 持续学习,旨在为语言模型注入新的数据,而不会造成灾难性的遗忘(§4.3.2);(3) 参数有效微调,侧重于语言模型的有效适应(§4.3.3);以及(4)半监督微调,它进一步解决了未标记数据的问题,因为在某些情况下,交互消息可能无法提供足够的监督来训练模型(§4.3.4)。
4.3.1 监督指令调整
监督指令调整涉及使用提供任务指令监督的数据来微调预先训练的语言模型。在这一领域进行了各种研究。这些方法通过对多任务混合使用有监督的指令来微调预训练模型,涵盖各种任务,并引入零样本泛化能力。
Raffel等人等研究人员调查的第一条工作线;Aribandi等人;徐等;Sanh等人;王等人;谢等;Muennighoff等人;李等;Weller等人;Wei等人,专注于为语言模型提供指令,作为输入的一部分。通常,这些指令是在输入之前准备的,并包含有关模型要执行的任务的特定细节。这些模型探索了不同的方面,如训练和评估数据、模型架构(仅解码器与编码器解码器)、指令格式、任务混合以及其他相关因素。所讨论的研究提供了确凿的证据,证明在多个NLP任务上微调语言模型并结合指令可以使这些模型推广到看不见的任务,并更好地理解和响应用户查询。正如Kaplan等人和Wei等人所证明的那样,扩大语言模型可以提高性能。研究人员还研究了不同规模的指令数据的影响,旨在更好地了解这类训练数据的数量和多样性的影响。
随后,OpenAI发布了InstructGPT,并开发了一系列GPT-3.5变体,所有这些变体都建立在GPT-3的基础上。这些变体包括仅涉及监督指令调整的code-davinci-002和text-davinci002,以及通过监督微调和来自人类反馈的强化学习(RLHF)进行改进的textdavinci-003和gpt-3.5-turbo。这些修改增强了模型与人类意图的一致性,从而使语言模型的反应更加真实,毒性更小。除此之外,DeepMind的Sparrow和Anthropic的Claude还使用指令调整和RLHF来教授模型,以产生符合人类价值观的答案。此外,除了通过增加任务数量和模型大小来扩大教学微调过程外,Chung等人;Longpre等人通过在指令调整期间联合集成思想链数据来改进该过程。他们将T5和PaLM微调为FLAN-T5和FLAN-PaLM模型,从而在包括翻译、推理和问答在内的各种自然语言处理任务中获得稳健的性能。
除了使用现有指令数据集或人工注释指令数据集进行监督指令微调外,最近的研究还强调了根据LLM生成的数据创建指令的半监督方法。该合成数据可用于微调PLM。我们请读者参考§4.3.4了解更多信息。
监督指令调整可以被视为交互式自然语言处理的关键步骤之一。通过使用监督指令对语言模型进行微调,可以增强它们理解和响应各种查询的能力,使它们能够更精确、更高效地执行问答和任务完成等任务。
4.3.2 持续学习
在静态数据上预先训练的LM可能会变得过时,不再与新的领域或任务保持一致。因此,利用随着时间积累的交互消息来微调LM是有益的。这保证了LMs是最新信息的最新版本,并在新的场景中表现最佳。尽管典型的微调是更新LM的有效方法,但它可能会遭受灾难性的遗忘。随着数据大小的增加,试图将新知识合并到固定大小的LM中可能会导致丢失以前的知识。持续学习(CL)是解决这个问题的一个很有前途的方法。它寻求在不删除先前学习的情况下不断整合来自新来源的知识。
首先,我们提出了持续学习的数学形式化。考虑一个语言模型,该模型由n个任务 ( T 1 , ⋯ , T n ) (T_1,\cdots,T_n) (T1,⋯,Tn)组成。对于每个任务 T k T_k Tk,模型都提供了一组N个 i.i.d.训练示例 ( x i , y i ) i = 1 N (x_i,y_i)^N_{i=1} (xi,yi)i=1N。假设语言模型由 θ \theta θ参数化,并且在训练和推理过程中都知道任务身份,那么所有任务的总体学习目标是:
max θ ∑ k = 1 n ∑ ( x , y ) ∈ T k log p ( y ∣ x ; θ ) \begin{gather}\max_\theta\sum^n_{k=1}\sum_{(x,y)\in T_k}\log p(y|x;\theta) \end{gather} θmaxk=1∑n(x,y)∈Tk∑logp(y∣x;θ)
在连续学习设置中,它涉及通过微调顺序优化每个任务 T k T_k Tk的损失:
max θ ∑ x , y ∈ T k log p ( y ∣ x ; θ ) for k in { 1 , ⋯ , n } \begin{gather}\max_\theta\sum_{x,y\in T_k}\log p(y|x;\theta)\quad \text{for k in} \{1,\cdots,n\} \end{gather} θmaxx,y∈Tk∑logp(y∣x;θ)for k in{1,⋯,n}
这种朴素的持续微调可能会导致灾难性的遗忘,最终导致在学习新任务后,早期任务的整体表现下降。
在这一部分中,我们简要介绍了最近旨在缓解遗忘现象的CL方法,这些方法可分为三类:(1)正则化、(2)排练和(3)模块化,遵循Delange等人;Biesialska等人的观点。
正则化。
正则化已经被广泛采用,通过在模型显著偏离其先前状态时对其进行惩罚来抑制灾难性遗忘。这通常是通过确定先前任务和领域数据的基本参数,然后将正则化项集成到损失函数中来实现的,这鼓励模型在学习新任务时保留这些知识。例如,Kirkpatrick等人提出了弹性权重合并(EWC),该方法涉及使用Fisher信息矩阵来测量重要参数,该信息矩阵是从与每个参数对应的梯度更新步骤的大小导出的。在这项工作之后,Chen等人引入了一种预训练模拟机制,该机制能够记忆预训练任务的知识,消除了对预训练数据访问的要求。李等人介绍了一种在预先训练的模型中进行连续学习的新方法,该方法校准了参数和logits。这种方法有助于保留所获得的知识,同时也有助于学习新概念。作为一项并行工作,李等人提出通过正则化促进的回忆优化机制选择性地记忆先前任务中的重要参数,该机制在交互式对话生成数据集上进行评估。
排练
一种基于排练的持续学习方法涉及在学习新任务的同时重放先前的任务数据或合成先前的任务。例如,He等人对交互式对话模型进行了初步实验,假设在微调期间可以访问预训练语料库。在整个训练过程中,他们基于朝向目标任务退火的混合比率来混合预训练语料库的随机子集。ELLE采用了内存重放机制,其中来自先前任务的几个数据与当前任务数据混合以进行调整。此外,由旧模型生成的合成先前任务数据可以用于训练新模型作为记忆回放。
模块化。
模块化是指将模型参数分离为不同的模块或子网络,其中每个模块负责执行特定的任务或任务集。模块化可以通过基于适配器的方法来实现,该方法引入与新任务相对应的新参数;或者,它可以基于部分调整,如Pfeiffer等人所述,部分调整冻结或修剪先前的任务参数;Biesialska等人和§4.3.3。例如,Lee等人提出了一种即插即用的方法,通过在插件模块上应用多次大规模更新,将目标知识合并到新的参数中,从而避免了忘记旧参数中先前获取的源知识的风险。在SupSup中,首先将网络初始化为基础网络,并针对不同任务分别学习任务专用子网络,并使用网络级掩码获取。在测试期间,可以使用基于梯度的优化来提供或推断任务身份,从而允许检索适当的子网络。
持续学习对于交互式NLP至关重要,使模型能够适应用户输入、任务和环境的动态和多样性。尽管为解决灾难性遗忘问题做出了相当大的努力,但这个问题仍然存在,尤其是在大型语言模型中,因为它们带来了大量的计算需求。此外,各种其他问题,如CL和样本效率的评估,仍然没有答案。研究人员不断努力提高NLP持续学习的效率和有效性,该领域的进步将对交互式NLP系统的未来产生重大影响。
4.3.3 参数高效微调
当预训练的语言模型的大小越来越大时,对模型进行微调变得越来越困难,尤其是当交互消息数据的大小有限时。这是因为非常大的模型通常需要不切实际的GPU内存来进行微调,并且当训练数据有限时,很容易发生过拟合。因此,为了避免这些问题,提出了各种参数有效的调整方法。参数高效微调,顾名思义,与整个模型的参数数量相比,只更新少量参数。通过在微调期间减少可训练参数的数量,参数有效的微调方法消耗更少的GPU内存,并显著降低过拟合的风险。因此,参数有效的微调方法已经成为微调LLM的实际实践。
参数有效微调可以形式化为:
L θ 0 ⊊ h ( θ ) ( L M ( x ; h ( θ ) ) ) \begin{gather}\mathcal{L}_{\theta_0\subsetneq h(\theta)}(LM(x;h(\theta))) \end{gather} Lθ0⊊h(θ)(LM(x;h(θ)))
其中 θ 0 \theta_0 θ0是可调参数的集合, h ( θ ) h(\theta) h(θ)是通过引入附加模块、修剪和重新参数化来改变模型参数。
继Delta调整之后,iNLP的参数有效微调方法根据是否引入额外的模块或参数可分为两大类。第一类包括部分微调技术,在微调过程中选择预训练模型的少量参数。相反,第二类参数有效的微调方法保持模型冻结,并添加在微调期间更新的额外参数。这些新添加和调优的模块称为适配器,属于基于适配器的方法。
部分微调。
这种微调方法,也称为“基于规范的调整”,只更新模型参数的严格子集,同时在微调过程中保持其余参数不变。这种方法不向模型添加任何新的参数,这意味着参数的数量保持不变(即 ∣ h ( θ ) ∣ = ∣ θ ∣ |h(\theta)|=|\theta| ∣h(θ)∣=∣θ∣)。相反,该方法明确或隐含地指定了模型参数的哪些部分应该通过指示 θ 0 \theta_0 θ0和 ∣ θ 0 ∣ ≪ ∣ θ ∣ |\theta_0|\ll |\theta| ∣θ0∣≪∣θ∣来优化。例如,我们可以选择几个层来冻结,而只更新其余的层。Howard&Ruder最初冻结了除最后一层外的所有层,最后一层包含的一般知识较少,然后在微调过程中逐渐解冻剩余层。此外,BitFit仅优化预训练模型的偏差项,特别是“查询”和“MLP中间”偏差项,从而显著减少了可调参数的数量,同时仍在几个基准上保持高性能。差分修剪涉及学习要应用于初始预训练模型参数的delta向量。它使用L0-范数惩罚的可微近似,这有助于delta向量变得更加稀疏,从而产生更有效的微调方法。同样,Voita等人鼓励该模型通过正则化来修剪不太重要的注意力头,有效地减少了需要微调的注意力头的数量。SupSup通过学习称为超级掩码的子网络,选择性地更新特定任务的PLM的关键权重。它在推理过程中为一个看不见的任务学习超级任务的叠加和基于梯度的优化。
基于适配器的方法。
适配器调整将称为适配器的小模块插入到模型中: θ ⊊ h ( θ ) \theta\subsetneq h(\theta) θ⊊h(θ)和 ∣ h ( θ ) ∣ − ∣ θ ∣ ≪ ∣ θ ∣ |h(\theta)|-|\theta|\ll |\theta| ∣h(θ)∣−∣θ∣≪∣θ∣。有了适配器,我们可以完全冻结模型,只优化新引入的适配器,即 θ 0 = h ( θ ) − θ \theta_0=h(\theta)-\theta θ0=h(θ)−θ。传统的适配器遵循Houlsby等人的做法。在Transformer层中的每个子层之后放置一个具有瓶颈的两层前馈神经网络,包括多头注意力子层和前馈网络子层。此外,最近的工作还引入了适配器的许多其他参数化。最具代表性的包括前缀调整、提示调整,LoRA和Compacter。正如He等人所指出的,这些方法可以统一到一个单一的框架中,其中在Transformer架构中,将模块作为残差添加到原始计算图的特定组件中。因此,它们基本上都可以被视为适配器的不同变体。例如,前缀调整在输入中引入了可学习的标记,这些标记被预先添加到自注意的键和值中,模型权重被冻结。LoRA引入了一个低秩可训练参数模块,而预训练模型的权重保持冻结。除了低秩近似外,Compacter还利用了参数化超复数乘法层。与部分微调相比,基于适配器的方法包含了特定任务的额外模块,提供了更高的灵活性、模块性、组合性和可共享性。这些特性还允许适配器作为一种任务表示形式发挥作用。例如,最近的工作表明,基于适配器的方法中引入的额外参数揭示了任务间的相似性和任务之间的可转移性。具体而言,周等人表明,通过计算同一骨干模型下两个任务的适配器参数之间的余弦相似性,可以有效地预测中间任务的可转移性。
iNLP中的应用。参数高效微调已成功应用于交互式NLP场景,因为它大大减少了训练和存储所需的参数。例如,在循环中的模型设置中,BLIP-2使用类似提示调整的方法来实现视觉模型-语言-模型交互,其中交互接口是从视觉模型的输出映射的可学习软词元。在循环中的知识库设置中,K-Adapter使用可训练的适配器将从知识库检索到的知识注入到预先训练的语言模型中,同时保持模型参数冻结。ROME和MEMIT首先通过因果追踪在语言模型的一些关键MLP层上定位事实知识。然后修改它们的权重,将内存写入模型。梁等人还研究了适配器调整技术,以通过机器人操作(环中环境)的模仿学习来训练基于Transformer的策略模型。此外,可以应用参数有效微调来提高模型的模块性,从而更好地进行分布外泛化、知识合成、防止灾难性干扰和持续学习,这对iNLP是有益的。
4.3.4 半监督微调
根据梁;Chapelle等人;周,半监督学习旨在使用标记数据和未标记数据来训练模型。半监督学习可以用于交互式自然语言处理,因为在某些情况下,交互消息没有足够的监督,例如缺乏指令、图像-文本信号错位等。我们可以将半监督微调公式化如下:
设 D l D_l Dl是标记数据点集, D u D_u Du是未标记数据点的集, D = D l ∪ D u D=D_l\cup D_u D=Dl∪Du是完整数据集。 P ( y ∣ x ; θ ) P(y|x;\theta) P(y∣x;θ)为初始参数为 θ 0 \theta_0 θ0的语言模型。模型在标记数据上的初始训练可以形式化为:
θ 1 = arg max θ 1 ∣ D l ∣ ∑ ( x , y ) ∈ D l log P ( y ∣ x ; θ ) \begin{gather}\theta_1=\argmax_\theta\frac{1}{|D_l|}\sum_{(x,y)\in D_l}\log P(y|x;\theta) \end{gather} θ1=θargmax∣Dl∣1(x,y)∈Dl∑logP(y∣x;θ)
然后使用该模型对未标记的数据进行预测:
y u = arg max y P ( y ∣ x u ; θ 1 ) \begin{gather}y_u=\argmax_y P(y|x_u;\theta_1) \end{gather} yu=yargmaxP(y∣xu;θ1)
其中 y u y_u yu可以指生成的标签(用于样本匹配)或输出分布(用于分布匹配)。最有信心的预测(具有高概率)的top-s分数被添加到标记的数据集:
D l ′ = { ( x u , y u ) ∣ P ( y u ∣ x u ; θ 1 ) > threshold } \begin{gather}D'_l=\{(x_u,y_u)|P(y_u|x_u;\theta_1)>\text{threshold}\} \end{gather} Dl′={(xu,yu)∣P(yu∣xu;θ1)>threshold}
其最终用于依次训练模型 P ( y ∣ x ) P(y|x) P(y∣x)(自训练)或另一个模型 P ′ ( y ∣ x ) P'(y|x) P′(y∣x)(半监督知识蒸馏)。
自训练。
自我训练使用模型生成的数据来训练模型本身,也称为自举。例如,BLIP采用字幕器来生成从给定图像导出的新颖字幕,并利用滤波器来消除噪声生成。随后,使用滤波后获得的细化数据对模型进行微调。黄等人借助语言模型生成多条推理路径,然后使用多数投票来预测最可靠的答案。然后将具有该答案的推理路径用作语言模型自训练的合成训练数据。Zelikman等人旨在训练语言模型在半监督环境中执行CoT推理,其中推理并不总是可用的。他们首先产生一个中间的基本原理,如果它引发了一个错误的答案,模型就会试图产生一个反向合理化的解释。随后,使用问题、新生成的基本原理和答案对模型进行微调。Alpaca使用一组175个种子任务,每个任务包括单个指令和单个示例,以使大型语言模型能够通过上下文学习生成额外的指令和示例,用于自我训练。这种技术被称为自我指导。TALM使用了一种自我游戏的方式来提高表现。它根据任务输入生成工具输入,然后将工具的输出和工具输入合并,以生成最终的任务输出。这些通过自播放生成的合成数据被用来迭代地微调语言模型。
半监督的知识蒸馏。
与自训练类似,半监督知识蒸馏还利用模型对未标记的数据进行注释,以进行模型调整。然而,半监督知识蒸馏不是用可训练模型本身生成合成数据,而是使用另一个教师模型来生成数据,并且用这个新数据来训练学生模型。例如,Ho等人使用大型语言模型生成思想链数据,然后将其用于微调较小的语言模型。傅等人首先使用LLM来生成未标记问题的答案,然后使用其输出分布来训练较小的学生语言模型以进行专业化。Shridhar等人提出了一种方法,使用蒸馏方法将LLM分解为两个较小的模型,即问题分解器和问题求解器。
4.4 主动学习
主动学习(AL)是一种机器学习方法,其中算法迭代地选择未标记数据点的子集,由人工注释器手动标记或由自动标记系统自动标记。这种方法的目标有两个:(1)获得一组更大、更理想的标记数据点,可用于进一步训练模型;(2)以最小的数据扩展最大化模型的性能增益,从而提高样本效率。人类注释器或自动标记系统通常被称为Oracle( O ( ⋅ ) O(\cdot) O(⋅)),它是一个(交互式)对象或函数,可以标记数据点。虽然传统的AL研究主要集中在寻找以人类为神谕的最优查询策略( Q ( ⋅ ) Q(\cdot) Q(⋅)),但最近的工作表明,其他交互对象(如LM)也可以作为神谕。此外,AL涉及从未标记的数据池中选择数据点,该数据池可以包括诸如互联网和知识图谱之类的源。循环中交互对象的存在突出了主动学习和iNLP之间的牢固关系。
形式上,让 D u D_u Du是未标记的数据集。我们的目标是找到待标记样本的最优子集 Q ( D u ) ⊆ D u Q(D_u)\subseteq D_u Q(Du)⊆Du。随后,当我们构建一个新的标记集 D l = O ( Q ( D u ) ) D_l=O(Q(D_u)) Dl=O(Q(Du)),然后将它们添加到现有的标记数据集时,我们的目标是最小化模型 P ( y ∣ x ; θ ) P(y|x;\theta) P(y∣x;θ)在标记数据集上的损失。这个过程反复进行。因此,给定一个未标记的数据池,如语料库、互联网和知识图谱,主动学习的主要努力有两方面:(1)找到最优查询策略 Q ( ⋅ ) Q(\cdot) Q(⋅),(2)选择合适的oracle O ( ⋅ ) O(\cdot) O(⋅)。
查询策略。
张等人总结了AL查询策略设计的两个主要关注点:信息性和代表性。基于信息性的查询策略旨在识别未标记的数据点,这些数据点在被标记时可以提供最大量的附加信息,目的是最大化在每次迭代中获得的信息。常见的基于信息性的查询策略包括基于不确定性抽样的策略、基于分歧的策略和基于性能的策略。基于代表性的查询策略旨在考虑样本之间的相关性,以避免采样偏差和异常值的过度加权。常见的基于代表性的查询策略包括基于密度的策略和基于分集的批量策略。我们请读者参考张等人了解更多详细信息。传统的AL查询策略依赖于统计度量,与神经表示相比,这些统计度量可能缺乏表示的丰富性,尤其是基于PLM的表示。因此,人们对探索如何在AL查询策略的设计中有效地利用PLM和LLM越来越感兴趣。例如,关于BERT和传统AL查询策略的组合的几个有用的经验结论在Ein-Dor中进行了说明。Seo等人提出了一种基于任务无关三元组损失的查询策略,该策略利用任务分类器提供的任务相关特征和基于PLM的知识特征来增强批量样本多样性。ALLSH利用基于PLM的表示,设计了一种以局部灵敏度和硬度为指导的查询策略,以提高基于提示的小样本微调在各种NLP任务上的性能。然而,使基于PLM的表示适应AL查询策略带来了一些微妙的挑战。例如,Schröder等人指出,将最先进的LLM用于查询策略可能会导致高昂的成本,甚至超过预期的节约。他们还进行了初步实验,探索基于Transformer的模型与几种传统的基于不确定性的AL策略的结合。Margatina等人认为,使用较差的训练策略进行微调的基于PLM的表示可能会对AL性能不利。它们强调了在AL过程中有效调整PLM以适应特定下游任务的重要性。这些挑战表明,NLP社区有巨大的研究空间来探索更高效、更有效的AL查询策略。这一努力可能符合检索器方法的路线图(见第2.2节),包括主动学习特有的指标。例如,张等人将§2.2中提到的基于RL的检索方法置于主动学习(AL)的背景下,获得标签后的“额外增益”是AL特定度量。
Oracle
在之前的大多数NLP AL研究中,应用于标记的预言符通常是人类,包括共指消解的注释、词义消歧、非文字语言识别,尤其是具有密集专业知识或成本的小型语料库建设。PLM作为一种替代方案,在扮演AL预言家的角色方面显示出了相当大的潜力。例如,Yu等人提出用PLM生成的伪标签主动注释高度不确定的样本,并使用低不确定性数据点进行自我训练。Dossou等人采用PLM生成新的句子,以丰富资源不足的非洲语言的语料库,用于预训练多语言模型。王等人将数据增强问题表述为一种重新标记机制。他们迭代地收集一批删除了指令或输入输出示例的数据点进行重新标记,然后利用PLM和ICL生成新的指令标签或输入输出标签来训练模型。此外,据我们所知,尽管缺乏相关工作,但其他互动对象,如知识库、工具和环境,可能有潜力成为主动学习的神谕。例如,作为一种特殊类型的知识库,本体可能包含有利于标记的结构化信息,使其成为充当预言家的潜在候选者。ReAct和PoT分别将网络搜索和代码执行集成到答案生成过程中。在AL过程中,我们可以直观地利用这些工具来标记数据点。MineDojo在MineCraft环境中面对困难的开放式任务(即没有指导标签的任务)时,从互联网规模的知识库中找到行动指导。NLMap SayCan为LLM配备了开放的词汇表和可查询的场景表示,可以主动提出涉及的对象及其在环境中的位置,以标记LLM的不完整和不可具体化的规划。这些工作突出了使用知识库、工具和环境进行标记的潜力。
4.5 增强学习
随着来自环境反馈的强化学习(RLEF)、人类反馈(RLHF)和人工智能反馈(RLAIF)的出现,用于自然语言处理的强化学习激增。在强化学习(RL)的背景下,生成的文本或工具使用可以被视为一种“行动”,而周围的文本和非文本输入都可以视为“观察”。语言模型的“奖励”主要包括人类偏好反馈和可供性基础反馈。因此,我们的调查重点是考察语言模型与环境和人类的互动。我们还请读者参考Yang等人了解更多信息。在接下来的部分中,我们将简要介绍iNLP的RL,重点介绍两个方面:(1)反馈回路和(2)奖励建模。
4.5.1 反馈循环
使用语言模型构建RL框架主要有两种方法:在线强化学习和离线强化学习。在这些方法中,语言模型充当RL代理或策略。如图23所示,在线强化学习涉及在训练过程中使用实时同步奖励更新模型,而离线强化学习利用来自静态数据源的奖励。在线RL和离线RL之间的选择主要取决于实际场景。通常,在线RL更适合LM环境交互,因为从环境中获得反馈是一个更自动化的过程。另一方面,离线RL对于LM人与人的交互更实用,因为人的反馈可能并不总是容易获得。因此,尽管有关于LM人类互动的在线RL和LM环境互动的离线RL的研究,但我们的调查主要集中在LM环境互动中的在线RL和LM人类互动中的离线RL。
在线RL。
在线RL使语言模型能够通过从外部实体(如环境或更复杂的奖励模型)提供的实时反馈中学习来处理特定任务。类似于其他RL模型,该反馈通常被用作在线RL模型的奖励。标准的在线RL允许语言模型在每一步后立即从奖励中学习。这些密集的奖励通常是从代理的状态、观察和输出导出的标量值或布尔值。例如,在需要连续移动和多个动作的任务中,RL代理可以从过程中的实时反馈中学习。Abramson等人在智能体的连续运动过程中对多个离散时间点进行采样,并根据任务的相对进展提供实时的二元反馈(正反馈或负反馈)。此外,在长期任务中,每个任务都涉及多个动作,可以采用稀疏奖励来避免密集奖励的低效性。如安等人的研究所示,这些奖励是每集一次,而不是每走一步之后;姚等人;袁等。对于大规模的、可用于生产的在线服务,可以使用缓冲反馈来训练语言模型,并定期重新部署,以最大限度地降低学习成本。
离线RL。
根据最近的研究,离线强化学习代理可以利用PLM作为策略,并与在线强化代理共享相同的奖励机制,同时使用不同的学习程序。具体来说,他们通过微调PLM而不是实时更新PLM来异步应用反馈。在这样的过程中,使用语言模型的离线强化学习可以利用几个算法来将语言模型与人类偏好对齐。这些算法包括近端策略优化(PPO)、优势行动者-批评者(A2C),内隐语言Q学习(ILQL),信任区域策略优化(TRPO),自然语言策略优化(NLPO)等。这些RL方法通常会引入对齐成本,导致其他任务的性能下降,称为对齐税。为了解决这个问题,Korbak等人在模型预训练期间采用离线强化学习,在保持优异性能的同时实现更好的对齐。RAFT Dong等人证明,采用早期停止可以在文本质量和偏好奖励之间找到更有利的平衡。另一系列工作集中在改进优化算法上,如计算效率、鲁棒性和训练稳定性。
4.5.2 奖励模型
强化学习代理使用基于来自外部实体(主要包括交互环境和人类)的反馈计算的奖励进行训练。各种反馈来源和机制有助于开发不同的奖励模型。
来自环境反馈的RL。
如§2.4所述,从环境反馈中强化学习(RLEF)有助于语言模型的可供性基础。对于具有清晰且易于比较的评估指标的任务,如购物和对象安排任务,可以使用相应环境和其他评估模型评估的绝对奖励来优化强化学习代理。通常,强化学习代理可以用二元奖励函数进行训练,如果他们进行了正确的动作,就会获得积极的奖励,否则就会获得消极的奖励。此外,Goyal等人涉及评估人员,他们将视觉环境和自然语言描述映射到奖励比例。此外,强化学习代理还可以获得更复杂且专门手工制作的奖励。例如,姚等人涉及一个精心设计的奖励函数,该函数考虑了所选产品的各种属性和基于文本的教学产品的相似性,从而减少了对人在环评估的需求。对于难以建立将代理的状态和动作映射到绝对分数并在所有动作之间建立完全有序关系的高效而敏感的评估指标的任务,例如文本生成任务,可以使用比较奖励来优化强化学习代理,例如生成的动作之间的相对关系,其中,无论生成的动作是否优于前一个动作,都会对策略进行奖励。除了考虑同一状态下的动作与输入之间的相对关系外,还可以根据在减少当前状态与目标状态之间的距离方面取得的相对进展来奖励长期任务中的强化学习代理。
来自人类反馈的RL。
从人的反馈中强化学习(RLHF)作为LLM的一个关键的训练后程序正受到越来越多的关注。对于通用文本生成任务,这是一个没有确定性答案的开放式任务,奖励模型通常比手工制作的奖励函数更受欢迎,因为它们具有更高的灵敏度和更好的性能。具体而言,离线RL的奖励模型是用一小组收集起来具有成本效益的人类反馈来训练的,随后用于奖励强化学习代理。与环境反馈类似,人类反馈的奖励机制也因任务而异。在具体任务中,奖励模型可以观察代理的历史并提供二元反馈。在自然语言生成任务中,奖励模型模拟人类注释器来标记输出并提供数字分数。在推理任务等更复杂的任务中,奖励模型学会遵循特定规则,并提供更复杂和结构性的反馈。请注意,反馈并不局限于简单的二进制或数字形式。它也可以用自然语言生成。语言模型可以处理这种类型的反馈,进行调整,并最终产生校正的输出。此外,使用基于人类偏好数据训练的奖励模型也可以被视为“模型反馈的RL”。例如,Bai等人提出了“人工智能反馈的RL”(RLAIF),其中代理可以通过提供自我反馈和自我提示来自我调整其输出,从而产生更高质量的输出。这些人工智能反馈机制本质上提供了间接的人类反馈,因为它们是根据人类注释的数据进行训练的。
4.6 模仿学习
模仿学习使代理人能够通过模仿给定演示所代表的专家行为来学习策略或奖励函数。与强化学习相比,模仿学习的一个主要优点是它不依赖于手动设计的奖励函数或学习的奖励模型,而是完全依赖于行为演示。当以低成本访问专家成为可能时,这种优势变得尤为突出,从而可扩展地推广到各个领域,如自动驾驶、计算机控制、游戏、人机交互,机器人学习、技能获取,甚至手术。它也被广泛应用于NLP中的任务,包括转述生成、文本对抗性攻击、文本编辑和文本生成。
在模仿学习中,目标是学习由 θ \theta θ参数化的策略 π θ \pi_\theta πθ,该策略模仿给定任务中专家策略 π E \pi_E πE的行为。专家策略的行为由一组演示 D = { ( s 1 , a 1 ) , ( s 2 , a 2 ) , ⋯ , ( s T , a T ) } D=\{(s_1,a_1),(s_2,a_2),\cdots,(s_T,a_T)\} D={(s1,a1),(s2,a2),⋯,(sT,aT)}表示,其中 s t s_t st是时间步长 t t t处的状态, a t a_t at是专家策略 π E \pi_E πE在该状态下采取的行动。模仿学习的目标通常被表述为:
max θ ∑ i = 1 T log π θ ( a i ∣ s i ) \begin{gather}\max_\theta\sum^T_{i=1}\log\pi_\theta(a_i|s_i) \end{gather} θmaxi=1∑Tlogπθ(ai∣si)
模仿学习用于交互式自然语言处理,可分为离线和在线模仿学习。
离线模仿学习。
演示可以离线收集和存储为成对的状态观察和相应的专家操作。以监督学习的方式在这些数据集上直接训练模型构成了模仿学习的基本类型,即行为克隆。通过将自回归解码重新格式化为词元或序列级别的马尔可夫决策过程,可以将许多监督文本生成方法分为这一组。从当地专家的演示中学习的过程可以被视为离线互动。专家策略作为离线源编码在数据中,以获取给定当前状态的正确操作。该模型通过与专家的离线交互进行学习,随后可以独立执行任务或行为。
在线模仿学习。
对于模型可以咨询专家的某些情况,可以通过在线互动进行模仿学习,以进行额外的监督和评估。当结合在线互动或在线模仿学习时,可以使用专家的反馈动态更新训练后的模型,从而随着时间的推移提高其性能。特别是,专家响应可以由一个知道目标状态的独立系统来模拟,这在访问人类专家不可行或不切实际的情况下证明是有益的。这种方法还提供了通过调整专家模拟器来增强或抑制特定行为以使模型与人类期望相一致的优点。
模仿学习经常受到暴露偏差的影响,导致序列决策任务中的分布变化和错误积累,如机器人控制或文本生成。当模型仅暴露于专家策略生成的先前轨迹时,它很少经历由其自身策略的动作更新的状态。这种不匹配可能导致分布偏移,模型可能会遇到在训练过程中没有看到的状态,从而加剧误差积累。为了解决模仿学习中的暴露偏见,研究人员提出了在专家的政策和正在训练的模型的政策之间交替的方法。在模型预测动作时,专家提供反馈或修正,允许进行微调。这些方法与交互式自然语言处理有着相同的原理,后者包括离线和在线交互。如何消除语言生成中的暴露偏见,特别是在与专家的在线互动有限的情况下,仍然是一个积极探索的领域。此外,模仿学习还有其他局限性,包括它依赖于专家演示的质量,以及需要大量的演示数据,阻碍了它在交互式自然语言处理中的更广泛应用。
4.7 交互信息融合
在本小节中,我们努力为交互消息融合方法提供一个全面统一的框架,包括本节中介绍的所有方法。请注意,该框架还系统地对§2.2中提到的知识整合方法进行了分类。
如图25所示,交互消息融合方法可以分为三个维度,每个维度都有三类。因此,我们总共有333=27组方法将交互消息合并到语言模型中。以下将介绍每个维度的基本定义和示例。
沿着数据维度。
(1) “度量”是指简单的信号,如标量奖励或排名分数。(2) “约束”是指交互消息采用关键字、模板、骨架、约束词汇表等形式,用于消息格式化、条件处理、细化以及数据增强等。(3) “自由形式”包括提供一个不受约束和非结构化的文本作为交互消息。例如,
-
- 度量标准:大多数强化学习方法都与此相关(§4.5),因为它们依赖于奖励信号。例如,RLHF利用了一种反馈机制,其中对语言模型输出进行评分,以指示其质量和安全性。有几种方法使用启发式方法来过滤交互消息,这也可以被认为是相关的,因为布尔信号是被利用的。
-
- 约束:输入端的约束涉及一些条件信号,如骨架和轮廓。例如,Re3生成了一个大纲来约束长文本故事的生成。输出端的约束包括约束解码,通过转换输出的动词化器进行输出细化等。
-
- 自由形式:大多数方法处理自由形式数据,这是由其非结构化性质定义的。
沿着模型尺寸。
(1) “模型不变量”方法不会修改模型体系结构的任何部分。(2) “模型调整”方法对模型架构的现有模块进行更改。(3) “模型扩展”方法包括向模型体系结构中添加新模块。例如,
-
- 模型不变量:提示方法(§4.2)属于这一行。大多数调整方法也在这一研究领域。在大多数情况下,交互消息是沿着序列长度维度连接或插入到输入中的,因此没有必要更改模型架构。我们也只能在模型架构不变的情况下修改语言模型的一些关键中介模块,以纳入知识。
-
- 模型调整:VaLM将一层自注意块替换为交叉注意块,以融合检索到的视觉知识。K-BERT使用文本嵌入和知识嵌入的叠加(即,标记嵌入+软位置嵌入+片段嵌入)和注意力掩码矩阵来扇入知识。
-
- 模型扩展:K-Adapter为§4.3.3中提到的知识增强模型添加了额外的适配器。Retro在模型中添加了交叉注意力模块,用于检索增强。RelationLM使用额外的GRU函数将知识融合到语言模型中。KELM使用额外的分层知识增强模块将来自知识图谱和文本的异构信息合并到PLM中。该模块采用关系图神经网络(GNN)来动态表示输入的知识,采用注意机制来解决知识歧义,以及采用自注意力机制来进行知识丰富词元之间的进一步交互。
沿着训练的维度。
(1) “冻结”意味着所有模型参数都是固定的,不能进行调整。(2) “部分调整”是指仅对模型参数的一部分进行调整。(3) “完全调整”是指更新所有模型参数。例如
-
- 冻结:这一类别主要涉及提示方法(§4.2)。此外,一些基于约束解码的方法也不更新模型参数。另一个例子是KPT,它使用考虑知识单词的频率和相关性的指标来改进输出动词化器。
-
- 部分调整:对于那些引入额外模块或利用模型参数的严格子集来扇入外部信息的人,部分调整是§4.3.3中提到的一种微不足道的方式。例如,K-Adapter只在语言模型主体冻结的情况下调整适配器模块。SpoT的通用变体在语言模型冻结的情况下学习一些源任务的源提示,然后使用它初始化目标任务的另一个可学习的软提示以进行知识迁移。
-
- 完全调整:大多数方法都需要对模型参数进行完全调整,以将外部信息集成到语言模型中。例如,ToolFormer在API调用插入语料库上训练所有语言模型参数,以使语言模型能够使用工具。Kepler在知识嵌入损失和掩蔽语言建模损失的情况下调整所有模型参数。KnowBERT将来自多个知识库的结构化知识嵌入到PLM中。它使用组合的实体链接器来获得相关的实体嵌入,并通过单词到实体的注意力进一步增强上下文单词表示,其中模型参数也得到了充分训练。
总之,近年来,将外部信息整合到语言模型中已成为一个快速发展的研究领域,有许多策略可供实施。通过将交互消息融合方法沿着数据、模型和训练维度分解为三个维度,我们对现有方法进行了系统的分类,可以帮助研究人员和从业者更好地理解和设计新方法。值得注意的是,这些维度并不互斥,不同的方法可以从每个维度组合不同的类别。适当类别的选择取决于特定的任务、数据和资源,以及性能和计算效率之间的权衡。
5 评估
评估在跟踪NLP进展方面无疑是重要的,甚至有助于概述NLP的未来方向,例如图灵测试。现有的调查对自动评估和人工评估方法进行了比较详细的阐述,从一般的到特定任务的指标,例如评估可控文本生成。然而,交互式NLP与一般NLP任务略有不同,因为它更关注模型与人类、环境等交互的质量和有效性。为了简洁起见,本节将阐明iNLP与评估之间的关系,但没有追溯或描述一般NLP评估的历史演变。有关更多信息,请参阅相关的NLP评估调查。请注意,我们的综述主要关注生成性自然语言处理,即自然语言生成(NLG)。
交互场景在各种通用自然语言生成(NLG)任务中自然发生,如对话和问答。然而,大量现有的NLG度量主要评估NLG模型的非交互式性能,忽略了评估模型推理阶段发生的交互式质量和有效性。具体而言,这些指标侧重于比较模型完成度与预先指定的人类参考之间的差异,以确定性能是否超出了以前的模型,如Meteor、Rouge和CIDEr。虽然它们既方便又省时,但如果模型只依赖于来自这些评估指标的反馈,则交互质量可能无法提高,导致它很难在现实世界中使用。例如,BLEU是NLG系统最常用的度量之一。它没有直接告诉系统的生成质量,而是通过n-gram匹配来比较模型输出和参考之间的差异。在这种情况下,词汇相似度越高,得分就越高。因此,即使满足用户给定的偏好,表达与引用不相似的句子也会得到低分。尽管交互评估仍处于起步阶段,但研究人员意识到当前NLG评估的不足,并将注意力转移到NLG模型的交互性能上。
在本节中,我们试图总结互动评价的最新进展。我们根据互动对象将互动评价分为四种类型。
5.1 评估人在环的交互
评估人在环旨在评估人与系统交互的性能,可分为两条技术路线:通用度量和任务特定度量。
一般指标。
这些指标与特定任务无关,主要用于评估PLM的总体性能。关键的挑战是评估语言模型和人类之间的一致性,即NLG模型是否满足人类的某些偏好。为了解决这个问题,欧阳等人对这个模糊的概念给出了具体的解释——如果模型是有帮助的(即有助于解决任务)、诚实的(即确保信息的真实性)和无害的(即符合伦理),则模型是一致的。详细地说,他们通过人类标签者的偏好评级来评估有用性,而诚实性则通过幻觉数据集和TruthfulQA数据集来自动评估。至于无害性,他们使用真实毒性提示和CrowS Pairs数据集来评估NLG模型的偏差和毒性。为了进一步扩展交互评估的维度,HALIE提出了一种人类语言模型交互评估框架,该框架包括一个用户界面,以促进人类与语言模型之间的交互。基于该系统,HALIE引入了在三个维度上扩展非交互评估的度量:(1)目标,评估除模型完成之外的额外交互过程,如用户编辑;(2) 视角,增加了涉及与PLM直接互动的用户的人类评估;(3) 标准,在评估模型完成度时突出人类偏好,例如享受和乐于助人。HALIE中的综合实验表明,第三方注释器进行的人工评估与交互式系统用户提供的评估之间存在显著差异。这种差异突显了研究基于互动的评价方法的迫切需要。
任务特定指标。
任务特定度量涉及为生成任务设计定制的交互评估方法,包括在评估人机模型交互时的任务特定特征测量。这种任务特定指标最常见于对话系统、问答、创意写作等。例如,对话系统感兴趣的是评估特定对话场景中人类模型交互的质量和评估在模型推理阶段添加人类反馈的性能增益。特别是,面向任务的对话互动评估的指标主要由三个项目组成:(1)任务的成功率,例如成功预订航班或电影;(2) 对话回合大小,较少的数字表明对话代理更善于以较少的时间成本完成任务;(3) 对话状态跟踪(DST)的准确性,即确定关键信息在整个对话中是否准确。此外,人类的经验和知识也被用于评估问答系统。例如,Wallace等人让人类作者参与这一过程,以增强生成器创建一组不同对抗性问题的能力。这种方法能够对问答系统的稳健性进行更全面的评估。关于创造性写作,CoAuthor介绍了一个捕捉作家和LLM之间互动的数据集,并证明了它在探索LLM的语言、思维和协作能力以进行创造性和议论文写作方面的有用性。
尽管在人与LM交互评估指标方面取得了进展,但综合通用基准的开发在很大程度上仍未得到探索。统一的基准和衡量标准在从互动角度评估模型方面发挥着至关重要的作用;然而,设计和收集这样一个基准带来了重大挑战。主要困难之一源于交互评估的特殊性,这需要对交互过程进行详细跟踪和记录,而不仅仅是收集模型的完整性。此外,由于固有的个体多样性,人在环评估的互动性质可能导致数据不一致。这使得构建通用基准的任务更加复杂。建立这样一个基准需要从用户界面、手段和交互过程的角度进行仔细考虑。
5.2 评估KB在环的交互
知识库在环交互的评估自然出现在知识增强的NLG模型中,作为评估其获取知识以增强生成的能力的一种手段。
知识获取。
如§2.2所述,知识获取可以通过从外部知识源(例如,知识图谱、数据库,甚至网络浏览)中检索来实现。因此,这些基于知识检索的知识库在环方法对评估知识检索过程的有效性和效率很感兴趣。例如,REALM使用“前五名召回”指标进行消融实验,比较用于知识获取的不同检索器。Atlas分析了正确答案选项中的文本出现在检索到的段落中的频率如何受到检索到的文章数量的影响。这样的评估有助于分析和改进循环NLG系统中KB的中间分量。
知识增强生成。
另一条研究路线侧重于评估模型在知识增强生成方面的能力。最常见和最重要的方法是幻觉检测,它利用额外的知识图谱或数据库来检测事实错误。例如,知识F1测量了模型的完成和用于建立对话的事实知识之间的单词重叠。近年来提出了若干事实核查基准,以促进这一领域的发展。例如,BEGIN根据维基百科的证据介绍了三种基于知识的对话回应。在这种情况下,事实知识是以段落级文本的形式存在的。相比之下,DialFact利用手动注释的实例级知识片段作为证据。归因于已识别来源(AIS)框架评估了NLG系统产生的陈述是否可以归因于特定的潜在来源。另一种类型的评估方法侧重于在选择添加额外知识时比较人类和模型之间的差异。例如,WebGPT通过将模型完成情况与基于相同网络浏览环境的人工书面答案进行比较来评估模型完成情况,以确定模型保留的知识是否与用户的知识不同。GopherCite计算了该模型在人类评估中产生可信和支持的主张(即证据)的比率。
5.3 评估模型或工具在环的交互
如§2.3所述,循环中的模型/工具包括三种类型的操作:(1)思考、(2)行动和(3)协作。因此,评估模型/工具在环交互涉及评估以下方面:(1)(多阶段)思维链能力,(2)工具使用能力,以及(3)协作行为分析。
思维链能力。
思维链(CoT)被认为是最关键的涌现能力之一,随着模型规模的扩大,这种能力往往会变得更加明显。它经常由启发性提示触发(§4.2.2),并可以通过提示链接实例化(§4.2.3)。通常,CoT旨在提高模型的多步骤推理能力。因此,一些推理密集型基准,如GSM8K、DROP和ScienceQA,可以用于评估CoT能力。我们请读者参考乔等人,以了解关于推理任务的更全面的调查。在我们的调查中,我们介绍了更多的视角,重点是评估CoT能力的中间步骤或推理轨迹。例如,我们可以评估推理步骤之间的错误传播。Dua等人的连续提示技术遇到了三个主要的错误来源:错误的答案预测、错误的问题分解和超出范围的推理类型。通过理解和解决中间推理步骤中发生的这些错误,我们可以开发更稳健的模型,在整个多步骤推理过程中减轻错误的影响。另一种方法是分析改变推理步骤数或推理分支数的影响。例如,周等人进行了实验,以研究不同数量的推理步骤的影响。王等人比较了不同数量的采样推理路径对性能的影响。
工具使用能力。
继杨等人和李等人之后,评估语言模型的工具使用能力包括检查:(1)工具使用触发:LM是否可以确定何时使用工具;(2)工具使用准确性:LM是否选择正确的工具来执行特定任务,(3)工具使用熟练程度:LM能否有效、高效地使用工具进行推理和决策。例如,Toolformer通过计算API调用率来评估工具使用触发,即模型需要相应API帮助执行某些文本生成任务(例如机器翻译、问答和数学计算)的频率。ART比较了语言模型从任务库中选择提示的各种策略,以进行正确的工具使用提示,这也可以被视为工具使用准确性的衡量标准。WebShop考察了语言代理在使用网络工具进行购物任务时的成功率,这是语言模型的工具使用熟练程度的指标。由于工具使用能力已被证明能够在工具增强学习环境中增强语言模型的推理能力,用于评估CoT能力的某些指标(§5.3)也可以用于评估工具使用熟练程度。
协作行为分析。
语言模型代理的协作行为分析可以分为面向结果的分析和面向过程的分析。以结果为导向的分析主要关注协作的输出或最终结果。例如,MindCraft衡量是否可以通过两个语言模型代理之间的协作来解决任务。Socratic Models评估通过涉及大型语言模型、视觉语言模型和音频语言模型的闭环交互解决的任务的成功率。BIGbench已经纳入了几个评估心理理论(ToM)能力的任务。此外,Kosinski证明,ChatGPT在某些ToM任务上的表现水平与九岁儿童相当。面向过程的分析更关注协作本身的动态。例如,MindCraft还通过测量完成任务所需的对话交流次数来评估沟通效率。
5.4 评估环境在环的交互
由于环中环境NLP的目标主要集中于将语言模型代理用于具体任务,这与典型的文本生成任务有很大不同,因此对LM-Env交互的评估可能需要一个不同的范式。一般来说,该领域的研究主要集中在两个方面:(1)构建具体任务平台,(2)确定适当的评估指标。我们还请读者参考§6.3和§6.4了解更多信息。
具体任务平台。
举几个例子,EvalAI提供了一个用于评估模型和代理的开源平台,其中包括视觉问答、视觉对话和具体问答。SAPIEN介绍了一种模拟家庭环境,专门用于模拟日常物品及其在家庭环境中的互动。类似地,Alexa Arena为嵌入式人工智能模型引入了一个以用户为中心的模拟平台,并提出了一个基于人机对话的指令遵循基准。Shridhar等人建立了一个基准ALFRED,以评估代理将视觉观察和文本指令转换为日常任务的动作序列的能力。在这一设置的基础上,Akula等人引入了一种名为ALFRED-L的新测试集。此测试集是通过修改ALFRED验证拆分中示例的说明创建的。修改包括消除对操作对象的操作的需要,并合并指令以接近更多对象。此外,Shridhar等人扩展了TextWorld和ALFRED平台,以创建ALFWorld。这个新颖的平台在文本描述和命令以及具体机器人的物理模拟之间建立了联系,从而增强了它们之间的一致性。最后,Bara等人探讨了在互动场景中放置代理的协作情况。他们的目的是模拟这些合作互动中参与者的心理状态。为了促进这项研究,他们引入了MindCraft,这是一个细粒度的数据集,包括合作伙伴在Minecraft虚拟世界(一个由块组成的3D环境)中合作执行任务时的信念。我们请读者参考Yang等人,了解更多的例子。
评估指标。
举几个例子,任务成功率和机器人动作的平均次数都是可以用来评估模型在与环境交互方面的能力的指标。任务成功率通过计算满足所有目标条件的任务的平均比例来衡量模型的有效性,表明任务成功完成。而平均动作次数通过记录机器人为每个任务执行的平均动作次数来检查模型的效率。Ahn等人采用计划成功率和执行成功率来评估系统的性能和有效性。计划成功率衡量系统为给定指令生成适当计划的能力,而执行成功率评估系统成功执行这些计划和完成指定任务的能力。Huang等人报告了推理阶段的文本指令生成速度(本文称为“词元计数”),以评估所涉及的大型语言模型的效率。
6 应用
6.1 可控文本生成
可控文本生成(CTG)技术是一种NLP方法,它使语言模型能够生成不仅连贯和有意义的文本,而且允许用户控制输出的特定方面。对CTG的需求源于根据用户定义的约束来定制生成的文本的愿望,例如长度约束、包含特定关键词以及坚持特定的情感或风格。传统的CTG方法通常涉及具有明确目标的训练模型,这些目标针对控制属性进行优化,约束解码,以及提示。我们请读者参考张等人和翁以了解更多信息。在本节中,我们简要讨论了iNLP在CTG中的潜在应用。
通过使用户能够在生成或训练过程中直接提供他们的偏好和约束,与人类交互可以增强CTG的可控性。例如,AI Chains允许用户将LLM步骤链接在一起,并以模块化的方式进行修改,从而提高透明度、可控性和协作性。Lee等人提出了控制中间生成过程而不仅仅是最终输出的重要性,并强调需要考虑更多与第一人称主观体验和用户偏好相关的控制属性。Christiano等人;Lu等人;欧阳等;Fu&Khot暗示使用RL或RLHF进行受控文本生成,这不仅能够控制有用性、无害性和诚实性,而且还允许潜在的优化以满足长度约束和其他标准。
正如李等人所建议的那样,与知识库交互可以潜在地增强CTG的稳健性和真实性,他们提出了知识感知微调(KAFT),以提高语言模型的可控性,同时保持其稳健性。KAFT使用朴素监督数据集和增强数据的组合来微调LM,其中包括具有反事实上下文(即与模型记忆的知识相矛盾的上下文)和不相关上下文(即,与任务无关的上下文)的实例。
与模型和工具交互可能会对文本生成产生更复杂、更细粒度的控制。例如,分类器引导的CTG方法将分类器放入循环中以提供控制信号或反馈。类似于Diffusion LM,它在每次迭代时用分类器的控制反馈迭代地对文本进行去噪,Self Refine让LLM生成一个输出,然后对其提供多方面反馈。该反馈用于迭代地细化输出,直到达到令人满意的质量或特定标准。值得注意的是,典型的分类器引导的CTG依赖于外部分类器,而自精炼则通过自交互将LLM本身用作分类器。
如§2.4所述,由于对可供性基础的基本需求,与环境的交互本质上需要很大的可控性。SayCan,作为一个代表性的例子,利用对行动候选者的评分机制来实现这种可控性。
总体而言,各种交互式对象可以提供用于优化CTG系统的不同途径。通过利用交互的力量,我们可以实现对文本生成的更面向用户、更健壮、更细粒度、更复杂甚至更现实的控制。
6.2 写作助理
智能和交互式写作助理是一个快速增长的研究领域,探索人工智能工具修改、丰富甚至与人类共同创作内容的潜力。根据他们在内容生成过程中的参与程度,这些助理大致可以分为四类:(1)内容支持,(2)内容检查和打磨,(3)内容丰富,以及(4)内容共同创建。
内容支持。
支持内容的写作助手不生成供使用的内容,而只是为作者提供功能帮助,如即时摘要和实时可视化。例如,Arnold等人提出了一种互动方案,向人类作家提供问题以获得灵感,而不是使用内容片段。Dang等人提出了一种写作助手,它可以不断更新现有内容的摘要、关键词和中心句,以供用户参考,而不是直接生成内容。Singh等人设计了一个写作助理,提供视觉和听觉建议作为写作支持。尽管支持内容的写作助理为人类作家提供的帮助微乎其微,但在某些情况下,他们受益于避免在写作过程中占据主导地位,这是基于PLM的写作助理面临的主要挑战之一。此外,写作支持可以减少触发或操纵写作助手的手动努力,例如重提示工程。具体而言,Dang等人指出,非数字提示需要手动操作,因此人类倾向于从写作助理中选择建议,而不是通过非数字提示控制自动内容生成。Jakesch等人指出,人类作家的内容创作甚至会受到固执己见的PLM写作助理的影响。这些挑战可以通过降低写作助理对内容支持的参与程度来缓解。
内容检查和打磨。
内容检查和润色的处理过程通常包括将手动编写的句子作为输入,并生成经过语法检查和重新表述的输出,从而允许用户交互和迭代地改进他们的写作。著名的现实世界产品包括QuillBot、Effidit、Pitaya、Grammarly和Xiezuocat。人们对将迭代编辑操作纳入写作助手也越来越感兴趣,这可以被视为基于编辑的iNLP的应用(§3.3)。例如,Kim等人建议结合其他文本编辑任务的迁移学习,通过将编辑动作与内容质量联系起来,提高迭代文本修订的质量。Du等人提出了一种新颖的人在环迭代文本修订系统,该系统将模型生成的修订与人的判断相结合,并特别微调PEGASUS模型作为修订生成模型,使用该模型基于给定的句子和编辑意图生成修订的句子。
内容丰富。
与内容检查和打磨不同,内容丰富涉及更具创造性的内容生成,但仍然依赖于手动提供的上下文或配置。经典的内容丰富功能包括文本补全(AutoComplement)和关键词到句子(K2S)。请注意,AutoComplement和K2S只是补充手动输入,而不是通过手动协作或指导从头开始共同创建新内容。自动提示是一种交互式写作助手功能,通过提供建议来完成提示,让人们参与内容生成过程,从而增强他们的整体写作体验。例如,Sun等人提出了一种意向引导创作(IGA)助手,该助手遵循细粒度的作者规范来处理自动完成的输入文本。IGA中提出的方案类似于最近的指令调整趋势(§4.3.1),这表明书写助手中更复杂和可控的用户偏好可以格式化为指令,以进一步激活指令调整LLM。自动补全还可以适用于各种NLP下游任务,包括医学文本简化、人机协同翻译和形态复杂的低资源语言的交互式单词补全。此外,K2S与可控文本生成高度一致(参见第6.1节),但更强调可控交互。实际的K2S应用程序通常允许用户以交互方式根据其特定需求和偏好定制细粒度的控制属性。例如,CueBot提出了一种会话助手,能够生成用户可以使用提示/关键词控制的响应。它建议用户从中进行选择,并在训练过程中加入关键词损失,以生成词汇约束的输出。
内容共创。
内容共创是指人类和人工智能系统之间的协作过程,从零开始生成新内容,而不是简单地改进现有内容。内容共创在互动小说写作、电影剧本和戏剧剧本写作、学术写作和诗歌写作中得到了广泛探索。例如,Tapscott等人将故事生成建模为模拟角色扮演游戏和追踪玩家互动序列。杨等人开发了DOC,其中包括一个详细的大纲生成器和一个详细控制器,显著提高了长篇生成的连贯性。Chakrabarty等人提出了CoPoet,一种由指令提示和LLM提供动力的交互式诗歌写作助手,并验证了与没有CoPoet参与的诗歌相比,共同创作的诗歌通常更受欢迎。Dramatron采用分层控制的PLM,允许专家编写器控制样式标签、逻辑线、字符描述和环境描述。这使得编写人员能够轻松地为各种用例生成必要的材料。然而,在用于内容检查、打磨和丰富的实用写作助理日益成熟的同时,内容共创写作助理仍然面临着各种需要解决的挑战。例如,Ippolito等人指出,当前用于故事生成的NLG技术在保持作者的声音和故事情节的连贯性方面往往表现不佳。吴等;袁等;陈等人证明,在生成的内容中,可控性和创造性之间往往存在权衡。此外,由于创造性写作的主观性质,对基于内容共同创作的写作助理的评估也可能特别具有挑战性。尽管为构建可靠的评估基准做出了各种努力,Mirowski等人;Ippolito等人认为,由于人工智能生成内容(AIGC)的质量不断提高,与众包注释者相比,专业作家在评估中变得越来越重要。
6.3 嵌入式AI
嵌入式人工智能使语言模型能够影响真实世界和虚拟环境,代理通过这些环境观察和更新自己及其周围环境的状态。将语言模型与物理世界连接起来的一种方法是与§2.4中提到的基础语言进行交互,这允许语言模型看到、听到和控制外部对象。
观察和操作是许多具体任务的基础,在这些任务中,代理获取外部状态并执行更新这些状态的操作。得益于文本描述和文本控制界面,语言模型通常通过输入文本来观察其周围环境,并通过发送文本命令来操作对象。例如,视觉感知映射器将视觉输入转换为自然语言中的文本。此外,人类干预可以是智能体观察的一部分,因此智能体可以由实时的人类反馈指导。典型的观察和操作任务包括物体重排、工具使用、物品创建和修改以及其他机器人控制任务。
导航和探索使代理能够通过动态观察和操作四处移动并研究周围环境。也就是说,与观察和操纵任务不同,导航和探索任务允许代理在环境中移动,以调整其观察和操纵。这些代理不仅规划路线和行动,还结合从不同地点收集的观测结果来做出决策、回答问题和推理,使他们能够完成需要多地点多目标观测和长期操作的复杂任务。自然语言和编程语言中的文本命令弥合了语言模型代理与可用动作和工具之间的差距。在这样的过程中,这些代理还结合了不同的数据源,包括相机、麦克风、其他传感器和来自人类控制器的文本命令。此外,代理还可以作为助手指导人类操作。例如,交互式驾驶助手可以持续观察驾驶环境,并指导人类驾驶员处理各种情况。
多角色任务要求代理与人类和其他代理合作和竞争,以达到特定的目标。与具有多种技能的代理不同,具有社交能力的代理通常会观察他人的行为,并通过文本消息进行交流,包括自然语言的消息和更结构化风格的数据。典型的社交任务包括多人游戏、人工智能协作、多智能体协作和其他沟通任务,如面试、谈判、招聘和意见收集。在基于文本的游戏任务中,代理从人类行为中学习,并作为人类玩家进行游戏。在多智能体环境中,智能体相互协调以完成任何单个智能体都无法完成的复杂任务。代理人还充当代理人,与他人沟通以完成日常任务,如餐厅预订和预约安排。MetaAI的Cicero使语言模型代理能够在在线外交联盟中发挥作用。
6.4 文本游戏
文本游戏,也称为互动小说游戏,能够理解玩家命令,模拟玩家状态,并更新游戏环境的当前状态。语言模型在这些游戏场景中显示出了巨大的潜力,这是一种特定类型的具体人工智能(参见第6.3节)。具体而言,语言模型可以用于通过基于文本的界面玩文本游戏或为文本游戏提供动力,例如状态描述、命令、情境对话和多方对话。因此,文本游戏是iNLP的内在应用,其中环境或其他代理参与游戏循环。我们可以将文本游戏分为两类:(1)仅依赖文本的纯文本游戏,以及(2)使用文本作为其他形式媒体(如图形或音频)补充的文本辅助游戏。在本小节中,我们将从讨论交互式文本游戏平台开始。然后,我们将简要概述如何利用语言模型玩纯文本游戏和支持文本辅助游戏。
交互式文本游戏平台。
交互式文本游戏平台为构建和运行基于文本的游戏提供了一个框架和引擎,通常包括游戏状态跟踪、基于解析器的自然语言理解和脚本事件等功能。此类平台的一些示例包括:
(1) 文字冒险游戏是允许玩家仅通过文字描述和动作与冒险世界互动的游戏。Osborne等人总结了两个主要的文本冒险游戏平台:TextWorld和Jericho。此外,他们定义了在开发文本冒险游戏解决方案时需要解决的七个主要挑战,包括部分可观察性、大状态空间和长期信用分配等。
(2) 社交演绎游戏是玩家试图通过战略对话、逻辑演绎和欺骗行为来发现彼此隐藏的角色或团队忠诚度的游戏。例如,社会演绎游戏的经典例子包括《狼人》、《蘑菇》、《SS13》和《在我们中间》。具体而言,赖等人提出了一个包含文本和视觉信号的多模式数据集,以模拟狼人的说服行为。林等人是另一个基于狼人的具有自我揭示和角色估计行为注释的语料库。Tuin&Rooijackers基于游戏《我们之中》构建了一个旨在检测玩家角色的语料库,并验证了这是一项具有挑战性但可学习的任务。
(3) 战略游戏是在很大程度上依赖玩家的决策技能和情境意识来决定结果的游戏。例如,《外交》是一款战略棋盘游戏,涉及多个玩家,每个玩家都控制着一个欧洲大国的武装部队。游戏的目标是巧妙地移动自己的部队并击败对手的部队,以获得被称为“供应中心”的大多数具有重要战略意义的城市和省份的控制权。这种游戏的竞争性质通常要求玩家相互进行广泛而复杂的互动和外交,以实现他们的目标。外交正受到越来越多的关注,并被广泛视为自主主体与人类一样沟通和调整战略能力的基准,这是人类文明成功的基本要素之一。Cicero提出了一种令人印象深刻的自主代理,它将PLM与RL相结合,并在Diplomacy中实现了人类级的性能。此外,Kramár等人对谈判算法和惩罚叛徒的倾向如何使自主主体能够像人类一样进行沟通并在外交中更有效地合作进行了初步调查。除了Diplomacy,还有许多经典的战略游戏作为互动文本游戏平台和相关NLP研究的潜在资源,如Eurogame、Warhammer Fantacy和Paths of Glory。
(4) 桌面角色扮演游戏(TRPG),如《龙与地下城》(DND)和《克丘鲁的呼唤》(COC),以及小说作品,如《哈利·波特》系列,提供了丰富的情境和多方对话数据来源,可用于构建具有挑战性的文本游戏平台。然而,记录TRPG游戏过程的原始对话数据通常是角色内动作描述和角色外策略解释的混合,通常伴随着冗长的世界构建文件,这些文件可能因游戏而异。提取黄金标准游戏状态和游戏命令的问题仍然是一个具有挑战性但引人入胜的问题。例如,Rameshkumar和Bailey从记录DND游戏过程的原始对话数据中提供了34243个摘要对话片段对。这些摘要对话块对中的摘要包含游戏状态的文本描述,可以作为交互式文本游戏的抽象游戏状态摘要的良好基准。Callison Burch等人将DND定义为一个对话系统挑战,包括掷骰子等确定性元素和作为部分状态信息的游戏玩法的不精确描述。周等人介绍了一种基于DND的新型高度交互式任务G4C(地面通信中的目标驱动制导生成)。他们使用心智和RL理论训练一个充当游戏主机的自主代理,也称为地下城大师(DM)。这种方法大大提高了参与者实现目标的能力。
(5) 生活模拟游戏是使玩家能够控制一个或多个虚拟角色的游戏。经典的生活模拟游戏包括虚拟宠物、黑白、MineCraft和GTA系列。例如,Bara等人;范等人;袁等人探索了基于PLM的自主代理如何使用MineCraft作为交互式游戏平台,在一系列任务和目标中学习协作、沟通和概括。此外,社交模拟游戏是模拟虚拟世界中多个人造角色或生活之间的社交互动和关系的生活模拟游戏的子类型。例如,模拟人生系列是一款经典的社交模拟游戏。Mehta等人增强了人工智能代理识别何时需要额外信息的能力,以实现更多的人工智能交互并改进社会模拟。正如所指出的,角色扮演代理和开放沙盒世界可以很容易地作为社交模拟游戏中的因素进行调整。Park等人使用社会身份设置配置基于PLM的自主代理,并相应地进行社会模拟。他们的实验设计非常符合模拟人生系列的游戏性。
玩纯文本游戏。
早期关于纯文本游戏自主代理的工作主要依靠手工制作的奖励函数或其他格式良好的数据结构,如知识图谱,来保存和检索过去的信息和游戏状态。尽管在PLM出现之前的一些探索性方法也采用了文本的琐碎神经表示来帮助检测纯文本游戏中的动作和状态,但这些方法专注于受限的手工制作的基于模板的状态和动作空间,无法理解许多纯文本游戏中复杂且高度非结构化的文本。姚等人指出,这些方法基于受约束的手工制作的基于模板的状态和动作空间,通过验证不理解语义的智能体可以通过采用类似的方法但不理解语义在这些纯文本游戏上实现类似的性能,从而使自主智能体无法理解单词或语义的含义。为了设计更好的纯文本游戏作为自主主体语言理解能力的测试平台,在不理解语义的情况下,不应通过手工制作的模板来检测隐含在单词中的动机和策略。以下工作转向基于PLM驱动的神经表示的自主代理,该代理较少依赖人工。例如,Yin&May将基于句子级语义表示的聚类和深度Q学习用于玩文本冒险游戏。徐等人提出了一种用于纯文本游戏的基于轻量级Transformer的表示学习框架,并优于以前的SOTA方法。最近,LLM的成功使纯文本游戏能够探索处理任何用户输入。理解用户输入的含义复杂而模糊,需要仔细注意文本中明确描述的动作和状态。
为文字辅助游戏提供动力。
传统上,在文本辅助游戏中,自主代理使用形式语言或结构化自然语言来建模状态转换,并使用高度符号化的表示来执行动作。随着PLM的出现,这些代理从使用符号表示转变为使用上下文和神经表示,后者捕获了文本陈述策略和通信协议的更复杂和高级语义。因此,我们将阐明语言接口和PLM使文本辅助游戏中的自主代理能够与其他代理通信并制定更好的游戏计划的方式。自从ChatGPT令人印象深刻的发布以来,一些工业和学术研究人员也一直在探索LLM的改编,以增强文本辅助游戏体验。Inworld声称,LLM可以赋予游戏中具有不同个性和背景意识的角色权力,使其留在世界或品牌中,这大大提高了游戏的沉浸式体验。网易还宣布,他们允许其在线游戏《Nishuihan》中由LLM驱动的非玩家角色(NPC)以相当大的自由度进行交流。除了通信,语言接口和NLP驱动的规划在文本辅助游戏中的自主代理设计中也得到了探索,用于奖励塑造、指令跟随、控制策略泛化和表示学习。此外,语言界面在训练自主文本辅助游戏代理方面发挥着重要作用。例如,Havrilov&Titov;Wong等人指出,高效的基于语言的通信协议对于多智能体文本辅助游戏中的协作策略至关重要。姜等人认为,语言可以自然地组成不同的子技能,以丰富复杂文本辅助游戏分层策略的非组成抽象。此外,验证了语言建模诱导表征,这甚至对游戏的离线RL策略建模有用。这一观察结果暗示了语言的高级语义连贯性与文本辅助游戏所采用的计划策略之间的关系。
6.5 其他应用
专业化
它指的是使语言模型的能力适应和定制特定任务或领域的过程。正如Fu等人所假设的那样,具有强大建模能力的语言模型可能在广泛的任务中有效,但由于其能力的分布,它们在任何单个任务上的性能都可能不那么令人印象深刻,这意味着需要LM规范。尽管一些领域特定的语言模型被提出用于法律、医疗保健、材料科学和金融等领域,但它们主要是从特定领域的大型语料库中微调而来的。另一方面,iNLP可以为LM专业化提供另一种解决方案。也就是说,通过观察医疗记录、法律文件、财务报表、技术规范、特定领域的知识图谱甚至特定领域的工具集等外部对象并与之交互,语言模型可以为用户提供专业信息。例如,在医学中,iNLP可用于从患者记录中检索相关信息,并提出潜在的诊断或治疗建议。在法律上,iNLP可以帮助律师起草法律文件和合同,提供基于先前案件和法律先例的检索增强的建议。因此,为语言模型配备特定领域的交互对象可以以更高的数据效率和计算效率来实现它们的规范。
个性化。
它指的是根据每个用户的独特需求和偏好定制语言模型的行为和输出的过程。这可以通过模型与用户的交互、从用户的输入、人口统计中学习并相应地调整其行为来实现。例如,Rao等人认为,通过从用户互动和个人偏好中学习,ChatGPT有可能变得更加个性化和定制。Salemi等人引入了个性化基准,并建议通过使用用户档案的检索增强来个性化LLM。吴等人展示了通过使用提示来个性化PLM的潜力。Madaan等人通过具有人类反馈的外部存储器对PLM进行个性化设置。个性化可以通过提供更偏好的响应,提高模型理解用户需求和意图的能力,并最终在用户和模型之间建立信任和融洽关系,从而大大增强语言模型的用户体验。然而,我们也应该意识到个性化带来的弊端。例如,Deshpande等人证明,将角色分配给ChatGPT可能会将其毒性放大六倍。
基于模型的评估。
与基于统计的评估指标(如BLUERT、BERTScore和COMET)相比,基于模型的评估享有PLM的优势,可以为每个生成的样本计算文本质量分数,并显示出与人类评估的更大相关性。这样的评估方法可以在各种通用NLG任务中广泛实现和使用,甚至适用于无参考设置。此外,现有的初步研究表明,LLM已经出现,能够与类人法官一起评估人工智能生成的内容(AIGC)。一些论文还提出了对LLM在特定NLG任务中评估AIGC的能力进行细粒度分析,包括摘要。此外,刘等人;He等人提议与LLM合作,提供更好、更便宜的类人评估。通过模型甚至人类之间的相互作用,我们可以以更有效(准确)和高效(自动)的方式评估LMs。这种评估过程可以类似于教师模式,管理“考试”和“评分”来评估学生模式的表现。
7 道德与安全
LLM在理解、解释和生成类似人类的文本方面表现出了非凡的能力。大量基于LLM的应用程序已经出现,并在我们的日常生活中广泛采用。因此,这些模型的使用也在许多社会领域带来了深刻的挑战。因此,考虑使用LLM的道德影响至关重要,尤其是对教育、偏见和公平、隐私、有害内容和错误信息的影响。
对教育的影响。
以ChatGPT为例,LLM的出现给现有的教育系统带来了巨大的挑战。一个主要的担忧是,ChatGPT被滥用于学术任务,如撰写论文和解决科学问题,这引起了K-12教育工作者的深切关注,他们认为这是对教育系统的潜在威胁。为了解决这个问题,已经开发了剽窃检测工具,如GPTZero、AI分类器和DetectGPT,用于检测AI生成的内容。这些人工智能检测工具大多关注困惑(文本随机性)和突发性(非常用术语的使用)。尽管如此,这些工具尚未证明其在现实世界环境中捕捉人工智能生成内容的有效性。最后但同样重要的是,包括ChatGPT在内的计算机辅助写作工具在帮助用户学习和获得写作技能和原则方面的能力有限。他们的主要重点是提高生产力,而不是促进技能发展,这对教育目的至关重要。
社会偏见。
由于语言模型通常是用大规模的网络语料库训练的,因此它非常容易受到社会偏见的影响。众所周知,它会进一步放大歧视,包括简历的潜在降级和包含刻板印象、毒性和种族主义的文本的生成。简历“白化”一直是一个问题,求职者被迫隐藏自己作为少数性别、种族、宗教或地区群体的身份,以获得求职面试。尽管许多公司开始使用人工智能支持的工具对简历进行排名和筛选,但这个问题仍然存在。当与女性和程序员相比,男性这个词更接近程序员时,就会反映出单词嵌入中的社会偏见。将预训练的单词嵌入用于下游任务(如分类和分析)的应用程序将获得具有社会偏见的结果,从而导致输出的公平性问题。Hutchinson等人使用毒性预测和情绪分析来评估语言模型对残疾人的偏见。结果表明,判决我是一个有精神疾病的人,我会为有精神疾病者而战,这比我是一个子高的人更毒。HERB是一种偏见评估指标,它利用子区域中的偏见来在情境化水平上评估语言模型在某个区域中的偏差,这引起了研究人员的注意,不仅要关注整个区域的社会偏见,还要关注子区域的社会偏差。上述研究结果表明,在语言模型中观察到的社会偏见可以表明,刻板印象应该得到解决和缓解,而不是让它们伤害少数群体。考虑到现在每个人都可以很容易地获得LLM,应该过滤或减轻偏见,以确保它们不会被放大,并进一步影响人们在做出招聘和评估个人等决策时的想法。
隐私担忧。
大型语言模型(LLM)也引起了人们对用户隐私的担忧。训练这些模型需要访问大量数据,这些数据通常涉及个人的个人细节。这些信息通常来源于许可或公众可访问的数据集,并可用于一系列目的,例如从数据中的电话代码推断地理位置。已经有研究表明,通过提示从大型语言模型中提取敏感信息的可能性。在交互式NLP时代,人类更积极地与这些基础模型进行交互,这可能导致更频繁的用户信息泄露。因此,迫切需要制定收集和存储个人数据的相关政策。此外,数据匿名化的做法对于维护处理隐私问题的道德标准至关重要。已经有一些开创性的研究调查了隐私保护问题。李等人;施等人。我们认为,应该致力于大型语言模型中的隐私保护,这将在交互式自然语言处理(iNLP)时代发挥核心作用。
8 未来方向
对齐
语言模型的对齐可以分为事实对齐和价值对齐。事实一致性要求模型在没有延续所需知识的情况下告诉我们它无法回答这个问题。然而,事实对齐在实践中是具有挑战性的,因为1)很难验证预训练模型中包含了什么知识,以及2)我们仍然缺乏一种方便的知识编辑方法来更新某些知识,同时又不损害其他知识。未来的工作可以考虑开发工具,通过分析模型预测中的概率置信度来检测“知识盲点”,以及在规模上编辑预先训练的模型中的知识的有效方法。对于价值比对,现有工作主要集中在使用人类或人工智能反馈来训练奖励模型作为人类判断的代理。在训练过程中,这种奖励模型将持续与生成LM相互作用,以增强期望的行为并抑制不期望的行为。RLHF是这种方式的代表性方法,已广泛应用于OpenAI ChatGPT等产品中。然而,最近的工作表明,RL优化可以利用不准确的奖励建模,这在RL形式化中也被称为“奖励黑客”问题。未来的工作可以寻求更多样、更细粒度的信号来取代标量形式的奖励,以帮助进行更稳定、更高效的对齐训练。
社会体现。
NLP模型应包含更全面的世界观,包括具体化和社会背景,以模拟现实的人类行为。这是因为社会和文化因素在很大程度上影响着人类的行为。最近,生成代理被引入,作为一种模拟可信人类行为的方法,通过将LLM与代理经历的完整记录结合起来。然而,要提高此类社会代理的准确性和复杂性,仍有挑战需要解决。扩展iNLP以处理更大、更复杂的环境是一个潜在的未来方向。这将使代理能够处理更雄心勃勃的人类行为模拟,并对用户交互产生更现实的响应。
塑性。
iNLP遇到的一个重大挑战是不断需要更新以适应现实世界的变化。学术文献中流行的方法通常使用基于梯度的微调方法。这些方法同时调整预训练模型中的大量参数,这可能是过度的。尽管如此,如果调整的参数数量不足,模型可能无法有效适应现实世界场景的变化。因此,识别对iNLP模型进行有效更新的方法对于实际应用至关重要。近年来,研究人员对持续学习领域的兴趣日益高涨,旨在增强模型随着时间的推移持续学习的能力,同时最大限度地减少先前获取的信息的损失。持续学习使iNLP模型能够适应新的数据和动态情况,而无需从头开始重新训练模型。值得注意的是,生物神经网络在其一生中不断需要基于神经元可塑性的新技能。未来的研究重点是更像人的模型预计将加快iNLP持续学习的进展。
速度与效率。
iNLP通常需要大型语言模型作为主干,因此具有高延迟和巨大的计算成本。由于需要频繁的迭代调用,与传统的NLP相比,高延迟问题对iNLP来说更为关键。在提高大型语言模型的速度和效率方面已经做了大量的工作,包括静态方法,如知识蒸馏、修剪、量化和模块替换;以及动态方法,如自适应计算、早期退出和模型级联。然而,上述大多数方法都需要访问模型参数,这在未来可能是不可能的,因为大多数最先进的广义模型,如ChatGPT和PaLM都是封闭来源的。因此,开发可以在不访问LLM参数的情况下加速LLM推理的技术是高效iNLP的一个有前途的未来。此外,重要的是不仅要考虑加速模型的加速比或保持的性能,还要考虑它们的鲁棒性、偏差和对齐。
上下文长度。
上下文长度是指语言模型所允许的输入标记的最大数量。例如,ChatGPT有一个8K词元的上下文窗口,而GPT-4将其扩展到32K词元。iNLP可以从长上下文窗口中受益匪浅。原因有三个:(1)它可以保持和理解更广泛的对话历史。(2) 处理较长上下文的能力对于涉及大量文本的任务至关重要,例如基于长文档的QA和环境中的详细观察。(3) 它还可以促进长格式内容的生成。最近关于记忆Transformer的研究已经说明了使用记忆增强技术将上下文窗口扩展到数万个词元的潜力。此外,Anthropic还推出了一个带有100K上下文窗口的聊天机器人。然而,尽管取得了这些进步,仍需要更多的研究来调查与显著增加上下文长度相关的挑战。
长文本生成。
生成长文本的能力在iNLP环境中至关重要。例如,在现实生活中的对话中,人类经常传达复杂的想法,并参与极其漫长的讨论,这需要进行多轮信息交流。此外,对于长期的机器人操作任务,LM需要生成一个长期的执行行动计划。然而,随着生成的文本变长,当前的语言模型倾向于生成可能缺乏结构、连贯性、质量甚至与输入提示的相关性的内容。因此,需要更复杂的自然语言处理技术来准确地捕捉语言的微妙之处,并产生连贯而有用的文本。
可访问性。
在大型语言模型部署领域,可访问性是一个关键问题。最突出的LLM,如GPT家族模型和Bard,主要是闭源的,这给那些寻求将其用于特定目的的人带来了重大障碍。最近,研究人员将重点转移到开发开源LLM上,包括LLaMA、Pythia和GLM。面向开源大型语言模型的运动预计将在未来获得势头。到目前为止,另一个受到有限研究关注的新兴趋势是在智能手机、笔记本电脑和汽车等边缘设备上部署LLM的可访问性,尽管之前已经有几项关于该主题的工作。对更易于访问的语言模型的研究可以扩展iNLP的可能性。例如,在涉及离线交互的场景中,它可能特别有益。
分析
尽管交互式语言模型显示出在广泛的主题和上下文中理解和生成复杂语言的强大能力,但其“内部工作”对用户和研究人员来说仍然是一个黑匣子。我们认为,对LM及其可解释性有更深入的了解可以改善LM代理表现出的相互作用行为。例如,Bills等人利用GPT-4通过分析GPT-2中所有神经元响应输入文本的激活来为其提供解释。直观地说,这种可解释性可以促进iNLP背景下语言模型中的知识更新。此外,对缩放定律的分析、涌现能力、放大性能预测、对齐和一般性能之间的权衡、LMs相互作用行为的可解释性也是未来研究的有希望的途径。
创造力
与流行的依赖于学习统计关系的语言建模方法相反,创造力涉及产生偏离传统模式的原始想法、概念或视角。长期以来,追求创造力一直是人工智能界的一个重大挑战,这是由开发能够在各个领域产生新知识和贡献原创想法的人类级代理的愿望驱动的。为了有效地产生更多的创意内容,建立一个详细的创意定义或判断标准至关重要。例如,生成新的隐喻需要在源域和目标域之间建立概念映射,而故事生成则需要创建原创、连贯和引人入胜的叙事和情节。此外,在生成的文本中生成新知识的能力,而不仅仅是提取现有知识,有助于增强创造力。此外,探索增强生成内容创造力的方法以确保实用性是至关重要的。例如,使语言模型能够根据观察到的现象发现理论或规律需要付出专门的努力,并可能需要探索语言模型参与意识思维的新范式。对更具创造性的语言模型的研究可能会揭示LMs的一系列复杂的互动特性或行为,例如开发更具创造力的写作助理,甚至出现语言模型代理之间的复杂辩论。
评价
如§5所示,对iNLP的评估仍然是空白的,缺乏多样性。如何设计更好的评估方法将是未来最重要的研究课题之一,这将深刻影响iNLP框架的设计和优化方向。具体而言,互动环境下的评估方法可能会在以下几个方面发展:(1)更多地关注互动过程的评估,而不仅仅是结果。(2) 设计一个更标准的评估基准,以支持不同交互模型的比较。(3) 评估大型语言模型的交互性。
9 结论
在这篇论文中,我们对交互式自然语言处理进行了全面的探索,这是一种新兴的范式,将语言模型定位为不同语境中的交互式代理。我们提出了iNLP的统一定义和框架,然后进行了系统分类,解构了其整体组件,如交互对象、接口和方法。此外,我们还阐明了该领域使用的各种评估方法,展示了其众多应用,讨论了其伦理和安全问题,并思考了未来的研究方向。通过关注iNLP与人类、知识库、模型、工具和环境交互的能力,我们强调了该范式在增强一致性、个性化反应、丰富表征、避免幻觉、分解复杂任务和将语言融入现实等方面的潜力,这项综述对iNLP的现状和未来潜力进行了广泛的了解,为渴望深入研究这一快速发展的领域的研究人员提供了重要的参考点。