SELF-QA:无监督知识引导语言模型对齐

论文:SELF-QA: Unsupervised Knowledge Guided Language Model Alignment

Arxiv:https://arxiv.org/abs/2305.11952

论文背景

        尽管 ChatGPT 具有令人印象深刻的功能,但构建用于指令调整的监督微调 (SFT) 数据仍面临重大挑战。注释数据所需的人力以及与数据质量、多样性、准确性等相关的问题阻碍了这项技术的发展。虽然已经提出了 Self-Instruct 来缓解这个问题,但它仍然依赖于一小组人工编写的种子指令来提供指导。此外,该方法在控制生成的指令数据的域覆盖范围和确保生成的答案的正确性方面的能力有限。因此,在利用丰富的无监督数据(尤其是特定领域的专业知识)方面有着巨大的未开发潜力。
        因此,在本文中我们介绍了 SELFQA,这是一个从无监督知识生成 SFT 数据的框架,灵感来自人类的自我提问学习方法。 SELF-QA 用大量无监督知识替代了其他自对齐模型中手工编写的种子,减轻了语言模型根据特定需求生成教学数据的难度。如下图所示,在知识引导的指令生成和机器阅读理解阶段,无监督数据被依次使用。SELF-QA 不仅减少了对人工标注者的依赖,而且可以生成多样化、正确且领域特定的教学数据。使用来自各个领域的无监督语料进行的实验证明了我们提出的方法的有效性。

The pipeline of SELF-QA

 相关工作

1)指令调优的语言模型

        近年来,许多研究探索了通过利用标注过的指令数据来训练语言模型以提高模型遵循和执行指令的能力。这种方法允许模型学习如何从不同类型的指令中识别并提取相关信息,并使用这些信息来生成准确且相关的响应。

        然而,创建这样的指令数据集需要大量的人工标注,这成为了扩展和广泛应用指令指导语言模型的一个瓶颈。因为人工标注既耗时又昂贵,且难以覆盖所有可能的指令类型和场景。

        为了解决这个问题,研究人员正在探索减少在生成指令数据时对人类参与需求的方法。这包括开发自动化或半自动化的方法来生成指令数据,或者使用其他类型的监督信号(如自监督学习)来辅助模型的训练。

举例说明:

        

        假设我们有一个语言模型,我们想要训练它来理解并执行烹饪指令。我们可以构建一个包含各种烹饪指令的数据集,每个指令都附有一个正确的执行步骤或结果。例如:

  • 指令:“制作一份凯撒沙拉。”
  • 标注的响应:“首先,准备生菜、鸡肉、培根、奶酪和凯撒沙拉酱。然后,将生菜洗净并撕成小块,鸡肉和培根煎熟后切成小块。接着,将这些材料放入一个大碗中,加入适量的凯撒沙拉酱,并轻轻拌匀。最后,将沙拉装盘并享用。”

        通过让模型学习这样的指令-响应对,模型就能够学会如何理解和执行类似的烹饪指令。然而,为了覆盖所有可能的烹饪指令,我们需要一个庞大的数据集,这通常需要大量的人工标注。为了减轻这一负担,研究人员可能会找替代算法来辅助训练过程。

2)自举式指令生成

        与Self-Instruct,Self-Align等方法不同,文中提到的新方法试图通过利用无监督知识来有效解决这些问题。这意味着新方法可能不依赖于任何初始的监督信息,而是直接从大规模的无标注数据中学习指令的模式和结构。通过这种方式,新方法可能能够更广泛地覆盖不同的领域和内容,同时提高指令响应的准确性和专业性。

3)问题生成与回答

        问题生成和问答是自然语言处理中两个密切相关的任务。它们可以看作是一个双重问题,前者涉及从给定的段落或一组信息创建问题,后者涉及根据给定的段落或一组信息回答问题。

举例说明:

1)问题生成

        是指从给定的文本段落或信息集中创建出相关的问题。这个过程需要理解文本的内容,并基于文本的信息提出有意义的问题。例如:

  • 给定文本:“猫是小型肉食性哺乳动物,以其灵活的身体和敏锐的感官而闻名。”
  • 生成的问题:“猫是什么类型的动物?” 或者 “猫因其什么特性而闻名?”

2)问题回答

        问题回答则是基于给定的文本段落或信息集来回答提出的问题。

  • 给定文本:“苹果是一种水果,富含多种维生素和矿物质。”
  • 生成的问题:“苹果是什么?”
  • 生成的回答:“苹果是一种水果。”

        其中,机器阅读理解(MRC)是问题回答中常用的一种技术。它让机器能够像人类一样阅读和理解文本,然后回答基于文本内容的问题。MRC模型通过训练来学习如何从文本中提取相关信息并生成答案。

        此外,自我问答学习是一种学习方法,它鼓励个体基于提供的信息自己提出问题并尝试回答,然后将自己的答案与原始知识进行比较。这种方法可以帮助个体更深入地理解和记忆信息。例如,学生在学习一篇科学文章时,可以自己提出问题如“这篇文章的主要观点是什么?”然后尝试回答,并核对答案是否正确。

        最后,作者提出了一个假设,即在特定领域的指令样本中,指令和输入可以视为一个整体,并且指令可以被视为问题,而指令的输出则被视为答案。这意味着在某些情境下,我们可以将生成和执行指令的过程视为一种特殊形式的问题生成和回答。例如,在编程中,一个函数或方法的调用指令可以被视为一个问题(即“如何执行这个操作?”),而该指令的执行结果则是对这个问题的回答。对于特定领域的指令样本,指令和输入通常可以作为一个整体来考虑。因此,在本文中,我们假设指令等价于问题,指令输出等价于答案

方法论

        我们提出的 SELF-QA 由三个不同的阶段组成:知识引导指令生成机器阅读理解过滤和修剪

1)知识引导指令生成

        核心思想:在这一阶段,我们使用语言模型本身根据无监督的文本生成指令。这些生成的指令是特定于领域的,并且与提供的无监督文本内容相关。

        注意事项:在训练和推理过程中,指令被输入给语言模型时,模型并没有关于原始文本的任何背景知识。因此,需要制定一些指导原则,确保生成的指令不依赖于也不引用原始文本中的内容。

        数据处理1)无结构化数据:如网页和书籍数据,经过清洗处理后可以直接使用。2)结构化数据:如表格和知识图谱,需要先转换为无结构化的文本数据才能被利用。这可以通过使用模板填充槽位或将每个数据项与其对应的属性名连接起来来实现,如下图所示。

Examples of transformation of unsupervised structured data

举例说明:

        指令生成提示:背景知识是:随着全球气候变化的加剧,环保节能成为了社会关注的热点。各国政府和企业纷纷采取措施,推广绿色能源和节能减排技术。...(此处省略具体文本内容) 请根据上述文章内容生成十个尽可能多样化的指令问题。这些问题可以是关于事实的问题,或者是对相关内容的理解和评价。请假设在提问时没有对应的文章可供参考,因此不要在问题中使用如'这个'或'这些'等指示代词。请按照以下格式生成问题: 1. 问题:目前全球面临的主要环境问题是什么? 2. 问题:请列举三种节能减排的技术。 ...(继续列出其他问题)

2)机器阅读理解

        在给定无监督知识和生成的指令问题后,语言模型需要生成对应答案的阶段。这个过程类似于阅读理解任务,因此也被称为阅读理解阶段。

        核心思想:在这一阶段,语言模型需要根据对应的无监督知识和之前生成的指令问题来生成答案。这个过程可以看作是一个序列生成任务,其中模型根据当前已生成的内容(包括之前的答案部分、无监督知识和问题本身)来预测下一个要生成的答案部分。

举例说明:

        假设我们有无监督知识是关于“人工智能的发展历史”,并且之前生成了一个指令问题:“请简述人工智能发展的三个重要里程碑。” 在这个阅读理解阶段,我们给语言模型的提示可能如下:

阅读理解提示:  
背景知识是:{这里插入关于人工智能发展历史的无监督知识数据}  
请基于上述文章内容回答以下问题:请简述人工智能发展的三个重要里程碑。  
请尽可能详细地回答这个问题,但不要在答案中改变原文的关键信息,也不要在答案中包含“基于上述文章”等表述。  
请按照以下格式生成对应的答案:  
问题:请简述人工智能发展的三个重要里程碑。  
答案:...

        语言模型接收到这个提示后,会根据无监督知识中关于人工智能发展历史的描述,以及问题“请简述人工智能发展的三个重要里程碑”来生成一个答案。这个答案可能会是类似这样的:

答案:人工智能的发展历史中有三个重要里程碑。首先,是图灵机的提出,为计算机科学和人工智能的发展奠定了理论基础。其次,是达特茅斯会议的召开,标志着人工智能作为一个独立学科的诞生。最后,是深度学习的兴起,推动了人工智能技术在多个领域的突破和应用。

        这个答案就是语言模型根据无监督知识和指令问题生成的,它符合阅读理解任务的要求,即基于给定的文本内容来回答问题。

3)过滤和修剪

        过滤和修剪虽然我们明确指示模型没有来自外部文档的先验知识,并且禁止在生成答案中使用诸如“this”之类的指示代词以及诸如“基于上述内容”之类的短语,但我们仍然观察到语言模型仍然产生违反这些规则的文本。此外,生成的指令实例还展示了它们不遵守所需格式并变得不可解析的情况。因此,有必要进一步过滤掉这些有问题的示例。

        为了缓解这些问题,我们实现了一个后处理步骤来过滤不适当的响应并纠正任何格式错误。这涉及开发启发式方法和基于规则的方法来识别和删除违反指示约束的实例。通过应用这些过滤器,我们确保生成的文本遵守预定义的指南并保持所需的正确性和连贯性水平。

结论

        在本文中,我们介绍了 SELF-QA,这是一个从无监督知识生成指令调整数据的框架。无监督数据在知识引导指令生成和机器阅读理解阶段按顺序使用。我们的实验证明了 SELF-QA 在生成多样化、正确和特定领域的指令数据方面的有效性。通过减少对人工注释者的依赖,SELFQA 提供了一种有前途的方法来提高指令调整的效率和可扩展性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值