为什么上下文学习有用

2023-12-19

上下文学习与Prompt learning 类似,但是又不完全一样,预训练的大模型不需要进行微调,只需要根据提示,也就是上下文(in-context),就能够完成特定的任务。这一点在ChatGPT中体现的尤为明显。当我们与大模型进行对话的时候,就是在给它提供上下文,它可以根据当前语境,来判断用户的意图,并给出理想的答案。如果给出了错误了答案,用户只需指出错误的地方,大模型就能自己改正错误,不过这可能需要多轮的对话才可以完成特定的任务。
所以,为什么这样的对话能有用呢?大模型怎么能够在历史对话的基础上进行学习,从而理解人们的意图呢?这就下面要探究的,为什么in-context learning (ICL)有用。
首先,我们需要知道in-context learning (ICL)的定义是什么。
Dong等人的调查和总结了in-context learning (ICL)的进展和挑战[1]。Dong等人在论文将上下文学习定义为:“A paradigm that allows language models to learn tasks given only a few examples in the form of demonstration.”。模型仅通过示范的少量示例就能够了解当前任务并给出答案。根据定义,我们可以明显看出 ICL 与其他相关概念的不同之处。
一:“Prompt Learning”:提示学习,是指一种让大模型根据一些具体的提示或者规则来产生想要的结果的方法。这些提示可以是一些具体的话语,也可以是一些抽象的参数。目的就是要激发大模型去猜测或者生成我们希望看到的输出结果。而上下文学习,它可以被看作是提示学习的一种特殊情况。在上下文学习的过程中,包括了一些实际的演示例子,这些例子成为了提示的一部分。总的来说,提示学习更加强调通过一些建议来引导计算机生成输出,而上下文学习更关注通过一些实际例子来教计算机完成任务。
二:“Fewshot Learning”:Fewshot Learning采用参数适应的方式来学习任务的最佳模型参数,是在少量标注数据上进行的有监督训练。而ICL 不需要进行参数更新,直接在预训练的 LLM 上执行。
Min等人提供了一种新的方法来理解上下文学习是如何以及为何起作用的[2]。他们讨论了大型语言模型(例如 GPT-3)的一种学习方式,即通过在示例中学习,然后在新的输入上进行推理,执行新的任务。他们发现,实际上并不需要真实的示例数据,即使在示例中随机替换标签,也几乎不会对一系列任务的性能产生明显影响。这个结果适用于包括 GPT-3 在内的12种不同的语言模型。具体来说,示例中的输入文本的分布和标签空间对上下文学习的性能提升起到关键作用,而真实的输入-标签映射的准确性影响较小。Min等人观察到 MetaICL[3] 在这方面的反应更为明显,例如对地面真实的输入-标签映射的影响更小,而对保持示例格式的影响更大。作者推测元训练可能鼓励模型更专注于利用示例的一些方面,而忽略其他方面。
那么模型是否从in-context中学习到新任务了呢?如果将学习新任务定义为模型从真实的输入-标签映射中获得信息,从而更新自身的参数,那么ICL显然没有做到。但是如果将学习新任务的定义更为宽泛,包括对特定输入和标签分布以及示例的格式的适应,以及更准确地进行预测,那么模型确实会从示例中学习到新任务。
综上所述,ICL为什么有用的原因就是它从示例中学习到了数据的分布,这些数据的分布就引导着大模型完成特定的任务。

[1]Dong Q, Li L, Dai D, et al. A survey for in-context learning[J]. arXiv preprint arXiv:2301.00234, 2022.
[2]Min S, Lyu X, Holtzman A, et al. Rethinking the role of demonstrations: What makes in-context learning work?[J]. arXiv preprint arXiv:2202.12837, 2022.
[3]Min S, Lewis M, Zettlemoyer L, et al. Metaicl: Learning to learn in context[J]. arXiv preprint arXiv:2110.15943, 2021.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么上下文学习有用 的相关文章

随机推荐

  • 【手写数字识别】CNN网络手写数字识别分类【含Matlab源码 1286期】

    博主简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 Matlab项目合作可私信 个人主页 海神之光 代码获取方式 海神之光Matlab王者学习之路 代码获取方式 座右铭 行百里者 半于九十 更多Matlab仿真内容点击 Matl
  • DBeaver Ultimate for Mac/win:掌握数据库的终极利器,助您高效管理数据!

    在当今数字化时代 数据管理变得越来越重要 而作为一款功能强大的数据库管理工具 DBeaver Ultimate 简称DBU 助您轻松应对各种复杂的数据管理任务 无论您是数据库管理员 开发人员还是数据分析师 DBU都能为您提供全面的解决方案
  • java连接oracle出现ORA-12505错误

    问题 sqlplus可以连接 但java连接报错 ORA 12505 ORA 12505 TNS listener does not currently know of SID given in connect descr 解析 原因 数据
  • 新华发电:以财务共享建设为抓手, 构建世界一流财务管理体系

    作者 杨军 王俊锋 刘永伟 供职于新华水力发电有限公司 来源 新理财 公司理财 杂志2023年11月刊 编辑 滕娟 新华发电将财务共享建设作为推动财务数智化 建设世界一流财务管理体系的突破口 以构建具有企业自身特色的财务管理理论和财务管理模
  • 控费用,数字化支出管理让大型企业营销费用管理精细化

    在当今竞争激烈的市场环境中 企业营销费用的合理支出与管理显得尤为重要 然而 营销费用的支出不断增加及管理不善常常成为企业的一大挑战 01 企业营销费用支出的机遇及挑战 企业营销费用主要包括广告费 促销费 市场调研费 营销人员薪酬等 大部分企
  • thinkphp+vue教学互动课程资源网站

    软件工程课程建设通篇文章的撰写基础是实际的应用需要 然后在架构系统之前全面复习大学所修习的相关知识以及网络提供的技术应用教程 以软件工程课程建设的实际应用需要出发 架构系统来改善现软件工程课程建设工作流程繁琐等问题 不仅如此以操作者的角度来
  • 【分享】5种方法将Excel设置为“只读”

    将Excel表格设置以 只读方式 打开 可以提醒或者防止表格被随意改动 今天小编来分享一下将Excel设置为 只读 的5种方法 方法一 通过 保护工作簿 设置 首先 打开Excel表格依次点击菜单选项卡 文件 信息 保护工作簿 始终以只读方
  • Thinkphp+vue中小学编程教育培训学习网页端软件设计与实现7r1ci

    要内容 研究方法和思路 总体安排和进度 包括阶段性工作内容及完成日期 1 主要内容 本课题主要注重少儿编程教育平台的设计与实现 主要分为以下三方面 1 前台功能需求 基础功能 课程功能 互动功能 2 后台功能需求 课程管理功能 机构管理功能
  • HarmonyOS:Neural Network Runtime 对接 AI 推理框架开发指导

    场景介绍 Neural Network Runtime 作为 AI 推理引擎和加速芯片的桥梁 为 AI 推理引擎提供精简的 Native 接口 满足推理引擎通过加速芯片执行端到端推理的需求 本文以图 1 展示的 Add 单算子模型为例 介绍
  • 西南科技大学数据库实验七(综合实验—选课系统综合查询)

    一 实验目的 存储过程与触发器 二 实验任务 一 创建数据库及表 提供数据库文件mytables sql 可以导入 可以拷贝 1 创建班级表class 2 创建学生表student 3 创建选课表choose 4 创建课程表course 5
  • thinkphp+mysql_vue汽车资讯新闻网站

    本汽车资讯网站有管理员和用户 管理员功能有个人中心 用户管理 汽车品牌管理 价格分类管理 经销商管理 汽车信息管理 留言板管理 系统管理等 用户可以查看各种汽车信息 还可以进行留言 因而具有一定的实用性 运行环境 phpstudy wamp
  • Elasticsearch——深入原理

    在正式介绍Elasticsearch的具体功能以前 将介绍Elasticsearch中比较重要的原理与机制 这有助于理解Elasticsearch的内部机制 以及从表面功能深入了解其背后的逻辑本质 主要内容如下 搜索引擎的基本原理和组成结构
  • Linux——apt-get工具

    apt get是Debian和Ubuntu等基于Debian的Linux发行版的包管理工具 用于自动从互联网软件仓库中搜索 下载 安装 升级 卸载软件或操作系统 以及自动处理依赖关系 使用apt get进行软件包安装的基本步骤 请注意 具体
  • Python3 集合

    在Python3中 集合 Set 是一种无序 不重复的数据集合 集合使用 或set 来创建 以下是一些常用的集合操作 创建集合 set1 1 2 3 使用 创建集合 set2 set 4 5 6 使用set 创建集合 http www js
  • 零售EDI:如何与EDEKA 建立EDI连接?

    艾德卡EDEKA 是德国最大的食品零售商 因其采用 指纹付款 的方式进行结算 成为德国超市付款方式改革的先驱 与EDEKA建立EDI连接 首先需要填写EDEKA提供的调查问卷 其中包括公司信息 EDI负责人信息 EDI供应商信息 销售部门信
  • 计算机网络基础——光模块(Optical Modules)基础知识介绍

    一 光模块的工作原理 光模块 Optical Modules 的工作原理是将电信号转换为光信号 或者将光信号转换为电信号 实现光纤通信中的光电转换和电光转换功能 具体来说 光模块主要由光电子器件 光发射器和光接收器 功能电路和光接口等部分组
  • linux下载yum和python

    在下载pkdg时 因为yum报错坏的解释器 然后误删了yum和python 在下载各种版本 创建各种软连接 修改yum文件都不好使后 发现了这样一个方法 Centos 完美解决python升级导致的yum报错问题 相信我这是一篇有用的文章
  • 计算机网络基础——常用的中英文网络述语大全,强烈建议收藏

    系统网络体系结构 System Network Architecture SNA 国际标准化组织 International Organization for Standardization ISO 开放系统互连基本参考模型 Open Sy
  • 数据库学习日常案例20231219-19C集群ORA-27301 ORA-27300分析处理

    1 问题概述 今日对数据库检查发现如下错误 Errors in file u01 app oracle diag rdbms orcldb orcldb1 incident incdir 4510778 orcldb1 m004 32243
  • 为什么上下文学习有用

    上下文学习与Prompt learning 类似 但是又不完全一样 预训练的大模型不需要进行微调 只需要根据提示 也就是上下文 in context 就能够完成特定的任务 这一点在ChatGPT中体现的尤为明显 当我们与大模型进行对话的时候