Prompt Tuning训练过程

目录

[0. 入门](#0. 入门)

[0.1. NLP发展的四个阶段:](#0.1. NLP发展的四个阶段:)


Prompt工程如此强大,我们还需要模型训练吗? - 知乎

Prompt learning系列之prompt engineering(二) 离散型prompt自动构建

Prompt learning系列之训练策略篇 - 知乎

ptuning v2 的 chatglm垂直领域训练记录_路人与大师的博客-云服务器哪家好

Pretrain + Fine-tuning(Model Tuning):

对于不同的任务,都重新 fine-tune 一个新的模型,且不能共用。但是对于一个预训练的大语言模型来说,这就仿佛好像是对于每个任务都进行了定制化,十分不高效。

Prompt Tuning:

对于不同的任务,仅需要插入不同的prompt 参数,每个任务都单独训练Prompt 参数,不训练预训练语言模型,这样子可以大大 缩短训练时间,也极大的提升了模型的使用率。

0. 入门

0.1. NLP发展的四个阶段

|-------------------------------|-------------------------------------------------------------------------------------------------------------------------------|
| 1st阶段 feature engineering | 需要相关研究人员或者专业人士利用自己扎实的领域知识从原始数据中定义并提取有用的特征供模型学习。依赖于大量的人工 |
| 2nd阶段architecture engineering | 如何设计一个合理的网络结果去学习有用的特征,从而减少对人工构建特征的依赖。 |
| 3rd阶段objective engineering | Pre-train, Fine-tune,**更注重于目标的设计,合理设计预训练跟微调阶段的目标函数,对最终的效果影响深远。**前面两个阶段都依赖于有监督学习,但是这个阶段里的预训练可以不需要有监督的数据,极大的降低了对监督语料的依赖。 |
| 4th阶段prompt engineering | 在特定下游任务下可以通过引入合适的模版(prompt)去重构下游任务,管控模型的行为,实现zero shot或者few shot。一个合适的模版甚至可以让模型摆脱对下游特定任务数据的要求,所以如何构建一个合理有效的prompt成为了重中之重。 |

  1. 什么是Prompt

Prompt就是提示词的意思,一种 为了更好的使用预训练语言模型的知识 ,采用在输入段 添加额外的文本 的技术。

  • 目的:更好挖掘预训练语言模型的能力
  • 手段:在输入端添加文本,即重新定义任务(task reformulation)

在NLP中Prompt代表是什么呢?

  • prompt 就是给 预训练语言模型 的一个线索/提示,帮助它可以更好的理解 人类 的问题。

例如,下图的BERT/BART/ERNIE 均为预训练语言模型,对于人类提出的问题,以及线索,预训练语言模型可以给出正确的答案。

  • 根据提示,BERT能回答,JDK 是 Oracle 研发的
  • 根据 TL;DR: 的提示,BART知道人类想要问的是文章的摘要
  • 根据提示,ERNIE 知道人类想要问鸟类的能力--飞行
  1. Prompt工作流

Prompt工作流包含一下4部分:

  • Prompt模版 (Template)的构造
  • Prompt答案空间映射(Verbalizer)的构造
  • 文本代入 Template,并且使用晕训练语言模型进行训练
  • 将预测结果映射回label

step1:prompt construction【Template】

首先,我们构造一个模版,模版的作用是将输入和输出进行重新构造,变成一个新的带有mask slots的文本,

  • 定义一个模版,包含2出带填入的slots:【x】和【z】
  • 将【x】用输入文本代入

例如:

|---------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|
| 输入:x = 我喜欢这个电影。 模版:【x】总而言之,它是一个【z】电影 代入(prompting):我喜欢这个电影。总而言之,它是一个【z】电影 | |

step2:answer construction【verbalizer】

对于构造的prompt,需要知道预测词和label之间的关系,并且z不是任意词,需要一个mapping function将输出词与label进行映射。

例如:

|--------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|
| | |

step3:answer prediction【Prediction】

选择合适的预训练模型,进行mask slots 【z】的预测。

例如:

step4:answer-label mapping【mapping】

得到的answer,需要使用verbalizer将其映射回原本的label

例如:fantastic 映射回label

总结:

|---------------|--------|--------------------------------------------------------------------------------------------------|
| Terminology | Notion | Example |
| Input | x | I love this movie |
| Output(label) | y | |
| Template | - | 【x】overall,it was a 【z】movie |
| Prompt | x' | I love this movie. overall,it was a 【z】movie |
| Answer | z | fantastic, boring |

  1. Prompt-based Training Strategies (训练策略选择)

Prompt-based模型子啊训练中,有多重训练策略,可以选择那些模型部分训练,哪些不训练。

根据训练数据的多少分为:

|-----------|--------------------------|
| Zero-shot | 对于下游任务,没有任何训练数据 |
| Few-shot | 对于下游任务,只有很少的训练数据,例如:100条 |
| Full-shot | 有很多训练数据,例如1W多条数据 |

  1. Prompt Mining

人工构建Prompt的方式有两个弊端,人工构建Prompt和测试Prompt效果耗费时间跟精力,另一方面专业人士也不一定能通过人工的方式构建最优的prompt。为了解决这个问题,自然而然就衍生自动构建prompt的方式,自动构建prompt分为离散型 的prompt(prompt可以用具体的字符表示)和 连续型 的prompt(prompt由向量替代)

相关推荐
在猴站学算法2 小时前
机器学习(西瓜书) 第二章 模型评估与选择
人工智能·机器学习
科技宅说3 小时前
36氪专访丨乐橙CEO谢运:AI科技下的业务创新与长期主义下的品牌坚守
人工智能·科技
学术小八4 小时前
2025年人工智能、虚拟现实与交互设计国际学术会议
人工智能·交互·vr
仗剑_走天涯5 小时前
基于pytorch.nn模块实现线性模型
人工智能·pytorch·python·深度学习
cnbestec6 小时前
协作机器人UR7e与UR12e:轻量化设计与高负载能力助力“小而美”智造升级
人工智能·机器人·协作机器人·ur协作机器人·ur7e·ur12e
zskj_zhyl6 小时前
毫米波雷达守护银发安全:七彩喜跌倒检测仪重构居家养老防线
人工智能·安全·重构
gaosushexiangji7 小时前
利用sCMOS科学相机测量激光散射强度
大数据·人工智能·数码相机·计算机视觉
ai小鬼头8 小时前
AIStarter新版重磅来袭!永久订阅限时福利抢先看
人工智能·开源·github
说私域9 小时前
从品牌附庸到自我表达:定制开发开源AI智能名片S2B2C商城小程序赋能下的营销变革
人工智能·小程序
飞哥数智坊10 小时前
新版定价不够用,Cursor如何退回旧版定价
人工智能·cursor