首页 > 其他分享 >Zero-Shot,One-Shot,Few-Shot,In-Context Learning

Zero-Shot,One-Shot,Few-Shot,In-Context Learning

时间:2024-09-16 09:23:43浏览次数:10  
标签:context Shot Learning 模型 Few Zero learning GPT

Zero-Shot,One-Shot,Few-Shot,In-Context Learning

https://blog.csdn.net/weixin_44212848/article/details/139902394

In-Context Learning

定义:In-context learning是一种在不显式微调模型权重的情况下,通过给模型提供相关的上下文信息(例如提示或样本)来实现模型性能提升的方法。GPT-3等大规模语言模型展示了这种能力。

在 LLM 的语境下:
“上下文学习”(In-context learning)使用预先训练的语言模型的文本输入作为任务规范的一种形式:该模型以自然语言指令和/或任务的一些演示为条件,然后期望通过预测接下来会发生什么来完成任务的进一步实例 4。

下图是 in-context learning (左边一列)和一般 fine-tuning (右边一列)的区别,in-context learning 不产生梯度、不会更新模型参数,而 fine-tuning 会产生梯度、更新模型参数。

需要注意区分 in-context learning 中可以有 Zero-Shot、One-Shot 和 Few-Shot 的 Setting,但和 Zero-Shot learning、One-Shot learning、Few-Shot learning 不一样!

在这里插入图片描述

 

 

 

Few-shot Fine-tuning vs. In-context Learning:A Fair Comparison and Evaluation

https://arxiv.org/pdf/2305.16938

 

 

什么是上下文学习(In-Context Learning)

https://zhuanlan.zhihu.com/p/606788655

GPT-n 系列的模型都属于自回归类的语言模型,所谓自回归模型

就是根据当前输入预测下一个词,然后将预测结果和输入拼接再当做模型的输入再预测下一个词,这样循环往复。

而自回归模型的训练目标也很简单,就是从超大规模语料库

中采样训练样本,模型根据输入输出一个概率向量(概率向量包含所有词的预测概率,对于GPT-3 模型来说,维度约1千多万),而因为文本数据自带标注所以我们是知道真实的下一个词,所以损失函数就采用得交叉熵

然后研究人员发现,预训练好的 GPT-3 模型拥有一项神奇的能力,后来被称为:上下文学习(In-Context Learning)。

这项能力简单来说就是,预训练好的 GPT-3 模型在迁移到新任务上的时候并不需要重新训练,而只需要提供任务描述(这个任务描述是可选项)接着提供几个示例(任务查询和对应答案,以一对对

的形式组织),最后加上要模型回答的查询。将以上内容打包一起作为模型的输入,则模型就能正确输出最后一个查询对应的答案。

举个例子:

比如现在想用 GPT-3 来做个翻译任务,翻译英文为法文。输入的格式如下:

https://ai.stanford.edu/blog/in-context-learning/

首先第一行是对任务描述,告诉模型要做翻译,接下来三行就是示例,英文单词和对应的法文单词对,最后一行就是待翻译的英文单词。将以上内容整体作为 GPT-3 的输入,让模型去补全输出就能得到 cheese 对应的法文单词。

上下文学习非常的灵活,除了上面展示的翻译任务,还可以做语法修饰甚至写代码。而神奇的地方就在于,在 GPT-3 的训练过程中是并没有显式的提供,类似测试阶段任务描述加示例这样的训练数据。

当然 GPT-3 的训练数据量非常巨大(比如包含了 wiki, 书本期刊,reddit 上的讨论等等),或许里面就已经就包含了各种任务类似结构的数据,GPT-3 模型容量足够大能够将所有训练数据都记了下来。

对于上下文学习能力的成因,目前还是一个开放性的问题。为什么只有大规模的语言模型才会具备该能力?或许只有模型参数量大还不够,还必须要训练数据量也足够大,模型才能显现出该能力?

 

标签:context,Shot,Learning,模型,Few,Zero,learning,GPT
From: https://www.cnblogs.com/lightsong/p/18415990

相关文章

  • 香橙派Zero3 全志H618设备树插件编译
    基本信息全志H618SDK:香橙派官方提供SDK虚拟机:Ubuntu22.04整体的SDK文件夹名称为:orangepi-build-nextSDK中Linux内核路径:orangepi-build-next/kernel/orange-pi-5.4-sun50iw9编译环境指定首先需要指定交叉编译器:在SDK中的toolchains文件夹中含有很多编译器:对于......
  • orangePiZero3折腾之路:1
    香橙派烧录系统准备:到香橙派zero3的官网1.下载用户手册2.点击官方工具:下载balenaEtcher,mobaxterm3.在官方镜像里我选择了ubuntu,Orangepizero3_1.0.4_ubuntu_jammy_desktop_xfce_linux6.1.31,是桌面版,因为我的内存是4G,tf卡32G在balenaEtcher中烧录系统,具体步骤看用......
  • 【openGauss】WDR快照无法生成或执行生成不报错,但是snapshot.snapshot为空的问题
    问题情况开启enable_wdr_snapshot后再snapshot.snapshot中差不多任何快照信息手动创建快照也还是查不到问题原因检查pg_log日志(/opt/software/log为自己的日志路径)vi/opt/software/log/omm/pg_log/dn_6001/postgresql-2024-03-06_144308.log可以发现报错信息为......
  • 为数据仓库构建Zero-ETL无缝集成数据分析方案(上篇)
    对于从事数据分析的小伙伴们来说,最头疼的莫过于数据处理的阶段。在我们将数据源的原始数据导入数据仓储进行分析之前,我们通常需要进行ETL流程对数据格式进行统一转换,这个流程需要分配专业数据工程师基于业务情况完成,整个过程十分耗时耗力,而且往往不能获取实时的最新数据。在本......
  • [LeetCode] 2181. Merge Nodes in Between Zeros
    Youaregiventheheadofalinkedlist,whichcontainsaseriesofintegersseparatedby0's.ThebeginningandendofthelinkedlistwillhaveNode.val==0.Foreverytwoconsecutive0's,mergeallthenodeslyinginbetweenthemintoasing......
  • TPT(论文解读):Test-Time Prompt Tuning for Zero-Shot Generalization in Vision-Langua
    Comment:NeurIPS2022视觉语言模型中用于zero-shot泛化的测试期间提示调优摘要预训练的视觉语言模型在许多具有恰当文本提示的下游任务中表现出不错的zero-shot泛化。最近的研究并非使用手动设计的提示,而是使用下游任务中的训练数据来学习提示。虽然这种方法是有效的,但是......
  • CPU亲和性设置视频解析,代码示例 sched_setaffinity sched_getaffinity, CPU_ZERO、CP
    视频教程在这:cpu亲和性设置,NCCL,sched_setaffinitysched_getaffinity,CPU_ZERO、SET、ISSET、linux_哔哩哔哩_bilibili一、CPU亲和性简介CPU亲和性(CPUAffinity)设置是操作系统中一个重要的性能优化手段,它允许程序或进程被绑定到特定的CPU核心上运行。这样做的好处包括减少缓存未命中......
  • Distributed Training: DeepSpeed ZeRO 1/2/3 + Accelerate, Megatron-LM
    1IntroductionGithub:https://github.com/microsoft/DeepSpeedZeRO:MemoryOptimizationsTowardTrainingTrillionParameterModelsZeRO-Offload:DemocratizingBillion-ScaleModelTrainingZeRO-Infinity:BreakingtheGPUMemoryWallforExtremeScaleDee......
  • for Qbert sometimes we stay in lives == 0 condtion for a few frames —— baselin
    相关:baselines中环境包装器EpisodicLifeEnv的分析一直不是很理解在reinforcementleanrning算法在atari游戏的observation的交互过程中对lives和episodes的判断,为什么要有lives>0的这个要求,后来发现这个游戏的实战视频,发现这个游戏在某些情况下即使lives=0的时候,也会再允许进......
  • shotcut安装使用
    Download双击安装下一步指定路径勾选所需要的安装完成选择素材先复制粘贴到时间线如果底部没有这几个工具,点击顶部[查看]->[布局]->[恢复默认布局]点击中间的位置操作切割后选择删除文件,输出,视频......