ACL2023 | 大模型如何快速构建指令遵循数据集?self-instruct:用175条种子数据追上InstructGPT001效果

这篇具有很好参考价值的文章主要介绍了ACL2023 | 大模型如何快速构建指令遵循数据集?self-instruct:用175条种子数据追上InstructGPT001效果。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、概述

title:SELF-INSTRUCT: Aligning Language Models with Self-Generated Instructions

论文地址:https://arxiv.org/abs/2212.10560

代码:GitHub - yizhongw/self-instruct: Aligning pretrained language models with instruction data generated by themselves.

1 Motivation

  1. 构造instruction data非常耗时耗力,常受限于质量,多样性,创造性,阻碍了instruction-tuned模型的发展。
  2. 背景:instruction-tuned方法是指利用非常多的指令数据【人类instructions指令和respond回答数据】去finetuned LLM模型,让模型能够理解人类指令,训练后使其对新的任务有非常强的zero-shot能力。

2 Methods

  1. 方法概述:本文提出self-instruct框架,通过bootstrapping off方法让原始的LM模型直接生成instruction数据,通过过滤和筛选后,产生大量的insturction指令数据(多样性和效果都不错),进而可以极大降低instruction数据的构建成本。
  2. 方法步骤总结:通过少量种子数据 + LM模型本身(未经过tuned模型)=> 生成instruction(指令)+ input(指令提到的输入,可以为空)+ output(响应输出)=> 然后filters过滤无效和相似的样本 => 来构造非常多的instruction指令遵循数据,详细步骤如下:
ACL2023 | 大模型如何快速构建指令遵循数据集?self-instruct:用175条种子数据追上InstructGPT001效果

2.1 Defining Instruction Data

  • Instruction:指令
  • X:根据instruction,X可能为空或者不为空。例如:输入X为空的Instruction:write an essay about school safety,输入不为空的Instruction:write an essay about the following topic
  • Y:答案,只根据X或者Instruction理想的response回答

2.2 Automatic Instruction Data Generation

  • Instruction Generation:使用175个种子数据来生成新的Instruction,每一步采用8-few-shot的策略,其中6个是人类写的,2个是机器生成的。
ACL2023 | 大模型如何快速构建指令遵循数据集?self-instruct:用175条种子数据追上InstructGPT001效果
  • Classification Task Identification:利用LM采用few-shot的方式来预测1中生成的instructions是否为分类任务,采用12个分类任务,19个非分类任务作为few-shot的例子。
ACL2023 | 大模型如何快速构建指令遵循数据集?self-instruct:用175条种子数据追上InstructGPT001效果

2.3 Instance Generation:采用两种方法来生成实例X和Y

  • 输入优先方法(Input-first Approach),首先根据说明提出输入字段X,然后产生相应的输出Y,这里task就是input X,output就是输出Y,也是通过in-context learning来做的,主要处理非分类的实例生成。
ACL2023 | 大模型如何快速构建指令遵循数据集?self-instruct:用175条种子数据追上InstructGPT001效果
  • 分类任务的输出优先方法(Output-first Approach),先生成可能的类标签,然后生成对应句子【这么做是为了控制正负样本比例】
ACL2023 | 大模型如何快速构建指令遵循数据集?self-instruct:用175条种子数据追上InstructGPT001效果

2.3 Filtering and Postprocessing

  • 过滤相似度比较高的,和已有的样本ROUGE-L小于0.7的才要
  • 过滤image,picture,graph通常LLM无法处理的词
  • 过滤instruction相同但是answer不同的
  • 过滤太长或者太短

2.4 FineTuning

  • 采用多个templates模版,来encode instruction和instance进行训练,提升不同格式的鲁棒性。

1.3 Conclusion

  1. 比原始的GPT-3模型,绝对提升了33%,并且达到了差不多追上InstructGPT001的效果。就算利用公开的instruct数据,也有不错的提升。
ACL2023 | 大模型如何快速构建指令遵循数据集?self-instruct:用175条种子数据追上InstructGPT001效果
  • 总结:
    • 就用了175个原始种子数据,利用GPT3接口finetuned模型,比原始的GPT3高了33个点,并且居然和InstructGPT001效果差不太多了。
    • 有了充分的训练数据,在SUPERNI数据集(其更偏向于研究领域任务,与人类的Instruction的分布还是有差异,后续也针对真实的人类Instruction分布做了实验)上训练,用了本文提出的self-instruct还是有2个点的提升。
  1. self-instruct提供了一个不用大量标注就能让原始的LM(未进过指令学习的模型)学习理解人类指令的解决方案,极大的降低指令数据的生成和标注成本。
  2. 本文发布了大规模的synthetic数据集,方便后续大家进行instruction tuning的研究。

1.4 limitation

  1. 长尾效应还比较严重:self-instruct依赖于LMs生成数据,会继承LM的缺陷,偏向于出现频率高的词。在常见的指令上效果可能不错,在长尾样本上可能效果比较差。
  2. 依赖大模型:依赖大模型的归纳偏差(inductive biases),可能只在大模型上效果比较好,由于大模型资源要求比较大,这也限制了小模型的使用。
  3. 增强LM的偏见:可能会放大social bias,例如模型可能无法产生比较balanced的label。

二、详细内容

1 构建面向用户实际需求的Instructions进行训练进而评估self-instruct是否有效果

ACL2023 | 大模型如何快速构建指令遵循数据集?self-instruct:用175条种子数据追上InstructGPT001效果
  • 背景:SUPERNI数据更偏向于研究任务,这里通过头脑风暴构造了一些更偏向用户实际需求的Instructions,来检验self-instruct的效果,还是和InstructGPT系列来比较
ACL2023 | 大模型如何快速构建指令遵循数据集?self-instruct:用175条种子数据追上InstructGPT001效果
  • 结论:效果也基本接近InstructGPT001,说明了其有效性,这里只使用了252个种子数据,也可以极大的降低Instruction构建的成本。

2 评估使用本文self-instruct方法扩充的Instruction是否真的有用

方法:从Instruction数量、回复response质量两个角度来进行试验,其中response质量对比是通过蒸馏更好模型的response来做的实验。

ACL2023 | 大模型如何快速构建指令遵循数据集?self-instruct:用175条种子数据追上InstructGPT001效果
  • 实验1:评估扩充的训练数据量级对效果的影响
    • 方法:从最开是的175个种子数据,逐步增加数据量,评估效果。
    • 结论:大概训练数据在16K左右,效果就比较平了,带来的提升没那么大了。
  • 实验2:评估生成的response的质量对效果的影响(从更好的模型InstructGPT蒸馏得到更好的response)
    • 结论:44.4%提升道54.4%,说明更好的回复质量对模型的提升也是巨大的。

3 生成的数据量级

ACL2023 | 大模型如何快速构建指令遵循数据集?self-instruct:用175条种子数据追上InstructGPT001效果
  • 数量GPT3的数据量级:52k个Instruction数据,82k个实例。

4 生成的数据的多样性

ACL2023 | 大模型如何快速构建指令遵循数据集?self-instruct:用175条种子数据追上InstructGPT001效果
ACL2023 | 大模型如何快速构建指令遵循数据集?self-instruct:用175条种子数据追上InstructGPT001效果
  • 评估方法1:挑选top20最常见的动词,然后画出其top4的直接noun object分布,衡量整体的数据分布。
  • 评估方法2:画出与种子数据中,最相近文本的Rouge-L的分布,衡量与种子数据的分布差异。
  • 结论:发现多样性还不错,这也是生成的数据能让模型学会通用的指令遵循的原因之一。

5 生成数据的质量

ACL2023 | 大模型如何快速构建指令遵循数据集?self-instruct:用175条种子数据追上InstructGPT001效果
  • 统计指标:随机挑选200个指令,每个指令随机挑选一个实例来标注
    • 指令有效率:92%
    • input与指令一致:79%
    • output正确(能很好的响应Instruction和input的要求):58%
    • 各个场景都有效:54%
  • 总结:尽管生成的数据还是包含误差,但是大多数还是正确的,可以提供有用的指导,让模型能学会遵循人类指令。

三、个人总结

  1. 相当于验证了少量种子数据 + 原始预训练模型 => 生成大批量 多样性 + 质量还不错的 指令数据的可行性 => 好处是可以极大降低指令遵循数据集构建的成本。
  2. 这篇文章解释了为什么大模型能听懂人类指令的困惑,可以看出,原始的GPT-3模型学习了非常多的知识,但是人类指令遵循的能力非常非常差,通过self-instruct构造大量的多样、高质量的指令数据和答案,模型就开始能听懂指令,理解这个指令的具体含义,并给出人类期望的respond响应。其中指令的【多样性】和回复的【质量】是非常关键的两个因素。
ACL2023 | 大模型如何快速构建指令遵循数据集?self-instruct:用175条种子数据追上InstructGPT001效果
  1. 对于如何对齐人类的价值观:可以参考复旦moss模型【参考资源1】,也是构造了非常多的对人类无害的种子数据,然后利用模型生成非常多的指令遵循数据,让模型尽可能的生成无害的结果,从另一个角度看,如果不法份子诱导模型去生成暴力倾向等不符合人类期望的答案,那么可能会训练出毒性非常大的模型,这也是非常恐怖的,难怪微软的文章说原始的gpt-3.5系列可能具备更强的能力,说明OpenAI在这方面做了非常强的约束。也难怪OpenAI强烈建议对大模型进行监管。
  2. 最近的OpenAI state of GPT的分享【参考资源2】,也提到原始next word predict训练的预训练摸LM擅长构建类似的问题,而不善于遵循人类指令生成回复,这个预训练阶段的任务也是Match的,同时本文利用其擅长构建类似问题的特点来构建更多的指令数据,也比较符合常理。
ACL2023 | 大模型如何快速构建指令遵循数据集?self-instruct:用175条种子数据追上InstructGPT001效果

四、参考资源

  1. 复旦团队大模型 MOSS 开源了,有哪些技术亮点值得关注? - 孙天祥的回答 - 知乎 https://www.zhihu.com/question/596908242/answer/2994534005
  2. https://karpathy.ai/stateofgpt.pdf

欢迎大家关注我的微信公众号,时刻掌握第一手论文更新消息!

 文章来源地址https://www.toymoban.com/news/detail-488571.html

到了这里,关于ACL2023 | 大模型如何快速构建指令遵循数据集?self-instruct:用175条种子数据追上InstructGPT001效果的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 腾讯音乐如何基于大模型 + OLAP 构建智能数据服务平台

    本文导读: 当前,大语言模型的应用正在全球范围内引发新一轮的技术革命与商业浪潮。腾讯音乐作为中国领先在线音乐娱乐平台,利用庞大用户群与多元场景的优势,持续探索大模型赛道的多元应用。本文将详细介绍腾讯音乐如何基于 Apache Doris 构建查询高效、实时统一分

    2024年02月10日
    浏览(44)
  • 快速训练自己的大语言模型:基于LLAMA-7B的lora指令微调

    前言: 系统:ubuntu 18.04 显卡:A100-80G(蹭的,嘿嘿~) (本次主要记录如何快速进行大模型的指令微调) 地址:https://github.com/Lightning-AI/lit-llama 切换到工程目录 使用pip安装依赖库 (当然,这里可能会遇到网络问题,安装不了lightning) 可使用以下方式安装: 下载lightning工程

    2024年02月11日
    浏览(57)
  • 基于 SuperMap iDesktopX 快速构建参数化管道模型

    目录 前言 一、准备数据 1.1 准备管线二维数据 1.2 管径属性字段值构建 1.3 管道材质构建 二、操作步骤 2.1 二维线转三维线 2.2 放样 三、结果展示        在管网项目中,经常遇到根据点、线数据制作管点管线模型。超图最快且性能最佳的方案是将管点管线模型做成三维管点

    2024年02月03日
    浏览(47)
  • 使用大模型快速构建测试工具的入门级实践

    2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)-CSDN博客 文章浏览阅读2.3k次,点赞85次,收藏11次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口

    2024年02月19日
    浏览(41)
  • 如何确保ChatGPT在文本生成中遵循道德和伦理准则?

    确保ChatGPT在文本生成中遵循道德和伦理准则是一个复杂而重要的任务。人工智能(AI)系统,特别是语言模型,具有强大的生成能力,但如果不受到道德和伦理准则的约束,可能会导致一系列问题,包括歧视、误导、不当行为等。在这里,我将详细讨论如何确保ChatGPT的道德和

    2024年02月09日
    浏览(41)
  • 【人工智能】为什么说大语言模型能力遵循规模理论 Scaling Law(即模型能力随着训练计算量增加而提升) ?

    目录 为什么说大语言模型能力遵循规模理论 Scaling Law(即模型能力随着训练计算量增加而提升) ?

    2024年03月25日
    浏览(73)
  • MySQL 快速导入数据指令load Data 详解

    官方文档 https://dev.mysql.com/doc/refman/8.0/en/load-data.html 导入本地电脑文件:一定要启用 local_infile 参数,否则会报错。 导入非本地电脑文件:用户一定要 FILE 权限,secure_file_priv参数值如果不为空,则文件一定要在这个目录中,如果为空,则该文件只需服务器可读。 排错一圈,才

    2024年02月02日
    浏览(40)
  • CCKS2023:基于企业数仓和大语言模型构建面向场景的智能应用

    8月24日-27日,第十七届全国知识图谱与语义计算大会(CCKS 2023)在沈阳召开。大会以“知识图谱赋能通用AI”为主题,探讨知识图谱对通用AI技术的支撑能力,探索知识图谱在跨平台、跨领域等AI任务中的作用和应用途径。 作为国内知识图谱、语义技术、自然语言理解与知识获

    2024年02月10日
    浏览(37)
  • 第03课:如何快速构建自己的ChatGPT应用?

    本节我们来介绍如何用ChatGPT构建自己的应用。毫无疑问,我们首先应该从官网上去了解和获取一些有用的信息。 官网地址:https://openai.com/ (如果想登陆官网,需要科学上网哈) 如下图所示,首先关注官网上的导航Developers,这是我们开发应用必须要了解的,它给我们提供了

    2024年02月10日
    浏览(44)
  • ChatGPT - 如何高效的调教ChatGPT (指令建构模型-LACES问题模型)

    LACES问题模型是一个更具体的提问prompts构建方法。它包括以下五个要素: 为问题或指令增加 限定条件 ,有助于获得更具针对性的答案。 举例: 在两分钟内,如何向一个初学者介绍人工智能? 写一段优美的散文介绍春日花开的美好景象,200字以上 请在 100 字内解释 CRISPR 基

    2023年04月25日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包