大型语言模型 (LLM) 的两条发展路线:Finetune v.s. Prompt

news2025/2/27 17:08:18

前言

如果你对这篇文章感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。

在大型语言模型的研究中,研究者对其有两种不同的期待,也可以理解为是两种不同的路线,具体来说:

  • 期待一:成为专才,解决某类特定任务(翻译、获取摘要)
  • 期待二:成为通才,给定指令(Prompt),即可完成对应任务
    • 最早的该方向研究,认为所有 NLP 任务都可以变成问答任务,由此统一所有任务

在下文中,我们将对这两种不同的期待进行介绍。


专才的期待

专才在单一任务上有机会赢过通才。例如在下述论文中,在各类任务上(数值越大越好),ChatGPT 表现都不错,但依然没办法赢过专才。

在这里插入图片描述
由此对应了「专才」的使用方式,即对最初的领域大模型进行微调,对结构进行一些修改,或微调一些参数:

  • 与 BERT 的训练过程也比较符合,其训练过程为句子填空,因此训出的模型无法生成完整的句子,还需针对具体场景进行微调

在这里插入图片描述
如下所示,四种 BERT 增加 Head 的结构修改方式,使其可以做特定的任务:

在这里插入图片描述
以及对模型的参数做微调(Finetune),即用少量数据对模型参数进行调整,可以调整 LLM 的参数,也可以仅调整新增加结构的参数。

Adapter (Efficient Finetuning) 即对大模型增加一些插件,针对下游任务进行微调时,只需调整 Adapter 上的参数即可。
在这里插入图片描述


通才的期待

符合人类对「人工智能」的想象,且开发新任务非常方便,只要重新设计 Prompt 就可以快速开发新功能,大大提升效率。

对于通才来说,也包含两类任务:

  • 【Instruction Learning】给出题目的叙述,让机器进行回答;
  • 【In-context Learning】给出范例,让机器回答其它问题。

In-context Learning

【核心任务】给一些例子,然后再让机器回答相似问题:

在这里插入图片描述

机器似乎没有对例子进行学习,如下述实验结果所示:

  • 蓝色:没有例子(很差)
  • 黄色:有例子,且例子标记正确(最好)
  • 红色:有例子,且例子标记随机(对比最好,微微下降)

在这里插入图片描述

但这些例子的领域似乎很重要,如下述所示:

  • 多个一个紫色的柱子,其用的例子为与后续问题无关的内容,且标记随机(性能继续下降)

在这里插入图片描述

因此一种猜测是:在 In-context Learning 中,模型并没有在范例中学习,范例的作用是激活模型,告诉它现在的任务是关于什么领域的,因此范例的数量也并没有很重要。

不过后续又出现了新的工作,他们认为对于很大的模型来说,模型可以从上下文的例子中进行学习,如下述实验结果所示:

  • 颜色越深,模型越大
  • 横轴为错误的标签比例,纵轴为指标
  • 可以看到错误的数据越多,对模型的性能影响越大

在这里插入图片描述

Instruction Learning

文字接龙训练得到的模型,还需要做一下 Instruction-tuning,才能根据问题的叙述,切换到相应的任务上。

Instruction-tuning 期望做的事,如下所示:

在这里插入图片描述
做 Instruction-tuning,需要收集各式各样的任务(包含标注),再将这些任务改写为指令,如下所示:

在这里插入图片描述

Chain of Thought (CoT)

之后又有人发现,在 In-context learning 时,给出推导过程,大模型上下文学习的能力会得到加强,进一步地,后来就有人直接在 prompt 里加入「Let’s think step by step」,而这简单一句话,也使模型性能得到了提升。

在这里插入图片描述

如果做 chain of thought,模型生成的答案就会比较 diverse,因此一种 self consistency 的方法也相应提出,即运行多次,对所有出现的答案做一个投票,输出最常出现的答案。

Prompt Engineering

还有让模型自己找 Prompt 的方法:

  • 给出例子,让机器自己来找 Prompt

在这里插入图片描述
完整的方法是,给出上述例子,让机器找,多找几次,对每一个 prompt 打分,然后把分数高的留下来,继续输入给 LLM,让它找相似的,如下所示:

在这里插入图片描述


参考资料

  • Hung-yi Lee:大型语言模型的两类使用方式(一)
  • Hung-yi Lee:大型语言模型的两类使用方式(二)
  • Hung-yi Lee:大型语言模型的两类使用方式(三)
  • Is ChatGPT A Good Translator? Yes With GPT-4 As The Engine
  • How Good Are GPT Models at Machine Translation? A Comprehensive Evaluation
  • Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?
  • Why Can GPT Learn In-Context? Language Models Secretly Perform Gradient Descent as Meta-Optimizers
  • Larger Language Models Do In-context Learning Differently
  • Multitask Prompted Training Enables Zero-shot Task Generalization
  • Self-consistency Improves Chain of Thought Reasoning in Language Models
  • Large Language Models Are Human-level Prompt Engineers
  • 进击的 BERT:NLP 界的巨人之力与迁移学习

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

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

相关文章

【LeetCode: 494. 目标和 | 暴力递归=>记忆化搜索=>动态规划 | 背包模型】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

【Spring框架三】——Spirng IOC和DI的实现

系列文章目录 【Spring框架一】——Spring框架简介 Spirng IOC和DI的实现 系列文章目录前言一、IDEA新建Spring 项目二、使用XML文件的方式实现IOC和DI1.创建XML文件2. 通过构造函数的方式进行注入运行结果3.setter方法进行注入 三、使用注解的方式实现IOC和DISpring 5中的常用…

Django SQL注入漏洞 CVE-2022-28346

漏洞简介 Django 在2022年发布的安全更新&#xff0c;修复了在 QuerySet 的 annotate()&#xff0c; aggregate()&#xff0c; extra() 等函数中存在的 SQL 注入漏洞。 影响版本 2.2< Django Django <2.2.283.2< Django Django <3.2.134.0< Django Django <4…

Hadoop 4:Hive

数据仓库概念 数据仓库&#xff08;英语&#xff1a;Data Warehouse&#xff0c;简称数仓、DW&#xff09;,是一个用于存储、分析、报告的数据系统。 数据仓库的目的是构建面向分析的集成化数据环境&#xff0c;分析结果为企业提供决策支持&#xff08;Decision Support&#x…

新版Mamba体验超快的软件安装

在一文掌握Conda软件安装&#xff1a;虚拟环境、软件通道、加速solving、跨服务器迁移中详细介绍的conda的基本使用和遇到问题的解决方式&#xff0c;也提到了mamba作为一个替代工具&#xff0c;可以很好的加速conda的solving environemnt过程。但有时也会遇到一个很尴尬的问题…

苹果笔要不要买?apple pencil的平替笔推荐

第一款ipad在10年前就已经出现了&#xff0c;它被用作平板电脑&#xff0c;功能非常强大。而现在&#xff0c;ipad的产品型号更新速度&#xff0c;也让ipad变得更加受欢迎。在这些设备中&#xff0c;ipad的辅助配件扮演着重要角色&#xff0c;比如今天我们要讲的这款电容笔&…

【LeetCode】《LeetCode 101》第八章:分治法

文章目录 8.1 算法解释8.2 表达式问题241. 为运算表达式设计优先级&#xff08;中等&#xff09;932. 漂亮数组&#xff08;中等&#xff09;312. 戳气球&#xff08;困难&#xff09; 8.1 算法解释 分治问题 通过「把原问题分为子问题&#xff0c;再将子问题进行合并处理」&a…

伙伴匹配推荐接口的优化策略【优先队列+多线程分批处理,java实现】

文章目录 接口背景接口问题说明优化策略用户匹配度计算接口改进与测试说明改进前改进一&#xff08;使用优先队列存储编辑距离较小的n个元素&#xff09;改进二&#xff08;使用优先队列存储编辑距离较小的n个元素数据分批查询、分批处理&#xff09;改进三&#xff08;使用优先…

算法修炼之练气篇——练气十九层

博主&#xff1a;命运之光 专栏&#xff1a;算法修炼之练气篇 前言&#xff1a;每天练习五道题&#xff0c;炼气篇大概会练习200道题左右&#xff0c;题目有C语言网上的题&#xff0c;也有洛谷上面的题&#xff0c;题目简单适合新手入门。&#xff08;代码都是命运之光自己写的…

互联网本来很简单,但为啥人们看的那么复杂

昨天有朋友问我互联网&#xff0c;说互联网怎么怎么创新。 我说你看到的都是像。佛说佛有十万身。这都是像&#xff0c;不是相。 &#xff08;1&#xff09; 500多年前&#xff0c;意大利美第奇家族为了给教皇运送全欧洲信民们的捐赠&#xff0c;所以建立了一张天网一张地网。天…

VMware 产品下载汇总 2023 持续更新中

本站 VMware 产品下载汇总&#xff1a;vSphere、NSX、Tanzu、Aria、Cloud… 请访问原文链接&#xff1a;https://sysin.org/blog/vmware/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org 本站提供的 VMware 软件全部为 “试用版…

ENVI无缝镶嵌Seamless Mosaic工具镶嵌、拼接栅格遥感影像(所有图像需要含有地理信息)

本文介绍基于ENVI软件&#xff0c;利用“Seamless Mosaic”工具实现栅格遥感影像无缝镶嵌的操作。 在ENVI软件中通过“Pixel Based Mosaicking”工具实现栅格遥感影像的镶嵌的方法。这一工具虽然可以对不含有地理参考信息的遥感影像进行镶嵌&#xff0c;但是其镶嵌的整体效果并…

数据分析利器之python、IT应用架构规划详解(195页)、600多个人工智能AI工具汇总、营销革命5.0…| 本周精华...

▲点击上方卡片关注我&#xff0c;回复“8”&#xff0c;加入数据分析领地&#xff0c;一起学习数据分析&#xff0c;持续更新数据分析学习路径相关资料~&#xff08;精彩数据观点、学习资料、数据课程分享、读书会、分享会等你一起来乘风破浪~&#xff09;回复“小飞象”&…

Halcon 阈值分割(全局阈值threshold、binary_threshold、动态阈值 dyn_threshold)、直方图

文章目录 1 图像直方图2 全局阈值 threshold()3 binary_threshold()4 动态阈值mean_image() + dyn_threshold()5 代码和原图1 图像直方图 图像直方图(Image Histogram)是用以表示数字图像中亮度分布的直方图,标绘了图像中每个亮度值的像素个数。 这种直方图中,横坐标的左…

后端返回文件流时,前端如何处理并成功下载流文件以及解决下载后打开显示不支持此文件格式

一、文件和流的关系 文件&#xff08;File&#xff09;和流(Stream)是既有区别又有联系的两个概念。 文件 是计算机管理数据的基本单位&#xff0c;同时也是应用程序保存和读取数据的一个重要场所。 存储介质&#xff1a;文件是指在各种存储介质上&#xff08;如硬盘、可…

WPF 使用 MaterialDesignThemes 项目Demo

前言&#xff1a; 最近在学B站的WPF项目实战合集(2022终结版)&#xff0c;但是到22P时候发现UI框架 MaterialDesignThemes的Github上面的程序没办法正常运行&#xff0c;最后折腾了好久终于解决。 github地址 gitcode镜像地址 下载成功后 下载成功后是如下效果 打开这个文…

audioop.rms函数解读和代码例子

该audioop模块包含对声音片段的一些有用操作。它对由8,16或32位宽的有符号整数样本组成的声音片段进行操作&#xff0c;并以Python字符串存储。这与al和sunaudiodev模块使用的格式相同。所有标量项都是整数&#xff0c;除非另有规定。 audioop.rms 即 sqrt(sum(S_i^2)/n) 这个公…

Linux运维常用sed命令使用

sed 是一种流式文本编辑器&#xff0c;常用于文本替换、文本过滤、行选择等操作。 常见的 sed 使用方法 1、替换文本中的字符串 使用 sed 可以在文本中替换指定的字符串。例如&#xff0c;将文本中所有的 old_text 替换为 new_text&#xff0c;可以执行以下命令&#xff1a; …

面向国际市场:利用FaceBook实现外贸贸易突破

在全球化的商业环境下&#xff0c;利用社交媒体平台如FaceBook来推动外贸贸易已经成为许多企业的关注焦点。FaceBook作为全球最大的社交媒体平台之一&#xff0c;为企业提供了众多机会和工具&#xff0c;以扩大市场触达、建立品牌形象和跨文化沟通。 本文将介绍一些简单却有效…

计算机组成原理---第五章 中央处理器习题详解版

&#xff08;一&#xff09;课内习题 &#xff08;二&#xff09;课后习题 1.请在括号内填入适当答案。在CPU中&#xff1a; (1)保存当前正在执行的指令的寄存器是( IR ); (2)保存当前正在执行的指令地址的寄存器是( AR ) (3)算术逻辑运算结果通常放在( DR )和( 通用寄存器…