论文笔记--OpenPrompt: An Open-source Framework for Prompt-learning

news2024/11/24 9:07:28

论文笔记--OpenPrompt: An Open-source Framework for Prompt-learning

  • 1. 文章简介
  • 2. 文章概括
  • 3 文章重点技术
  • 4. 文章亮点
  • 5. 原文传送门

1. 文章简介

  • 标题:OpenPrompt: An Open-source Framework for Prompt-learning
  • 作者:Ning Ding, Shengding Hu, Weilin Zhao, Yulin Chen, Zhiyuan Liu, Hai-Tao Zheng, Maosong Sun
  • 日期:2022
  • 期刊:ACL

2. 文章概括

  文章介绍了一种开源的工具OpenPrompt,该工具将prompt-learning的一些操作进行封装处理,设计成为一种用户友好的开源三方库,使用起来非常方便。
  OpenPrompt使用的基本方法为
OpenPrompt

3 文章重点技术

  • PLMs:文章支持Huggingface transformers上的PLMs(预训练模型),开发者可通过下述操作直接加载PLMs:
from openprompt.plms import load_plm
plm, tokenizer, model_config, WrapperClass = load_plm("bert", path_to_bert)
  • 预训练模型PLMs:文章支持Huggingface transformers上的PLMs(预训练模型),开发者可通过下述操作直接加载PLMs:
from openprompt.plms import load_plm
plm, tokenizer, model_config, WrapperClass = load_plm("bert", path_to_bert)
  • 分词Tokenization:文章特别设计了针对prompt learning的分词模块,可以自动选择合适的分词器,从而简化用户操作。分词器通过上述代码直接加载
  • 模板Templates:Templates将原始文本和软编码或是硬编码(文本)template结合,一般来说会包含上下文相关的token和掩码token。OpenPrompt接受用Python中的字典语法编写的template:
from openprompt.prompts import ManualTemplate
promptTemplate = ManualTemplate(
    text = '{"placeholder":"text_a"} It was {"mask"}',
    tokenizer = tokenizer,
)

文章给出了一些常用的templates的示例,见下表
templates

  • 言语化Verbalizer:Verbalizer将原始的标签映射到词表中的label words,文章接受手动设计Verbalizer或直接调用AutomaticVerbalizer/SoftVerbalizer/…等API自带的verbalizer方法。下面为一个手动设计verbalizer的示例:
from openprompt.prompts import ManualVerbalizer
promptVerbalizer = ManualVerbalizer(
    classes = classes,
    label_words = {
        "negative": ["bad"],
        "positive": ["good", "wonderful", "great"],
    },
    tokenizer = tokenizer,
)
  • PromptModel:OpenPrompt使用PromptModel 模块来用于训练和推理,用户只需把上述template\ Verbalizer\ PLMs结合在一起即可以完成此步骤:
from openprompt import PromptForClassification
promptModel = PromptForClassification(
    template = promptTemplate,
    plm = plm,
    verbalizer = promptVerbalizer,

4. 文章亮点

  文章给出了开源工具OpenPrompt,将Prompt learning中涉及到的一些基本操作进行封装,形成了一个方便的pipeline。用户只需安装openprompt三方库并下载一个PLM,就可以进行简单的prompt learning了~

5. 原文传送门

OpenPrompt: An Open-source Framework for Prompt-learning
源代码

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Java+SpringBoot+vue前后端分离在线视频教育平台设计实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

Leecode316: 去除重复字母

下面这里使用有序map——TreeMap来实现Map接口,但是相对顺序是不能改变的!这样会使得后面的跑到前面去,所以有问题 最简单的思想肯定是暴力思想,就是从前往后寻找,一旦遇到存在的情况就. 重点在于明确两点&#xff1a…

HarmonyOS学习路之方舟开发框架—学习ArkTS语言(基本语法 五)

Styles装饰器:定义组件重用样式 如果每个组件的样式都需要单独设置,在开发过程中会出现大量代码在进行重复样式设置,虽然可以复制粘贴,但为了代码简洁性和后续方便维护,我们推出了可以提炼公共样式进行复用的装饰器St…

【LLM】self-instruct 构建指令微调数据集

文章目录 一、self-instruct流程二、具体过程1. 指令生成2. 分类任务识别3. 实例生成4. 过滤和后处理 三、其他部分1. 验证数据质量2. GPT3SELF-INSTRUCT生成数据的词性分析3. Rouge-L指标 Reference 一、self-instruct流程 四部曲:指令生成;分类任务识别…

Oracle 的视图

Oracle 的视图 源数据: -- Create table create table STU_INFO (id NUMBER not null,name VARCHAR2(8),score NUMBER(4,1),class VARCHAR2(2) ) tablespace STUDENTpctfree 10initrans 1maxtrans 255storage(initial 64Knext 1Mminextents 1maxextents unlim…

最多变的混合模式-实色混合HardMix

最多变的混合模式-实色混合HardMix 之前写过一篇介绍27种图层混合模式的非常详细,如果你想完全了解底层的原理,这篇文章不会让你失望。 PS图层混合模式超详细解答-图层混合模式的原理 - 王先生的副业的文章 - 知乎 https://zhuanlan.zhihu.com/p/64396…

从小白到大神之路之学习运维第63天--------zabbix企业级监控(概述、单台服务器监控本身安装部署)

第三阶段基础 时 间:2023年7月18日 参加人:全班人员 内 容: zabbix企业级监控 目录 一、Zabbix概述 (一)Zabbix简介 (二)Zabbix运行条件: (三)Zab…

深入解析 YAML 配置文件:从语法到最佳实践

一、认识YAML YAML(YAML Aint Markup Language)是一种人类可读的数据序列化语言。它的设计目标是使数据在不同编程语言之间交换和共享变得简单。YAML采用了一种简洁、直观的语法,以易于阅读和编写的方式表示数据结构。YAML广泛应用于配置文件…

探索开源图片编辑工具:定制化编辑,激发想象

图片编辑是现代生活中广泛使用的技术,它不仅能够改善照片和图像的质量,还能创造出令人赞叹的视觉效果。随着开源文化的兴起,越来越多的开源工具涌现出来,为我们提供了实用且灵活的图片编辑功能。这些开源工具的出现为个人、设计师…

想用vivo手机设置一个5天后提醒我的闹铃,怎么设置?

在生活和工作中有很多待办事项,都不是需要当前立刻就去完成的,而且需要我们提前记住,并且在未来的某个指定日期去完成,例如两天后提交项目报告、下周五的重要会议、考试报名时间等。如果担心自己忘记这些待办事项,应该…

android APP外包开发的三种方式

开发android APP有三种方式,分别是原生开发、混合开发和无代码开发,原生开发对开发者有一定要求,但用户体验好;混合开发是使用H5开发,对开发者要求相对较低;而无代码开发则是通过操作界面搭建APP&#xff0…

openGauss学习笔记-13 openGauss 简单数据管理-DELETE语句

文章目录 openGauss学习笔记-13 openGauss 简单数据管理-DELETE语句13.1 语法格式13.2 参数说明13.3 示例 openGauss学习笔记-13 openGauss 简单数据管理-DELETE语句 DELETE语句可以从指定的表里删除满足WHERE子句的行。如果WHERE子句不存在,将删除表中所有行&…

传输层协议—网络

文章目录 1.TCP1.1TCP协议段格式1.2可靠机制1.2.1确认应答机制1.2.2超时重传机制1.2.3连接管理机制1.2.4流量控制机制1.2.5拥塞控制机制 1.3效率机制1.3.1滑动窗口机制1.3.2延迟应答机制1.3.3捎带应答机制 1.4粘包问题(tcp问题,应用层的数据包&#xff0…

JMeter 性能测试实例分析

一、性能测试分类: 1、基准测试 2、并发测试 3、负载测试 4、压力测试 1、基准测试: 也是单用户测试,测试环境确定以后,对业务模型中的重要业务做单独的测试,获取单用户运行时的各项性能指标,为多用户…

C# 细说async/await的用法

目录 一,引言 二,实例演示 2.1 多线程同步执行下载任务,任务完成后通知 2.2 异步执行下载任务,任务完成后通知 三,async/await的用法 3.1 跨线程修改UI控件 3.2 异步获取数据 一,引言 首先先来区分…

【Go】实现一个代理Kerberos环境部分组件控制台的Web服务

实现一个代理Kerberos环境部分组件控制台的Web服务 背景安全措施引入的问题SSO单点登录 过程整体设计路由反向代理登录会话组件代理YarnHbase 结果 背景 首先要说明下我们目前有部分集群的环境使用的是HDP-3.1.5.0的大数据集群,除了集成了一些自定义的服务以外&…

python opencv 级联Haar多目标检测

一、基于OpenCV的haar分类器实现笑脸检测 1、Haar分类器介绍 🚀Haar分类器是一种基于机器学习的目标检测算法,它使用Haar特征描述图像中的目标。Haar特征是基于图像亮度的局部差异计算得出的,可以用来描述目标的边缘、角落和线条等特征。 使用…

Jenkins (一)

Jenkins (一) Docker Jenkins 部署 一. 安装 jenkins $ mkdir -p /home/tester/data/docker/jenkins $ vim jenkins:lts-jdk11.sh./jenkins:lts-jdk11.sh 内容 #! /bin/bash mkdir -p /home/tester/data/docker/jenkins/jenkins_homesudo chown -R 1000:1000 /home/tester/da…

利用LightHouse进行合理的页面性能优化,看这一篇就够了!

利用LightHouse进行合理的页面性能优化,看这一篇就够了! 前言一. Lighthouse下载1.1 相关指标概念1.2 Lighthouse 优化建议 二. 跟着 Lighthouse 进行性能优化2.1 Enable text compression 开启文本压缩2.2 Resize images 重新设定合适大小的图片2.3 Eli…

Java阶段五Day08

Java阶段五Day08 文章目录 Java阶段五Day08内容回顾学习内容目的自动配置原理SPI-API:一对类似的概念 自定义Starter属性配置问题 网关组件SpringCloud Gateway网关架构微服务网关介绍Spring Cloud Gateway(技术选型)网关转发入门案例明确案例需求实现案…