《生成式 AI》课程 第7講:大型語言模型修練史 — 第二階段: 名師指點,發揮潛力 (兼談對 ChatGPT 做逆向工程與 LLaMA 時代的開始)
资料来自李宏毅老师《生成式 AI》课程,如有侵权请通知下线
Introduction to Generative AI 2024 Spring
https://speech.ee.ntu.edu.tw/~hylee/genai/2024-spring.php
摘要
这一系列的作业是为 2024 年春季的《生成式 AI》课程设计的,共包含十个作业。每个作业都对应一个具体的主题,例如真假难辨的世界、AI 应用开发、AI催眠大师、LLM 微调等。
承接上一讲:
《生成式 AI》课程 第6講:大型語言模型修練史 — 第一階段: 自我學習,累積實力-CSDN博客这一系列的作业是为 2024 年春季的《生成式 AI》课程设计的,共包含十个作业。每个作业都对应一个具体的主题,例如真假难辨的世界、AI 应用开发、AI催眠大师、LLM 微调等。接续上一篇博文《生成式 AI》课程 第5講:訓練不了人工智慧?你可以訓練你自己 (下)-CSDN博客这一系列的作业是为 2024 年春季的《生成式 AI》课程设计的,共包含十个作业。每个作业都对应一个具体的主题,例如真假难辨的世界、AI 应用开发、AI催眠大师、LLM 微调等。https://blog.csdn.net/chenchihwen/article/details/144005688?spm=1001.2014.3001.5501PPT 资源
第二阶段 “名师指点,发挥潜力”
https://download.csdn.net/download/chenchihwen/90031390
该文档主要讲述大型语言模型的训练过程,特别是第二阶段 “名师指点,发挥潜力” 的相关内容,包括督导式学习(Supervised Learning)和指令微调(Instruction Fine - tuning)等方法,以及不同训练路线(打造专才模型和通才模型)的特点与发展。具体如下:
幻灯片主要内容总结
摘要说明
- 督导式学习与指令微调
- 人类老师教导模型,通过提供问题和答案来训练,如 “台湾最高的山是哪座?”“玉山” 等,但人力成本高且难以收集大量资料。在这个过程中,输入包含 “USER” 和 “AI” 的对话格式,模型逐步预测下一个词,训练方式为督导式学习,同时涉及资料标注工作。
- 关键在于利用第一阶段的参数作为初始参数,这样可以避免与第一阶段参数差异过大,从而在预训练(Pre - train)基础上进行指令微调,如 GPT - 3、PaLM 等模型。还介绍了 Adapter(如 LoRA)等技术,可在少量资料情况下进行优化。
- 模型的 “举一反三” 能力
- 以在多种语言上预训练后的模型为例,如 Multi - BERT,在学习了英文阅读能力测试后,能自动应用于中文阅读能力测试,展示了模型强大的迁移学习能力。
- 训练路线分化
- 打造一堆专才模型(路线一)
- 针对不同任务训练专门的模型,如翻译专才、摘要专才、编修专才等,仅使用对应任务的训练资料。以 BERT 系列为例,介绍了其在不同常见任务(如单句子分类、成对标句子分类、问答任务等)中的应用及微调方式。
- 直接打造一个通才模型(路线二)
- 收集涵盖各种任务的大量标注资料进行预训练,使模型学会多种技能,如翻译、编修、摘要等,并能处理组合任务。例如 FLAN(Finetuned Language Net)、T0 等模型,在多个任务类型上进行训练和测试,展示了通才模型的性能表现。还提到了 Chain - of - thought finetuning、Multi - task instruction finetuning 等技术提升模型推理和泛化能力,以及 Instruct GPT 在指令微调中的数据使用情况。
- 打造一堆专才模型(路线一)
- 指令微调的重要性及相关实践
- 强调 Instruction Fine - tuning 的关键作用,如 Meta 在训练中发现高质量的 Instruction Fine - tuning 资料对提升结果有显著影响,适量的高质量标注数据(如数万条)就能达到较好效果。
- 介绍了 Self - Instruct 方法,即先让 ChatGPT 想任务,再根据任务生成输入和答案,用于生成 Instruction Fine - tuning 资料。同时指出以 ChatGPT 为逆向工程对象存在风险,如违反 OpenAI 使用条款中的相关规定(如禁止反向编译、利用服务输出开发竞争模型、非法提取数据等)。
- 模型开源与发展趋势
- Meta 开源了 LLaMA,引发了一系列基于其的模型开发,如 Alpaca、Vicuna 等,开启了人人可微调大型语言模型的时代,模型在不同领域(如中文、多模态、数学、金融、医学、法律、双语等)得到进一步发展和应用,如 Open - Chinese - LLaMA、MiniGPT - 4、ChatMed、LAWGPT 等。还提及了不同模型在数据集、训练代码、评估方式、训练成本等方面的差异。
幻灯片内容
幻灯片 1:模型学习阶段与问题引出

- 页面内容:回顾大型语言模型修炼的三个阶段,重点指出当前模型虽从网络资料学习了很多知识,但缺乏使用方法,如同有上乘内功却不会运用,从而引出人类老师教导的必要性。
- 摘要说明:承上启下,在总结前期模型学习情况的基础上,提出模型面临的新问题,为后续介绍人类指导下的训练方式做铺垫,强调从单纯数据学习向有指导学习的过渡。
幻灯片 2:督导式学习过程


- 页面内容:详细展示人类老师教导模型的示例,包括问题(如 “台湾最高的山是哪座?”“你是谁?”“教我骇入邻居家的 Wifi” 等)和相应答案,同时呈现模型在处理这些问题时的输入输出过程,如对 “台湾最高的山是哪座?” 逐步预测出 “玉”“山”“[END]” 等,解释了督导式学习中资料标注的情况,以及输入中 “USER” 和 “AI” 的作用。
- 摘要说明:通过具体实例深入剖析督导式学习的操作流程,让读者清晰了解模型如何在人类老师提供的样本下进行学习,以及这种学习方式的细节和特点,包括数据格式、预测顺序等。
幻灯片 3:督导式学习的局限性


- 页面内容:阐述督导式学习面临的人力成本高和资料收集量有限的问题,以 “如果输入出现「最」,就回答「玉山」” 为例,说明模型可能过度依赖简单规则,无法应对复杂情况,如 “世界最深的海沟在哪?”,强调仅靠人类老师教导难以实现全面有效的训练。
- 摘要说明:分析督导式学习方式在实际应用中的不足之处,从人力和模型表现两个方面进行探讨,突出需要新的训练策略来克服这些局限,为引入预训练和指令微调等方法提供背景。
幻灯片 4:预训练与指令微调的关键






- 页面内容:强调预训练阶段参数作为指令微调初始参数的重要性,说明使用第一阶段参数作为起点,能使模型在少量人类标注资料的情况下进行优化,不会与第一阶段参数差异过大,以 GPT - 3、PaLM 为例,介绍在这个过程中如何结合任何文字资料和人类标注资料进行训练,同时提及 Adapter(如 LoRA)技术在其中的作用。
- 摘要说明:详细解释预训练和指令微调相结合的训练机制,突出初始参数的关键作用,阐述如何在保证模型既有知识基础上,通过少量有针对性的标注数据进一步提升模型性能,使读者理解模型训练过程中不同阶段参数的利用和优化方式。
幻灯片 5:模型的迁移学习能力


- 页面内容:以 Multi - BERT 为例,展示在多种语言上预训练后的模型强大的迁移学习能力,如学习英文阅读能力测试后能自动应用于中文阅读能力测试,体现模型在不同语言和任务间举一反三的能力,通过实验数据(如不同模型在中英文问答任务中的 EM 和 F1 分数)进一步说明这种能力的效果。
- 摘要说明:通过具体模型和实验数据,生动呈现大型语言模型在多语言预训练后的迁移学习优势,让读者直观感受到模型的泛化能力及其在实际应用中的价值,拓展对模型学习能力的认识。
幻灯片 6:训练路线分化 - 专才模型




- 页面内容:介绍训练路线中的第一种,即打造一堆专才模型,针对不同任务(如翻译、编修、摘要等)使用仅包含对应任务的训练资料进行训练,以 BERT 系列为例,详细说明其在单句子分类、成对标句子分类、问答任务等常见任务中的微调方式和应用场景,展示不同任务下模型的训练和输出特点。
- 摘要说明:系统阐述专才模型的训练理念、方法和应用,以 BERT 系列为典型案例,深入剖析其在各类具体任务中的工作方式,使读者清晰了解针对特定任务打造专业模型的流程和优势。
幻灯片 7:训练路线分化 - 通才模型










- 页面内容:阐述直接打造通才模型的路线,收集涵盖各种任务的大量标注资料进行预训练,使模型学会多种技能(如翻译、编修、摘要等)并能处理组合任务,以 FLAN(Finetuned Language Net)、T0 等模型为例,展示其在多个任务类型(如自然语言推理、阅读理解、闭卷问答、翻译等)上的训练和性能表现,提及 Chain - of - thought finetuning、Multi - task instruction finetuning 等技术对通才模型推理和泛化能力的提升作用,以及 Instruct GPT 在指令微调中的数据来源和使用情况。
- 摘要说明:全面介绍通才模型的训练模式、技术手段和实际表现,通过多个模型实例和任务类型,深入分析通才模型如何在广泛的任务领域中实现能力的综合提升,使读者理解打造通用型模型的策略和效果。
幻灯片 8:指令微调的重要性与实践






- 页面内容:再次强调 Instruction Fine - tuning 在模型训练中的关键作用,以 Meta 的实践为例,说明高质量的 Instruction Fine - tuning 资料对提升模型结果的重要性,适量的高质量标注数据(数万条)就能达到较好效果,介绍 Self - Instruct 方法,即先让 ChatGPT 想任务,再根据任务生成输入和答案,用于生成 Instruction Fine - tuning 资料,同时指出以 ChatGPT 为逆向工程对象存在违反 OpenAI 使用条款的风险,如禁止反向编译、利用服务输出开发竞争模型、非法提取数据等。
- 摘要说明:深入探讨指令微调环节的重要意义、实践方法和潜在风险,从数据质量、生成方式到法律合规性等多方面进行分析,使读者认识到指令微调在模型优化中的核心地位以及在实施过程中需要注意的问题。
幻灯片 9:模型开源与发展趋势



- 页面内容:介绍 Meta 开源 LLaMA 引发的一系列模型开发,如 Alpaca、Vicuna 等,展示了基于 LLaMA 的模型在不同领域(如中文、多模态、数学、金融、医学、法律、双语等)的进一步发展和应用,列出不同模型在数据集、训练代码、评估方式、训练成本等方面的差异,呈现人人可微调大型语言模型时代的模型发展生态。
- 摘要说明:概述模型开源后的发展态势,通过列举多种基于开源模型的衍生模型及其特点,展示模型在不同领域的拓展和创新,使读者了解当前大型语言模型领域的多元化发展格局和开源带来的广泛影响。
https://arxiv.org/abs/2303.18223
大型语言模型综述 A Survey of Large Language Models_大语言模型文献综述有哪些-CSDN博客文章浏览阅读1.6k次,点赞45次,收藏21次。文章源自这是一篇关于大语言模型(LLMs)的综述论文,主要介绍了 LLMs 的发展历程、技术架构、训练方法、应用领域以及面临的挑战等方面,具体内容如下:摘要 —— 自从图灵测试在 20 世纪 50 年代被提出以来,人类已经探索了机器对语言智能的掌握。语言本质上是一个由语法规则支配的复杂、复杂的人类表达系统。它对开发有能力的人工智能(AI)算法来理解和掌握语言提出了重大挑战。作为一种主要方法,语言建模在过去的二十年里被广泛研究用于语言理解和生成,从统计语言模型发展到神经语言模型。_大语言模型文献综述有哪些https://blog.csdn.net/chenchihwen/article/details/143860043?spm=1001.2014.3001.5502
相关文章:
《生成式 AI》课程 第7講:大型語言模型修練史 — 第二階段: 名師指點,發揮潛力 (兼談對 ChatGPT 做逆向工程與 LLaMA 時代的開始)
资料来自李宏毅老师《生成式 AI》课程,如有侵权请通知下线 Introduction to Generative AI 2024 Springhttps://speech.ee.ntu.edu.tw/~hylee/genai/2024-spring.php 摘要 这一系列的作业是为 2024 年春季的《生成式 AI》课程设计的,共包含十个作业。…...
学习C#中的反射
在C#编程中,反射(Reflection)是一项强大且灵活的技术,它允许程序在运行时动态地获取类型信息、创建对象实例、调用方法、访问字段和属性等。这种机制极大地增强了程序的动态性和可扩展性,使得开发者能够在编译时未知的…...
学习使用jquery实现在指定div前面增加内容
学习使用jquery实现在指定div前面增加内容 设计思路代码示例 设计思路 选择要添加内容的指定元素: 使用jQuery选择器来选择你希望在其前添加内容的元素。例如,如果你有一个 元素,其ID为qipa250,你可以使用$(‘#qipa250’)来选择…...
react项目初始化配置步骤
1.npx create-react-app 项目名称 vue项目同理 2.去编辑器市场安装所需插件,例如ESlint以及Prettier-Code formatter formatiing-toggle 3.在项目中安装 ESLint 和 Prettier 及相关插件: 3.1: npm install --save-dev eslint prettier 3.2…...
vue使用百度富文本编辑器
1、安装 npm add vue-ueditor-wrap 或者 pnpm add vue-ueditor-wrap 进行安装 2、下载UEditor 官网:ueditor:rich text 富文本编辑器 - GitCode 整理好的:vue-ueditor: 百度编辑器JSP版 因为官方的我没用来,所以我自己找的另外的包 …...
异常处理(6)自定义异常
异常处理(6)自定义异常类 1、自定义异常要求: (1)要继承一个异常类型 自定义一个编译时异常类型:自定义类继承java.lang.Exception。 自定义一个运行时异常类型:自定义类继承java.lang.Runtim…...
微软正在测试 Windows 11 对第三方密钥的支持
微软目前正在测试 WebAuthn API 更新,该更新增加了对使用第三方密钥提供商进行 Windows 11 无密码身份验证的支持。 密钥使用生物特征认证,例如指纹和面部识别,提供比传统密码更安全、更方便的替代方案,从而显著降低数据泄露风险…...
时间的礼物:如何珍视每一刻
《时间的礼物:如何珍视每一刻》 夫时间者,宇宙之精髓,生命之经纬,悄无声息而流转不息,如织锦之细线,串联古今,贯穿万物。 人生短暂,犹如白驹过隙,倏忽而逝,…...
初级 Python 数据脱敏技术及应用
文章目录 引言:为什么需要数据脱敏?常见的数据脱敏技术字符替换加密脱敏数据伪造组合策略 数据脱敏的合规性和伦理脱敏方案选择脱敏操作的性能优化结论 引言:为什么需要数据脱敏? 随着数据隐私问题越来越受到重视,数据…...
1063 Set Similarity (25)
Given two sets of integers, the similarity of the sets is defined to be Nc/Nt100%, where Nc is the number of distinct common numbers shared by the two sets, and Nt is the total number of distinct numbers in the two sets. Your job is to calculate th…...
Web登录页面设计
记录第一个前端界面,暑假期间写的,用了Lottie动画和canvas标签做动画,登录和注册也连接了数据库。 图片是从网上找的,如有侵权私信我删除,谢谢啦~...
【大数据学习 | Spark】Spark on hive与 hive on Spark的区别
1. Spark on hive Spark on hive指的是使用Hive的元数据(Metastore)和SQL解析器(HiveQL)。这种方式下,spark可以读取和写入hive表,利用hive的元数据信息来进行表结构的定义和管理。 具体特点为: 1.1 元数据共享 sp…...
软件测试丨Pytest 第三方插件与 Hook 函数
Pytest不仅是一个用于编写简单和复杂测试的框架,还有大量的第三方插件以及灵活的Hook函数供我们使用,这些功能大大增强了其在软件测试中的应用。通过使用Pytest,测试开发变得简便、安全、高效,同时也能帮助我们更快地修复Bug&…...
Python学习35天
# 定义父类 class Computer: CPUNone MemoryNone diskNone def __init__(self,CPU,Memory,disk): self.disk disk self.Memory Memory self.CPU CPU def get_details(self): return f"CPU:{self.CPU}\tdisk:{self.disk}\t…...
IO基础(字符集与字符流)
在字节流中,文件中的中文显示的是乱码。 在计算机存储体系中,以字节为最小存储单位,一个英文占一字节。 字符集类型 ASCII字符集,又叫编码表,编码表中有128个数据,其中大小写字母、符号、数字等。GB2312…...
LLM应用-prompt提示:RAG query重写、相似query生成 加强检索准确率
参考: https://zhuanlan.zhihu.com/p/719510286 1、query重写 你是一名AI助手,负责在RAG(知识库)系统中通过重构用户查询来提高检索效果。根据原始查询,将其重写得更具体、详细,以便更有可能检索到相关信…...
[python脚本处理文件入门]-17.Python如何操作Excel文件的读写
哈喽,大家好,我是木头左! 在Python中,处理Excel文件最常用的库之一是xlrd,它用于读取Excel文件。而当需要创建或写入Excel文件时,xlwt库则是一个不错的选择。这两个库虽然功能强大,但使用起来也非常简单直观。 安装与导入 确保你已经安装了这两个库。如果没有安装,可以…...
深度理解进程的概念(Linux)
目录 一、冯诺依曼体系 二、操作系统(OS) 设计操作系统的目的 核心功能 系统调用 三、进程的概念与基本操作 简介 查看进程 通过系统调用获取进程标识符 通过系统调用创建进程——fork() 四、进程的状态 操作系统中的运行、阻塞和挂起 理解linux内核链表 Linux的进…...
【C++】STL容器中的比较函数对象
目录 set、map容器 priority_queue容器 在STL中涉及到以某种规则排序的容器都需要比较函数对象,比如:set、map、priority_queue这些容器内部都是依赖比较函数对象以某种规则存储数据的。STL容器中的比较函数对象可以是:函数指针、仿函数(函…...
深度学习基础02_损失函数BP算法(上)
目录 一、损失函数 1、线性回归损失函数 1.MAE损失 2.MSE损失 3.SmoothL1Loss 2、多分类损失函数--CrossEntropyLoss 3、二分类损失函数--BCELoss 4、总结 二、BP算法 1、前向传播 1.输入层(Input Layer)到隐藏层(Hidden Layer) 2.隐藏层(Hidden Layer)到输出层(Ou…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
破解路内监管盲区:免布线低位视频桩重塑停车管理新标准
城市路内停车管理常因行道树遮挡、高位设备盲区等问题,导致车牌识别率低、逃费率高,传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法,正成为破局关键。该设备安装于车位侧方0.5-0.7米高度,直接规避树枝遮…...
高防服务器价格高原因分析
高防服务器的价格较高,主要是由于其特殊的防御机制、硬件配置、运营维护等多方面的综合成本。以下从技术、资源和服务三个维度详细解析高防服务器昂贵的原因: 一、硬件与技术投入 大带宽需求 DDoS攻击通过占用大量带宽资源瘫痪目标服务器,因此…...
Matlab实现任意伪彩色图像可视化显示
Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中,如何展示好看的实验结果图像非常重要!!! 1、灰度原始图像 灰度图像每个像素点只有一个数值,代表该点的亮度(或…...
《Offer来了:Java面试核心知识点精讲》大纲
文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...
Windows 下端口占用排查与释放全攻略
Windows 下端口占用排查与释放全攻略 在开发和运维过程中,经常会遇到端口被占用的问题(如 8080、3306 等常用端口)。本文将详细介绍如何通过命令行和图形化界面快速定位并释放被占用的端口,帮助你高效解决此类问题。 一、准…...
CSS 工具对比:UnoCSS vs Tailwind CSS,谁是你的菜?
在现代前端开发中,Utility-First (功能优先) CSS 框架已经成为主流。其中,Tailwind CSS 无疑是市场的领导者和标杆。然而,一个名为 UnoCSS 的新星正以其惊人的性能和极致的灵活性迅速崛起。 这篇文章将深入探讨这两款工具的核心理念、技术差…...
