学习入门 chatgpt原理 三

学习文章:人人都能看懂的chatGpt原理课
笔记作为学习用,侵删

GPT模型训练策略

GPT模型训练的历史
在这里插入图片描述
总共经历了四个阶段。

纯监督学习

最早的NLP模型训练方式,也是传统的机器学习建模方式。
这种方式主要针对特定的NLP任务来完成,如文本分类,文本摘要抽取,机器翻译等等。

纯监督学习的模型训练方式就是之前说的监督学习的内容

初始化参数,输入数据(特征),输出数据,损失函数判断对比值,梯度下降法更新参数,输入数据…进行新一轮的训练

这种训练方式存在难以克服的缺点

  • 极度依赖标注数据集:有多少人工,就有多少智能。模型通过学习标注数据获得智能,但是标注数据全靠人工完成。
  • 模型只针对特定任务:早期的ai模型都只针对特定任务,不存在一个模型完成多任务的方式。
  • 模型泛化能力差,不能举一反三。泛化能力就是模型在处理未曾见过的数据时的表现能力。
    • 比如数据集通常分为训练集和测试集,模型在训练集上机械能训练,然后再测试集上进心测试,以评估模型的性能,而测试集是模型未曾见过的,如果表现不好,就称为泛化能力差。
预训练+微调(Finetune)

预训练+微调是一种在NLP领域中广泛应用的技术,他的基本思想是,使用大量的未标记数据进行预训练,然后使用少量的标注数据进行微调,从而适应特定的NLP任务。

直到 ChatGPT 出现之前,这是绝大多数 NLP 模型任务的基本工作流程。

模型预训练就是构造一个语言模型,利用互联网上大规模的未经人工标注的文本进行上下文联系学习。
等预训练阶段完成后,GPT初代酒采用微调的方式对下游任务进行监督学。
所谓微调,本质就跟纯监督学习的操作过程一样,唯一的区别在于模型以梯度下降训练的过程中,参数调整的幅度和范围比较微小。

纯监督学习:模型在一个完全随机初始化参数的基础上进行训练。
预训练(监督学习)+微调:模型在一个已经具备一定的语言知识和语言能力的参数上进行训练。(即在微调前,就已经得到了预训练好的参数集)

这种方法比纯监督学习有一定的好处:同样是针对某一任务的模型,预训练的模型具备了一定的语言基础,加上微调后,学习特定的任务速度更快,效果更好。模型泛化效果好。

若把训练AI模型比较教育小孩的话,纯监督学习,就是教一个一岁的小孩算术,而预训练+微调,就相当于教5岁的小孩子学算术,因为5岁的孩子在过去5年的成长中,接受了大量的信息,有助于他学算术。

In-context Learning

在上下文中学习:让 GPT 模型在上下文中学习要学的任务和内容。

ChatGPT 模型的输入实际上就是一段 context 上下文
比如我们需要对模型进行引导(prompt),问gpt时,我们会说

  • 请把以下中文翻译成英文:xxx
  • 你是一个专业的前端,现在有一个问题:xxx
    这就有了in-context学习,我们对其进行引导,教会他应当输出什么内容。
zero-shot、one-shot、few-shot 小样本学习

我们的输入,如果不给例子就是zero-shot
给一个例子就是one-shot
给多个例子就是few-shot

比如zeor-shot

请将以下中文翻译成英文:xxx

one-shpt

请将以下中文翻译成英文: xx
比如苹果=>apple

fet-show

请将以下中文翻译成英文: xx
掘金还挺不错的 => Juejin is rather good;
比如苹果=>apple

prompt学习

使用人类编写的简短文本片段,来指导模型生成文本。如果是few-shot就亲身示范,prompt就是口头命令,如

有prompt的情况
请将以下中文翻译成英文:
苹果=>apple
你好 => ?

无prompt情况
苹果=>apple
你好 => ?

prompt 就是对任务做自然语言描述,不加 prompt 就是直接给范例

In-context learning 的效果评价

这种引导学习的方式,小模型上不太行,参数不多。
大模型上却有惊人的效果(超大模型)

在这里插入图片描述
蓝色的曲线代表 1750 亿参数的模型效果,而在 13 亿参数的绿色曲线上,模型效果则很一般。它证明了高级的人工智能必然依赖超大规模的神经网络。

In-context learning 的局限性

模型的输入多种多样,比如

苹果=>apple
翻译一下:xxx
xxx,麻烦给我翻译成中午呢

自然语言对事物的描述是非常灵活的,单纯的in-context learning对如此灵活的用户指令还不够适应。此外,小样本学习得到的gpt模型在做任务的时候,有时候会产生虚构,假的回答。这些回答与用户的需求不契合,所以接下来的RLHF强化学习就登场了

小结
  • NLP模型训练经历了四个阶段,纯监督学习->预训练+微调->小样本学习(few-shot)->RLHF
  • GPT模型采用了基于大规模数据的语言模型预训练
  • GPT3使用了in-context learning的学习方式,扩展语言模型的学习能力。

RLHF 强化学习

2017年围棋人工智能模型AlphaGo,就是使用了深度强化学习的算法,能够自我学习和对弈经验不断提高自己的水平,他充分展示了强化学习的效果和能力。

强化学习基本概念

强化学习是一种机器学习方法,旨在让智能体(Agent,即人工智能模型)通过与环境的交互,来学习如何做出最优决策,在强化学习中,模型根据所称的环境中的脏台,通过执行动作来影响环境,并从环境中获得奖励或者惩罚

模型的目标是通过学习最大化长期奖励 来制定最佳策略。

强化学习非常像生物的进行,通过不断突破基因,物竞天择,环境来筛选,从而适应环境,生存下来。

他的基本建模如图:
在这里插入图片描述
我们在玩马里奥的时候,假设马里奥就是一个模型,游戏中的每一个关卡,就是强化学习中的环境,我们玩马里奥闯关的过程,就是一个强化学习的最好例子。
通过一关给奖励,失败就惩罚(死掉重头再来)
最终从一个菜鸟,通过不断尝试,变成一个马里奥游戏高手,这就说明了强化学习的本质:Trial&Failed学习模型,用中文说就是:屡战屡败,屡败屡战,总结经验,获得成功

强化学习要素
  • 状态:环境和智能体共同构成的整体状态。比如马里奥中,玩家每时每刻所处的位置,游戏画面的各种物体,都属于游戏的状态。

  • 动作:智能体可以作出的动作描述,所有动作构成了一个集合。比如玩家可以操作马里奥进行前进后退,等6个动作

  • 策略:根据当前状态,设计决策函数,采取某种动作
    在这里插入图片描述

  • 反馈:环境对智能体行动的反馈,再根据当前一个状态做出决策后,智能体将处于下一个状态,并得到一个反馈值。

强化学习与NLP相结合的困难点

强化学习最早是应用于游戏里,因为这些游戏场景都是人为构造的虚拟环境,针对游戏来说,环境容易构造,reward反馈函数也容易构造。

对于超级马里奥游戏而言,游戏软件创造的所有闯关关卡就是其强化学习的环境,而最后的 reward 值是多少,游戏软件会即刻给出玩家是通关或失败。

但是对于NLP来用强化学习,难度就很大了,NLP是自然语言模型,所依赖的环境是整个现实世界,其复杂程度不是游戏可以比的,在NLP领域,无法设计reward函数,只能由人工一个一个给出。

Chatgpt与强化学习

在自然语言中,gpt作为一个智能体,其模型的优化必须建立在,有一个程序或者人,来告诉gpt生成的输出内容是好是坏。

  • 智能体:gpt本身
  • 环境:整个现实世界,gpt实际上与人交互,人类用户就是他的环境。
  • 状态:在gpt中,状态就是prompt,时间被省略,gpt实际只关心输入输出。
  • 策略,动作:gpt模型对于给定的输入,反馈一个输出文本,就是根据当前的策略模型,进行一次动作
  • 反馈:人对于gpt的输出结果的评价,openai花钱找了40个外包,标注了大量的数据,利用标注数据,制作了一个reward model,一举解决了奖励函数的问题。
总结:
  • 强化学习就是让智能体,通过与环境的交互来学习如何做出最优决策。
  • NLP与强化学习结合的难点在于环境复杂(现实世界事物无限多,)reward函数难以设计。

chatgpt的强化学习原理

上面说到强化学习的原理以及应用NLP的难度,Chatgpt才用了RLHF 带人工反馈的强化学习来克服这个难点。

RLHF的算法本质就是制作了一个神经网络模型,来模拟人类给gtp模型的输出结果打分。

RLHF 的训练过程主要是:待模型生成数据,reward 模型给出评价,根据目标函数更新模型参数,以此往复,提高模型对用户指令的响应。

GPT系列模型依赖的数据

gpt的原理就是菜谱
而ChatGPT 模型的食材就是数据,厨具就是算力。

  • GPT 系列模型的发展伴随着数据量的指数级增长,证明了只有充足参数的大模型才能具备较高的智能。
  • InstructGPT 以较少的数据集训练得到了超过 SFT 的效果,证明了 RLHF 方法的有效性
  • 数据的质量高低对模型训练的效果影响很大,需要克服幻觉妄语
  • ChatGPT 模型已经超越了自然语言处理的范畴

Chatgpt优缺点及其原理

优点
  • ChatGPT 可以处理任何 NLP 领域任务(文本匹配,翻译…)
  • ChatGPT 避免了超大规模的标注数据
缺点
  • 幻觉妄语 Hallucination 严重,chatgpt有时侯会答非所问,ChatGPT 无法完全分清楚真实和虚构。
  • ChatGPT 本质上只是一个语言模型,它的核心目的,是回答的内容像不像一个人类说的话,而非回答的内容是否真实可靠。
  • ChatGPT 没有连接外部实时信息
  • ChatGPT 本质上不具备思考和推理能力
  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

coderlin_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值