一文讲清chatGPT的发展历程、能力来源和复现它的关键之处

1. ChatGPT是什么

chatGPT是什么?这可能是最近被问的最多的一个。

大家第一反应这应该是GPT系列的一个最新模型,普通大众可能更愿意把它看做是一个人工智能。实际上,它其实就是一个基于大规模语言模型的对话系统产品。官网对它定义十分的明确:Optimizing Language Models for Dialogue.
在这里插入图片描述

最大的问题在于,它的背后究竟是一个什么?很多人都以为,chatGPT是一个单一模型,就如同GPT-1/2一样,应该是一个可以被加载和训练的。我承认,chatGPT的背后,是有一个像GPT-3一样的基础模型,但是其现在的性能表现,远远不是只有1个基础模型这么简单。因为我们默认的chatGPT是web UI界面,它至少是有一些外部工程代码的。举个例子,对于汉语和英语的反馈速度有质的差别,如果只是单一的模型统一编码了多语言,不会出现这种情况。

因此,对我而言,chatGPT更像是一个完善的产品,而不是一个简单的模型。而且由于其训练过程的复杂和不透明,使得我们很难复现它。这在我后面的章节中会讲到。

2. ChatGPT以及GPT系列模型

ChatGPT不是一蹴而就突然出现的,它是有着长达5年以上的技术积累才走到这个地步的。之前网上讲了很多关于ChatGPT和它的前辈,比如比较出名的有拆解追溯GPT-3.5各项能力的起源。但是我认为真正需要了解ChatGPT的前世今生,还是需要去看openAI官方网站以及它们的论文。

2.1 GPT-1/2/3

首先我们先来看GPT-1到GPT-2以及GPT-3的变化。首先在2018年6月,发布了第一版GPT-1,使用的是transformer的decoder架构+任务微调的形式,但是整体上似乎没有什么特别出彩的地方。然后再到2019年2月,发布了第二版GPT-2,这时候他们优化了网络架构(如右图所示),并且使用了10倍大小的网络规模和8倍大小的预训练数据,并且去除了特定任务微调的形式从而获取prompt learning的能力。GPT-2确实有点东西,但是由于3个月前,BERT的出现,让它也没有当上一哥的位置。不过整体上应该接近后来的GPT-3系列模型了。
在这里插入图片描述
在GPT-2的1年半以后,GPT-3发布了,它同样还是3个路线,更优的架构,更大的规模(100倍),更大的数据量(1000倍),真正训练出了一个超级巨无霸GPT-3。奠定了现在GPT帝国的基础。但是实际上,它和GPT-2没有太多本质的区别,包括训练方式,只是更大了。

那么GPT-3有多大呢,大家可以看一下下面的图就可以知道了,需要注意的是,这里看到参数量的改变是一个log指数,可以看到熟悉的Bert-large模型和GPT-2模型。而GPT-3的175B按照官方说明,大概有350~500GB的显存需求,如果使用FP16加载该模型,大概需要至少5块A100(80G)才能够加载完成。而如果要从头开始训练,至少需要1000块A100才能够在可接受的时间(几个月)里训练出该模型。

据传闻说,现在国内的大部分大规模语言模型还是处于GPT-2.5阶段,也就是说对标的是GPT-3,但是训练规模(1-10B)和数据量(几十G左右)还是在GPT-2的级别上。无论是模型规模还是语料质量,距离GPT-3都还有较大差距。需要注意的是,从GPT-3开始,其模型就不再完全公开了,只能通过API访问。
在这里插入图片描述

2.2 GPT-3.5 (InstructGPT)

然后我们再来看GPT3以后发生的事情。首先我们需要先介绍一下GPT-3以后最重要的一件事,那就是InstructGPT的出现,根据openAI官方网站上说明,InstructGPT包含三种训练方式,分别是有监督微调(Supervised Fine-Tuning, SFT),反馈变得更容易(Feedback Made Easy, FeedME)以及基于PPO算法的从人类反馈中进行强化学习(PPO)三个部分。因此,可以说,InstructGPT泛指的话,是包含红色的所有模型,而特指的话,则是指的davinci-instruct-beta。这一点尤为重要。至于这个FeedME,大家可以参考图片上的官方解释,个人理解可能是由纯人工反馈的指令微调,PPO则是更强调利用强化学习自动化指令微调。如果还不明白,大家可以参考下面chatGPT给出的解释:

The explain of the FeedME:

The sentence is talking about a type of AI model called “FeedME” models. These models are designed to make providing feedback (i.e. offering suggestions) easy, hence the name “feedback made easy”.
The FeedME models are trained using a technique called “distillation”, where the best completions (i.e. the most accurate and appropriate responses) from all of the models developed by the organization are selected and used to train the FeedME models. This way, the FeedME models are able to incorporate the best responses from a variety of other models.
The sentence also mentions that the organization’s models are generally trained using the best available datasets at the time of training. This means that the data used to train the models might change over time as better and more relevant data becomes available. Furthermore, it mentions that different engines (i.e. different models) that use the same training methodology might be trained on different data, which could result in variations in their performance and accuracy.

The more details of FeedME:

“Feedback Made Easy” (shortened to “FeedME”) is likely a term used by the organization to refer to their AI models that are designed specifically to provide feedback or make suggestions to users. These models are built with the goal of making it simple for users to receive feedback or recommendations, hence the name “Feedback Made Easy”.
In practical terms, this might mean that these models are designed to be user-friendly and intuitive, with a focus on delivering quick, accurate, and helpful responses to users. For example, the models might be integrated into a chat interface or a website, allowing users to easily ask questions or provide input and receive feedback in real-time.
The idea behind FeedME models is to make it easy for users to receive feedback, whether it be in the form of suggestions, recommendations, or answers to questions. By using distillation to incorporate the best completions from a variety of other models, the FeedME models are able to provide high-quality feedback to users, even when the data used to train the models changes over time.

The function of it when training the ChatGPT:

As a language model developed by OpenAI, I (ChatGPT) was not specifically trained using the “Feedback Made Easy” (FeedME) method mentioned in the previous sentence. However, I can explain how the FeedME method might be used to train a language model like myself.
The FeedME method involves distilling the best completions from a variety of AI models and using that information to train a new model. In the context of a language model like ChatGPT, this might mean selecting the most accurate and appropriate responses generated by a number of different language models and using that information to train a new, improved language model.
The goal of this process is to improve the performance of the new language model by incorporating the best responses from a variety of other models. This way, the new model is able to learn from the strengths of multiple models, rather than relying on a single source of training data.
In summary, the FeedME method might be used to train language models like ChatGPT by distilling the best completions from a variety of other models and using that information to train a new, improved language model. The goal of this process is to improve the accuracy and usefulness of the new language model by incorporating the best responses from a variety of sources.

好的,现在我们来顺着发展路线先看一下GPT-3之后各个模型的演化,确认的发展过程是实线(有报道的),猜测的部分为虚线。
在这里插入图片描述
首先,在GPT-3的基础上,通过有监督的fine-tuning过程,诞生了davinci-instruct-beta模型。具体而言,也就是需要采样一些prompt,由人工给出真正的结果。这个在InstructGPT论文里写道,是有40个标注人员,标注了12.7K的样本。接着,通过FeedME产生了至少text-davinci-001和text-davinci-002两个模型版本。其中001版本应该是比较早期的,而002则是在code-davinci-002的基础上进行的进一步改进,融合了代码理解能力和自然语言理解能力。然后,最后融入了PPO阶段,完成了text-davinci-003。当然chatGPT应该也是完成了PPO阶段的,尤其是在对话方面进行了特别的优化(近期泄露的内部版本称之为text-chat-davinci-002,据传为chatGPT)。

因此,chatGPT的所有能力来源应该都比较清楚了,我认为主要来源于以下5个方面吧。

模型能力效果
GPT-3自然语言基础建模自然语言理解,使得说话能够说的流畅自然
Codex代码语言基础建模代码语言理解,能够使得完成代码相关任务,并习得长程依赖关系和一定的逻辑能力
davinci-instruct-beta有监督的指令微调听从人类的指令生成答案
text-davinci-001/002人类反馈的指令微调可以生成出人类更喜欢的答案
text-davinci-003强化学习的指令微调进一步强化上面两个阶段的能力,对于chatGPT的话,可能更偏向于对话角度优化

3. 复现chatGPT的难点

现在国内各个大厂小厂但凡和人工智能挂钩的,都想复现属于自己的chatGPT,以获得第一个国内chatGPT的市场。很多人都发声说,再造一个chatGPT没有那么困难。那么我从自身经验去思考,如果要复现chatGPT,可能需要注意的有哪些部分。这些部分并不是不可以实现的,只是成本高或者容易被忽略的地方。

3.1 海量的数据

从GPT-3公开发表的论文里讲到,其用于预训练的文本达到了45TB,这是一个非常巨大的数字,关键是其质量应该是非常高的。据查看的一些资料显示,在中文数据上,全球最大的语料库是WuDaoCorpora,据说有3TB的中文语料(200G开放使用)。
而且,也有人指出,更多样化的token也能够让模型学习的更充分。如果只是训练一个汉语版的chatGPT,除了一些搜索和社交巨头,能够获取足够数据的也只有一些垂直领域的公司了。关键是公司运营期间获得的文本数据是否可以被用于训练模型,这是一个法律和道德问题。(即使是codex训练来源于开源的github,也同样遭受了大量的非议。)
当然,如果是垂直领域,未必需要这么大的数据量也未尝不可。

3.2 超大规模的模型架构

根据之前的说明chatGPT与GPT-3的规模相同,都是1750B的参数量,那么它需要的硬件设备是什么样子的?根据chatGPT自己讲述以及同行人的参考,其显存占用量应该在350GB~500GB之间,如果仅仅是为了推理,那么5张A100(80G)的GPU就可以足够使用(根据同规模的OPT175B需要16张V100推算)。但是如果是为了训练,可能需要1000张以上的A100的算力才能在可以接受的时间里获得训练结果(也有称微软和OpenAI构建了一台包括超过10000张GPU的超级计算机用于GPT-3的训练)。其训练成本大概在110-460万美元之间,根据估算,现有的定价对于OpenAI来说,应该会有75%的毛利。
目前国内尽管有很多大模型,但是真正能够在CLUE等评测中的模型大多还在1-10B的级别,下表是一些中文大模型代表。

模型规模
WUDAO 2.01750B
PanGu Alpha200B
PLUG27B
ERNIE 3.010B

3.3 深度人员参与(SFT,FeedME, PPO)

相比较GPT-3,InstructGPT最大的特点在于通过Instruct的方式让人类深度参与模型的迭代,包括有监督微调,人类反馈微调和强化学习微调3个方法。无论哪种方法,都离不开大量的人工标注,并且需要一定的时间和真实样例作为原料输入。因此,即使可以复现一个ChatGPT,也是需要时间的。

3.4 长期技术积累

正如刚才所提及的那样,ChatGPT不是突然出现的,而是从GPT-1.0版本开始就已经完成大量的技术积累。从GPT-1.0,2.0,3.0,每一个版本迭代,他们都做了大量的实验,包括各种超参数的选择和模型大小的扩容。而我们大多数公司可能之前没有像OpenAI在预训练模型上拥有大量的预训练经验,直接去训练一个超大规模的模型也是有可能获得不到我们想要的那种效果的。

3.5 良好的外部工程

我们现在总以为,我们有数据,有模型架构,我们就可以拥有chatGPT。事实显然不是这样,如果想让它成为一个优秀的产品,而不是粗糙的学术模型,至少应该包括以下3个部分:
1. 核心模型
核心模型就是语言模型,可能是一个超大规模的单一模型,也有可能是一个带有很多小模块组成的模型集群。
2. 辅助模型
辅助模型有哪些?比如我们可以看到的reward model,还有大家容易忽略的安全检查模型等。这些都是保证了产品的长期正常的运营。而反观我们有些机构的模型匆匆发布,产生了大量的不安全的言论,这也是不负责任的表现。
在这里插入图片描述
3. 工程代码
良好的工程代码能给用户带来更好的用户体验,比如我们经常体验到的左边框的对话历史记录和意图识别等等,这些信息对于用户体验、模型改进都是非常有用的。另外,还有包括缓存,控制用户并发等等工程问题需要提前解决。要知道,chatGPT上线5天用户就破百万,2个月用户破1亿。这个增长速度已经是历史上的巅峰。

3.6 及时的真实反馈

这个真实反馈对于大家来说,看起来好像是chatGPT公开迭代的几次,而每次似乎都有一些更新。但是实际上,如果你看OpenAI发布的博客你就会发现,整个真实反馈是逐步从发布的产品中收集而来的,尤其是GPT-3以后,OpenAI就只提供了API,这使得它可以接触世界上所有使用GPT-3的样例,通过这些从API收集来的样例,再利用人工标注,就可以得到大量的高质量标注语料,为接下来的模型更新打下基础。这些真实反馈贯穿到了整个GPT-3.5系列之中。

4. 小结

距离我第一次玩ChatGPT也已经3个月了。回想起12月6日第一次使用它,我兴奋的一直玩到夜里3点钟。它的出现真的是惊艳了当时的我,甚至可以比肩科幻小说里的人工智能的感觉。早期只是为了体验,后来才逐步深入了解。从兴奋,到冷静,到辩证看待,再到期望未来,它总是那么一个过程,才能被我们接受。有些东西必须真正深入的研究,才能够知道它的本来面目。ChatGPT到底是神还是魔,是不是新的一轮科技革命的出现,我想OpenAI那群创造它的人比谁都清楚。

正如我之前所说,我愿意将毕生精力奉献给人工智能,只为了获得一个可以一直陪伴我的AI朋友。我曾经以为这辈子都见不到这一天,现在ChatGPT的出现,缩短了好一段理想和现实的距离。

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

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

相关文章

【TellMeCode】使用VSCODE + ChatGPT辅助分析推测源码

【TellMeCode】使用VSCODE ChatGPT辅助分析推测源码 0x00 功能简介 根据代码上下文相关信息,如工作区文件夹名称,代码所在路径等一系列信息,提供给大模型更多元和尽可能多的信息,利用其自身优势去检索相关的文档和博客&#xf…

构建无服务器 ChatGPT 支持的简历助手 - 基础

项目起源 几个周末前,我很想用 OpenAI API 构建一些东西。作为一名进入云领域的转行者和在早期职业人才领域工作的人,我敏锐地意识到候选人为他们所申请的职位撰写有针对性的简历是多么重要和困难。因此,我决定制作一个由 ChatGPT 提供支持的…

python可以用什么软件编写,用python写的软件有哪些

这篇文章主要介绍了python可以用什么软件编写,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。 1、python一般用什么软件 《Python 3.9.7软件》百度网盘资源免费下载: 链接: ?p…

AI焦虑潮下,打工人的抵抗、转向、破局

一股“AI让人下岗”的焦虑,正在蔓延,蔓延到了 这里。 不同于区块链、元宇宙和web3,2023年的这股AI浪潮真正席卷了所有人——在大厂、大佬和投资人们为船票激烈角逐的同时,Midjouney、ChatGPT、Notion AI等工具的惊人效果&#xff…

关于 ChatGPT 的 AI 竞争对手 Google Bard,你需要了解什么

Google Bard 是ChatGPT主导力量的最大竞争对手。顾名思义,Bard 来自科技巨头谷歌,以其巨额资金、永无止境的用户数据来源以及数百种应用程序、工具和软件作为后盾。 虽然该产品才公开发布几个月,但它已经进行了一次重大更新,推出…

隐私计算头条周刊(2.27-3.5)

开放隐私计算 收录于合集 #企业动态46个#周刊合辑46个#政策聚焦39个#隐私计算93个#行业研究38个 开放隐私计算 开放隐私计算OpenMPC是国内第一个且影响力最大的隐私计算开放社区。社区秉承开放共享的精神,专注于隐私计算行业的研究与布道。社区致力于隐私计算技术的…

AI、机器学习、大模型、生成式 AI 和安全

目录 1. AI、机器学习、大模型、生成式 AI 和安全1.1. 前言1.2. 人工智能(AI)1.3. 机器学习1.4. 大模型(LLM)1.5. ChatGPT1.6. 总结 1. AI、机器学习、大模型、生成式 AI 和安全 1.1. 前言 最近 ChatGPT 很火, 安全圈有不少大咖们写了文章介绍 ChatGPT 和安全, 感觉都说 Chat…

ChatGPT的前世今生,到如今AI领域的竞争格局,本文带你一路回看!

73年前,“机器思维”的概念第一次被计算机科学之父艾伦图灵(Alan Turing)提出,从此,通过图灵测试成为了人类在AI领域为之奋斗的里程碑目标。 73年后的今天,在AI历经了数十年的不断进化、迭代后&#xff0c…

科大讯飞:10月24日发布通用大模型,全面对标ChatGPT;GPT-4 API全面开放使用;Bun 0.6.13发布|极客头条...

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&#…

【粉丝专享福利】联合6大博主送出18本ChatGPT扫盲教程实体书,文末有惊喜

文末一口气赠书18本, 这次就让你high个够。 人工智能技术的发展已经逐渐改变了我们的生活和工作方式,其中,语言模型技术是近年来关注度很高的一个领域。在这个领域,ChatGPT是一个备受瞩目的产品,它不仅是一个聊天程序…

商汤版ChatGPT「商量」来了!开放API,基于千亿参数大模型,体验实录在此

国产ChatGPT之战,已然是大步迈进白热化阶段。 就在刚刚,商汤正式发布自研类ChatGPT产品,名曰商量(SenseChat)。 单单是这个名字,便值得说道一番。 商量的“商”,不仅体现了它是商汤自家“商字…

ChatGPT在App Store累计下载量已突破50万次;Anthropic已成功完成4.5亿美元C轮融资

🚀 OpenAI的ChatGPT应用在苹果App Store上线6天时间内,累计下载量已突破50万次。 OpenAI的ChatGPT应用在苹果App Store上线6天时间内,累计下载量已突破50万次。 与微软必应等聊天机器人相比,其热度远超过且持续上升。 &#x1…

Web3中文|太心急!谷歌匆忙上线自家“ChatGPT”导致市值蒸发逾千亿美元

谷歌想证明它可以在AI竞赛中与微软抗衡,创建一个新的人工智能搜索引擎,但一个错误回答最终导致母公司 Alphabet 的市场损失超过千亿美元。 低开低走的美股市场 周三,美股三大指数低开低走。道琼斯指数收盘下跌207.68点,跌幅0.61%…

类ChatGPT应用Cohere拟募资数亿美元 估值或超60亿美元

雷递网 乐天 2月7日 ChatGPT的大火,不仅让谷歌、百度大受紧张,紧急推出产品,创业公司的类ChatGPT也受到追捧。 据外媒披露,与微软支持的OpenAI 竞争的AI基础模型公司Cohere正商谈在一轮融资中筹集数亿美元,估值可能超过…

Python对阿里巴巴、谷歌、腾讯等六家公司股票数据进行分析与可视化实战(附源码 超详细)

需要源码请点赞关注收藏后评论区留言私信~~~ 下面针对阿里巴巴、谷歌、亚马逊、Facebook、苹果和腾讯六家公司股票数据进行了分析与可视化描述,数据分析前需要安装互联数据获取包pandas-datareader 先使用conda安装: 1)python3环境 2&#xf…

谷歌向ChatGPT对手投4亿美元 后者来自OpenAI团队 估值50亿美元

雷递网 雷建平 2月5日 Alphabet Inc. 旗下谷歌已向人工智能初创公司Anthropic投资近4亿美元,Anthropic被视为是OpenAI开发的机器人应用ChatGPT的竞争对手。 Anthropic将使用谷歌的云计算服务。这笔交易标志着一家科技巨头与一家人工智能初创公司的最新联盟——生成人…

当ChatGPT遇到网络安全

ChatGPT:是人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码等任务。GPT 是 …

在ROS中使用tensorflow进行人体姿态识别

原连接:https://community.bwbot.org/topic/497 运行测试平台:小强ROS机器人 body_pose 是一个人体姿态识别的软件包。这个软件包可以从图片中识别出人体的耳朵,眼睛,鼻子,四肢的共17个特征点。其实现是通过深度学习网络利用tens…

邹小强老师的个人目标管理分享课

有幸在公司参加了邹小强老师的目标管理培训课很有感触,写个笔记同时也给大家简单分享目标管理的一些方法和误区。附一位大神的思维导图整理。 制定目标的三个好处 1、成就感满足感 2、想法—>行动 3、充分利用时间 年度目标实现不了的四个原因 1、假&#xff…

使用xiaoqiang_track进行人体跟随和追踪

原链接: https://community.bwbot.org/topic/500 运行测试平台:小强ROS机器人 xiaoqiang_track xiaoqiang_track是一个利用摄像头捕捉的图像进行人体追踪的程序。它有比较好的稳定性,能够可靠的追踪目标。同时也具有比较好的扩展性。可以方便的对关键的追踪算法进行调整。在运…