241124_基于MindSpore学习Prompt Tuning

241124_基于MindSpore学习Prompt Tuning

传统的NLP训练模式都是先在大量的无标注的样本上进行预训练,然后再使用有标注的样本进行有监督的训练,调整单一的线性成果而不是整个模型。

但在实际训练中发现,如果模型参数过大,在Fine Tune阶段成本较高。就是每次都要在一个参数很大的模型上进行微调。

于是产生了NLP的第四范式:不做Fine Tune,模型无监督训练好了就不改变了,而是给一些prompt

比如我要做一个情感分类,就先告诉他这是一个情感分类任务,然后再给具体任务

bert就是使用pre train和fine tune的模型,实现的目标是做类似于完形填空的任务和上下文联系任务

fine-tuning:通过改变模型结构,使模型适配下游任务

prompt learing:模型结构不变,通过重构任务描述,使下游任务适配模型

Prompt-Tuning步骤:

使用一个情感分类任务举例

构建模板:这一步是做完形填空的过程,比如I love this movies,拼接到原始文本中,获得Prompt-Tuning的输入:[I love this movies. overall, it was a [mask] movie]。这一步给模型模型就需要去填这个mask 的答案,模型会填进去很多可能的答案,每个答案对应一个分数,分数最高的是最后的答案。

标签词映射:在模型给出答案之后,比如模型给了个greet,因为我们是个情感分类任务,想要得到的结果只是两种,我们就要建立greet到positive的映射。如果是terrible,则认为是negative类。

Prompting中最主要的两个部分是template与verbalizer的设计

template可以基于任务类型和预训练模型选择(shape)或生成方式(huamn effort)进行分类

打卡截图:

相关推荐
im_AMBER1 分钟前
数据结构 06 线性结构
数据结构·学习·算法
Main. 246 小时前
从0到1学习Qt -- 创建第一个Hello World项目
学习
壹号用户7 小时前
python学习之生成器&三者关系
学习
new coder7 小时前
[c++语法学习]Day10:c++引用
开发语言·c++·学习
星域智链7 小时前
宠物智能用品:当毛孩子遇上 AI,是便利还是过度?
人工智能·科技·学习·宠物
呱呱巨基7 小时前
vim编辑器
linux·笔记·学习·编辑器·vim
"菠萝"8 小时前
C#知识学习-017(修饰符_6)
学习·c#
早睡冠军候选人8 小时前
Ansible学习----Ansible Playbook
运维·服务器·学习·云原生·容器·ansible
楼田莉子8 小时前
C++学习:C++11扩展:constexpr特性
开发语言·c++·学习
懒羊羊不懒@8 小时前
Java基础语法—最小单位、及注释
java·c语言·开发语言·数据结构·学习·算法