淘优惠

淘优惠

chatgpt和gpt-3

双十一活动 0

淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】


自从我那篇BERT通俗笔记一经发布,然后就不断改、不断找人寻求反馈、不断改,其中一位朋友倪老师(之前我司NLP高级班学员现课程助教老师之一)在谬赞BERT笔记无懈可击的同时,给我建议到,“后面估计可以尝试尝试在BERT的基础上,讲一讲prompt学习了”,然后我就看了下prompt学习,一看果然牛..

再然后,当我还在各种改BERT笔记的时候,12月初突然出来了一个【【微信】】刷爆朋友圈,即便很多之前不接触AI的朋友也在问【【微信】】这种类似聊天机器人却又胜过聊天机器人各种问题(上一次出现这种盛况的还是16年的AlphaGo),还有人让其根据要求写代码、写诗,比如让其学千古第一才女李清照写词,看大家真是乐在其中,甚至还有人惊呼:【【微信】】会不会替代【【微信】】这类搜索引擎。

虽然大部分技术者对待【【微信】】还是比较冷静的,毕竟它给的答案不像【【微信】】那样给出来源从而不能比较好的验证其正确程度(注意我这里的措辞:“不能比较好的”、“正确程度”,^_^),但最近遇到的几件事改变了我的一些看法

  1. 这两天我刷到一条新闻:微软欲用 【【微信】】 扶必应“上位”,对抗 【【微信】】,导致即便很多技术从业者也不一定淡定了,当然,依然会有不少人始终淡定如一
  2. 【【微信】】直接让其所在的公司OpenAI估值翻倍,而我司七月在线的最新一期NLP大课,NLP11也加入了【【微信】】的原理解析
  3. 因为【【微信】】太火,技术朋友经常会转发一些解释【【微信】】原理的资料,目前看到的资料里,先不说英文原始论文,中文资料里,现在各方面的知识、书籍、课程、资料很多,但真正能让人一看就懂的非常非常少
  4. 当少数文章具备比较好的可读性之后,你又会发现一旦涉及算法细节就千篇一律的泛泛而谈,如果不是泛泛而谈的,则更多堆砌概念和公式,总之中文资料里,可能因为【【淘密令】】/【【微信】】刚出来不久的缘故,兼顾可读性和细节性的文章少的可怜

本篇【【微信】】笔记会全力做到,通俗易懂且循序渐进(尽最大努力让每一个初学者哪怕是文科生都能没有障碍的读懂每一字一句、每一个概念、每一个公式,另,本文配图均来自文末的参考文献,可以认为是针对文末参考文献的学习笔记)

  • 一方面,对于想了解【【微信】】背后原理和如何发展而来的,逐一阐述从GPT/GPT2/GPT3到强化学习、PPO算法,最后再到【【淘密令】】、【【微信】】、SeqGAN 且本文之前,99%的文章都不会把PPO算法从头推到尾,本文会把PPO从零推到尾,按照“RL-策略梯度-重要性采样(重要性权重)-TRPO(增加信任区域和KL散度约束)-PPO”的顺序逐步介绍每一步推导(此部分内容核心参考自Easy RL教程)
  • 二方面,为彻底照顾初学者,本文会解释/说明清楚每一个公式甚至符号,包括推导过程中不省任何一个必要的中间推导步骤,以及必要的背景知识,十步推导绝不略成三步

本笔记从1.6日开始写(1.15日完成初稿,之后反复修改,春节期间基本成型,预计1月底完全成型,届时质量将是1.15日初稿的1.5-2倍),【【微信】】之后,再下一篇笔记应该是强化学习极简入门了。

在上一篇BERT笔记中,我们已经了解到:GPT是“Generati【【微信】】”的简称,从名字看其含义是指的生成式的预训练。

GPT也采用两阶段过程,第一个阶段是利用语言模型进行预训练,第二阶段通过Fine-tuning的模式解决下游任务。?

下图展示了GPT的预训练过程,其实和ELMO是类似的,主要不同在于两点:

  1. 首先,特征抽取器不是用的LSTM,而是用的【【微信】】,毕竟它的特征抽取能力要强于LSTM,这个选择很明显是很明智的;
  2. 其次,GPT的预训练虽然仍然是以语言模型作为目标任务,但是采用的是单向的语言模型

有两点值得提一下

  • 作为侧重生成式任务的GPT选择了【【微信】】 Decoder部分作为核心架构(Decoder具备文本生成能力,故GPT在【【微信】】 Decoder的基础上搭建语言模型【【微信】】 Block:前馈神经网络feed forward + 自注意力机制self attention + 求和与归一化的前置LN层 + 残差)
  • 关于【【微信】】 原理细节可以参看上一篇笔记BERT笔记(介绍的很细致),至于GPT的代码实现,网上有不少资料可以参看,比如GitHub

很多同学一看到DL,便会想到大数据,而数据量一大,还用CPU处理的话很可能训练一个小任务都得半天,而如果用GPU跑,可能一两分钟就出来了。于此,在深度学习大火的那几年,特别是AlphaGo出来的16年起,我司七月在线便分别为VIP、AI系统大课、在职提升大课、求职/论文/申博/留学1V1辅导提供GPU云平台进行实战训练。

然很多情况下,高质量数据的获取是比较困难的,比如医疗数据,那怎么办呢?既然暂时改变不了高质量数据匮乏的现状,那就改变模型! 如此,让模型能从少量样本中学习规律并具备推理能力便显得至关重要了。

最终,针对小样本/零样本的N-shotLearning应运而生,分为如下三种

  • Zero-shot?Learning?(零样本学习),是指在没有任何训练样本进行微调训练的情况下,让预训练语言模型完成特定任务
  • One?shot?Learning?(单样本学习),顾名思义,是指在一个训练样本进行微调训练的情况下,预训练语言模型完成特定任务
  • Few-shot?Learning?(少样本或小样本学习),类似的,是指在只有少量样本进行微调训练的情况下,预训练语言模型完成特定任务

而GPT-2不再使用二阶段训练模式(预训练+微调),而是彻底放弃了微调阶段,仅通过大规模多领域的数据预训练,让模型在Zero-shot?Learming的设置下自己学会解决多任务的问题,而且效果还不错(虽然GPT2通过Zero-shot?Learming在有些任务的表现上尚且还不如SOTA模型,但基本超越了一些简单模型,说明潜力巨大),你说神不神奇?

而GPT2在GPT1的基础上规模更大、模型更复杂。至于小样本学习的具体应用可以看下参考文献6。

GPT3简单来说,就是规模大、有钱多金、效果出奇好,具体而言,它的参数规模达到了1750亿,并且使用45TB数据进行训练,其预训练任务就是“句子接龙”,给定前文持续预测下一个字,而且只要有少量的文本数据就能作为模型的训练数据。

总之,只需将自然语言的提示信息(prompt)和任务示例(demonstration)作为上下文输入给GPT-3,它就可以在零样本或小样本的情况下执行任何NLP任务,包括所谓的完形填空任务,比如举个例子

比如,假如我要判断“我喜欢这个电影" 这句话的情感(“正面" 或者 "负面"),原有的任务形式是把他看成一个分类问题

输入:我喜欢这个电影

输出:“正面" 或者 "负面"

而如果用Prompt Learning去解决的话,任务可以变成“完形填空",

输入:我喜欢这个电影,整体上来看,这是一个 __ 的电影

输出:“有趣的" 或者 "无聊的"

言外之意即是,即便是面对完形填空似的任务,也能很好的解决

正因为GPT3首次把模型的规模带到了千亿级别,开辟了大模型赛道,其次也为NLP带来了一种新的范式prompt,prompt为GPT3带来了0样本、单样本、小样本的学习能力。而且更为关键的是,在小样本的情况下,其性能表现一度超越SOTA模型。

为形象描述,举一个GPT-3在只有少量样本下的机器翻译使用范例,如下图

  • 图中右侧是普通模型微调的过程,模型通过大量训练预料进行训练,然后基于特定的任务数据进行梯度迭代更新(gradient update),训练至手链后的模型才具备良好的翻译能力
  • 图中左侧是GPT3分别在0样本(只给出任务描述)、单样本(只给出任务描述+一个翻译样本)、小样本(给出任务描述+少量样本)的情况下所展示出的能力,即便是小样本的情况下,也远少于微调过程所需要的训练数据 说白了,就是在同等训练数据下,GPT的性能远高于微调模式的SOTA模型

至此,我们对比下Fine-tuning和prompt learning的区别就是从Pre-train、Fine-tune到Pre-train、Prompt、Predict的过程

  • Fine-tuning中:是预训练语言模型“迁就“各种下游任务。具体体现就是通过引入各种辅助任务loss,将其添加到预训练模型中,然后继续pre-training,以便让其更加适配下游任务。总之,这个过程中,预训练语言模型做出了更多的牺牲
  • Prompting中,是各种下游任务“迁就“预训练语言模型。我们需要对不同任务进行重构,使得它达到适配预训练语言模型的效果。总之,这个过程中,是下游任务做出了更多的牺牲

考虑到下文要讲的【【淘密令】】和【【微信】】分别预计GPT3、GPT3.5,所以本文还得再讲下GPT3.5相比GPT3的差别。

粗略的讲,GPT-3.5 模型使用与 GPT-3 相同的预训练数据集,但进行了额外的微调,从而更擅长以下两点

  1. 更擅长上下文学习、对话
  2. 可以生成更加符合人类期待的反馈(或者说模型与人类对齐),例如:零样本问答、生成安全和公正的对话回复、拒绝超出模型它知识范围的问题

考虑到本文的主旨核心【【微信】】用到了RLHF和PPO,所以本文的第二部分将从强化学习讲到PPO算法。

强化学习里面的概念、公式,相比ML/DL特别多,初学者刚学RL时,很容易被接连不断的概念、公式给绕晕,而且经常忘记概念与公式符号表达的一一对应,为此,我建议学习RL的第一步就是一定要扎实关于RL的一些最基本的概念、公式(不要在扎实基础的阶段图快或图囵吞枣,不然后面得花更多的时间、更大的代价去弥补),且把概念与公式的一一对应关系牢记于心,这很重要。

当然,为最大限度的提高本文的可读性,我会尽可能的多举例、多配图。

但RL之外,像高等数学里的什么叫导数、多元函数、偏导数、以及AI一些最基本的概念比如损失函数、梯度/梯度下降等,可以直接Wikipedia上查看相关概念,本文则不赘述了,毕竟可以为通俗而增加篇幅,但不为了介绍而介绍式的增加篇幅,避免影响完读率,^_^。话休絮烦,下面开始正题。

强化学习(reinforcement learning,RL),基于智能体(agent)在复杂、不确定的环境(en【【微信】】)中最大化它能获得的奖励,从而达到自主决策的目的。

经典的强化学习模型可以总结为下图的形式(你可以理解为任何强化学习都包含这几个基本部分:智能体、行为、环境、状态、奖励):

一般的文章在介绍这些概念时很容易一带而过,这里我把每个概念都逐一解释下

  • Agent,一般译为智能体,就是我们要训练的模型,类似玩超级玛丽的时候操纵马里奥做出相应的动作,而这个马里奥就是Agent
  • action(简记为),玩超级玛丽的时候你会控制马里奥做三个动作,即向左走、向右走和向上跳,而马里奥做的这三个动作就是action
  • En【【微信】】,即环境,它是提供【【微信】】的某个对象,它可以是AlphaGo中的人类棋手,也可以是自动驾驶中的人类驾驶员,甚至可以是某些游戏AI里的游戏规则
  • 【【微信】】(简记为),这个奖赏可以类比为在明确目标的情况下,接近目标意味着做得好则奖,远离目标意味着做的不好则惩,最终达到收益/奖励最大化,且这个奖励是强化学习的核心
  • State(简介为),可以理解成状态或环境状态

总的而言,Agent通过感知环境En【【微信】】从而获取环境的状态state,进而依据策略决策从而执行动作action,最后得到奖励【【微信】】,然后再继续按此流程“感知状态-依据策略执行动作-得到奖励”循环进行。

另外,有两点值得一提

  • 第一,不同状态出现的概率不一样(比如明天是天晴还是下雨不一定,即便看了天气预报也只是预测大概率是天晴而已),同一状态下执行不同动作的概率也不一样(比如即便在明天是天晴的概率下,你大概率不会带伞,但依然不排除你可能会防止突然下雨而带伞)
  • 第二,另外,值得一提的是,人的一言一行会受到评估好优化言行,对于智能体也类似,比如有状态则有对状态的评估,有状态下执行的动作则有对状态下执行动作的评估,那怎么评估状态的价值、怎么评估状态下动作的价值呢? 于此,也就出来了所谓的状态价值函数、动作价值函数 最终一切评估结合奖励,毕竟我们的目的是需要最大化奖励,从而不断采取最优的策略,所谓最优策略就是在同一环境或不同环境下采取的最佳动作实践

进一步,具体而言,“感知状态-依据策略执行动作-得到奖励”的整个过程分为两步

  • 第一步,它会根据当前状态State来采取动作action 我们会通过“状态价值函数”对当前状态进行评估,可以用表示状态在策略下的价值 而采取什么样的动作就涉及到策略policy策略函数可以表述为函数(当然,这里的跟圆周率没半毛钱关系),从而可得,意味着输入状态,策略函数输出动作 此外,还会有这样的表述,,在输入状态s确定的情况下,输出的动作纸盒后面的参数有关,这个就是策略函数的参数 再比如这种,而这相当于输入一个状态下,智能体采取某个动作的概率,这个啥意思呢?意思是在状态确定之下,智能体采取不同动作的概率是不同的,比如当到了中午吃饭的时刻但家里没有食材了,这个时候你可能有50%的概率去买食材,也可能有30%的概率直接订外卖,有20%的概率到冰箱里随便找点吃的
  • 第二步,记录被反馈的奖赏【【微信】】,以便下次再到相同状态时能采取更优的动作 所谓是指我们在当前状态采取了某个动作,可以得到多大的奖励,奖励函数是状态和动作的函数,即,如果和这个公式结合起来,就是 实际中,因为一个状态可以得到的奖励是持久的(当然,越往后某个事给的回报率越低,也即奖励因子越小),故某个这个状态导致的期望回报奖励为? 举个例子,一个少年在面对“上大学、去打工、在家啃老”这三种状态,哪一种更能实现人生的价值呢? 相信很多人为长远发展都会选择上大学,因为身边有太多人因为上了大学,而好事连连,比如读研读博留学深造、进入大厂、娶个漂亮老婆、生个聪明孩子 当然了,上大学好处肯定多多,但上大学这个状态对上面4件好事所给予的贡献必然是逐级降低,毕竟越往后,越会有更多或更重要的因素成就后面的好事,总不能因为所有好事都百分百归功于最开头选择了“上大学”这个状态/决策嘛 且即便同一种状态下,不同策略下采取不同的动作,这就涉及到“动作价值函数”对动作的评估,可以用表示为状态在策略下选取动作的价值,这就是大名鼎鼎的Q函数,得到Q函数后,进入某个状态要采取的最优动作便可以通过Q函数得到,即) 比如我希望最短时间内把柴砍完,如果我鼠目寸光可能会选择不磨刀直接砍,看似一开始柴被一个个劈开了 好像很快,但因为刀口有绣,实际全部砍完可能花了30分钟,但如果我明白磨刀不误砍柴工,则我可能花了1分钟磨刀,然后再用10分钟就把柴砍完了

此外,RL和监督学习(super【【微信】】)的区别:

  • 监督学习有标签告诉算法什么样的输入对应着什么样的输出(譬如分类、回归等问题,一开始的分类不准没关系,通过建立损失函数+反向传播不断调整优化) 所以对于监督学习,目标是找到一个最优的模型函数,使其在训练数据集上最小化一个给定的损失函数,相当于最小化预测误差 最优模型 = arg minE_{(特征,标签)-数据分布} [损失函数(标签,模型(特征)] RL没有标签告诉它在某种情况下应该做出什么样的行为,只有一个做出一系列行为后最终反馈回来的【【微信】】,然后判断当前选择的行为是好是坏 相当于RL的目标是最大化智能体策略在和动态环境交互过程中的价值,而策略的价值可以等价转换成奖励函数在策略的占用度量期望,即最大化累计下来的奖励期望 最优策略 = arg maxE(状态,动作)-策略的占用度量 [奖励函数(状态,动作)] 注,所谓占用度量是为了衡量一个智能体决策与动态环境的交互过程中,采样到一个具体的动作状态对(state-action pair)的概率分布
  • 监督学习如果做了比较坏的选择则会立刻反馈给算法 RL的结果反馈有延时,有时候可能需要走了很多步以后才知道之前某步的选择是好还是坏
  • 监督学习中输入是独立分布的,即各项数据之间没有关联 RL面对的输入总是在变化,每当算法做出一个行为,它就影响了下一次决策的输入

进一步,我们有(先做个简单了解,下文会详细阐述,特别是其中的PPO算法)

  • 基于值函数的方法,通过求解一个状态或者状态下某个动作的估值为手段,从而寻找最佳的价值函数,找到价值函数后,再提取最佳策略 比如【【微信】】、DQN等,适合离散的环境下,比如围棋和某些游戏领域 BTW,因为本文主旨【【微信】】用的RL算法是PPO,和【【微信】】没有最直接的联系,所以本文不阐述【【微信】】,但下一篇笔记强化学习极简入门会仔细讲
  • 基于策略的方法,一般先进行策略评估,即对当前已经搜索到的策略函数进行估值,得到估值后,进行策略改进,不断重复这两步直至策略收敛 比如策略梯度法:PG算法policy gradient,适合连续动作的场景,比如机器人控制领域 以及Actor-Criti(一般被翻译为演员-评委算法),既学习价值函数,有学习策略函数,不过,Actor-Criti本质上是属于基于策略的算法,毕竟算法的目标是优化一个带参数的策略,只是会额外学习价值函数,从而帮助策略函数更好的学习 此外,还有对策略梯度算法的改进,比如TRPO算法、PPO算法,当然也有的文章会把PPO算法称之为是一种Actor-Critic架构,本文会重点阐述
<

与chatgpt相关的龙头股 国际红利股etf-ishares股价实时情况

跟龙有关的车

  ChatGPT股票龙头股是什么?

  海天瑞声:ChatGPT龙头,公司在营业总收入同比增长方面,从2018年到2021年,分别为61.8%、23.31%、-1.76%、-11.53%。

  据公司2021年年报:公司生成的训练数据主要覆盖智能语言、计算机视觉和自然语言处理三大领域。

  回顾近30个交易日,海天瑞声股价上涨62.84%,最高价为244.8元,当前市值为78.32亿元。

  汉王科技:ChatGPT龙头,在营业总收入同比增长方面,公司从2018年到2021年,分别为23.64%、47.8%、40.8%、3.74%。

  据2022年半年报:汉王科技作为人工智能领域的先行者,在视觉图像识别及人机智能交互方面持续投入,拥有业内领先文本图像识别、自然语言处理、生物特征识别、智能视频分析、智能人机交互等人工智能产业链关键技术。

  近30日汉王科技股价上涨48.88%,最高价为40.24元,2023年股价上涨50.94%。

  初灵信息:ChatGPT龙头,初灵信息在营业总收入同比增长方面,从2018年到2021年,分别为-6.75%、15.73%、-16.07%、19.42%。

  初灵信息在近30日股价上涨37.99%,最高价为24.36元,最低价为11.23元。当前市值为40.76亿元,2023年股价上涨38.53%。

  ChatGPT股票其他的还有:

  创维数字:在近5个交易日中,创维数字有2天上涨,期间整体上涨8.15%。和5个交易日前相比,创维数字的市值上涨了16.22亿元,上涨了8.15%。

  天音控股:近5个交易日股价下跌4.02%,最高价为11.5元,总市值下跌了4.41亿。

  高鸿股份:在近5个交易日中,高鸿股份有3天下跌,期间整体下跌2.3%。和5个交易日前相比,高鸿股份的市值下跌了1.62亿元,下跌了2.3%。

  数据仅供参考,不构成投资建议,据此操作,风险自担,股市有风险,投资需谨慎。