0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

从大模型中蒸馏脚本知识用于约束语言规划

深度学习自然语言处理 来源:知识工场 2023-06-08 09:46 次阅读

为了实现日常目标,人们通常会根据逐步指令来计划自己的行动。这些指令被发现是目标导向的脚本,包括一组达成目标的原型事件序列。为了实现目标(例如制作蛋糕),通常需要按照某些指令步骤进行,例如收集材料,预热烤箱等。这种逐步脚本的规划会朝着复杂目标的推理链条进行。因此,规划自动化意味着在各个领域中实现更智能和合理的人工智能系统,例如可执行的机器人系统和用于问题解决的推理系统。

最近的研究表明,语言模型(LMs)可以用于计划脚本。先前的工作已经表明,大型语言模型(LLMs),例如GPT-3、InstructGPT和PaLM,可以以零/少量示例的方式有效地将目标分解为过程步骤。为了训练专业模型,研究人员提出了自动理解和生成脚本知识的数据集。但是,先前的工作主要关注于针对典型活动的抽象目标进行规划。针对具有特定约束条件(例如糖尿病患者)目标的规划仍然未得到充分研究。

本文介绍了复旦大学知识工场实验室的最新研究论文《Distilling Script Knowledge from Large Language Models for Constrained Language Planning》,该文已经被自然语言处理顶会ACL 2023作为主会长文录用。本文工作关注约束语言规划的问题,将语言规划推向了更具体的目标。论文作者评估了LLMs的少量示例约束语言规划能力,并为LLMs开发了一种超生成然后过滤的方法,使准确性提高了26%。基于本文的方法,作者还使用LLMs生成了一个约束语言规划的高质量脚本数据集(CoScript)。利用CoScript,可为专业化和小型模型提供具有约束语言规划能力的能力,其性能可媲美LLMs。

16a8de72-0483-11ee-90ce-dac502259ad0.png

一、研究背景

为了实现日常目标,人们通常会根据逐步指令来计划自己的行动。这些指令被发现是目标导向的脚本,包括一组达成目标的原型事件序列。为了实现目标(例如制作蛋糕),通常需要按照某些指令步骤进行,例如收集材料,预热烤箱等。这种逐步脚本的规划会朝着复杂目标的推理链条进行。因此,规划自动化意味着在各个领域中实现更智能和合理的人工智能系统,例如可执行的机器人系统和用于问题解决的推理系统。

16f4ba22-0483-11ee-90ce-dac502259ad0.png

图1:InstructGPT生成了一系列“为糖尿病患者做蛋糕”的目标规划步骤

最近的研究表明,语言模型(LMs)可以用于计划脚本。先前的工作已经表明,大型语言模型(LLMs),例如GPT-3、InstructGPT和PaLM,可以以零/少量示例的方式有效地将目标分解为过程步骤。为了训练专业模型,研究人员提出了自动理解和生成脚本知识的数据集。但是,先前的工作主要关注于针对典型活动的抽象目标进行规划。针对具有特定约束条件(例如糖尿病患者)的目标的规划仍然未得到充分研究。

二、基于大规模语言模型的限制约束语言规划

在本文中,作者定义了约束语言规划问题,该问题对规划目标施加不同的约束。例如,抽象目标(制作蛋糕)可以由具有多方面约束的不同现实特定目标所继承。蛋糕可以用1)不同的配料(例如巧克力或香草);2)各种工具(例如使用微波炉或烤箱);或3)不同的用途(例如用于婚礼或生日派对)来制作。

1730b770-0483-11ee-90ce-dac502259ad0.png

表1:促进特定目标新实例生成的三种约束类型及其定义

一个好的规划者应编写合理并忠实于约束的脚本。为此,作者探究了LLMs是否会忠实于约束地进行规划。由于没有特定目标的数据集支持本文的研究,必须首先获取这些目标。如表1所述,作者使用InstructGPT对抽象目标进行了多方面约束的人在环数据采集进行扩展。首先,作者手动准备了一个示例池,从中使用约束从抽象目标中推导出具体目标。每个示例都附带有一个约束类型(即修饰符、方法或意图),并包含多个约束和特定目标,以便InstructGPT为一个抽象目标生成多个具体目标。

接下来,作者枚举wikiHow的每个抽象目标,以确保数据多样性。然后,从池中随机抽取约束类型的多个示例。最后,将任务提示、示例和抽象目标输入InstructGPT中,以完成具体目标。表2(I)中的一个示例显示了InstructGPT针对抽象目标(“制作蛋糕”)和约束类型修饰符以及一些示例生成了约束“巧克力”和“香草”,并完成了特定目标(“制作巧克力蛋糕”和“制作香草蛋糕”)。获取带有约束的具体目标后,可以测试LLM实现这些目标的能力。

177c1ada-0483-11ee-90ce-dac502259ad0.png

表2: InstructGPT的提示示例,用于通过上下文学习生成特定目标和脚本。生成的文本已经被突出显示

表3报告了结果的整体准确度,从中可以发现:1)总体而言,所有基准模型在特定目标的规划上都取得了不令人满意的结果,其中InstructGPT表现最佳。“让我们一步一步思考”并不能帮助太多;2)从wikiHow检索不会导致所需的脚本。

17d6fd9c-0483-11ee-90ce-dac502259ad0.png

表3:不同约束类型的生成脚本准确率(%),通过人工评估得出。

为了回应本文方法的动机,作者进行了详细的分析,以研究为何LLM会失败。图3的结果表明:1)生成的脚本的语义完整性是可以接受的,但约束的忠实度无法保证;2)本文的方法在语义完整性和约束忠实度方面都极大地提高了规划质量。

184a7006-0483-11ee-90ce-dac502259ad0.png

图2:通过人工评估生成的脚本的错误

因此,作者采用了过度生成然后过滤的思路来提高生成质量。正如图3所示,作者从InstructGPT中过度生成K个样本,然后开发一个过滤模型来选择忠实的脚本。由于语言表达方式多样,作者依赖于目标和脚本之间的语义相似性进行过滤,而不是规则和模式(即,必须在脚本中出现约束词)。

作者首先收集了一组目标,包括所求目标作为正样本以及从相同的抽象目标生成的其他目标作为负样本。然后,将脚本和目标转换为InstructGPT嵌入,并计算余弦相似性作为相似性分数来衡量语义相似性。此外,作者奖励明确包含目标约束关键字的脚本,只有所求目标在目标集合得分最高时才会保留该脚本。

18a837e0-0483-11ee-90ce-dac502259ad0.png

图3:使用InstructGPT生成具体目标并使用超生成-过滤框架进行目标规划的工作流程。

结果如表3所示。使用本文的方法,InstructGPT可以大幅提高脚本的质量。将相似度函数替换为来自其他预训练模型的嵌入会导致性能下降。

三、从大模型中获取脚本知识

LLMs成本高,需为更小、专业化模型添加语言规划能力。为实现此目标,创建数据集是必要步骤,但以前的数据集不支持特定目标的规划,手动注释成本高。为此,作者使用符号知识蒸馏从LLMs中提取受限制的语言规划数据集。作者使用超生成-过滤框架为受限制的语言规划脚本数据集CoScript构建了高质量的具体目标和脚本,总共生成了55,000个具体目标和相应的脚本。

作者还随机选择2,000个数据作为验证集,3,000个数据作为测试集。为确保验证集和测试集的质量,作者要求众包工作者查找和修正不正确的样本。通过收集这5,000个样本的注释数据进行错误识别,估计出具体目标的准确率为97.80%,受限脚本生成的准确率为94.98%,与表3中的结果一致。

18ef038c-0483-11ee-90ce-dac502259ad0.png

表4:Coscript和之前数据集的对比

并与其他数据集进行了比较,如表4所示,发现CoScript比proScript规模更大,具有更多的脚本和更高的每个脚本步骤数,并且CoScript具有高度的词汇多样性。

191990c0-0483-11ee-90ce-dac502259ad0.png

图4:CoScript的约束分布

图4显示了CoScript的约束分布,发现CoScript在生成的具体目标中显示出高度的异质性和多元化。有趣的是,InstructGPT倾向于以“if”或“when”这样的词语开始假设性约束(例如,“如果有人对乳糖不耐受,则制作蛋糕”),这表明未来在语言规划中进行反事实推理的研究潜力。

四、小模型的约束规划能力

有了CoScript,可以为受限制的语言规划训练更小但更专业化的模型。表5显示了在wikiHow和CoScript上训练的模型的比较。一般而言,CoScript训练的LMs表现优于wikiHow。T5在忠实度上优于GPT-2,可能是由于其编码器-解码器框架更擅长处理输入信息。然而,在其他文本生成指标上,GPT-2优于T5。这可能是因为CoScript是从InstructGPT蒸馏而来,导致数据分布存在偏差,偏向于仅解码的因果语言模型,例如GPT系列。而且我们发现使用检索示例来增强模型可以提高语义完整性。

1957b1e8-0483-11ee-90ce-dac502259ad0.png

表5:不同训练集上模型的总体脚本生成性能。请注意,所有模型的测试集相同。

作者进一步在CoScript和wikiHow上微调T5(3B),以生成§4.4中保留在训练集之外的具体目标的脚本。表7显示,使用检索增强微调的T5可以生成比表3中大多数LLMs质量更高的脚本,这表明当适当地在适当的数据集上进行训练时,较小的模型也可以超越较大的模型。

19a6c2c4-0483-11ee-90ce-dac502259ad0.png

表6:不同模型生成的脚本准确率(%)。我们在wikiHow和CoScript上微调了T5(3B),同时通过少样本上下文学习来部署LLMs。

五、总 结

本文旨在定义在特定约束条件下朝着特定目标进行规划。本文作者提出了一种更好的提示方法,用以改进LLMs的受约束语言规划能力,并从LLMs中提炼出了一个新的数据集(CoScript)。实验表明,本文的方法提高了LLMs针对特定目标的规划质量,而在CoScript上训练的较小模型甚至优于LLMs。希望CoScript数据集能成为推进更加复杂和多样化目标和约束条件下的语言规划研究的宝贵资源。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    210

    文章

    28146

    浏览量

    206049
  • 人工智能
    +关注

    关注

    1791

    文章

    46737

    浏览量

    237299
  • 过滤器
    +关注

    关注

    1

    文章

    427

    浏览量

    19532
  • GPT
    GPT
    +关注

    关注

    0

    文章

    351

    浏览量

    15298

原文标题:从大模型中蒸馏脚本知识用于约束语言规划

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    一文详解知识增强的语言预训练模型

    随着预训练语言模型(PLMs)的不断发展,各种NLP任务设置上都取得了不俗的性能。尽管PLMs可以大量语料库中学习一定的知识,但仍旧存在很多问题,如
    的头像 发表于 04-02 17:21 9514次阅读

    【大语言模型:原理与工程实践】大语言模型的基础技术

    就无法修改,因此难以灵活应用于下游文本的挖掘。 词嵌入表示:将每个词映射为一个低维稠密的实值向量。不同的是,基于预训练的词嵌入表示先在语料库利用某种语言
    发表于 05-05 12:17

    【大语言模型:原理与工程实践】大语言模型的应用

    实际应用前需解决的挑战。为提升大语言模型的性能,高级的提示词技术可以促进大语言模型与环境进行动态交互,引导其生成和推理规划。 检索增强生成
    发表于 05-07 17:21

    【《大语言模型应用指南》阅读体验】+ 基础知识学习

    的表达方式和生成能力。通过预测文本缺失的部分或下一个词,模型逐渐掌握语言的规律和特征。 常用的模型结构 Transformer架构:大语言
    发表于 08-02 11:03

    用于调试的MCU Xpresso IDE调试脚本语言吗?

    我们有用于调试的 MCUXpresso IDE 调试脚本语言吗?我检查了 LinkServer 脚本,这不足以满足我们的需求。我正在寻找类似德州仪器 Code composer studio 中使
    发表于 04-20 09:11

    深度学习:知识蒸馏的全过程

    。  0. 写在前面 有人说过:“神经网络用剩的logits不要扔,沾上鸡蛋液,裹上面包糠...” 这两天对知识蒸馏(Knowledge Distillation)萌生了一点兴趣,正好写一篇文章分享一下。这篇文章姑且算是一篇小科普。 1.
    的头像 发表于 01-07 14:36 6044次阅读

    如何向大规模预训练语言模型融入知识

    本文关注于向大规模预训练语言模型(如RoBERTa、BERT等)融入知识
    的头像 发表于 06-23 15:07 4170次阅读
    如何向大规模预训练<b class='flag-5'>语言</b><b class='flag-5'>模型</b><b class='flag-5'>中</b>融入<b class='flag-5'>知识</b>?

    若干蒸馏方法之间的细节以及差异

    以往的知识蒸馏虽然可以有效的压缩模型尺寸,但很难将teacher模型的能力蒸馏到一个更小词表的student
    的头像 发表于 05-12 11:39 1403次阅读

    关于快速知识蒸馏的视觉框架

    知识蒸馏框架包含了一个预训练好的 teacher 模型蒸馏过程权重固定),和一个待学习的 student 模型, teacher 用来产生
    的头像 发表于 08-31 10:13 864次阅读

    用于NAT的选择性知识蒸馏框架

    尽管NAT在拥有许多潜在的优势,目前的工作这类模型仍然在很大程度上依赖于句子级别的知识蒸馏(sequence-level knowledge distillation, KD)[2]
    的头像 发表于 12-06 14:44 682次阅读

    如何度量知识蒸馏不同数据增强方法的好坏?

    知识蒸馏(knowledge distillation,KD)是一种通用神经网络训练方法,它使用大的teacher模型来 “教” student模型,在各种AI任务上有着广泛应用。
    的头像 发表于 02-25 15:41 852次阅读

    如何将ChatGPT的能力蒸馏到另一个大模型

    Language Model》 提出了一个将知识从一个复杂的、闭源的大型语言模型(LLM)转移到一个紧凑的、开源的LLM的做法,其中加入了数据反馈的
    的头像 发表于 06-12 15:06 848次阅读
    如何将ChatGPT的能力<b class='flag-5'>蒸馏</b>到另一个大<b class='flag-5'>模型</b>

    TPAMI 2023 | 用于视觉识别的相互对比学习在线知识蒸馏

    本次文章介绍我们于 TPAMI-2023 发表的一项用于视觉识别的相互对比学习在线知识蒸馏(Online Knowledge Distillation via Mutual Contrastive
    的头像 发表于 09-19 10:00 738次阅读
    TPAMI 2023 | <b class='flag-5'>用于</b>视觉识别的相互对比学习在线<b class='flag-5'>知识</b><b class='flag-5'>蒸馏</b>

    任意模型都能蒸馏!华为诺亚提出异构模型知识蒸馏方法

    相比于仅使用logits的蒸馏方法,同步使用模型中间层特征进行蒸馏的方法通常能取得更好的性能。然而在异构模型的情况下,由于不同架构模型对特征
    的头像 发表于 11-01 16:18 946次阅读
    任意<b class='flag-5'>模型</b>都能<b class='flag-5'>蒸馏</b>!华为诺亚提出异构<b class='flag-5'>模型</b>的<b class='flag-5'>知识</b><b class='flag-5'>蒸馏</b>方法

    脚本语言和编程语言的区别

    脚本语言和编程语言是计算机语言的两个主要分类。尽管两者都是用于编写计算机程序的工具,但它们在设计和运行方式上存在一些显著的区别。下面将详细探讨脚本语
    的头像 发表于 11-22 14:33 2837次阅读