【大模型基础_毛玉仁】3.2 上下文学习

news2025/3/22 0:17:01

目录

    • 3.2 上下文学习
      • 3.2.1 上下文学习的定义
      • 3.2.2 演示示例选择
        • 1)直接检索
        • 2)聚类检索
        • 3)迭代检索
      • 3.2.3 性能影响因素


3.2 上下文学习

随模型训练数据规模和参数量的扩大,大语言模型涌现出了上下文学习In-Context Learning,ICL)能力。

其使得语言模型能够通过给定的任务说明或示例等信息来掌握处理新任务的能力。可以快速适应下游任务。为“语言模型即服务”(LLM as a Service)模式奠定了坚实的能力基础。

下面从上下文学习的定义,演示示例选择,影响其性能的因素,对上下文学习展开介绍。

.

3.2.1 上下文学习的定义

上下文学习(In-Context Learning, ICL):

  • 是一种通过构造特定的Prompt,来使得语言模型理解并学习下游任务的范式;

  • 这些特定的Prompt中可以包含演示示例,任务说明等元素。

实现的关键:在于如何设计有效的Prompt,以引导模型理解任务的上下文和目标。

在上下文学习中,Prompt通常包含几个与待解决任务相关的演示示例,以展示任务输入与预期输出。这些示例按照特定顺序组成上下文,并与问题拼接共同组成Prompt输入给大语言模型。大语言模型从上下文中学习任务范式,同时利用模型自身的能力对任务进行作答。

图3.5: 上下文学习示例
在这里插入图片描述

上下文学习依示例数量分为三种形式:

  • 零样本:仅需任务说明,无示例,泛化能力强,但性能依赖模型且可能欠佳。

  • 单样本:提供一个示例,符合人类学习模式,但效果依赖示例代表性。

  • 少样本:提供少量示例(几至十几个),能提升特定任务表现,但增加计算成本。示例的代表性和多样性也将影响其生成效果。

上下文学习有效的原因:

据斯坦福大学研究,可解释为“隐式贝叶斯推理”:大语言模型预训练时学习了文本中的潜在概念;推理时借助示例锚定这些概念,从而预测答案。

.

3.2.2 演示示例选择

在上下文学习中,演示示例对引导大语言模型理解任务至关重要,其内容和质量直接影响学习效果。合理选择示例需依据相似性和多样性:

  • 相似性:挑选与待解决问题最接近的示例,从语言和结构等层面衡量,为模型提供相近参照,助其理解问题。

  • 多样性:确保示例涵盖广泛内容,扩大覆盖范围,使模型从多角度理解任务,增强应对不同问题的能力。

本节主要探讨基于这两个因素,从大量候选示例中选择合适示例的方法。

1)直接检索

直接检索通过计算候选示例与待解决问题的相似性排序,选取前K个示例。

代表性方法KATE利用RoBERTa编码问题和示例,通过向量余弦相似度评分选择最高K个示例。

此方法简单易用,但未考虑示例多样性,可能导致同质化

2)聚类检索

聚类检索通过先聚类后检索来保证示例的多样性,避免直接检索导致的样例趋同。Self-Prompting 是代表性方法,其操作步骤如下:

  1. 将候选示例和待解决问题编码成向量。

  2. 运用 K-Means 算法把示例集合聚为 K 个簇。

  3. 依照问题与示例之间的余弦相似度,从每个簇中选取与问题最相似的示例,得到 K 个示例。

该方法虽提高了示例的多样性,但因部分簇与问题不相似,致所选示例的相似性可能不够高

3)迭代检索

迭代检索通过动态选择示例,在相似性和多样性之间取得平衡。

其流程如下:

  • 初始化检索器内部状态:根据当前问题,基于LSTM检索器初始化内部状态。

  • 选择第一个示例:从候选示例中选择一个与问题高度相似的示例。

  • 更新检索器内部状态:结合问题和已选示例,更新检索器内部状态。

  • 选择下一个示例:根据更新后的状态,从剩余候选示例中选择下一个示例。

  • 重复迭代:重复更新和选择,直到选出k个示例。

RetICL是代表性方法,其根据问题初始化基于LSTM的检索器内部状态,选择示例并不断更新状态,直到得到k个示例。

图3.9: 迭代检索
在这里插入图片描述

.

3.2.3 性能影响因素

除示例选择以外,上下文学习的性能受多种因素影响,包括预训练数据、预训练模型、演示示例等。

1)预训练数据的影响

预训练数据是上下文学习能力的来源,深刻影响其性能,领域丰富度、任务多样性、训练数据的分布特性是影响性能的关键因素。

2)预训练模型的影响

预训练模型对上下文学习性能的影响主要体现在模型参数规模上,参数数量需达到亿级别及以上,模型规模越大,性能越强。此外,模型的架构和训练策略也是影响性能的重要因素。

3)演示示例的影响

已经讨论了演示示例选择对上下文学习的重要性。除此之外,演示示例的格式、输入-标签映射、示例数量及顺序对上下文学习的性能也存在不小的影响。

除上述因素外,Prompt中的任务说明的质量也直接影响上下文学习的效果。

.


其他参考:【大模型基础_毛玉仁】系列文章


声明:资源可能存在第三方来源,若有侵权请联系删除!

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

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

相关文章

Oraclelinux问题-/var/log/pcp/pmlogger/目录超大

有套19c rac环境,操作系统是oracle linux 8.10,日常巡检时发现/var/log/pcp/pmlogger/目录超大,如下 [rootdb1 ~]# du -sh /var/log/pcp/pmlogger/* 468G /var/log/pcp/pmlogger/db 1.3G /var/log/pcp/pmlogger/oracle06-106 754M /…

【大语言模型_8】vllm启动的模型通过fastapi封装增加api-key验证

背景: vllm推理框架启动模型不具备api-key验证。需借助fastapi可以实现该功能 代码实现: rom fastapi import FastAPI, Header, HTTPException, Request,Response import httpx import logging# 创建 FastAPI 应用 app FastAPI() logging.basicConfig(…

学习笔记 ASP.NET Core Web API 8.0部署到iis

一.修改配置文件 修改Program.cs配置文件将 if (app.Environment.IsDevelopment()) {app.UseSwagger();app.UseSwaggerUI(); }修改为 app.UseSwagger(); app.UseSwaggerUI(); 二.安装ASP.NET Core Runtime 8.0.14 文件位置https://dotnet.microsoft.com/en-us/download/do…

Microsoft Edge浏览器的取证分析(基于Chromium)

概述 早在2019年,微软就用Chromium替换了EdgeHTML浏览器引擎,这是微软支持谷歌Chrome浏览器的一个开源项目。通过切换到Chromium,Edge与Chrome浏览器共享一个共同的架构,这意味着用于Chrome浏览器调查的取证技术也适用于Edge。 …

汽车一键启动系统使用方便,舒适出行,轻松匹配

汽车一键启动系统 系统定义 移动管家汽车一键启动系统是装置在智能汽车上的一部分,是实现简约打火和熄火过程的一个按钮装置。它可以在原车钥匙锁头的位置改装,也能独立面板改装,现在很多高低配置的车辆都可安装。 功能特点 基本功能 启…

C语言复习笔记--数组

今天继续来浅浅推进一下C语言的复习,这次是数组的复习,话不多说,正文开始. 数组的概念 数组是⼀组相同类型元素的集合,一种自定义类型.数组中元素个数不能为0.数组分为⼀维数组和多维数组,多维数组⼀般⽐较多⻅的是⼆维数组. 下面从一维数组说起. 一维数组的创建和…

海康SDK协议在智联视频超融合平台中的接入方法

一. 海康SDK协议详解 海康SDK协议原理 海康SDK协议是海康威视为开发者提供的一套软件开发工具包,用于与海康设备(如摄像头、NVR、DVR等)进行通信和控制。其核心原理包括: 网络通信:基于TCP/IP协议,实现设…

腾讯云大模型知识引擎×DeepSeek:股票分析低代码应用实践

项目背景与发展历程 在金融科技快速发展的今天,股票分析作为投资决策的核心环节,正面临数据量激增和复杂性提升的挑战。传统股票分析依赖人工处理,效率低下且成本高昂,而人工智能(AI)的引入为这一领域带来…

【工具】C#防沉迷进程监控工具使用手册

一、软件简介 本工具用于监控指定进程的运行时长,当达到预设时间时通过声音、弹窗、窗口抖动等方式进行提醒,帮助用户合理控制程序使用时间。 软件在上篇文章。 二、系统要求 Windows 7/10/11.NET Framework 4.5 或更高版本 三、快速入门 1. 配置文件…

【docker】--- 详解 WSL2 中的 Ubuntu 和 Docker Desktop 的区别和关系!

在编程的艺术世界里,代码和灵感需要寻找到最佳的交融点,才能打造出令人为之惊叹的作品。而在这座秋知叶i博客的殿堂里,我们将共同追寻这种完美结合,为未来的世界留下属于我们的独特印记。【WSL 】--- Windows11 迁移 WSL 超详细指南 —— 给室友换一个宿舍! 开发环境一、引…

强大的AI网站推荐(第一集)—— Devv AI

网站:Devv AI 号称:最懂程序员的新一代 AI 搜索引擎 博主评价:我的大学所有的代码都是使用它,极大地提升了我的学习和开发效率。 推荐指数:🌟🌟🌟🌟🌟&#x…

模块二 单元4 安装AD+DC

模块二 单元4 安装ADDC 两个任务: 1.安装AD活动目录 2.升级当前服务器为DC域控制器 安装前的准备工作: 确定你要操作的服务器系统(Windows server 2022); 之前的服务器系统默认是工作组的模式workgroup模式&#xff08…

蓝桥杯备考:数学问题模运算---》次大值

这道题,由于数据规模是2e5,我们直接暴力的话是一定会超时的 所以我们得想个办法,我们先把所有的数排序去重 我们先想想如果要找最大值,怎么找 这时候我们要分类讨论 ①如果是大数模小数,那结果肯定是小于小数的&am…

k8s1.30 部署calio网络

一、介绍 网路组件有很多种,只需要部署其中一个,推荐calio。 calio是一个纯三成的数据中心网络方案,calico支持广泛的平台。如k8s,openstack等。 calio在每一个计算节点利用linux内核,实现了一个高效的虚拟路由器来…

Elasticsearch:为推理端点配置分块设置

推理端点对一次可处理的文本量有限,具体取决于模型的输入容量。分块(Chunking) 是指将输入文本拆分成符合这些限制的小块的过程,在将文档摄取到 semantic_text 字段时会进行分块。分块不仅有助于保持输入文本在可处理范围内&#…

[工控机安全] 使用DriverView快速排查不可信第三方驱动(附详细图文教程)

导语: 在工业控制领域,设备驱动程序的安全性至关重要。第三方驱动可能存在兼容性问题、安全漏洞甚至恶意代码,威胁设备稳定运行。本文将手把手教你使用 DriverView工具,高效完成工控机驱动安全检查,精准识别可疑驱动&a…

多无人车协同探索开源包启动文件介绍(上)

在之前介绍的《多无人车协同探索开源包部署教程及常见报错解决方式》中运行多无人车协同探索时,先后运行了两个launch文件 multiple_tb3_house.launch 和three_robots.launch ,本文来进一步看一下这两个启动文件以及其调用的move_base .launch 和multi_t…

Linux驱动学习笔记(三)

并发与竞争 1.在编写驱动程序的时候,要尽量避免让驱动程序存在并发和竞争,Linux内核里面提供了几种处理并发与竞争的方法,分别是:原子操作、自旋锁、信号量和互斥体。 原子操作:Linux的原子操作基于atomic_t数据类型…

leetcode热题100道——两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。 你可以按任意顺序返回答案。 示例 1…

Git远程拉取和推送配置

Git进行远程代码拉取和推送时候提示配置user.name 和 user.email 背景:换新电脑后使用Git进行代码拉取和推送过程中,提示“Make sure you configure your “user.name” and “user.email” in git.”。这个配置针对git的正常使用仅需要配置一次&#xf…