博客
关于我
ChatGPT的前生: Prompting思想
阅读量:799 次
发布时间:2023-04-16

本文共 1404 字,大约阅读时间需要 4 分钟。

Prompting:NLP的最新范式

1. Prompting:NLP的最新范式

Prompting,又称in-context learning,是NLP领域的最新范式之一。它不仅是一种参数高效的学习方法,更蕴含着更深层次的思想。传统的NLP范式在任务层面存在局限性,而Prompting却打破了这一局限,在任务级别展现了强大的泛化能力。

传统范式的局限性

在传统的预训练-微调范式中,模型通过大规模通用数据预训练,随后在特定任务上进行微调。这种方法虽然在特定任务上表现优异,但存在以下问题:

  • 任务划分的依赖性:现实中,许多任务涉及多个子任务的复合,例如翻译+总结。传统范式需要人工定义任务边界,而Prompting可以无需任务划分直接处理复合任务。

  • 参数更新的局限性:微调需要更新大量参数,且不同任务之间参数更新互不共享,导致资源消耗和部署复杂性。

  • 模型规模的限制:模型规模与性能呈正相关,但传统微调方法难以充分发挥大模型的潜力。

  • 2. Prompting的核心思想

    Prompting方法最初与GPT-3的发布同步问世。其核心思想是通过在输入中引导模型,使其在不需要特定任务微调的情况下完成目标任务。具体表现为:

    • 生成任务:通过提供上下文信息,指导模型完成填空任务。例如,文本情绪分类可以通过提供模板“今天天气很好,我的心情是[MASK]的”实现。

    • 理解任务:通过提供上下文信息,指导模型理解复杂语境。例如,机器翻译任务可以通过提供“翻译成英语:今天天气真好”实现。

    Prompting的成功证明了大模型本身具备完成多种任务的潜力,只需通过适当的上下文引导即可。

    3. Prompting方法的分类

    Prompting方法主要分为手工Prompt和参数化Prompt两大类:

    3.1 手工Prompt

    手工Prompt通过自然语言描述任务,分为:

    • Prefix Prompt:用于生成式任务(如机器翻译),通过在输入前增加语言标识符实现。
    • Cloze Prompt:用于理解式任务(如情感分析),通过在输入中加入空缺词实现。

    3.2 参数化Prompt

    参数化Prompt通过在模型的输入或隐藏层增加新参数实现任务指导。主要方法包括:

    • Prefix Tuning:在输入层和每个隐藏层增加前缀参数,仅对相关参数进行微调。
    • Prompt Tuning:仅在输入层增加新嵌入参数,模型结构无需修改。

    4. Prompting的效果与总结

    Prompting方法展现出以下显著优势:

  • 高效性:在相同计算资源下,Prompting模型的效果与传统微调方法相当,甚至在参数规模上更具优势。
  • 泛化能力:模型在任务级别展现出强大的泛化能力,能够处理复合任务。
  • 灵活性:无需人工定义任务边界,适合处理现实中常见的多任务场景。
  • 具体效果可参考相关论文,Prompting方法在多任务学习、零样本任务等方面取得了显著进展。

    5. Prompting的未来与ChatGPT的崛起

    Prompting技术的核心优势在于突破了对“任务”的严格定义,使复合任务的实现成为可能。ChatGPT的成功正是得益于这一技术。尽管其基础模型GPT-3.5已具备强大的能力,但随着GPT-4的推出,参数量的进一步扩大将推动Prompting技术的发展。

    未来,Prompting将成为NLP研究的重要方向,传统的任务划分方法将逐渐淡出历史舞台。

    转载地址:http://rcgfk.baihongyu.com/

    你可能感兴趣的文章
    Mac book pro打开docker出现The data couldn’t be read because it is missing
    查看>>
    MAC M1大数据0-1成神篇-25 hadoop高可用搭建
    查看>>
    mac mysql 进程_Mac平台下启动MySQL到完全终止MySQL----终端八步走
    查看>>
    Mac OS 12.0.1 如何安装柯美287打印机驱动,刷卡打印
    查看>>
    MangoDB4.0版本的安装与配置
    查看>>
    Manjaro 24.1 “Xahea” 发布!具有 KDE Plasma 6.1.5、GNOME 46 和最新的内核增强功能
    查看>>
    mapping文件目录生成修改
    查看>>
    MapReduce程序依赖的jar包
    查看>>
    mariadb multi-source replication(mariadb多主复制)
    查看>>
    MariaDB的简单使用
    查看>>
    MaterialForm对tab页进行隐藏
    查看>>
    Member var and Static var.
    查看>>
    memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
    查看>>
    memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
    查看>>
    Memcached:Node.js 高性能缓存解决方案
    查看>>
    memcache、redis原理对比
    查看>>
    memset初始化高维数组为-1/0
    查看>>
    Metasploit CGI网关接口渗透测试实战
    查看>>
    Metasploit Web服务器渗透测试实战
    查看>>
    MFC模态对话框和非模态对话框
    查看>>