《生成式 AI》课程 第7講:大型語言模型修練史 — 第二階段: 名師指點,發揮潛力 (兼談對 ChatGPT 做逆向工程與 LLaMA 時代的開始)
资料来自李宏毅老师《生成式 AI》课程,如有侵权请通知下线
Introduction to Generative AI 2024 Springhttps://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…...
6.584-Lab4A
6.584-LabA HomeworkReference CodeReference Blog 通过作业提供的概览图可以看出整个系统的组成:用户 Clerk 会发出命令(Get、Put、Append)到每个 Service,每个 Service 接收到命令后向下传递到 RaftCode 层,由 RaftC…...
语义版本控制
注意: 本文内容于 2024-11-27 22:25:05 创建,可能不会在此平台上进行更新。如果您希望查看最新版本或更多相关内容,请访问原文地址:语义版本控制。感谢您的关注与支持! 由于自己平时喜欢写点小玩意,自然而…...
深入理解HTML基本结构:构建现代网页的基石
深入理解HTML基本结构:构建现代网页的基石 在数字时代,HTML(超文本标记语言)是构建和设计网页的基础。了解HTML的基本结构对于任何希望掌握网页开发的人来说至关重要。本文将详细介绍HTML文件的基本骨架,包括其核心标…...
一体化数据安全平台uDSP 入选【年度创新安全产品 TOP10】榜单
近日,由 FreeBuf 主办的 FCIS 2024 网络安全创新大会在上海隆重举行。大会现场揭晓了第十届 WitAwards 中国网络安全行业年度评选获奖名单,该评选自 2015 年举办以来一直饱受赞誉,备受关注,评选旨在以最专业的角度和最公正的态度&…...
【机器学习】机器学习的基本分类-监督学习(Supervised Learning)
监督学习是一种通过已有的输入数据(特征)和目标输出(标签)对模型进行训练的机器学习方法,旨在学到一个函数,将输入映射到正确的输出。 1. 监督学习概述 监督学习需要: 输入数据(特…...
Oracle之提高PLSQL的执行性能
目录 1、SQL解析详解 2、演示示例 3、启用Oracle跟踪事件 4、查看改造后SQL性能对比结果 更多技术干货,关注个人博客吧 1、SQL解析详解 SQL解析是数据块处理SQL语句不可缺少的步骤,是在解析器中执行的。将SQL转换成数据库可以执行的低级指令。 SQL解析分为硬解析和软…...
[VSCode] vscode下载安装及安装中文插件详解(附下载文件)
前言 vscode 链接:https://pan.quark.cn/s/3acbb8aed758 提取码:dSyt VSCode 是一款由微软开发且跨平台的免费源代码编辑器;该软件支持语法高亮、代码自动补全、代码重构、查看定义功能,并且内置了命令行工具和Git版本控制系统。 …...
PHP中类名加双冒号的作用
在 PHP 中,类名加双冒号(::) 是一种用于访问类的静态成员和常量的语法。它也可以用来调用类的静态方法和访问 PHP 的类相关关键词(如 parent、self 和 static)。以下是详细的解释和用法。 1. 用途概述 :: 被称为作用域…...
前端编程训练 异步编程篇 请求接口 vue与react中的异步
文章目录 前言代码执行顺序的几个关键点接口请求vue与react中的异步vue中的异步react的state修改异步 前言 本文是B站三十的前端课的笔记前端编程训练,异步编程篇 代码执行顺序的几个关键点 我们可以理解为代码就是一行一行,一句一句是执行(定义变量&…...
【kafka03】消息队列与微服务之Kafka 读写数据
Kafka 读写数据 参考文档 Apache Kafka 常见命令 kafka-topics.sh #消息的管理命令 kafka-console-producer.sh #生产者的模拟命令 kafka-console-consumer.sh #消费者的模拟命令 创建 Topic 创建topic名为 chen,partitions(分区)为3࿰…...
电商网站首页怎么制作/今日新闻最新头条
MYSQL数据库设计规范1、数据库命名规范采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线_组成;命名简洁明确(长度不能超过30个字符);例如:user, stat, log, 也可以wifi_user, wifi_stat, wifi_log给数据库加个前缀;除非是备份数据库可以加0-9的自然…...
乐清高端网站建设/域名注册好了怎么弄网站
本节书摘来自华章计算机《计算机视觉:模型、学习和推理》一书中的第1章,第1.1节,作者:(英)普林斯(Prince,J. D.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查…...
wordpress 页面排序/网络服务器有哪些
文章来源于:企业管理杂志 作者:马龙波 王晓颖 如有侵权请联系删除 将原来单一的供应链变成三条线,又通过“三线”实现了“三定”。 2017年5月上线的叮咚买菜是一款自营生鲜平台及提供配送服务的生活服务类APP,由上海壹佰米网络科…...
安徽 网站建设/sem是什么职业
如果你想使用 BeautifulSoup 来提取这个 HTML 代码中的 元素里面的内容,你可以这样做: 首先,你需要安装 BeautifulSoup 库: pipinstall beautifulsoup4...
可以做彩票广告的网站吗/百度app打开
如果把西游记倒过来看。 如来派师徒四人与八部天龙小白龙去东土大唐去传教,在一路上遇到了各种妖怪,打来打去发现他们都是有后台的,无论怎么作恶都不受惩罚,八戒和沙僧觉得太黑 暗了,无奈一个躲进了高老庄,一个钻进了流沙河,只有悟空坚持正义一路斩妖除魔护送师傅东…...
大学毕业做网站插画师好吗/全国各城市疫情高峰感染进度
背景 我试图用python编写一个基本的字母游戏。在游戏中,计算机管理员从可能的单词列表中选出一个单词。每个玩家(计算机人工智能和人类)都会显示一系列空格,每个字母对应一个单词。然后,每个玩家猜测一个字母和一个位置…...