首页 > 其他分享 >NLP新范式(Prompt/Instruct)

NLP新范式(Prompt/Instruct)

时间:2023-04-11 16:13:35浏览次数:51  
标签:NLP 范式 训练 模型 任务 Instruct Prompt shot

NLP的四范式

  NLP发展到今天已经进入到了LLM的时代,随着模型越来越大,在zero-shot/few-shot的情形下也表现的越来越好,NLP也进入到了新的研究范式里面。学术界按发展时间线将NLP归纳到四个范式:

  

  1),传统的基础学习范式。

  2),基于word2vec,cnn,rnn的全监督深度学习范式。

  3),基于预训练 + fine-tune的范式。

  4),基于预训练 + Prompt + 预测的范式。

  第一范式需要加工tf-idf等特征,应用机器学习模型建模。第二范式引入了word2vec将词的稀疏向量转换成稠密向量表征,应用CNN、RNN等深度学习模型建模。第三范式由Elmo、GPT、BERT等预训练模型引入的基于预训练 + 下游任务fine-tune模式。第四范式在预训练语言模型越来越大之后,模型突破了一些边界,涌现出在能直接作用于下游任务上的能力,只不过需要给定一些提示将模型的这些能力激发出来,因此也就进入到预训练 + Prompt的zero-shot或者few-shot learning时代。而在Prompt之后,为了朝AGI的方向发展,预训练 + Prompt模式被进一步升级到预训练 + Instruct的模式。

预训练语言模型的框架

  在预训练语言模型的发展中,出现了四类框架,而现在更多地朝着Decoder-Only发展。

  1)Encoder-Only,以BERT为代表的自编码模型。

  2)Decoder-Only,以GPT为代表的自回归模型。

  3)Encoder-Decoder,以T5为代表的seq2seq模型。

  4)Prefix-LM,一种Encoder-Decoder的变种,以UniLM。

  虽然GPT比BERT出来的更早,但在预训练模型的发展初期,BERT取得了更多的关注和更好的效果,一是NLU的任务有更多的关注度,而BERT在NLU的任务上表现效果更好,二是预训练 + Fine-tune的模式可以解决预训练任务和下游任务不一致的问题。所以一开始各种模型都是在BERT的基础上迭代优化。但在T5出来之后,将所有的NLU任务都统一成NLG任务,用一个NLG的模型同时解决NLU和NLG的任务(这也是因为NLU任务容易转换成NLG任务,但NLG任务无法转换成NLU任务)。随着GPT3的出现,超大规模参数的模型突破了一些边界,涌现出了新的能力,GPT3 + Prompt(In-Context leanring)在很多zero-shot场景下取得了sota的结果,从此就实现了任务和模型的收敛。将所有的NLP任务都转换成生成式,模型就朝着Decoder-Only的方向发展。

  Decoder-Only的趋势有很多原因,Decoder-Only相比Encoder训练成本更低,而自回归的训练数据也更容易构造,在下游任务都统一成NLG的模型,自回归的训练方法和下游任务也更贴合。

Prompt到Instruct

  Prompt的本质是在将下游任务和预训练任务统一,充分挖掘预训练模型的能力。

  Prompt从模板的形式上可以分成hard Prompt和soft Prompt:

  hard Prompt:人工定义模板,模板中的answer可以是在句子前面,中间或者后面,通常在中间(MLM形式)和后面(NLG形式)比较多。人工定义模板很依赖模板的形式是否和预训练时的数据分布一致,分布一致才能取得较好的效果。

  soft Prompt:人工定义模板难度较高,需要较多的尝试才有可能取得好的效果,soft Prompt旨在解决这个问题,典型的如P-tuning,将模板转换成一些可以学习的特殊token,在特定的下游任务,使用少量的样本去训练这些token(预训练模型的参数被固定住)。

  在GPT3中大放异彩的In-Context learning本质上也属于Prompt,而且是hard Prompt,GPT3中通过给一些提示(zero-shot),或者给一些训练数据(few-shot)作为前缀提示,就能在很多任务上取得sota的效果,这也说明大模型在给定一些提示下能涌现出能处理下游任务的能力。

  In-Context learning 本质上学到的是什么,在Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?这篇论文中有做详细的分析,In-Context learning在few-shot(即给定了少量训练数据)场景下,并没有像fine-tune那样去学习x到y的映射关系,学到的只是x和y的数据分布,相当于理解了下游任务的特点之后就能很好的预测下游任务。

  对于更复杂的推理问题,如解数学题,可以通过思维链(CoT, Chain of Thought)的方式指定模板,也就是给定一些示例,并把人工的解题/推理思路写出来,以此作为输入到模型中的提示信息。能极大地提升模型的推理能力。

  In-Context learning是给定一些更具像的示例或符合机器理解的模板,而Instruct是用人类习惯的表述去指示模型预测下游任务,以ChatGPT为代表,引入更多符合人类表达的训练数据,或者是通过RLHF的方式直接和人交互去微调模型,让模型能更适应人的表述指示来处理下游任务。

ChatGPT/InstructGPT

  ChatGPT是InstructGPT的兄弟模型,不同的点主要在于ChatGPT引入了人类的对话数据。相比于GPT3,一是可以通过更符合人类表达的指示去让模型处理下游任务;二是模型的有用、可信和无害的特点。

  ChatGPT除了继承了GPT的模型结构和预训练任务之外,核心还是引入了人类反馈的强化学习进行训练。这种训练模型加强了人类对模型输出结果的把控,并且给模型提供更符合人类认知的排序结果。

  ChatGPT的训练过程可以分为三个阶段,如下图所示:

  1)训练SFT(Supervised Fine-Tuning)模型

  收集API产出或者人工标注的提示-答复对数据集,监督式微调GPT3,得到一个SFT模型。

  2)训练RM(Reward Model)模型

  在数据集中随机抽取一些提示,并使用STF模型产出多个答复,标注人员对答复的相关性进行排序,通过这种方式给模型的预测结果生成奖励来训练奖励模型,奖励模型类似于排序模型。

  3)训练强化学习(PPO)模型

  强化学习模型的训练数据全部来自于API产出的数据,也就是真实的用户生成的数据。使用RM模型作为奖励函数来继续微调SFT模型,得到PPO模型。  

 

 

标签:NLP,范式,训练,模型,任务,Instruct,Prompt,shot
From: https://www.cnblogs.com/jiangxinyang/p/17241491.html

相关文章

  • MULTIINSTRUCT: Improving Multi-Modal Zero-Shot Learning via Instruction Tuning
    指令调优是一种新的学习范式,它可以根据指令指定的任务对预先训练好的语言模型进行微调,在各种自然语言处理任务中显示出良好的零目标性能。然而,对于视觉和多模态任务,它仍然没有被探索。在这项工作中,我们介绍了multiinstruction,这是第一个多模态指令调优基准数据集,由47个不同的多模......
  • 解密prompt系列5. APE+SELF=自动化指令集构建代码实现
    上一章我们介绍了不同的指令微调方案,这一章我们介绍如何降低指令数据集的人工标注成本!这样每个人都可以构建自己的专属指令集,哈哈当然我也在造数据集进行时~介绍两种方案SELFInstruct和AutomaticPromptEngineer,前者是基于多样的种子指令,利用大模型的上下文和指令理解能力,......
  • AI Prompt Engineering 提示工程:提升你的创意与效率
    参考引言AI工具种类也开始进入大繁荣时代。根据There'sanAIForThat网站显示,自2002年-至今,AI社区已经构建了超过2400个AI工具,覆盖577种用途类别(当然,还有很多未收录的AI工具)。虽然AI工具已经有了,但如何用好这些工具却是另外一回事。本文将向您推荐一种名为AIProm......
  • Prompt小技巧
    Few-shotPromptRole-playPrompt比如文字工作人员:IwantyoutoactasanEnglishtranslator,spellingcorrectorandimprover.Iwillspeaktoyouinanylanguageandyouwilldetectthelanguage,translateitandanswerinthecorrectedandimprovedversio......
  • 招收NLP方向科研助理
    招收NLP方向科研助理(非常适合想进牛导实验室,但是简历水平不够,或者牛导名额已满的同学。)招聘通知:科研助理(NLP领域)我们正在招募一些学生担任科研助理,参与我们课题组的NLP科研工作。作为科研助理,你将通过参与NLP知识培训,学习和研究自然语言处理的相关技术,并在我们的课题工作中发......
  • 关于AI 绘画,我给你总结了一份详细的关键词(Prompt 知识)
    写在前面随着人工智能技术的不断发展,越来越多的应用场景被发掘。其中,AI绘画是一种新兴的领域,其应用范围涵盖了数字媒体、游戏设计、动画制作、艺术创作等多个领域。在本文中,我们将介绍AI绘画的基本概念、发展历程、技术原理以及应用前景。 基本概念AI绘画是利用人工智能技术......
  • 【论文笔记 - InstructPix2Pix】InstructPix2Pix: Learning to Follow Image Editing
    InstructPix2Pix和Pix2Pix是两码事。Pix2Pix使用的是GAN,而InstructPix2Pix使用的是Diffusion。这个名字的由来可能出于两个方面,一方面InstructPix2Pix允许在image-translation的时候引入文本Instruction,另一方面InstructPix2Pix和Pix2Pix一样使用了成对的数据进行训练。鉴于目前图......
  • [ABC273D] LRUD Instructions
    题目链接题解模拟题。观察题目,我们发现,无论问的是前/后/左/右,你都只会在一条直线上走,那对于这条直线,我们可以记录所有这条直线上的障碍物,然后找到距离当前点最近的障碍物,也就是说我们只能走到那个障碍物那块。虽然数据范围高达\(10^9\),但是\(n\le10^5\),所以用\(map\)套\(......
  • js:三种弹出框(alter警告,confirm确认,prompt提示)
    js:三种弹出框(alter警告,confirm确认,prompt提示)https://blog.csdn.net/qq_52824207/article/details/124081188三种弹出框都属于window对象,完整写作window.alter,三种弹出......
  • PromptPerfect:prompt optimizer for LLMs LMs and LMOps
    1.IntroduceWelcometoPromptPerfect(完美提示),acutting-edgepromptoptimizerdesignedforlargelanguagemodels(LLMs),largemodels(LMs)andLMOps.Promp......