logo
7

快速上手 Prompt-tuning

市面上有关Prompt-tuning介绍的文章很多,但一般是从原理开始介绍,做为研究肯定是必要的,但是内容比较晦涩,下文是笔者学习后,概括出来的一些要点,适合小白对Prompt-tuning有一个基本了解。

一、工作流程

  1. Prompt 模版(Template)的构造(构建 完形填空 or 基于前缀生成 两种类型的模板)
    1. 基于前缀生成:用在GPT2-3那种单向LM预训练模型上,输入「好好学习,翻译成英文:」,输出「good good study」
    2. 完形填空:用在BERT那种MLM式预训练模型上,比如情感分类任务可以输入「这个饼不错,太X了」,输出「棒」
  2. Prompt 答案空间映射(Verbalizer)的构造。
  3. 文本代入template,并且使用预训练语言模型进行预测
  4. 将预测的结果映射回label。

二、模板构建方法

  1. 人工设计模板
    • 优点:人工构建模板由专家根据专业知识进行模板构建,具有直观高效的特点, 好的模板会提升预训练模型的表现。
    • 缺点:人工模板构建过程繁琐,标点符号等细微的变化会让模型效果产生巨大差异,导致手工构建模板有较高的不稳定性。构建过程费时费力。
  1. 自动构建基于离散 token 的模板
    • 优点:离散模板的构建相对简单,对专业知识没有太大的要求。
    • 缺点:具体任务中需要进行大量实验选择合适的 Prompt,在部分任务中存在性能不理想的问题。
  1. 软模板方法:不再追求模板的直观可解释性,而是直接优化 Prompt Token Embedding,是向量/可学习的参数(P-tuning旨在自动化地寻找连续空间中的知识模板、Prefix Tuning)

三、解决的任务形式

分类问题:筛选正误/不实信息、评论情感分类、电子邮件分类
条件生成:针对某种给定输入生成内容,包括解释、汇总、实体提取、按给定规范编写产品说明、聊天机器人等;e.g.基于维基百科文章编写具有吸引力的广告
开放式生成:创建一个虚拟角色具有特定个性/风格/谈论主题。

四、难点

构建合适的模板既需要专业知识(适配下游任务)、又需要对语言模型内部的运作方式有着充分的理解(最大程度激发模型潜能)。
由于Prompt模板设计上的复杂性,现有的大多数基于Prompt的工作都还围绕着文本分类或生成任务,而在信息提取文本结构化分析任务中的应用相对较少;
自动化构建Prompt模板*:自动化选择标签词、自动化选择模板。
评论
用户头像