ChatGPT 是怎样炼成的?

原本链接:https://mp.weixin.qq.com/s/R8EwUppkQg4igal_5h6E0Q

一、前言

2022 年 11 月,OpenAI 发布了大规模语言模型的又一力作:ChatGPT,瞬间引爆学术界和舆论场,有人用它编写贺词发送祝福,有人用它吟诗作赋冒充诗人,有人用它编写代码ctrlcv,还有人套路它走向罪恶恐怖如斯,如此强大的 AI 对话模型 ChatGPT,作为大规模预训练语言模型的集大成者,到底是天才的一蹴而就,还是技术的厚积薄发,本文跟大家聊聊这些光鲜的背后发展历程。

二、大规模语言模型

计算机要实现自然语言处理 NLP,大致有两方面的工作:自然语言理解(Natural Language Understanding,NLU)和自然语言生成(Natural Language Generation,NLG)。

在 2017 年之前,也就是 Transformer 提出之前,大家实现 NLP 的思路,主要是在特定任务上训练「静态词向量 + RNN」,总的来说 RNN 非常难以训练,需要大量数据样本,才能获得效果稍好的模型,还会出现大量其他问题,例如梯度问题、长句子表现极差,这时就有大佬想到,如果先预训练一下 RNN,获得一个通用的语言模型,然后在下游任务上微调预训练好的 RNN,这样大概率会更容易获得有效的模型,这便是大规模预训练语言模型的初衷。

时过境迁,NLP 领域陆续出现了一些使用预训练的探索性方法,例如 Semi-supervised Sequence Learning、ULMFiT,但是模型方法真实效果一直处在不温不火的状态,直至 Transformer 提出。

2017 年 6 月,Google 在《Attention is all you need》中提出 TransformerAttention 大杀四方、惊为天物。Transformer 由输入、输出、编码器、解码器组成,其中编码器由 6 个编码器层组成,每个编码器层有两个子层:「多头自注意力层 + 规范化层 + 残差连接」和「前馈全连接层 + 规范化层 + 残差连接」,解码器也由 6 个解码器层组成,每个解码器层有三个子层:「多头自注意力层 + 规范化层 + 残差连接」、「多头注意力层 + 规范化层 + 残差连接」和「前馈全连接层 + 规范化层 + 残差连接」。传统 RNN 及其变体只能按照序列顺序来计算词之间的语义特征和句法结构,距离越远且特征损耗越大,而 Attention 能直接跨越计算任意两个词的特征联系,这种高质高效的创新设计成为了后续各种学术和工程的讨论主题。

2018 年 6 月,恰好距离 Transformer 提出一年,另一个注定伟大的公司,微软投资的 OpenAI 发布了 GPT(Generative Pre-Training)初代,模型主体采用了 Transformer 的解码器层,去除了中间子层「多头注意力层 + 规范化层 + 残差连接」,共堆叠了 12 个编码器层,Attention 头数 12,词向量长度 768,预训练数据 5 GB,参数量 1.17 亿。GPT 初代的训练核心延续了「无监督的预训练 + 有监督的微调」,在无监督的预训练阶段,使用海量无标注语料训练语言模型,生成预训练模型。在微调阶段,利用特定任务的标注语料对预训练模型做微调,以完成特定任务上的适配。

同年 10 月,Google 发布 BERT,技惊四座、一时无两。在模型结构方面,BERT 采用了 Transformer 的编码器层,堆叠了 12 个编码器层,词向量维度 768,Attention 头数 12。相比 GPT 初代,BERT 是典型的文本理解模型。BERT 之前的预训练语言模型,只能使用左边的文本,或者右边的文本,但是下游任务中文本理解需要同时考虑两边,例如在序列标注任务中,我们需要两边的词来确定中间词的词性、实体关系。针对这个问题,Google 设计了预训练任务 Masked Language Model,在训练 BERT 时,遮盖 15% 的输入单词,然后根据上下文预测遮盖词,这样就可以利用上下文进行建模,来预测被遮盖的单词,我们已经将目标词遮盖掉了,不管是从左向右看,还是从右向左看,都看不到目标词。

2019 年 2 月,OpenAI 又发布了 GPT-2,相对 GPT 初代,GPT-2 没有结构上的创新,堆叠了更多的 48 个编码器层,词向量长度 1024,预训练数据 40 GB,参数量 15 亿。总的来说,GPT-2 添加了更多的训练任务、更多的训练数据、更多的模型参数。

2020 年 5 月,OpenAI 马不停蹄又发布了 GPT-3,从 GPT 初代到 GPT-3,全部采用 Transformer 架构,模型结构没有本质的创新。GPT-3 堆叠了 96 个编码器层,Attention 头数 96,词向量长度 12888,预训练数据 45 TB,参数量达到了惊人的 1750 亿,使用了更多的训练数据、更多的模型参数。在模型训练方面,GPT-3 发生了很大变化。在 GPT-3 之前,不同的 NLP 任务需要模型适配,采用「预训练模型 + 下游任务微调」的训练范式。而 GPT-3 采用「预训练模型 + 情景学习(In-context Learning,ICL)」,在情景学习阶段,模型不需要更新参数。所谓情景学习,简单来说就是通过向模型喂入一个任务提示 (prompt),并加入少量示例,模型就可以自动生成相关任务的答案。微调需要一定数量的监督学习数据,而情景学习只需要少量甚至不需要模型适配数据。因此,对于复杂任务,我们可以使用「少样本学习(Few-shot Learning)」,即模型推理时,提供问题描述和 10-100 个示例供模型参考,模型不更新参数。对于简单任务,我们可以使用「一次学习(One-shot Learning)」,即提供问题描述和 1 个示例供模型参考,或者「零次学习(Zero-shot Learning)」,仅提供问题描述,模型也不再更新参数。很显然,这种方法更具优势。

接下来就是本文的主角 ChatGPT

三、ChatGPT 与强化学习

前面讲的 GPT-3 并不完美,在实际生产环境中,它给出的内容不一定是真实合理的,模型根本无法判断自身输出结果的正确性。同时,由于模型是基于大批量文本的预训练得来,所以具有一定的偏向性,有时生成的某些语句带有种族歧视或者暴力倾向等问题,毕竟大规模数据不是人力可以进行筛选的。针对这些问题,OpenAI 设计了 ChatGPT,并提出了 3H 优化目标:有用的(Helpful)可信的(Honest)无害的(Harmless)

在模型训练方面,ChatGPT 使用了强化学习策略。第一步,构建一个 prompt dataset,包含大量提示文本,对 GPT-3 进行监督学习微调

第二步,对第一步微调后的 GPT-3 进一步推理 prompt dataset 任务,获得多个结果,交给人工进行标注排序,用标注的结果训练一个奖励模型(reward model),用于接下来校正 GPT-3 的输出结果。在这一步中,OpenAI 雇用了 40 个外包公司进行人工标注,也就是所谓的「人类反馈强化学习」(Reinforcement Learning from Human Feedback,RLHF),在训练中使用人类反馈,以最小化无益、失真或偏见的输出结果。

第三步,再拿 GPT-3 推理 prompt dataset 任务,用第二步获得的奖励模型对 GPT-3 推理结果进行打分,也就是强化学习计算 reward,最后交给策略来更新梯度。正如通过比赛结果来判定 AlphaGo 下棋正确与否,ChatGPT 的回答是否正确,是通过奖励模型来确定。

ChatGPT 之所以会这么成功,本身依靠 GPT-3 继续精调,同时融入了强化学习,优化方向变得可控,再加 40 个外包公司的辅助 buff,拥有了大量优质的人工标注数据。

与此同时,ChatGPT 训练成本也是巨大的。尽管官方没有具体公布,我们可以参考 GPT-3 的训练所需:1200 万美刀的训练费用,31 个分工明确的协作者,28 万个 CPU,1 万个 GPU,45 TB 训练数据,维基百科的全部数据仅占 0.6 %,ChatGPT 肯定有过之无不及。如此之高的训练成本,意味着 ChatGPT 不能够被轻易复制,这不 Google Bard 首秀就不幸翻车了,市值暴跌 7 千亿。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/9228.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多云时代,下一代数据管理箭在弦上

“云服务提供商仅保护基础架构,客户负责保护自己的应用程序和数据。”这是很多云服务商都会遵从的云安全责任共担模型的一条基本原则。但实际上,只有3%的中国受访者知晓这一模式并认为上述说法是正确的。Veritas发布的《2022守护企业多云环境》研究报告的…

大模型生态和产业链分析,拆解OpenAI 的愿景和技术底层

本文从 OpenAI 的 AGI 愿景出发,对基于大模型的生态和产业链的发展给出了自己的分析并提出了一些供大家思考的问题。希能够对国内正在从事大模型研究、开发、投资的工作者们带来帮助。 社群讨论: ​ 原报告内容已"开源"并在持续更新中&#xf…

使用 Azure OpenAI 创建一个聊天机器人

由于众所周知的原因,国内是没法直接调用 OpenAI 接口的。幸好可以白嫖 Cloudfare Workers、Vercel 等免费服务做 API 代理,我之前一直是这么用的,速度也还可以。 前两天申请的微软的 Azure OpenAI 接口通过了,立即体验了一下。它的…

2023被裁三个月,海投一个月,从JAVA转战Android的求职之路!

前言 看到这个标题的童鞋,可能会想是Java开发不景气了吗?还是Android开发雄起了? 我是2019年6月份毕业,第一份工作是做JAVA开发。2023年3月初,我被公司优化掉了,从零开始,在家自学了两个月的A…

马斯克离开OpenAI内幕:大权独揽想法被拒,说好的10亿美元也打了水漂...

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 点击进入—>【计算机视觉】微信技术交流群 作者:Reed Albergotti 转载自:机器之心 | 编辑:王楷 作为创始投资人,马斯克为什么和 OpenAI「反…

马斯克离开OpenAI内幕:大权独揽想法被拒,说好的10亿美元也打了水漂

选自semafor 作者:Reed Albergotti 机器之心编译 编辑:王楷 作为创始投资人,马斯克为什么和 OpenAI「反目成仇」? 在 OpenAI 成立三年之后,埃隆・马斯克准备放弃他扶持创立的这家人工智能研究公司。 OpenAI 于 2015 年…

【Prompting】ChatGPT Prompt Engineering开发指南(3)

ChatGPT Prompt Engineering开发指南3 总结文字使用单词/句子/字符限制进行总结以运输和交付为重点进行总结以价格和价值为重点进行总结 尝试“extract”而不是“summarize”总结多个产品评论内容来源 本文承接上文:ChatGPT Prompt Engineering开发指南2&#xff0c…

巴比特 | 元宇宙每日必读:承认ChatGPT正损害公司业务增长,美国知名在线教育公司股价一日腰斩,带崩欧美教育股...

摘要:据华尔街见闻报道,近日,美国知名在线教育公司Chegg的首席执行官Dan Rosenweig在财报电话会议上承认,ChatGPT正在损害其业务增长:“自3月份以来,我们发现学生对ChatGPT的兴趣显著上升。我们现在认为&am…

马斯克离开OpenAI内幕:大权独揽想法被拒

Datawhale干货 选自:Semafor,编译:机器之心 作为创始投资人,马斯克为什么和 OpenAI「反目成仇」? 在 OpenAI 成立三年之后,埃隆・马斯克准备放弃他扶持创立的这家人工智能研究公司。 OpenAI 于 2015 年成立…

纽约大学教授建议:ChatGPT时代下,请躺平!

文|小戏 二月以来一波一波的 ChatGPT 和 GPT-4 刷屏,从围城外面来看整个 AI 社区确实一片勃勃生机万物竞发,CNN、纽约客又一次开始讨论人工智能危机,公众号里“ChGPT时代,我们该如何如何”的文章也轻松拿到十万&#x…

想要自己的专属 AI 猫娘助理?教你使用 CPU 本地安装部署运行 ChatGLM-6B实现

今天介绍的ChatGLM-6B 是一个清华开源的、支持中英双语的对话语言模型,基于GLM架构,具有62亿参数。关键的是结合模型量化技术,ChatGLM-6B可以本地安装部署运行在消费级的显卡上做模型的推理和训练(全量仅需14GB显存,INT4 量化级别下最低只需 6GB 显存)虽然智商比不过 ope…

Tomcat:127.0.0.1拒绝了我们的连接请求(half)

参考文章 //结束进程(没有成功) https://blog.csdn.net/m0_64476167/article/details/125801810修改端口号(可以解决) https://blog.csdn.net/qq_56240927/article/details/124111532?ops_request_misc&request_id&biz_id102&utm_term%E9%85%8D%E7%BD%AE%E5%A5…

Java面试之孔乙己拒止攻略(2)——MYSQL篇

一、前言 其实,我们做的大多数系统都是数据库应用系统,up主的大学专业也是这个。对于这部分知识,确实有掌握的必要。然而,实际上这部分知识并不困难,大部分知识点看一眼就会了。 本篇打算包括以下几个方面&#xff1a…

Rocky和ChatGPT谈笑风生的日子 |【AI行研商业价值分析】

Rocky Ding 公众号:WeThinkIn 写在前面 【AI行研&商业价值分析】栏目专注于分享AI行业中最新热点/风口的思考与判断。也欢迎大家提出宝贵的意见或优化ideas,一起交流学习💪 大家好,我是Rocky。 近日,ChatGPT风光无…

Github每日精选(第97期): 类似ChatGPT 的开源AI 聊天ChatRWKV

ChatRWKV 类似于 ChatGPT,但由 RWKV(100% RNN)语言模型提供支持,并且是开源的。 github地址 ChatRWKV 类似于 ChatGPT,但由我的 RWKV(100% RNN)语言模型提供支持,这是目前唯一可以在…

揭秘 ChatGPT 背后的技术栈:将Kubernetes扩展到2500个节点

揭秘 ChatGPT 背后的技术栈:将Kubernetes扩展到2500个节点 etcdKube mastersDocker image 推送NetworkingARP cache 在本文中,OpenAI 的工程师团队分享了他们在 Kubernetes 集群扩展过程中遇到的各种挑战和解决方案,以及他们取得的性能和效果…

半天就行!教你用ChatGPT开发小程序;谁能做出中国的Discord?LangChain中文入门教程;一个周末搞定电影预告片的AI工作流 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 『Discord和它的中国「学徒」们』为什么还没有人跑出来? ShowMeAI知识星球资料分类「下资料」,编号「R080」 D…

2023最新ChatGPT3.0小程序/云开发无需服务器开源Vue自带API接口

正文: ChatGPT3.0小程序,云开发无需服务器开源vue自带接口,界面的UI也是比较还原官方的了,就连颜色都是一摸一样的,有兴趣的自行去安装体验吧,其它就没什么好介绍的了。 程序: wwxgus.lanzoum.com/iLfKe0otvx5i 图片:

2023 首发 ChatGPTv3.0多端小程序开源源码 云开发无需服务器 带接口

云开发无需服务器开源vue自带接口! 全开源vue 自带接口 上传即可使用! 无需服务器 后续会更新流量主版本! 。。。。

2023最新VUE开发的ChatGPT3.5全开源小程序源码+功能强大/UI也不错

正文: 所需环境 uniapp nodejs 搭建教学 首先前端源码下载下来,用idea源码编辑器打开,只需要修改配置文件中的请求api(request/request.js),需要搭建好后端请求 1.服务器配置 centos7.9 2.宝塔面板安装宝塔 3.如果在线下载…