chatGPT的前世今生

第一章  概述:

chatGPT是openAI公司研发的一款生成式预训练模型,它是在GPT系列预训练模型的基础上,利用问答语料及相应强化学习知识,经过一定的微调,生成的一种主要用于聊天,文字生成的智能应用程序。


第二章  预训练语言模型简介:

一直以来,NLP领域都存在一个很棘手的问题:  机器是无法识别文字的,它底层只能识别二进制数字,所以文字的处理相应的就转换成了怎么将文字转换成相应的数字。  简而言之就是怎么用数字来精确表示文字。这里面有两个问题 1 怎么表示,即找到一种思路去处理文字   2 精确表示,即这种表示方式是否高级,是否能完美的表示出文字背后的含义。   

什么是预训练:

预训练模型是是一种希望挖掘表示出各个token语义的模型,它目的为了通过数字精确表达出每个文字的含义。然后再将其学习到的文字语义关系应用到不同的任务。打比方说:预训练相当于小孩 学会每个字的拼音 含义, 然后他用这些字去写作文  解数学题,就是应用到不同的任务。

什么是语言模型:

上述三个sentence,如果用人去判断的话,觉得那句话更合理,判断的依据是什么?

我们可能会觉得第一句话更合理,为什么呢?因为美联储主席,在我们历史认知中,更合理,更常见,而美主席联储  美主车席联储并不常见,这就是语言模型,基于历史语料,我们求的不同token的概率关系(简而言之 就是哪些字组在一起更常见), 把所有的概率关系相乘,即求得这句话合理的概率。

one-hot

假设一个词库里只有两个汉字 [男, 女],我们利用one-hot形式对词库进行编码,那么男的表示形式为01(10也可以)向量,女的表示形式为10向量。向量的长度是跟词库的大小保持一致。

缺点:这种向量过于稀疏(大部分值都为0)

word2vec-搭建舞台

利用CBOW或skip-gram两种模式来学习文本中不同token之间的关系

预训练任务:

       CBOW:   利用当前token的上下文去预测当前token

        Skip-gram: 利用当前token去预测token周围的词语

缺点:

        把每一个词的向量固定,但是不同语境中的词可能是不同的含义。如苹果可以代表公司名,也可能代表水果。

Transformer(谷歌)-拉开大幕

2017年  谷歌机器翻译团队在NIPS 2017发表了<Attention is All you need>,完全抛弃了之前常规的CNN,RNN, LSTM等常规特征提取器,利用attention机制构造了一种新型特征提取器:Transformer,其网络结构如下图所示:

                                                                Transformer网络结构图

输入层: 位置编码信息 +  token embedding

encode层:6层encoder

        self-attention相关:本篇不做赘述

decode层:6层decoder

        mask-attention:倒三角mask,详情见。

输出层: 原始论文是做机器翻译的  输出是目标词汇库大小的线性变换器

自编码模型

预训练模型一般分为两个流派,自编码与自回归。自编码是随机用mask替换掉输入句子中的一些token(单词片段  单词  短语  句子片段),然后让模型去预测被替换掉的token是什么。自编码能看到双向的信息。

Bert(谷歌)-预训练模型开山之作

输入层: 位置编码信息 +  token embedding + 01embedding

预训练任务:

•MLM:从输入中随机masked某些tokens,目的是仅根据其上下文预测原始单词。

 全词掩码与随机掩码的区别:bert采用

•NSP:预测句子B是否为A的下一个句子 。

Roberta:一个调到最优的bert

ALBERT:在不降低模型性能的前提下去减少模型参数

      1   Factorized Embedding Parameterization

      2   Cross-layer Parameter Sharing

      3    Sentence Order Prediction(SOP)

NAZHA(华为)

     1  增加相对位置编码函数

     2  全词掩码

     3  混合精度训练

     4  优化器改进

ERNIE(百度)

     1   依据中文特性按词去mask

     2   预训练过程中引入外部知识图谱知识

自回归模型

        自编码模型在预训练阶段引入了mask字符,造成了训练与微调阶段不一致的情况。自回归是利用上文去预测下一个token,不存在mask噪音情况。

XLNET(中国):在自回归模型中引入上下文信息:

       随机排列组合句子序列

第三章  GPT系列介绍:

GPT全称Generative Pre-Training,生成式预训练模型

GPT1

GPT2

GPT3

这篇文章对GPT1到3总结的很详细:  安全验证 - 知乎

InstructGPT:规范输出内容

1   构造一批几万条人工标注的问答对数据

2   利用问答对数据训练强化学习中的奖励模型

3   利用强化学习对一些未标注的问句继续训练

chatGPT


第四章  chatGPT的未来一些应用:

 1   智能客服

        客服业务是一个大量消耗低成本人力的场景。以一个中型互联网公司为例,3000月薪 * 12月 * 300人(拼多多是有五千人的客服团队), 一年客服人员的人力支出就在1000万以上,除此以外还有办公场地,水费电费等,市场空间最大。该行业又是一个入行门槛较低的职业,往往培训一周即可上班。我们可以在客服人员的大量历史对话中对学习某些行业专业业务知识,形成一领域一模型,便可替代大量的客服人员。

2   智能编码

        让不会写代码的产品经理通过chatGPT获取他想要的功能?text2code,text2python,text2java,text2sql这些细分的将自然语言转化为相应的代码块方向,一直都有人在研究。例如,text2sql,我们将用户查询的自然语言转化为SQL语句,让不会写SQL的人也能查询底层数据库数据。在不使用预训练模型的前提下,仅几万条数据,模型就可以达到60%的准确率,如果未来在大量query-SQL-schema语句对基础上去学习,未来完全可以投入商用上去。代码语法结构一般是固定的,query-code这种映射是好实现的。未来的程序员可能需要做的不再是埋头写代码,而是学会怎么借助工具生成代码,提升效率。

3   智能搜索

        无需多言,目前基于检索的这种搜索,它更多的是基于关键词去匹配相关信息,他无法理解一些词语的语义相近关系,所以会返回一系列的页面供用户自己去选择。智能搜索,挖掘背后的语义,精准返回相应答案,提升用户体验感。

4   文本创作

        辅助进行写论文(全抄的话 查重应该过不了),剧本创作(剧本杀行业已经出现这种情况),写诗,写对联,写文章等等。


第五章  chatGPT是一项革命性工作吗?:

预训练+微调  -> 预训练 + prompt

        Bert出来后,很长一段时间,大家都聚焦于预训练+微调的模式,将预训练模型参数嵌入到下游任务之上,再在具体下游任务上做适量的微调。chatGPT出来后,人们发现提示学习可能相较于微调具备更大的作用,也许提示学习会成为未来大模型释放能量的重要钥匙。

范式第1、2种范式:完全监督学习(Fully Supervised Learning;非神经网络和神经网络)第3种范式:预训练-微调第4种范式:预训练-提示学习
训练数据目标任务数据集大规模生语料,目标任务数据集大规模生语料,目标任务数据集
输入我是谁?我是谁?,[CLS]我是谁?[SEP]主题是[MASK][MASK]
[SEP],
输出,[0,0,1][0,0,1][CLS]哲学[SEP]
输出层一个线性变换一个线性变换无新增结构
特点依赖目标任务数据集来获得文本表示。基于庞大的生语料拉来获得良好的文本表示。
基于目标任务数据获得下游任务知识。
基于庞大的生语料拉来获得良好的文本表示。
基于语言模型的文本生成能力,和下游任务特点,设计训练和推理策略。

缺点:

  • 推理一次成本高。模型结构巨大,因为在推理阶段耗费的计算资源也是巨大的。在搜索领域调用一次的成本是目前goole搜索一次成本的三倍。
  • 训练一次成本高。训练一次需要上千块A100显卡训练两周。当需要更新模型内容时,实时性差,成本高,部分场景应用有待加强。
  • 不具有复杂问题推理的能力
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值