大型语言模型LLM - Finetuning vs Prompting
资料来自台湾大学李宏毅教授机器学课程ML 2023 Spring,如有侵权请通知下架
台大机器学课程ML 2023 Spring https://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.php2023/3/10 课程 機器如何生成文句
https://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.php2023/3/10 课程 機器如何生成文句
内容概要
主要探讨了大型语言模型的两种不同期待及其导致的两类不同使用方式,具体内容如下:

 

- 两种不同期待 - 成为专才:专注于解决某一个特定任务,在单一任务上有机会胜过通才。例如在翻译任务中,不同翻译系统的表现各有优劣,如 Google、DeepL、Tencent 和 ChatGPT 在不同语言对的翻译任务中准确率有所差异
  
 
- 成为通才:期望模型具备多种能力,类似 ChatGPT 的路线,只要重新设计 prompt 就可以快速开发新功能,无需编写程序25。 
 
 
- 不同期待导致的使用方式  - 成为专才
 
-  -  - 对预训练模型做改造     加外挂(Head):如针对不同任务有 bertForSequenceClassification(单一句子分类任务)、bertForTokenClassification(单一句子标注任务)、用于问答任务的相关设置等,常见任务包括情感分析、命名实体识别、问答任务等 加外挂(Head):如针对不同任务有 bertForSequenceClassification(单一句子分类任务)、bertForTokenClassification(单一句子标注任务)、用于问答任务的相关设置等,常见任务包括情感分析、命名实体识别、问答任务等
- 微调和 Adapter:通过更新网络参数或在 adapter 中更新参数来实现,如在翻译任务中,不同的调整方式对模型的翻译能力有影响。100 个任务如果采用传统方式需要存 100 个大模型,而使用 adapter 则只需存 1 个大模型和 100 个 adapter。   
 
 
- 对预训练模型做改造
- 成为通才 - 机器学会读题目叙述或范例   Instruction Learning(指令学习):通过题目叙述让机器理解任务要求,如英语语法选择题目,给出情境和选项,让机器选择正确答案121212。 Instruction Learning(指令学习):通过题目叙述让机器理解任务要求,如英语语法选择题目,给出情境和选项,让机器选择正确答案121212。
- In - context Learning(上下文学习):通过给出范例让机器学习,如情感分析任务中,给出不同情感倾向的句子作为范例,让机器判断新句子的情感。包括分类任务(如判断句子情感倾向)、多选项任务(如选择合适的输出)等,还涉及不同模型在该学习方式下的表现及相关研究。         
 
- Instruction - tuning(指令微调):如 FLAN 模型在多种任务类型上的表现,涵盖自然语言推理、阅读理解、闭卷问答等任务。还涉及 Chain of Thought(CoT)Prompting(思维链提示)相关内容,包括标准提示和思维链提示在数学应用题等任务中的不同表现,以及思维链提示中的 Few - shot、Few - shot - CoT、Self - consistency 等方法的应用,还有 Problem Reduction(问题分解)方法在解决问题时的步骤和示例。     
- 用机器来找 Prompt:包括 Hard Prompt 和 Soft Prompt,可通过任务特定的标记数据训练、在输入添加 Adapter、使用强化学习、利用语言模型(如 GPT - 3、BlenderBot、DialoGPT 等)来找 Prompt,如使用正向生成模板、让语言模型遵     循指令生成内容等方式,并且有不同方法在准确率上的对比。 循指令生成内容等方式,并且有不同方法在准确率上的对比。
 
- 机器学会读题目叙述或范例
 
-  
- 專才的期待要求模型專注於特定任務,因此需要進行微調和配置;而通才的期待則是希望模型能夠靈活應對多種任務,自然語言下指令即可,無需要頻繁調整。
- GPT專注於生成任務,例如文字接龍,而BERT則是填空任務,主要關注於理解句子結構和補全缺失部分,兩者的應用場景和使用方式大相逕庭。
 
 
【生成式AI】Finetuning vs. Prompting:對於大型語言模型的不同期待所衍生的兩類使用方式 (1/3) Go to original video by Hung-yi Lee https://youtube.com/watch?v=F58vJcGgjt0
https://youtube.com/watch?v=F58vJcGgjt0
【生成式AI】Finetuning vs. Prompting:對於大型語言模型的不同期待所衍生的兩類使用方式
大型語言模型的兩種期待
“人們對大型語言模型有兩種不同的期待。”
-  大型語言模型在歷史上引發了兩種截然不同的期待。第一種期待是希望這些模型能作為解決特定問題的專才,例如翻譯或摘要生成。使用者小心地調整模型,使其專注於特定任務。這意味著對模型的使用需要一定的改造與微調,以確保它能履行特定的功能。 
-  第二種期待則是希望大型語言模型成為一個通才,具備解決多元任務的能力。這種期待要求模型能夠理解並執行用戶以自然語言下的指令,而不需要事先進行特別調整。這樣的模型會以更靈活的方式來處理用戶的各種需求。 
GPT與BERT的差異
“GPT做的事情就是文字接龍,而BERT則是文字填空。”
-  GPT和BERT都是知名的語言模型,卻擁有不同的工作方式。GPT擅長進行“文字接龍”,透過上下文補全句子,使得用戶能夠自然而流暢地進行對話。 
-  相對而言,BERT主要執行“文字填空”的任務。它的工作是接收一段文字時,將其中的缺失部分進行填充。這種填空方式使BERT能夠在理解和生成語言時有著不同的應用場景,尤其在多任務的自然語言處理中。 
使用大型語言模型的方式
“這兩種期待導致兩種不同類型的使用與大型語言模型的方式。”
-  第一種期待,針對專才的期望,通常使用BERT類的模型,這類模型需要進行專門的外掛和參數微調,讓它們能夠專注於特定的任務。例如,對BERT進行翻譯任務時,就必須進行參數調整,來專注於翻譯這一任務。 
-  而第二種期待則是在通才模式下使用大型語言模型,如GPT。用戶能夠直接使用自然語言來給模型下指令,讓模型進行翻譯、摘要等任務,無需過多的調整。這樣的模式在使用上更加靈活,也讓開發新功能變得更加迅速和簡便。 
【生成式AI】Finetuning vs. Prompting:對於大型語言模型的不同期待所衍生的兩類使用方式 (2/3) Go to original video by Hung-yi Lee https://youtube.com/watch?v=aZ_jXZvxyVg
https://youtube.com/watch?v=aZ_jXZvxyVg
 
- 機器理解人類指令的過程涉及透過範例及任務敘述來學習,機器依賴這些信息來解析和執行特定的任務。
- 選擇通才能夠讓模型在不同的任務上保持靈活性,提高適應性,並能有效地處理未來可能遇到的各種任務類型。
【生成式AI】Finetuning vs. Prompting:對於大型語言模型的不同期待所衍生的兩類使用方式
機器如何成為通才的探索
我們希望機器能夠閱讀任務的敘述,並根據範例進行學習。
-  機器需具備理解任務敘述的能力,以便能夠按照人類的指令執行任務。為達成這一目標,我們會為機器提供一些範例作為參考,使其能夠理解該執行的任務類型。 
-  這樣的學習方式稱為「Instruction learning」,透過精心設計的敘述與範例來引導機器的行為,使其更像人類。 
-  在這個過程中,機器的學習能力會逐漸進化,並能根據不同任務自動調整其反應。 
Instruction Learning與In-context Learning的定義
給定任務敘述和範例之後,機器能夠正確地回答問題。
-  Instruction learning是指機器學習如何解讀指令並執行任務的過程,而In-context learning則是指根據提供的範例進行學習和回答問題的方式。 
-  這兩種學習模式是ChatGPT系列希望達成的核心目標。 
-  因為過去其他模型如BERT主攻專才微調,GPT系列則選擇朝著通才發展,這使得它在面對多種任務時能夠保持靈活性和適應性。 
微調與通才模型的選擇
GPT系列不選擇像BERT一樣微調參數,而是專注於通才模型的開發。
-  OpenAI在一開始就抱有高期待,希望創建能夠理解各種人類指令的通才模型,這代表了他們對於人工智慧未來的一種高瞻遠矚的見解。 
-  相較於BERT的專才導向,GPT系列採取的路線是尋求創新,讓機器在多樣化的任務中表現出色而非僅僅對單一任務進行微調。 
-  微調這條路或許相對狹隘,因此選擇更為大膽、通才的做法讓其具有更廣泛的應用潛力。 
Machine Learning以範例學習的實驗
基於範例機器學習的過程有賴於示範是否正確。
-  進行情感分析時,我們不能僅僅給機器一個句子,還需要告訴它任務的類型以及它應該如何回應。透過提供正確的範例,機器能學會判別句子的情感。 
-  然而,研究表明即使範例標記出現錯誤,機器的表現下降仍然有限,顯示出其內在的理解能力或許不完全依賴範例的精確性。 
-  此外,如果範例的內容與目標任務差異過大,則學習效果會顯著降低,表明範例的相關性對於機器學習成效至關重要。 
相关文章:
 
大型语言模型LLM - Finetuning vs Prompting
资料来自台湾大学李宏毅教授机器学课程ML 2023 Spring,如有侵权请通知下架 台大机器学课程ML 2023 Springhttps://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.php2023/3/10 课程 機器如何生成文句 内容概要 主要探讨了大型语言模型的两种不同期待及其导致的两类…...
 
【IEEE独立出版 | 厦门大学主办】第四届人工智能、机器人和通信国际会议(ICAIRC 2024,12月27-29日)
第四届人工智能、机器人和通信国际会议(ICAIRC 2024) 2024 4th International Conference on Artificial Intelligence, Robotics, and Communication 重要信息 会议官网:www.icairc.net 三轮截稿时间:2024年11月30日23:59 录…...
【GPT】力量训练是什么,必要吗,有可以替代的方式吗
什么是力量训练? 力量训练是一种通过抵抗力(如重量、阻力带、自身体重等)来刺激肌肉收缩,从而提高肌肉力量、耐力和体积的运动形式。它包括以下常见形式: 自由重量训练:使用哑铃、杠铃、壶铃等。固定器械…...
 
【03】Selenium+Python 八种定位元素方法
操作元素,需要先查找定位到对应的元素。 查找单个元素:driver.find_element() 返回是一个web element 对象 查找多个元素:driver.find_elements() 返回是一个list对象 By 是 Selenium 中一个非常重要的类,用于定位网页元素。 使…...
笔记:jQuery追加js时会自动加“_时间戳“参数,导致百度统计失败
问题描述: $(document.createElement("script")).attr(id, baidutj).attr(src, https://hm.baidu.com/hm.js?xxx).appendTo(body); 会自动给src加_时间戳的参数? 问题解疑: 【未完待续…】 问题解决: 老老实实按它…...
 
【PyTorch】(基础二)---- 张量
张量 在 PyTorch 中,张量(Tensor)是核心数据结构,类似于 NumPy 中的数组,但具有更强的计算能力和对 GPU 的支持。 创建 从列表或数组创建 import torch# 从列表创建 tensor_from_list torch.tensor([1, 2, 3, 4])…...
充满智慧的埃塞俄比亚狼
非洲的青山 随着地球温度上升,贝尔山顶峰的冰川消失殆尽,许多野生动物移居到海拔3000米以上的高原上生活,其中就包括埃塞俄比亚狼。埃塞俄比亚狼是埃塞俄比亚特有的动物,总数不到500只,为“濒危”物种。 埃塞俄比亚狼…...
 
基于STM32设计的智能桌面暖风机(华为云IOT)
一、前言 1.1 项目开发背景 随着智能家居技术的迅猛发展,传统家用电器正逐步向智能化方向转型。暖风机作为冬季广泛使用的取暖设备,其智能化升级不仅能够提高用户的使用体验,还能通过物联网技术实现远程控制和数据监控,赋予其更…...
 
零基础学安全--云技术基础
目录 学习连接 前言 云技术历史 云服务 公有云服务商 云分类 基础设施即服务(IaaS) 平台即服务(PaaS) 软件即服务(SaaS) 云架构 虚拟化 容器 云架构设计 组件选择 基础设施即代码 集成部署…...
Spring Boot中配置Flink的资源管理
在 Spring Boot 中配置 Flink 的资源管理,需要遵循以下步骤: 添加 Flink 依赖项 在你的 pom.xml 文件中,添加 Flink 和 Flink-connector-kafka 的依赖项。这里以 Flink 1.14 版本为例: <!-- Flink dependencies --><de…...
 
51单片机从入门到精通:理论与实践指南入门篇(二)
续51单片机从入门到精通:理论与实践指南(一)https://blog.csdn.net/speaking_me/article/details/144067372 第一篇总体给大家在(全局)总体上讲解了一下51单片机,那么接下来几天结束详细讲解,从…...
 
Notepad++ 替换所有数字给数字加单引号
前言 今天遇到这样一个场景: 要去更新某张表里 code1,2,3,4,5,6 的数据,把它的 name 设置为 ‘张三’ 但是 code在数据库里面的字段类型是 vachar(64),它自身携带索引 原本可以这样写 SQL: update tableA set namezhangsan where code in …...
 
【CANOE】【Capl】【RS232】控制串口设备
系列文章目录 内置函数,来控制传统的串口设备,比如继电器等 文章目录 系列文章目录前言一、控制串口二、自定义相关的参数RS232Configure**函数语法****函数功能****参数说明****返回值****示例代码** 三、回调函数的使用RS232OnSend**函数语法****函数…...
 
查找相关题目
1.顺序查找法适合于存储结构为(B )的线性表。 A.散列存储 B.顺序存储或链式存储 C.压缩存储 D.索引存储 顺序查找法的特点 2.适用于折半查找的表的存储方式及元素排列要求为(D ) 。 A.链接方式存储,元素无序 B.链接方式存储࿰…...
 
《独立开发:Spring 框架的综合应用》
一、Spring 框架概述 Spring 是一个分层的 Java SE/EE full-stack 轻量级开源框架,以 IoC 和 AOP 为内核,具有方便解耦、方便集成优秀框架、降低 Java EE API 使用难度等优点。 Spring 框架因其强大的功能以及卓越的性能而受到众多开发人员的喜爱。它是…...
数据工程流程
** 数据工程流程图** #mermaid-svg-ArT55xCISSfZImy3 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-ArT55xCISSfZImy3 .error-icon{fill:#552222;}#mermaid-svg-ArT55xCISSfZImy3 .error-text{fill:#552222;stroke…...
 
Linux宝塔部署wordpress网站更换服务器IP后无法访问管理后台和打开网站页面显示错乱
一、背景: wordpress网站搬家,更换服务器IP后,如果没有域名时,使用服务器IP地址无法访问管理后台和打开网站页面显示错乱。 二、解决方法如下: 1.wordpress搬家后,在新服务器上,新建站点时&am…...
区块链知识体系
1. 区块链基础知识 Q: 什么是区块链? A: 区块链是一种去中心化的分布式账本技术,通过加密算法保证数据的不可篡改性和透明性。它由一系列按时间顺序链接的区块组成,每个区块包含一批交易记录。 Q: 区块链的主要特点是什么? 去…...
力扣第 66 题 “加一”
题目描述 给定一个由 非负整数组成的非空数组,表示一个整数。在该整数的基础上加一。 最高位数字在数组的首位,数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入: digits [1,2,3] 输出:…...
 
C语言数据结构与算法--简单实现队列的入队和出队
(一)队列的基本概念 和栈相反,队列(Queue)是一种先进先出(First In First Out)的线性表。只 允许在表的一端进行插入,而在另一端删除元素,如日常生活中的排队现象。队列中 允许插入的一端叫队尾…...
 
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
 
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
 
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
 
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
 
图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
 
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
 
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
