AI大模型之ChatGPT科普(深度好文)

目录

训练ChatGPT分几步?

如何炼成ChatGPT?

如何微调ChatGPT?

如何强化ChatGPT?

如何调教ChatGPT?

AI思维链是什么?

GPT背后的黑科技Transformer是什么?

Transformer在计算机视觉上CV最佳作品?


ChatGPT是人工智能研究实验室OpenAI研发的聊天机器人程序,通俗讲,ChatGPT是人工智能里程碑,你可以把它当做一个AI聊天软件。可能你会问,这类人工智能产品,市面上不是有吗?有是有,但是跟ChatGPT比起来,其他的产品的算力和准确率都是不值一提的。ChatGPT厉害到什么程度呢?举例:ChatGPT能把项目文件的要点总结出来,还能附上数据来源,还可以帮你制作图表,还能帮你撰写论文、设计图片、翻译、撰写代码等等。因此,ChatGPT会较快影响各行各业,一是文字类工作,这是首当其冲,特别是内容创作以及归纳性文字工作和数据录入等;二是代码开发相关工作,昨天就有个相关话题上了热搜,该话题为“ChatGPT会不会使底层程序员失业”;三则是图形生成领域,特别是平面设计工作;四是智能客服类工作。

谷歌CEO桑达尔·皮查伊宣布,谷歌对话式AI应用Bard向早期测试者开放,开放给公众使用。

“文心一言”项目,可以写文案,做文档,当客服,讲故事等。

训练ChatGPT分几步?

需要三步完成。

第一步,通过海量的文本进行无监督学习。得到一个能进行文本生成的基座模型

第二步,通过一些人类撰写的高质量对话数据,对基座模型进行监督微调(Supervised Fine-Tuning,简称SFT),得到一个微调后的模型。此时的模型除了续写文本之外,也会具备更好的对话能力。

第三步,用问题和多个对应回答的数据,让数据标注师对回答进行质量排序,然后基于这些数据训练出一个能对回答进行评分预测的奖励模型(Reward modeling,简称RM)。接下来,让第二步得到的模型对问题生成回答,用奖励模型给回答进行评分,利用评分作为反馈进行强化学习训练

如何炼成ChatGPT?

在第一步的预训练中,首先需要海量文本作为原料,让模型从中学习。比如GPT3这个基座模型的训练数据有多个互联网文本语料库,附带书籍、新闻文章、科学论文、维基百科、社交媒体帖子等等,训练数据的整体规模是3000亿的token(补充说明:什么是token?它一般指的是大语言模型的一个基本文本单位,像短的英文单词,可能一个词是一个token,而长的词可能被分为多个token。而中文的话,所占的token数量会相对更多,有些字要用一个甚至更多token表示。)

当有了大量可用于训练的文本后,要采用无监督学习的方式。训练模型,和无监督学习相对的是监督学习模型,会接受有标签的训练数据,标签就是期望的输出值,所以每个训练数据点都既包括输入特征,也包括期望输出值。而无监督学习则是让模型在没有标签的数据上进行训练,所以模型要自己找出数据中的结构和模式。GPT3为例,训练过程中,它会利用海量文本自行学习人类语言的语法、语义,然后再表达结构和模式。那具体来说,模型会先看到一部分文本,基于上下文尝试预测下一个token,然后通过比较正确答案和他的预测,模型会更新权重,从而逐渐能根据上文来生成合理的下文,并且随着见过的文本越来越多,它生存的能力也会越来越好。

预训练并不是一个容易的过程,也是这四个步骤里最耗时费力烧钱的。以这为例,虽然官方还没有公布准确数据,但大体估计他经过了数月的训练,用了成千上百个V100的GPU,烧了几百万美元。预训练的结果是得到一个基座模型。基座模型并不等同于ChatGPT背后的对话模型,因为此时模型有预测下一个token的能力,会根据上文补充文本,但并不擅长对话。你给他一个问题,他可能模仿上文帮你继续生成更多的问题,但不回答你的问题。

如何微调ChatGPT?

不擅长对话,怎么办?为了解决这点,我们需要进行第二步,对基座模型进行微调。微调就是在已有模型上做进一步的训练,会改变模型的内部参数,让模型更加适应特定任务。换句话说,为了训练出一个擅长对话的AI助手,需要给基座模型看更多的对话数据。但微调的成本相比预训练低很多,因为需要的训练数据规模更小,训练时长更短。在这个阶段里,模型不需要从海量文本学习了,而是从一些人类学的专业且高质量的对话里学习。这相当于既给了模型问题,又给了模型我们人类的回答,属于监督学习,所以这一过程被叫做监督微调Supervised Fine-Tuning,简称SFT,完成后会得到一个SFT模型,它比基座模型更加擅长对问题做出回答。

模型微调的方法通常包括以下步骤:

加载预训练模型:首先,需要从预训练模型中加载所需的参数和权重。
数据准备:针对新的任务和数据,需要进行数据预处理和标注,以生成适用于微调的输入数据。
调整层:在模型的输入和输出层之间添加一个新的调整层,以适应新的任务和数据。这个调整层可以是一个简单的全连接层,也可以是一个卷积层或池化层。
训练:使用新的任务和数据对模型进行训练,通过反向传播算法更新模型的参数。在训练过程中,通常会采用较小的学习率和优化器,以避免过拟合和损失收敛。
评估:在训练完成后,需要对模型进行评估,以了解其在新任务和数据上的性能。评估通常包括计算模型的准确率、精度、召回率等指标。
需要注意的是,在进行模型微调时,需要确保模型的输入和输出格式与预训练模型保持一致,以便能够正确地加载预训练模型的参数和权重。此外,在训练过程中,还需要合理地设置超参数,如学习率、批量大小、迭代次数等,以获得最佳的性能。

如何强化ChatGPT?

回答不准确,怎么办?为了让模型的实力继续被提升,还可以进行第三步,让SFT模型进行强化学习。模型在环境里采取行动获得结果反馈,从反馈里学习,从而能在给定情况下采取最佳行动来最大化奖励或最小化损失。举例:训小狗,随着和训犬师的互动,小狗会发现某些动作能获得零食,某些动作没有零食,某些动作甚至会遭受惩罚。通过观察动作和奖惩之间的联系,小狗的行为会逐渐接近训犬时的期望。要让ChatGPT的模型当一个乐于助人的AI助手,也是一样的道理。

我们可以让ChatGPT问题做出回答,然后让人类评估员去给回答打分。打分主要是基于三原则,Helpful即有用,Honest即真实,Harmless即无害。如果打分高的话,模型能学习后要再接再厉,如果打分低的话,就学习后要予以改正。但是,靠人类给回答,一个个打分,成本极高,效率极低,那为何不训练出另一个模型,让模型给模型打分?所以,在这一步骤里需要训练一个奖励模型,它是从回答以及回答对应的评分里学习的。得到评分数据的方式,是让微调后的GPT模型,也就是SFT模型,对每个问题生成多个回答,然后让人类标注员对回答质量进行排序。虽然还是免不了要借助标注员的劳动,但一旦有了足够的排序数据,就可以把数据用在训练奖励模型上,让奖励模型学习预测回答的评分。奖励模型训练出来后就可以用在强化学习上了。强化学习力ChatGPT模型的最初参数来自之前得到的SFT模型,但会随着训练被更新,奖励模型的参数则不再会被更新,他的任务就是对模型生成的内容打分。那经过一轮又一轮迭代后,模型会不断优化策略,回答的质量会进一步提升,强大的ChatGPT就在不断学习中炼成了。2022年11月,ChatGPT对外发布,至此引爆生成式AI元年。

举例:Teacher Model就是奖励模型,通过前面的学习已经学到,如果答案是一个问句,它不是一个好的答案,给予低分。这个Teacher Model输出的高分就是强化学习的奖励Reward,强化学习通过调整参数,得到最大的Reward。

如何调教ChatGPT?

提升工程,目标是:如何提供和AI的沟通效率和质量。

提示,就是我们给AI聊天助手输入的问题或指令,AI会根据提示内容给予回应。在进入提示工程之前,我们先要了解ChatGPT助手存在的局限性。他们背后的大语言模型,是用海量文本训练出来的,因此擅长模仿人类语言表达,也从那些内容里学到了不少知识。他们的回应都是根据提示以及前面已生成的内容,通过持续预测下一个token的概率来实现的。但同时,对于他们不了解的业务领域,他们并不知道自己缺乏业务知识,加上生成过程中也没有反思能力,所以,我会经常看到充满着自信的胡说八道。为了调教AI,给出想要的回答,第一个办法是用小样本提示。我们很多时候都是直接丢问题或指令给AI,这种属于零样本提示就是没有给AI任何示范,不一定和我们想要的效果相符。但如果我们让AI回答前给他几个对话作为示例,用样本对他进行引导,AI模型就会利用上下文学习能力,一方面记忆那些内容作为知识,另一方面像示范那样模仿着自己回应。有了小样本提示后,再问AI类似的问题,他就能给出和提示师范相似的回答了。小样本提示的另一个好处是,由于AI回应的内容风格会大概率遵循我们给的示范。我们也就不用多费口舌给AI从前面的示范回答里领悟。但是,小样本提示有时也起不到很大的作用。比如AI非常不擅长做数学相关问题,即使我们用样本示范一些正确的结果,到他做的时候依然事倍功半,这是因为它没有思维的过程。

因此,提示工程是一个动态且迭代的过程,它要求我们不断地测试、评估和调整提示,以达到最佳的交互效果。有效的提示工程不仅能提高AI模型解决问题的能力,还能增强其生成内容的相关性和准确性。实践中,建议采用以下策略:

明确并细化目标:清晰定义你想要AI完成的具体任务。
分步指导:对复杂问题,提供分步骤的指导,帮助AI更好地理解和解决问题。
提供背景信息:在需要的情况下,为AI提供足够的背景信息,帮助其更准确地理解上下文。
迭代优化:根据AI的响应不断调整提示,找到最有效的表述方式。
通过这些方法,我们可以有效地利用提示工程,提升生成式AI在各种任务中的表现,无论是解决数学问题、创作内容,还是开发新的AI驱动产品。
 

AI思维链是什么?

思维链,是谷歌在2022年一篇论文里提出的,作者发现思维链可以显著提升大模型进行复杂推理的能力,特别是在算术常识和符号推理等任务上。运用思维链的方法是我们给AI的小样本,提示里不仅包含正确的结果,也展示中间的推理步骤,那AI在生成回答时,也会模仿着去生成一些中间步骤,把过程进行分解。这样做的好处是步子小点,容易接近目标,就像被老师点名回答问题时,站起来瞬间就给出正确答案的难度系数很高。但如果说多说些废话,把思考步骤也讲出来,一方面可以拖时间,有更多思考机会,另一方面也有助于我们分步骤想,更有机会得到正确答案。思维链也可以用在数学计算之外的很多方面,借助思维链,AI可以在每一步里把注意力集中在当前思考步骤上,减少上下文的过多干扰,因此针对复杂的任务,有更大概率得到准确的结果。在思维链的相关论文里,作者还提到,即使我们不用小样的提示,只是在问题后面加一句let's think step by step,让我们来分步骤思考,也能提升AI得到正确答案的概率。这是一种成本非常低的方法,用思维链还需要我们想样本示范,而这种方法只需要加上简单一句话,AI就会自行推理。一次,AI思维链,是理解和实现人工智能技术的基石。它不仅仅是一系列技术步骤的组合,更是一种全面的思考模式,涵盖了从数据获取到最终决策输出的整个过程。

增强AI的可解释性:通过可视化AI的决策过程,思维链提示可以帮助我们更好地理解AI是如何做出决策的。这有助于我们评估AI的可靠性,并在必要时对其进行调整。
检测和纠正AI偏见:通过揭示AI在做出决策时所依赖的逻辑路径,思维链提示可以帮助我们发现潜在的偏见,并采取适当的措施来纠正它们。
提高AI决策的透明度和公正性:通过使AI的决策过程更加透明,思维链提示可以增加人们对AI系统的信任。这有助于提高AI在各个领域的广泛应用和接受度。

具体来说,AI思维链可以被细分为以下几个核心部分:

数据获取与处理:这是AI思维链的起点。有效的AI系统依赖于大量的高质量数据。在这一阶段,关键在于如何收集、清洗和整理数据,以确保数据的准确性和代表性。

算法设计:算法是AI的心脏。在这一环节中,选择和设计合适的算法对于解决特定问题至关重要。算法设计不仅要考虑问题的性质,还要考虑可用数据的特点和预期结果的需求。

模型训练:有了合适的数据和算法后,接下来就是训练模型。这一过程涉及调整算法参数,使模型能够准确地从数据中学习并做出预测。

优化与测试:模型训练完成后,并不意味着AI思维链的结束。接下来需要对模型进行优化和测试,以确保其在实际应用中的稳定性和准确性。

部署与应用:最后一步是将训练好的模型部署到实际应用中。这可能涉及到将模型集成到现有的技术系统中,或者根据模型输出进行决策制定。

通过这些步骤,AI思维链将原始数据转化为有价值的洞察和决策,从而在各个行业中发挥其强大的作用。它不仅是技术操作的序列,更是一种跨学科融合的思维方式,它要求我们不仅要理解数据和算法,还要理解这些技术如何服务于实际问题的解决。

GPT背后的黑科技Transformer是什么?

请参考博客:AI大模型原理科普(深度好文)-CSDN博客

Transformer在计算机视觉上CV最佳作品?

AI大模型之Swin Transformer 最强CV图解(深度好文)_swin transformer nlp-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[leetcode]remove-duplicates-from-sorted-list

. - 力扣(LeetCode) 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 示例 1: 输入:head [1,1,2] 输出:[1,2]示例 2: 输入&…

LeetCode-热题100:148. 排序链表

题目描述 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入: head [4,2,1,3] 输出: [1,2,3,4] 示例 2: 输入: head [-1,5,3,4,0] 输出: [-1,0,3,4,5] 示例…

2017NOIP普及组真题 4. 跳房子

线上OJ: 一本通:http://ybt.ssoier.cn:8088/problem_show.php?pid1417\ 核心思想 首先、本题中提到 “ 至少 要花多少金币改造机器人,能获得 至少 k分 ”。看到这样的话语,基本可以考虑要使用 二分答案。 那么,本题中…

Java快速入门系列-7(测试与调试)

第七章:测试与调试 第7章:测试与调试7.1 单元测试(JUnit)7.1.1 为什么要进行单元测试7.1.2 JUnit基础7.1.3 断言7.1.4 测试套件7.2 集成测试与系统测试7.2.1 集成测试7.2.2 系统测试7.3 调试技巧与工具7.3.1 断点7.3.2 单步执行7.3.3 变量检查7.3.4 条件断点7.3.5 日志记录…

手动实现简易版RPC(一)

手动实现简易版RPC(一) 前言 什么是RPC?它的原理是什么?它有什么特点?如果让你实现一个RPC框架,你会如何是实现?带着这些问题,开始今天的学习。 本文主要介绍RPC概述以及一些关于RPC的知识,为…

网络安全指南:安全访问 Facebook 的技巧

在当今数字化时代,网络安全问题越来越受到人们的关注。尤其是在社交媒体平台上,如 Facebook 这样的巨头,用户的个人信息和隐私更容易受到威胁。为了保护自己的在线安全,我们需要采取一些措施来确保在使用 Facebook 时能够安全可靠…

GET与POST:详述HTTP两大请求方法的语义、数据处理机制、安全特性与适用场景

GET和POST方法在HTTP请求中具有明确的角色分工和特性差异。GET适用于读取操作和不敏感数据的传递,强调可缓存性和安全性,而POST适用于写入操作和敏感数据的提交,提供了更大的数据承载能力和更强的隐私保护。本文详细介绍了GET与POST请求方法的…

利用Sentinel解决雪崩问题(二)隔离和降级

前言: 虽然限流可以尽量避免因高并发而引起的服务故障,但服务还会因为其它原因而故障。而要将这些故障控制在一定范围避免雪崩,就要靠线程隔离(舱壁模式)和熔断降级手段了,不管是线程隔离还是熔断降级,都是对客户端(调…

实战篇05:更新用户基本信息

实战篇05:更新用户基本信息 一、接口信息 1.1 基本信息 请求路径:/user/update 请求方式:PUT 接口描述:该接口用于更新已登录用户的基本信息(除头像和密码) 1.2 请求参数 请求参数格式:application/json 请求参数说…

2024 年 3 月公链行业研报:比特币创新高、Meme 掀热潮、AI 板块露头角

作者:stellafootprint.network 数据来源:Footprint Analytics 公链研究页面 3 月份,加密市场表现强劲,比特币再创历史新高。以太坊价格稳步攀升,而坎昆升级则显著降低了交易成本。Solana 链上 Meme 热潮席卷而来&am…

nandgame中的Memory(内存操作):栈、堆、静态区

Push Memory Push Memory 将内存中的值push到栈内堆栈顶部的值是一个内存地址。从堆栈中弹出地址。获取内存地址的当前内容,并将其推送到堆栈上。POP_A //堆栈顶部的值是一个内存地址。从堆栈中弹出地址。 D *A //获取内存地址的当前内容 PUSH_D //将其推送到…

拉普拉斯IPO丨用创新科技助力中国光伏产业高质量发展

近年来,在“以科技创新引领现代化产业体系建设”的战略指引下,整个光伏行业持续推动技术迭代与生产力升级,朝着更高光电转化效率、更低成本加速迈进。 在此背景下,一批以技术驱动为第一生产力的光伏厂商们,在自身领域…

APP被DDoS攻击时,企业应该如何防护?

某平台遭到分布式拒绝服务攻击,大规模、持续性的攻击,导致平台的APP、网站的部分用户出现间歇性无法登录、加载失败或缓慢等情况。据了解,平台在一个月的时间内陆续遭受到近30次的网络攻击。在这段时间内,平台不断地接收到短时间、…

虚拟货币:数字金融时代的新工具

在数字化时代的到来之后,虚拟货币逐渐成为了一种广为人知的金融工具。虚拟货币是一种数字化的资产,它不像传统货币那样由政府或中央银行发行和监管。相反,虚拟货币通过密码学技术和分布式账本技术来实现去中心化的发行和交易。 虚拟货币的代…

Nodejs 第六十三章(串口技术)

串口介绍 串口技术是一种用于在计算机和外部设备之间进行数据传输的通信技术。它通过串行传输方式将数据逐位地发送和接收。 常见的串口设备有,扫描仪,打印机,传感器,控制器,采集器,电子秤等 SerialPort …

ES6 关于Class类的继承 extends(2024-04-10)

1、简介 类Class 可以通过extends关键字实现继承,让子类继承父类的属性和方法。extends 的写法比 ES5 的原型链继承,要清晰和方便很多。 class Foo {constructor(x, y) {this.x x;this.y y;console.log(父类构造函数)}toString() {return ( this.x …

MyBatis 等类似的 XML 映射文件中,当传入的参数为空字符串时,<if> 标签可能会导致 SQL 语句中的条件判断出现意外结果。

问题 传入的参数为空字符串,但还是根据参数查询了。 原因 在 XML 中使用 标签进行条件判断时,需要明确理解其行为。在 MyBatis 等类似的 XML 映射文件中, 标签通常用于动态拼接 SQL 语句的条件部分。当传入的参数 riskLevel 为空字符串时…

rebase和merge的区别

合并分支用rebase还是merge? 实际开发工作的时候,我们都是在自己的分支开发,然后将自己的分合并到主分支,那合并分支用2种操作,这2种操作有什么区别呢? git上新建一个项目,默认是有master分支…

如何在 YouTube、Medium、Twitter 和 Linkedin 上使用 ChatGPT 赚钱

人工智能SEO:未来内容优化的革命 介绍 在当今的数字时代,利用 ChatGPT 等人工智能工具已经成为在线内容创建和货币化领域的游戏规则改变者。 本指南探讨了如何在 YouTube、Medium、Twitter 和 Linkedin 等各种平台上有效使用 ChatGPT,不仅可以…

猫咪可以每天吃冻干吗?2024最全攻略这几款低调有实力

冻干猫粮近年来逐渐受到养猫人的青睐,其高品质的特性赢得了广大猫主人的认可。对于像我这样的养猫达人来说,早已尝试并认可了冻干喂养。但对于新手来说,他们可能会感到困惑:冻干到底是什么?猫咪可以每天吃冻干吗&#…