ChatGPT详细介绍原理

ChatGPT的介绍

ChatGPT全称为“chat Generative Pre-trained Transformer”,翻译成中文就是生成型预训练变换模型。它是美国公司OpenAl在2022年11月30日发布研发的聊天机器人程序,能用于问答、文本摘要生成、机器翻译、分类、代码生成和对话Al。「l是一款人工智能技术驱动的自然语言处理工具。

ChatGPT具有同类产品具备的一些特性,例如对话能力,能够在同一个会话期间内回答上下文相关的后续问题。然而,其在短时间内引爆全球的原因在于,在网友们晒出的截图中,ChatGPT不仅能流畅地与用户对话,甚至能写诗、撰文、编码。

ChatGPT还采用了注重道德水平的训练方式,按照预先设计的道德准则,对不怀好意的提问和请求“说不”。一旦发现用户给出的文字提示里面含有恶意,包括但不限于暴力、歧视、犯罪等意图,都会拒绝提供有效答案。

应用领域:

1.客服自动化

2.智能助理

3.教育

4.医疗保健

5.金融服务

6.社交媒体

1.客服自动化:ChatGPT可以被用来构建聊天机器人,这些机器人可以自动回答用户的问题,提供技术支持和解决问题。这不仅可以减少人力成本,还可以提供24小时的服务,为客户提供更好的体验。

2.智能助理:ChatGPT可以被用来构建智能助理,这些助理可以帮助人们处理日常任务,如日程管理、购物、预订机票和酒店等。这些助理可以根据用户的需求提供个性化的服务,提高人们的生产力。

3.教育:ChatGPT可以被用来构建智能教育应用程序,这些应用程序可以回答学生的问题,解释概念,并提供更好的学习体验。这种应用程序可以根据学生的学习风格和程度提供个性化的辅导,帮助学生更好地理解和掌握知识。

4.医疗保健:ChatGPT可以被用来构建医疗保健应用程序,这些应用程序可以回答患者的问题,提供健康咨询和建议。这种应用程序可以根据患者的病情提供个性化的建议,帮助患者更好地管理健康。

5.金融服务:ChatGPT可以被用来构建智能金融应用程序,这些应用程序可以为客户提供个性化的投资建议,根据客户的风险偏好和投资目标提供投资组合。这种应用程序可以帮助客户做出更好的投资决策,提高客户的投资回报率。

6.社交媒体:ChatGPT可以被用来构建智能社交媒体应用程序,这些应用程序可以根据用户的兴趣和偏好提供个性化的内容推荐。这种应用程序可以帮助用户更好地发现和分享感兴趣的内容。

工作原理

1.数据收集

2.预处理

3.建立模型

4.生成文本

5.输出控制

1.数据收集:ChatGPT会收集大量的文本数据,包括网页、新闻、书籍等。同时,它也会分析网络上的热点话题和流行文化,以了解最新的语言模式和表达方式。

2.预处理:ChatGPT对收集到的数据进行预处理,包括分词、去除停用词、翻译等。这个过程可以帮助模型更好地理解输入的文本,并提高生成的文本的质量。

3.建立模型:在预处理的基础上,ChatGPT会构建一个深度学习模型,该模型包含了多个卷积层、循环神经网络和池化层等。这些层的协同工作能够使模型更好地捕捉语言的模式和语义。

4.生成文本:一旦建立了模型,ChatGPT就可以生成与人类语言相似的输出文本。它使用的是一种称为“Transformer”的深度学习架构,该架构能够学习从输入文本到输出文本的映射关系。

5.输出控制:ChatGPT的生成文本输出后,还需要进行一系列的输出控制,包括语法、语义、情感等方面,以确保生成的文本符合人类语言习惯。

ChatGTP对语言模型最基本的训练包括预测单词序列里面的一个单词。最常见的,通常是“下一个单词预测”(next-token-prediction,其目标是在给定一些文本的情况下,预测下一个可能出现的单词或标记。该任务是语言模型的基础,可以用于文本生成、自动翻译、语音识别等应用中)以及掩码语言建模(masked-language-modeling,主要思想是将输入文本中的一些标记或单词遮盖掉,然后让模型预测这些被遮盖的标记或单词)

上图是一个基本序列建模技术的示例,通常通过长短期记忆(LSTM,一种特殊的循环神经网络 RNN)模型来部署。在给定上下文的情况下,LSTM 模型会用统计概率最高的词来填充空白。这种序列建模结构有以下两个主要限制。

1.这种模型没法赋予某些上下文更高的权重。在上面的例子里,比如,上文提到“Jacob hates reading”,模型可能会默认将“reading”和“hates”联系在一起,但是在实际应用中,如果数据中有“Jacob”这个人物,并且在该数据中,“Jacob”非常喜欢阅读,那么在处理“Jacob hates reading”这个句子时,模型应该更加注重“Jacob”的信息,而不是简单地依据上下文中“reading”和“hates”之间的关系来得出结论。因此,如果模型仅仅依赖上下文中的单词,而无法充分考虑文本中实体之间的关系,那么在实际应用中,可能会得出错误的结论。

2.其次,LSTM 处理输入数据时是基于序列逐个输入并逐步处理的,而不是一次性将整个语料库一起处理。这意味着在训练 LSTM 时,上下文窗口大小是固定的,只能在序列的几个步骤之间扩展,而不能跨越整个序列。这种方式限制了 LSTM 模型去捕捉到词与词之间更复杂的关系,以及从中推导出更多的意义。

针对这个问题,2017 年 Google Brain 的一支团队引入了 transformers。与 LSTM 不同,transformers可以同时处理所有的输入数据。Transformers 基于自注意力(self-attention,对于每个单词,self-attention 可以通过计算该单词与其他单词之间的关系强度来加强或减弱该单词的表示,从而更好地捕捉语义信息)机制,该模型可以根据输入数据不同部分与语言序列任何位置的关系赋予其不同的权重。在给 LLM 注入意义方面,这一特性取得了巨大改进,并可支持处理更大的数据集。

第 1 步:有监督微调(SFT)模型

模型开发的第一部需要雇用 40 名承包商来创建一个“有监督训练数据集”对 GPT-3 模型进行微调,里面的输入均有已知的输出,用来给模型学习。输入(提示)是由实际用户输入给 Open API 而收集的。然后,打标签者会对提示做出适当的回应,从而为每个输入创建一个已知的输出。然后再用这个新的监督数据集对 GPT-3 模型进行微调,从而建立起 GPT-3.5,又叫做为 SFT 模型。

为了保证提示数据集尽可能的多样化,任何给定的用户 ID 只能提供 200 个提示,而且大家都输入的提示前缀会被删除掉。最后,所有包含个人身份信息(PII)的提示也会被删掉。

在汇总了来自 OpenAI API 的提示后,他们会让打标签人员创建样本提示,去填充只有最少真实样本数据的类别。感兴趣的类别包括:

  • 普通提示(Plain prompts):任意的询问。

  • 少样本提示(Few-shot):包含多对查询/响应的指令。

  • 用户提示(User-based prompts):相当于对 OpenAI API 提出的特定用例请求。

在生成响应时,打标签者要尽最大努力推断用户的指令是什么。论文介绍了提示请求信息的主要三种方式。

  • 直接(Direct):“告诉我关于……的情况”

  • 少样本(Few-shot):鉴于这两个故事的例子,写出同一主题的新故事。

  • 延续(Continuation):给出一个故事的开头,由 AI 续写完成。

来自 OpenAI API 的提示以及标注人员手写的提示总共得出了 13000 个输入/输出样本,然后部署到该“有监督模型”上。

第二步:奖励模型

在步骤 1 中训练 SFT 模型后,该模型会对用户提示生成出更一致的响应。下一个改进是训练奖励模型,其中模型输入是一系列提示和响应,输出是一个标量值,叫做奖励(reward)。需要奖励模型来利用强化学习(Reinforcement Learning)。在强化学习当中,模型会学习生成输出,让累积的奖励最大化其奖励(参见步骤 3)。

为了训练奖励模型,打标签者会收到 4 到 9 个 SFT 模型的输出。然后要求他们对这些输出进行效果好坏的排名,创建的输出排名组合如下。

把模型的每个组合作为单独的数据点纳入在内会导致过度拟合(即模型只能在已知的数据上得到良好的表现,而无法泛化到未见过的数据上)。为了解决这个问题,该模型是利用每组排名作为单个批次处理数据点而建立起来的(编者注:因为每个批次的数据点都包含多个排名组合,从而增加了模型学习的多样性和泛化能力)。

第3步:强化学习模型

在最后阶段,模型会收到随机提示并返回响应。响应是用模型在步骤 2 中学到的“策略”(policy,某个具体的行为选择函数)生成的。策略意思是机器已经学会用来实现其目标的做法;在这种情况下,也即是奖励的最大化。根据在步骤 2 中形成的奖励模型,确定给定提示和响应对的标量奖励值。然后再将奖励反馈给模型,从而改进策略。

2017 年,舒尔曼等人引入了近端策略优化 (Proximal Policy Optimization ,PPO),这种方法可以用来在模型生成响应时更新策略。PPO 方法结合了 SFT 模型中的基于令牌(per-token)的 Kullback-Leibler(KL)惩罚。KL 散度可以用来衡量两个概率分布之间的相似性,并对距离过大的分布施加惩罚。在这种情况下,使用 KL 惩罚可以限制响应与 SFT 模型在步骤 1 中训练的输出之间的距离,以避免过度优化奖励模型,并且导致响应过于偏离人类意图数据集。通过引入 KL 惩罚,可以在训练过程中平衡模型的准确性和泛化能力。

这一过程的第 2 步和第 3 步可以重复进行,但在实践中并没有获得广泛采用。

模型评估

在训练新模型时,会将一组独立的此前模型从未见过的数据集(叫做“测试集”)留出来。这是为了确保对模型的性能进行评估时使用的是模型之前未接触过的数据,从而提供更准确的泛化能力评估。

有用性:模型推断和遵循用户指令的能力。在 85 ± 3% 的时间里,打标签者更喜欢 InstructGPT 而非 GPT-3 的输出。

真实性:模型产生“幻觉”的倾向。用 TruthfulQA 数据集进行评估时,PPO 模型产生的输出显示真实性和信息性略有增加。

无害性:模型避免生成不当、贬损和诋毁内容的能力。研究人员利用 RealToxicityPrompts 数据集测试了无害性。测试在三种条件下进行。

  1. 指示提供有礼貌的回应:导致毒性反应显著减少。

  2. 指示提供回应,没有任何表示尊重的设定:毒性没有显著变化。

  3. 指示提供毒性/贬损性的回应:回应的毒性比 GPT-3 模型大得多。

Transformer模型的算法结构

具体计算过程

具体的计算过程,用翻译句子“我爱你”到“I love you”举例(这句更简单一些)。首先进行向量化并吸收句子位置信息,得到一个句子的初始向量组。

(由于样本每个句子长短不同,所以每个句子都会是一个512*512的矩阵,如果长度不够就用0来代替。这样在训练时,无论多长的句子,都可以用一个同样规模的矩阵来表示。当然512是超参,可以在训练前调整大小。)

接着,用每个字的初始向量分别乘以三个随机初始的矩阵WQ,Wk,Wv分别得到三个量Qx,Kx,Vx。下图以“我”举例。

然后,计算每个单词的attention数值,比如“我”字的attention值就是用“我”字的Q我分别乘以句子中其他单词的K值,两个矩阵相乘的数学含义就是衡量两个矩阵的相似度。然后通过一个SoftMax转换(大家不用担心如何计算),计算出它跟每个单词的权重,这个权重比例所有加在一起要等于1。再用每个权重乘以相对应的V值。所有乘积相加得到这个Attention值。

这个attention数值就是除了“我”字自有信息和位置信息以外,成功的得到了这个句子中每个单词的相关度信息。

大家可以发现,在所有注意力系数的计算逻辑中其实只有每个字的初始矩阵WQ,Wk,Wv是未知数(这三个矩阵是所有文字共享的)。那么我们可以把这个transformer简化成一个关于输入,输出和这个W矩阵的方程:其中X是输入文字信息,Y是翻译信息。

e2462dda80ac380b8dca2ab6e4c5afc7.png

Transformer算法本质上是一个前馈神经网络模型,它的计算基础逻辑,不去管复杂的隐藏层,就是假设Y=f(x)=wx,(目标还是要算出一个f())然后随机设置一个w0,开始计算这个y=w0x的成本函数,然后再把w0变成w1,计算y=w1x的成本函数,以此类推计算出无数w(不是无数,也会收敛),然后比较哪个w的成本函数最小,就是我们训练出来的f()。那么在transformer里,这三个初始矩阵就是那个w0。

再回到transformer,在计算Attention之后,每个单词根据语义关系被打入了新的高维空间这就是Self-attention(自注意力机制)。

 

 

 

 

 

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

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

相关文章

ChatGPT发展机遇和思考

去年12月ChatGPT横空出世,在业界引起惊涛骇浪,最近又发布了GPT-4的进化版本,ChatGPT将对我们的工作生活有什么样的影响,又将如何应对?本文不讨论ChatGPT背后的具体模型算法和实现逻辑,只简单讨论ChatGPT对产…

ChatGPT这么火,强大的背后是什么,未来又会发展成什么样?

近日,现有的ChatGPT这么火🔥,不知道大家期不期待后续版本,这个ChatGPT3和ChatGPT4已经很久了,但是总听别人说怎么怎么好,怎么怎么牛,真的不如自己去试一把。如果还没有切身体会,是真…

未来已来,快速了解即将颠覆世界的ChatGPT

写这么一篇长文,可能有悖于“简单科普”的初衷,但是当发现这种简单科普的能力可以轻而易举的被AI所掌握的时候,输出一些主观的个人观点,无论对错,或许来的更加有意义,以激起更多的水花。 一晃眼整个冬天就过…

未来已来,时代颠覆者ChatGPT你真的了解吗?

文章目录 什么是ChatGPTchatgpt与自然语言处理从gpt1.0到chatgpt,经历了什么chatgpt是一个语言模型chatgpt是如何处理文字输入的写在最后 ✍创作者:全栈弄潮儿 🏡 个人主页: 全栈弄潮儿的个人主页 🏙️ 个人社区&#…

ChatGPT探索系列之六:思考ChatGPT的未来发展趋势和挑战

文章目录 前言一、未来发展趋势1. ChatGPT重塑数据分析之道2. ChatGPT颠覆企业运用人工智能和机器学习的途径3. ChatGPT颠覆自动化商业流程4. ChatGPT引领企业决策迈向新纪元 二、ChatGPT掀开未来充满机遇和挑战的新篇章总结 前言 ChatGPT发展到目前,其实网上已经有…

ChatGPT 与未来软件开发的关系

在过去几年中,自然语言处理 (NLP) 取得了重大进展,并为软件开发开辟了新的可能性。最令人印象深刻的 NLP 应用之一是聊天机器人的开发,它能够通过自然语言与用户交流。ChatGPT 就是这样一种聊天机器人,这是一种由 OpenAI 开发的大…

ChatGPT的影响力和未来发展

ChatGPT是一种基于深度学习的自然语言处理技术,它是由OpenAI开发的一种语言模型。ChatGPT作为一个大型语言模型,可以在很多方面对程序职业产生影响。值得注意的是,ChatGPT和其他语言模型一样,只是一种技术工具,它的应用…

ChatGPT与这一代互联网人的未来

文|黄有璨 来源|黄有璨(ID:owen_hyc) 封面来源|视觉中国 在过去几周里,ChatGPT已然成为了整个科技、互联网、投资界里被关注讨论得最多的存在,说它是2023年截止到目前为止最值得关注讨论的技…

ChatGPT未来将是什么样子?《你好,ChatGPT》深度阐述

前言 人工智能技术的发展已经逐渐改变了我们的生活和工作方式,其中,语言模型技术是近年来关注度很高的一个领域。在这个领域,ChatGPT是一个备受瞩目的产品,它不仅是一个聊天程序,更是一个能够产生具有连贯性和逻辑性的…

ChatGPT是未来吗?

ChatGPT自2022年11月份发布以来,获得了很多关注,最近GPT-4、文心一言陆续发布,也让大家有了更多的感受。这次再重新审视一下ChatGPT,谈谈未来到底是怎样的。 先拿出来ChatGPT官网对自己的一些说明: ChatGPT面临的主要…

从一路高歌到遭多国“封杀”,ChatGPT未来将是什么样子?

“IT有得聊”是机械工业出版社旗下IT专业资讯和服务平台,致力于帮助读者在广义的IT领域里,掌握更专业、更实用的知识与技能,快速提升职场竞争力。 点击蓝色微信名可快速关注我们! 人工智能技术的发展已经逐渐改变了我们的生活和工作方式&…

ChatGPT体验小记

只截取了部分内容的例子,到底ChatGPT效果怎样,不一而足。

ChatGPT体验感受

对话人机 ------ 从Wechat 到 We chat with GPT 声明:本文未教授如何注册的ChatGPT, 仅记录与该语言模型的对话 文章目录 对话人机------ 从Wechat 到 We chat with GPT什么是ChatGPT?如何使用ChatGPT?错误的使用姿势正确的使用姿势另辟蹊径 Good news! 更多内容请看文末另…

“ChatGPT 互动体验:我做了一个可以在线使用的网站“

ChatGPT是什么? ChatGPT本质是一个应用在对话场景的语言模型,基于GPT3.5通过人类反馈的强化学习微调而来,能够回答后续问题、承认错误、质疑不正确的前提以及拒绝不适当的请求。 ALAPI 是什么? ALAPI 是国内的一个接口开发聚合平台&#xff…

分享ChatGPT初体验总结

ChatGPT是一种由OpenAI训练的大型语言模型。它的原理是基于Transformer架构,通过预训练大量文本数据来学习如何生成人类可读的文本,然后通过接受输入并生成输出来实现对话。 今天小编分享一些ChatGPT 真实有趣的示例 ,让大家体验一下ChatGPT…

在Jupyter Notebook,沉浸式体验ChatGPT

大家好,我是章北海mlpy 写代码,修Bug是 ChatGPT 目前最擅长的领域之一 今天向大家推荐一个刚刚开源的Python包 安装后可以直接在IPython和Jupyter Notebook中直接调用ChatGPT 随问随答,直接copy代码,有bug也能无缝衔接地修复。…

ChatGPT java体验

1.可以帮你实现设计模式模型 2.可以帮你优化代码&#xff0c;比如下面这段代码获取时间集合的方法 public List<Date> getDealTimeList(Integer showType){List<Date> timeList new ArrayList<>();Calendar cal new GregorianCalendar();cal.set(Calenda…

ChatGPT 大量封号,小白如何快速体验 ChatGPT(3)

根据 OpenAI 开放地区政策[1]&#xff0c;截止到 2023 年 4 月 10 号&#xff0c;ChatGPT 服务 不对中国的大陆、香港和澳门开放&#xff0c;因此大陆的小伙伴们无法直接体验最新的 AI 技术。 即便如此&#xff0c;有很多热心网友搭建了 ChatGPT 镜像网站&#xff0c;即把网站部…

技术沙龙 | 探索软件测试前沿技术及最佳实践,体验ChatGPT在测试领域中的应用

作为软件开发领域中至关重要的一环&#xff0c;软件测试的重要性日益凸显。然而&#xff0c;随着软件测试开发技术的不断发展&#xff0c;软件测试也面临着越来越多的挑战&#xff0c;为了更好地应对这些挑战&#xff0c;测试人社区将持续举办技术沙龙活动&#xff0c;为测试人…

体验了下ChatGPT

对话1&#xff1a; 对话2&#xff1a; 从ChatGPT发布以来&#xff0c;相关的话题就不断出现在我关注的一些社区里。今天花了点时间体验下&#xff0c;聊聊自己的想法。 写作向来不是我的专长&#xff0c;有时候脑子里想的是一回事&#xff0c;写出来又是另外一回事&#xff…