论文 | Reframing Instructional Prompts to GPTk’s Language

作者: Swaroop Mishra, Daniel Khashabi, Chitta Baral, Yejin Choi, Hannaneh Hajishirzi

论文摘要:语言模型 (LM) 更容易遵循哪些类型的指令提示? 我们通过进行广泛的实证分析来研究这个问题,这些分析阐明了成功指令提示的重要特征。具体而言,我们研究了将提示手动重新构建为更有效形式的几种重构技术。一些例子包括将复杂的任务指令分解为多个更简单的任务,或将指令细化为一系列步骤。我们的实验比较了在 12 个 NLP 任务上使用重构指令提示的 LM 的零样本和少样本学习性能。与原始指令相比,我们的重构指令在具有不同规模的 LM 中都取得了显著的改进。例如,相同的重构提示平均提高了 GPT3 系列和 GPT2 系列的少样本学习性能 12.5% 和 6.7%。此外,重构指令减少了在少样本学习设置中提示 LM 所需的示例数量。我们希望这些以经验为驱动的技术将为更有效的未来提示算法铺平道路。

五种重构技术:

    1. 模式重构 (Pattern Reframing):

问题: LM 往往忽略抽象描述,难以理解需要背景知识的内容。

方法: 找到目标任务的低级模式,并在指令中添加这些模式。

示例: 将"生成一个需要常识来回答的问题"重构为"使用 '可能会发生什么'、'将会...?'、'为什么可能会'、'什么可能导致了'、'关于什么可能是真的'、'什么可能是真的'、'什么必须' 以及类似的短语来提问"。

    1. 项目化重构 (Itemizing Reframing):

问题: LM 难以遵循包含多个要求的长段落指令,并且对否定陈述的处理效果不佳。

方法: 将长段落分解为包含多个要求的子弹点列表,并将否定陈述转换为肯定陈述。

示例: 将"根据给定的上下文单词生成输出。做 < >。做 < >。不要 < >"重构为"根据给定的上下文单词生成输出。- 做 < >- 做 < >- 做 < >"。

    1. 分解重构 (Decomposition Reframing):

问题: LM 难以处理需要多步推理的复杂任务。

方法: 将复杂的任务分解为多个不同的子任务,这些子任务可以按顺序或并行执行。

示例: 将"根据给定的上下文单词,你需要创建一个包含空格 (_) 及其对应答案的句子对。句子对应该看起来相似,并且应该关于两个相关但不同的对象;例如 '奖杯' 和 '手提箱'。此外,句子必须在触发词(例如 '小' 和 '大')方面有所不同,这些触发词表达了两个对象之间对比属性。"重构为五个子任务:1) 基于给定的上下文单词写两个对象;2) 写一个连接对象的句子;3) 从句子中创建一个填空题;4) 修改问题,使答案翻转;5) 生成问题和答案。

    1. 限制重构 (Restraining Reframing):

问题: LM 可能会偏离其预训练目标,例如,在预测问题类型时回答问题,或在阅读理解任务中根据背景知识回答问题。

方法: 在任务指令中添加关于输出生成的约束条件。

示例: 将"给定问题对应答案的类型是什么?数字、日期还是跨度?"重构为"给定问题对应答案的类型是什么?数字、日期还是跨度?请回答数字、日期或跨度"。

    1. 专业化重构 (Specialization Reframing):

问题: LM 忽略通用指令,并且可能误解输出格式,尤其是在指令中包含冗余文本时。

方法: 将指令重新表述为直接描述低级任务的指令,并删除所有重复和通用的陈述。

示例: 将"回答以下问题"重构为"计算以下问题的答案。你需要添加或减去问题中与两个对象相关的数字"。

实验结果

论文在 NATURAL INSTRUCTIONS 数据集上进行了广泛的实验,比较了原始指令和重构指令在不同模型上的表现。主要发现如下:

重构指令优于原始指令和基线方法: 在少样本和零样本学习设置中,重构指令在 ROUGE-L 指标上均优于原始指令、模式选择基线、校准方法和最大示例方法。

重构指令在不同模型上表现一致: 重构指令在不同模型上均表现出一致的性能提升,这表明重构指令对不同架构的模型具有泛化能力。

重构指令与监督学习模型相当: 在一些任务类别中,重构指令在少样本学习设置中甚至优于监督学习模型,这表明重构指令可以有效地利用大型语言模型的知识。

相关推荐
Lx352几秒前
AutoML逆袭:普通开发者如何玩转大模型调参
人工智能
IT古董2 分钟前
【漫话机器学习系列】185.神经网络参数的标准初始化(Normalized Initialization of Neural Network Parameter
人工智能
嘻嘻哈哈开森4 分钟前
Java开发工程师转AI工程师
人工智能·后端
rocksun5 分钟前
Agentic AI和平台工程:如何结合
人工智能·devops
孔令飞16 分钟前
关于 LLMOPS 的一些粗浅思考
人工智能·云原生·go
Lecea_L22 分钟前
你能在K步内赚最多的钱吗?用Java解锁最大路径收益算法(含AI场景分析)
java·人工智能·算法
2501_9071368225 分钟前
OfficeAI构建本地办公生态:WPS/Word双端联动,数据自由流转
人工智能·word·wps
飞哥数智坊30 分钟前
从零构建自己的MCP Server
人工智能
是Dream呀32 分钟前
ResNeXt: 通过聚合残差变换增强深度神经网络
人工智能·算法
项目申报小狂人43 分钟前
CUDA详细安装及环境配置——环境配置指南 – CUDA+cuDNN+PyTorch 安装
人工智能·pytorch·python