在这里插入图片描述

图片来自于 midjourney

Introduction to Generative AI 2024 Spring

1、第6講:大型語言模型修練史 — 第一階段: 自我學習,累積實力(24.03.22)

在这里插入图片描述

在这里插入图片描述

第一阶段:self-supervised learning

第二阶段:supervised learning(instruction fine-tuning)

第三阶段:RL(RLHF)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

训练可能会失败,需要不断调超参数

训练失败了,换组参数,once again

在这里插入图片描述

机器学习只管找到的参数有没有符合训练资料,不管有没有道理,容易 overfitting

在这里插入图片描述

为什么神经网络可以正确分辨宝可梦和数码宝贝呢?【AI】《Explainable Machine Learning》

在这里插入图片描述

如何避免模型根据颜色来区分猫狗

增加训练资料的多样性,eg 增加黄色的猫、黑色的狗

在这里插入图片描述

如何让机器找到比较合理的参数

随机初始化参数, train from scratch

在这里插入图片描述

好的初始化参数类比知识先验(eg pretrain

上哪找先验知识

在这里插入图片描述

在这里插入图片描述

上面例子,如果说在低压下,水的沸点是 100 就是错的,50 才可能是对的

语法(蓝色曲线 - Syntactic)

语义(紫色曲线 - Semantic)

仅仅为了“学会说话”(即让生成的内容听起来像人话),并不需要海量数据。——学习到具备语言知识的能力,大概 1 亿个 words 就可以

世界知识(Winograd):极其“昂贵”——学习世界知识,30B 可能还不够

语言能力(Syntax/Semantics)是低门槛的,而真正的智能和常识(World Knowledge)是靠海量数据堆出来的。

在这里插入图片描述

世界知识是非常丰富、有层次的,需要大量的文字资料

在这里插入图片描述

self-supervised learning,自监督学习

在这里插入图片描述

过滤有害内容,去除 html 符号,去掉低品质资料(可以用训练好的资料品质分类器)

去掉重复资料

在这里插入图片描述

在这里插入图片描述

有被侵权的风险

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

即使参数量超大,结果也不是很好

试用下 GPT3,找找当年的感觉

在这里插入图片描述

davinci-002,达芬奇 002,如何写 prompt 会大幅影响其能力

在这里插入图片描述

训练一个比 GPT 更大的模型

也没有出现解决问题的能力,你问它问题,它还反过来问你问题

在这里插入图片描述

为什么语言模型不能好好回答问题?

因为其实你也没这样教他

在这里插入图片描述

2、第7講:大型語言模型修練史 — 第二階段: 名師指點,發揮潛力 (兼談對 ChatGPT 做逆向工程與 LLaMA 時代的開始)(24.03.29)

在这里插入图片描述

在这里插入图片描述

Instruction learning

为什么需要 USER 和 AI

在这里插入图片描述

因为提问者可能自问自答,这个时候不是输出答案,而是输出答案是否正确

在这里插入图片描述

人力贵,无法收集太多资料,容易 overfitting

在这里插入图片描述

如果只用人类督导的数据,过拟合,可以用第一阶段的模型做 pretrain,配合督导式学习,起飞

在这里插入图片描述

Instruction Tuning:这是大语言模型(LLM)训练中的一个特定阶段。它利用监督学习的技术,让模型学会“听从人类指令”,学习人类对话的行为模式(Alignment)

Instruction Tuning(指令微调)本质上就是一种特殊的 Supervised Learning(监督学习)。

Instruct 是 Supervise 在通向通用人工智能(AGI)道路上的一次华丽转身。

在这里插入图片描述

在这里插入图片描述

LoRA(Low-Rank Adaptation)之所以能在大模型时代封神,是因为它用极其优雅的数学手段解决了“微调成本”与“推理效率”之间的结构性矛盾。


LoRA 在原始权重矩阵 W 0 W_0 W0 旁边并联(Parallel) 了一个旁路。

对于输入 x x x,输出 h h h 的计算变为:
h = W 0 x + Δ W x = W 0 x + B A x h = W_0 x + \Delta W x = W_0 x + BAx h=W0x+ΔWx=W0x+BAx

这种并联结构允许我们在训练完成后,将 B A BA BA 两个矩阵相乘的结果直接加回到 W 0 W_0 W0 中。在推理时,模型依然是原来的形状,实现了 “训练时有感知,推理时零延迟”

即使原始权重 W W W 1024 × 1024 1024 \times 1024 1024×1024,LoRA 认为真正起作用的变化可以用两个极小的矩阵 A A A 1024 × r 1024 \times r 1024×r)和 B B B r × 1024 r \times 1024 r×1024)相乘来模拟,其中 r r r 通常只有 4 或 8。

LoRA 的伟大之处在于它发现了一个 “物理 Bug”:大模型的参数虽然多,但在处理特定任务时,绝大多数参数的变动是冗余的。通过 Low-Rank(低秩) 这一手术刀,它精准地切掉了冗余,留下了精华。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在多种语言上做预训练后,只要教某一个语言的某一个任务,自动学会其他语言的同样任务

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

训练 BERT: Pre-train(预训练),任务是猜词和判断句子关系。

使用 BERT: Fine-tune(微调),任务是解决具体的业务问题。

在这里插入图片描述

Human Performance (黑色实线)

不同形状代表 GLUE(General Language Understanding Evaluation 综合测评基准) 里的不同子任务

BERT 及其变体(BERT + STILTs, BERT + BAM)显著拉高了各项任务(散点)的下限。

MT-DNN 和 XLNet,模型已经正式在综合评分上超越了人类水平。

这张图表是 “规模法则(Scaling Law)” 的早期证明:更好的架构(Transformer)+ 更大的数据(Pre-train)+ 合理的任务适配(Fine-tune/Multi-task)= 机器在语言理解上全面压制人类。

在这里插入图片描述

翻译、编修、摘要

不仅要学会交给它的任务,还要学会举一反三的能力

在这里插入图片描述

之前标题是 xxx is All you need,审稿人看腻了这种名字,改名了

在这里插入图片描述

可以不断的学习知识,成为全才

但是容易忘记之前学习的知识,这篇文章介绍的是如何复习学过的知识

在这里插入图片描述

用上述任务来训练通用模型 FLAN

在这里插入图片描述

在没见过的任务上,表现比 GPT-3 要好

few-shot 指的是 in-context learning(eg:导入讯息)

在这里插入图片描述

1.8K 个任务 fine-tune,全才

在这里插入图片描述

左图横轴模型的参数量,右图横轴模型的任务数

纵轴表示在没有见过的任务上的表现

在这里插入图片描述

微调后效果上来了

在这里插入图片描述

GPT (最左侧): 原始的预训练模型。它只会“根据概率续写文字”,并不理解什么是指令。

GPT (prompted): 通过少量示例(Few-shot prompting,也即 in-context learnig)引导后的原始模型——模型参数没变

在这里插入图片描述

SFT (Supervised Fine-Tuning): 经过有监督微调后的模型——模型参数变了。在 SFT 的基础上,用户可以通过 Few-shot 来告诉模型一些非常细微的个性化要求(比如:“请模仿鲁迅的文风写这段话,例子如下……”)。

PPO-ptx (核心突破点): 这是加入了 RLHF(基于人类反馈的强化学习) 后的模型,即 InstructGPT 的完全体。它的表现评分最高,远超 SFT 和原始 GPT。

FLAN & T0: 这是当时学术界其他优秀的指令微调模型,作为对比项,说明 InstructGPT 的 RLHF 方案在人类偏好上更胜一筹。

Y轴 Likert score(李克特量表评分) 代表了人类评价者的主观评分。评分越高,说明人类认为该模型给出的回答更符合意图、更真实且无害。

梳理一下:

  • 预训练提供了“智力”: 就像一个读过万卷书但没受过社会化教育的天才。

  • SFT 提供了“规矩”: 教会模型基本的工作格式。

  • PPO (Proximal Policy Optimization,近端策略优化算法,强化学习的策略优化方法,RLHF) 提供了“灵魂”: 通过不断的人类反馈,模型学会了如何以人类喜欢的方式说话,避开反人类或无意义的回答。

在这里插入图片描述

FLAN 的资料产生方式:任务模板化 (Task-specific Templates)

  • 这道题有这几种问法

OpenAI GPT-3/InstructGPT 的方式:用户真实数据 (User-driven Data)

  • 当人类这样问时,他们想要什么

FLAN 模式: 容易让模型变成“刷题高手”,一旦用户问出模板之外的问题,模型可能就懵了。

OpenAI 模式: 因为训练资料直接来自用户,模型对 Prompt 的鲁棒性(Robustness) 极强,更能处理模糊、口语化的表达。

在这里插入图片描述

只用了上万资料而已

在这里插入图片描述

instruction fine-tuning 是画龙点睛

兵贵精,不贵多

quality is all you need

less is more for alignment

在这里插入图片描述

我们缺乏高质量的 instruction fine-tuning 资料

可以以 ChatGPT 为师,对 ChatGPT 做逆向工程

在这里插入图片描述

让 GPT 想任务,根据任务想可能的提问方式,根据提问得到答案

在这里插入图片描述

小公司都逆向工程来获取 instruction fine-tuning 资料,哈哈哈

在这里插入图片描述

instruction fine-tuning 资料可以通过逆向工程获取,但是普通人缺乏足够强大的 pretrain model

在这里插入图片描述

直到 Meta 开源了 LLaMA,是第一个达到商用级性能且引发全民关注的开源基础模型。

LLaMA-13B 在多项指标上超越了 175B 的 GPT-3,且能在单张显卡上运行。它真正开启了“大模型平民化” 的时代。

在这里插入图片描述

在这里插入图片描述

llama 开源后,1 个多月 Alpaca、Vicuna 基于 llama pretrain 相继出现

Stanford Alpaca (2023.03): 底座 LLaMA-7B

Vicuna (2023.03): 底座 LLaMA-13B

在这里插入图片描述

llama 飞入寻常百姓家

在这里插入图片描述

3、第8講:大型語言模型修練史 — 第三階段: 參與實戰,打磨技巧 (Reinforcement Learning from Human Feedback, RLHF) (24.04.12)

在这里插入图片描述

在这里插入图片描述

提问,对回答不满意,可以点刷新,GPT 会重新回答,你可以根据对新的回答评价,GPT 收集这些人类反馈后,可以进一步 fine-tuning 模型

在这里插入图片描述

第一阶段:self-supervised learning

第二阶段:supervised learning(instruction fine-tuning)

第三阶段:RLHF

在这里插入图片描述

微调,让人觉得好的答案输出概率高一些,让人觉得不好的答案输出概率低一些

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

有时候人类写出正确答案不容易,但是容易判断好坏、对错

在这里插入图片描述

Instruction fine-tuning,每次接龙都是对的,不一定结果是最好的

在这里插入图片描述

學習對生成結果做通盤考量

在这里插入图片描述

在这里插入图片描述

中间先堵死自己的棋子,最后才能获得胜利

弃子争先”的围棋哲理:真正的胜利不在于局部得失,而在于全局视野;虚竹“自杀”白棋,恰似放下自我,方得新生。

“珍珑棋局”已成为中文语境中 “看似无解、实则需跳出框架” 的代名词;

RLHF 的全局观和其类似,不是每一步最优最后一定会胜利

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

文字接龙,棋盘接龙,整体看起来是生成式学习,每一步是分类问题

在这里插入图片描述

在这里插入图片描述

alphaGo,跟着棋谱学习,人类老师下哪里就跟着下哪里

在这里插入图片描述

在这里插入图片描述

语言模型和下围棋有很多相似之处

但细节上也是有很多差异的,eg:围棋输赢有确定的规则,但是语言模型答案的好坏有时候没有统一的标准,是不明确的

在这里插入图片描述

语言模型产生两个答案,让人类选出更好的,比让语言模型产生一个答案,让人类选 yes or no 更简单

因为一个没有对比就没有伤害,哈哈哈

一个答案有时候也没有很好的标准判断到底好 or 不好

在这里插入图片描述

alphaGO 强化学习时,对手可以是 alphaGO 的其它版本

但语言模型的 RL,需要人类介入

在这里插入图片描述

如何更有效的利用人类的回馈?

勇者欣梅尔虽过世,但一直激励着芙莉莲

在这里插入图片描述

类比,人类一直激励着语言模型,虽然人类不在,哈哈哈

在这里插入图片描述

如何做到呢?这个想象出来的人类,火之意志,曼巴精神

在这里插入图片描述

答案是:回馈模型,reward model

根据人类的喜好训练回馈模型

问题和答案匹配,回馈模型的得分变高,问题和答案不匹配,回馈模型输出的分数降低

  • Stage 1: SFT (Supervised Fine-Tuning, instruction fine-tuning) —— 工程师编写指令和理想回答,对预训练模型进行有监督微调。

  • Stage 2: RM (Reward Model) Training —— 训练奖励模型。

  • Stage 3: RLHF (Reinforcement Learning from Human Feedback)

在这里插入图片描述

在这里插入图片描述

把问题和答案一起输入给回馈模型,然后根据回馈模型的得分 fine-tune 语言模型,让好的答案出现的概率高,不好的答案出现的概率低

在这里插入图片描述

在这里插入图片描述

最小参数量的 GPT 模型经过 RLHF 后,也优于最大的没有经过 RLHF 后的模型

在这里插入图片描述

和虚拟的人类学习过度了,也不一定好

横轴 (KL from supervised baseline): 代表模型偏离“初始状态”(SFT 之后的状态)的程度。数值越大,说明强化学习(PPO)对模型的改变越大,模型为了拿高分,行为变得越“极端”。

纵轴 (Fraction preferred to ref): 代表胜率。即模型生成的摘要,有多少比例被认为比参考答案(Baseline)更好

虚线 (RM prediction - 奖励模型的预估):随着训练进行,奖励模型认为模型表现越来越好,胜率一路飙升,最终趋近于 1.0(近乎完美)。这说明模型成功学会了如何讨好“奖励模型”来拿高分。

实线 (Actual preference - 人类的真实偏好):

  • 上升期(左侧): 训练初期,随着分数的提高,人类确实觉得摘要质量变好了。
  • 崩盘期(右侧): 当 KL 散度超过一定阈值(约 10 左右)后,人类真实评分开始断崖式下跌。当模型为了拿高分而疯狂偏离初始分布时,它生成的摘要在人类看来已经变得怪异、冗长或者充满了某种特定的小花招,失去了实用价值。

类似于 GAN,成功讨好 or 欺骗了 reward model

在这里插入图片描述

过度优化(Overoptimization)导致的 ChatGPT “性格缺陷”。

  • 极度啰嗦(Excessive verbosity)
    在 RLHF 的数据标注中,人类标注员往往下意识地认为 “更长的回答更专业、更努力”。奖励模型捕捉到了这个偏差,导致模型学会了通过增加字数来“刷分”。

  • 过度道歉与自我怀疑(Excessive apologies, self-doubt)
    为了避免冲突和误导导致被扣分,模型选择了最安全的策略:无底线道歉。

  • 喜欢以“作为 AI 语言模型”开头(“As an AI language model”)
    这是 Safety Alignment(安全对齐) 过度的结果。为了通过人类对安全性、客观性的考核,模型被训练出了一套标准的“防御性话术”。

  • 模棱两可(Hedging language)
    给出明确答案是有风险的。如果答案错了,在 RLHF 中会得到极低的评分;而给出一个平庸但“正确”的废话,则能稳拿及格分。

  • 过度拒绝(Over-refusals)
    模型在训练中被植入了过于严苛的过滤器。为了绝对安全,模型宁可错杀一千(拒绝正常请求),也不放过一个(回答有害请求)。

在这里插入图片描述

缓解虚拟老师方法缺陷的方法,DPO,KTO

对比了大型语言模型(LLM)对齐(Alignment)技术的三种主流演进路线:经典的 RLHF,以及两种更高效的替代方案 DPO 和 KTO。

在这里插入图片描述

在这里插入图片描述

虚拟老师可以是另外一个 LLM

这个语言模型甚至可以是语言模型本身

在这里插入图片描述

什么答案叫做好,其实是没有固定标准的,eg 从不同角度来评判,答案标准会不一样

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

很多时候,人类自己都无法判断回答的好坏,如果提供了一个不正确的反馈,可能就会把模型引导到一个不正确的方向上,就没有办法变得更好

在这里插入图片描述

alignment,对齐人类的偏好和需求

4、In-context Learning、Instruct Learning、RLHF 的区别与联系

In-context Learning 是“给个样子照着做”

Instruct Learning(Supervised Fine-Tuning,SFT) 是“手把手教怎么做”

而 RLHF 是“做完之后看脸色”。

维度 In-context Learning (ICL) Instruct Learning (SFT) RLHF (强化学习)
阶段 推理/使用阶段 训练/微调阶段 训练/精修阶段
参数变化 不更新参数 更新参数 更新参数
数据形式 3-5 个 Prompt 示例 万级“指令-标准答案”对 十万级“好坏排序”数据
人类角色 提供参考示例 编写标准教科书 担任裁判进行打分
主要目的 快速适配临时小任务 让模型学会“听从指令” 让模型更安全、更有灵性
  1. 预训练让模型博览群书(拥有了智力)。
  2. SFT(Instruct Learning, instruction fine-tune) 让模型学会规矩,不再乱说话。
  3. RLHF让模型学会讨人喜欢,变得博学且优雅。
  4. ICL是用户在最后使用时,给模型加的一点“定制化小贴士”。

5、RLHF 和 alignment 的关系

RLHF = Reinforcement Learning from Human Feedback
(基于人类反馈的强化学习)

它是一种训练方法,流程通常是:

  1. 先训练一个基础模型(Pretraining)
  2. 人类对回答打分 / 排序
  3. 训练一个奖励模型(Reward Model)
  4. 用强化学习(常见是 PPO)优化模型

RLHF 本质:用“人类偏好”当奖励信号训练模型

Alignment 是目标(让 AI 像人类期望那样行为)

RLHF 是实现这个目标的核心方法之一(用人类反馈训练)

6、参考

  • https://speech.ee.ntu.edu.tw/~hylee/genai/2024-spring.php
  • https://www.bilibili.com/video/BV18fXbY6Eis/?spm_id_from=333.1387.homepage.video_card.click&vd_source=8e91f8e604278558ec015e749d1a3719
  • 在这里插入图片描述

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐