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

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

  • [1. 文章简介](#1. 文章简介)
  • [2. 文章概括](#2. 文章概括)
  • [3 文章重点技术](#3 文章重点技术)
  • [4. 文章亮点](#4. 文章亮点)
  • [5. 原文传送门](#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使用的基本方法为

3 文章重点技术

  • PLMs:文章支持Huggingface transformers上的PLMs(预训练模型),开发者可通过下述操作直接加载PLMs:
python 复制代码
from openprompt.plms import load_plm
plm, tokenizer, model_config, WrapperClass = load_plm("bert", path_to_bert)
  • 预训练模型PLMs:文章支持Huggingface transformers上的PLMs(预训练模型),开发者可通过下述操作直接加载PLMs:
python 复制代码
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:
python 复制代码
from openprompt.prompts import ManualTemplate
promptTemplate = ManualTemplate(
    text = '{"placeholder":"text_a"} It was {"mask"}',
    tokenizer = tokenizer,
)

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

  • 言语化Verbalizer:Verbalizer将原始的标签映射到词表中的label words,文章接受手动设计Verbalizer或直接调用AutomaticVerbalizer/SoftVerbalizer/...等API自带的verbalizer方法。下面为一个手动设计verbalizer的示例:
python 复制代码
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结合在一起即可以完成此步骤:
python 复制代码
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
源代码

相关推荐
Swizard5 天前
逐行解剖:扒开 Lovable Agent 源码,看顶级 AI 是如何“思考”与“动刀”的
ai·prompt
Rabbit_QL6 天前
【BPE实战】从零实现 BPE 分词器:训练、编码与解码
python·算法·nlp
这张生成的图像能检测吗6 天前
(论文速读)XLNet:语言理解的广义自回归预训练
人工智能·计算机视觉·nlp·注意力机制
薛定e的猫咪6 天前
【AAAI 2025】基于扩散模型的昂贵多目标贝叶斯优化
论文阅读·人工智能·算法
肾透侧视攻城狮6 天前
《NLP核心能力构建:从传统统计到上下文感知的文本表示演进之路》
人工智能·nlp·fasttext·word2vec/glove·elmo/n-gram/词袋·doc2vec/lda·句向量与文档向量
YMWM_6 天前
论文阅读“SimVLA: A Simple VLA Baseline for Robotic Manipulation“
论文阅读·vla
杜子不疼.6 天前
大模型应用开发实战:从 Prompt 工程到企业级落地全流程
prompt
觅特科技-互站6 天前
告别手动微调Prompt:DevOps用陌讯Skills重构AI运维工作流
运维·prompt·线性回归·kmeans·devops
m0_650108246 天前
VLN-Zero:零样本机器人导航的神经符号视觉语言规划框架
论文阅读·零样本·机器人导航·视觉语言导航·未知环境快速适配·符号化场景图·vlm推理
小马_xiaoen6 天前
AI Prompt 工程完全指南:从入门到精通的提示词设计艺术
人工智能·prompt