Prompt Tuning训练过程

目录

0. 入门

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由向量替代)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/98656.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【2023集创赛】国家集创中心杯三等奖:不对称轻失配运算放大器

本文为2023年第七届全国大学生集成电路创新创业大赛(“集创赛”)国家集创中心杯三等奖作品分享,参加极术社区的【有奖征集】分享你的2023集创赛作品,秀出作品风采,分享2023集创赛作品扩大影响力,更有丰富电…

DHCP工作过程详解

只有是一个网段的,它才会发送 ARP 请求,获取 MAC 地址。如果发现不是呢?Linux 默认的逻辑是,如果这是一个跨网段的调用,它便不会直接将包发送到网络上,而是企图将包发送到网关。 因为网关要和当前的网络至…

Kubernetes技术--k8s核心技术持久化存储

有时候需要在集群中进行一些重要的数据进行持久化存储,然后需要的时候再进行挂载,那么下面我们一起来看看如何实现数据的持久化存储操作。 1.nfs网络存储 -1.找一台服务器做nfs的服务端,安装nfs。(这里我们直接在master上实现)。 这里应该找再单独的搭建一个node节点做持…

ESP-C3入门22. 基于VSCODE使用内置JTAG调试程序

ESP-C3入门22. 基于VSCODE使用内置JTAG调试程序 一、简介1. 内置 jtag 介绍2. OpenOCD3. 准备工作 二、操作步骤1. 接线2. 在VSCode设置端口等信息3. 测试编译烧录 三、调试程序 一、简介 1. 内置 jtag 介绍 在ESP32中,内置了一个用于JTAG调试的特殊程序&#xff…

leetCode动态规划“不同路径II”

迷宫问题是比较经典的算法问题,一般可以用动态规划、回溯等方法进行解题,这道题目是我昨晚不同路径这道题趁热打铁继续做的,思路与原题差不多,只是有需要注意细节的地方,那么话不多说,直接上coding和解析&a…

2023年7月京东投影仪行业品牌销售排行榜(京东大数据)

鲸参谋监测的京东平台7月份投影仪行业销售数据已出炉! 7月份,投影仪市场呈现增长趋势。根据鲸参谋平台的数据可知,7月京东平台投影仪的销量将近20万,同比增长约16%;销售额将近3.8亿,同比增长约4%。 ​*数据…

uni-app 之 v-on:click点击事件

uni-app 之 v-on:click点击事件 image.png <template><!-- vue2的<template>里必须要有一个盒子&#xff0c;不能有两个&#xff0c;这里的盒子就是 view--><view>--- v-on:click点击事件 ---<view v-on:click"onclick">{{title}}<…

Visual Studio 新建类从默认internal改为public

前言 之前一直用的Resharp辅助编写C#代码&#xff0c;Resharp用起来的确方便不少&#xff0c;但是太消耗开发机内存了。重装电脑后&#xff0c;还是决定使用Visual Studio内置的功能。 默认情况下&#xff0c;Visual Studio 中生成一个类或接口是internal类型的&#xff0c;而…

打造西南交通感知新范式,闪马智能携手首讯科技落地创新中心

9月4日&#xff0c;2023年中国国际智能产业博览会&#xff08;以下简称“智博会”&#xff09;在重庆拉开帷幕。大会期间&#xff0c;由上海闪马智能科技有限公司&#xff08;以下简称“闪马智能”&#xff09;与重庆首讯科技股份有限公司&#xff08;以下简称“首讯科技”&…

什么是安全运营中心(SOC),应该了解什么

安全运营中心&#xff08;SOC&#xff09; 是一种企业监视和警报设施&#xff0c;可帮助组织检测安全威胁、监视安全事件和分析性能数据以改进公司运营。 什么是安全运营中心&#xff08;SOC&#xff09; 安全运营中心&#xff08;SOC&#xff09;是一个中央监视和监视中心&a…

Spring AOP与静态代理/动态代理

文章目录 一、代理模式静态代理动态代理代理模式与AOP 二、Spring AOPSping AOP用来处理什么场景jdk 动态代理cglib 动态代理面试题&#xff1a;讲讲Spring AOP的原理与执行流程 总结 一、代理模式 代理模式是一种结构型设计模式&#xff0c;它允许对象提供替代品或占位符&…

macos 不支持svn安装

macos 10.13可能不支持svn命令,所以要安装 xcode-select --install 弹窗在线安装失败的话只能手动下载安装 打开:Sign In - Apple 搜索Command Line Tools (macOS 10.13) 下载9.4.1版本直接安装后即可