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

目录

训练ChatGPT分几步?

如何炼成ChatGPT?

如何微调ChatGPT?

如何强化ChatGPT?

如何调教ChatGPT?

AI思维链是什么?

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

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


数字时代,AI大模型发展日新月异,历练“修身治国安天下”的技术本领,是大势所趋!今天,从技术战略思维出发,由浅入深,系统性学习ChatGPT的原理和实践!

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博客

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

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

相关文章

【MySQL】游标和触发器

一、游标 1.1 什么是游标 1、使用背景 在我们使用update或者delete操作数据时,一般都会根据条件语句查询出很多条记录组成的数据集,然后一次性批量操作 假设我们想要对这个结果集中的数据 一行一行的进行操作,比如某个条件满足后&#xff…

Lora 串口透传开发 5

1 简介 串口转usb、转wifi等很多应用 2 设计原理 2.1 设计需求 1将LoRa终端定义成两种角色:Master和Slave 2一个模块发送任意字节长度(小于128Byte)数据,另一模块都可以接收到 3PC机上通过串口调试助手实现接收和发送 4终端在LCD屏幕上显…

智慧公厕升级为多功能城市智慧驿站,助力智慧城市发展

在现代城市的建设中,公共厕所作为基础必备的民生设施,一直是城市管理的重要组成部分。随着科技的不断发展,智慧公厕应运而生,成为了公共厕所信息化、数字化、智慧化的应用解决方案。而近年来,智慧公厕也进行了升级发展…

损失函数:BCE Loss(二元交叉熵损失函数)、Dice Loss(Dice相似系数损失函数)

损失函数:BCE Loss(二元交叉熵损失函数)、Dice Loss(Dice相似系数损失函数) 前言相关介绍BCE Loss(二元交叉熵损失函数)代码实例直接计算函数计算 Dice Loss(Dice相似系数损失函数&a…

分布式 SpringCloudAlibaba、Feign与RabbitMQ实现MySQL到ES数据同步

文章目录 ⛄引言一、思路分析⛅实现方式⚡框架选择 二、实现数据同步⌚需求分析⏰搭建环境⚡核心源码 三、测试四、源码获取⛵小结 ⛄引言 本文参考黑马 分布式Elastic search Elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助…

如何使用Android手机通过JuiceSSH远程访问本地Linux服务器

文章目录 1. Linux安装cpolar2. 创建公网SSH连接地址3. JuiceSSH公网远程连接4. 固定连接SSH公网地址5. SSH固定地址连接测试 处于内网的虚拟机如何被外网访问呢?如何手机就能访问虚拟机呢? cpolarJuiceSSH 实现手机端远程连接Linux虚拟机(内网穿透,手机端连接Linux虚拟机) …

Python上解决TypeError: not all arguments converted during string formatting错误

目录 背景尝试1: pymysql模块的escape_string方法尝试2: 修改pandas.read_excel引擎尝试3: 回退xlrd版本总结 背景 在Linux上部署的时候, 使用pandas模块读取Excel, 然后pymysql模块入库, 结果发生了错误 Traceback (most recent call last):File "/usr/local/lib64/pyth…

3月谷歌应用上架/下架情况,上架难度加大,开发者面临新挑战?

在3月份,Google play应用商店应用上架和下架出现了前所未有的情况。很多开发者表示,上架难度简直是“地狱”级别。 下图是3月份美国、巴西、印度、中国香港的下架数量的折线图,根据市场数据监测,可以清晰地看到3月份中旬之后&…

DESTINATION MOON 香港站回顾|聆听 Web3 创新者的未来对话

创新者汇聚 Web3 行业,如何才能在生态、技术、投资的发展新风口把握机遇?「TinTin Destination Moon」香港站活动于 4 月 6 日下午如期举行!Web3AI 的融合发展之道在哪?ETF 时代的投资逻辑有哪些?区块链未来的关键究竟…

使用HTML+CSS实现一个简单的登录页面

整个项目使用文件&#xff1a; HTML代码部分&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><ti…

如何理解单片机 pwm 控制的基本原理?

单片机PWM&#xff08;脉宽调制&#xff09;控制的基本原理&#xff0c;简而言之&#xff0c;就是通过改变脉冲信号的宽度&#xff08;占空比&#xff09;来控制模拟电路。这涉及到单片机生成一系列脉冲信号&#xff0c;每个脉冲信号的高电平持续时间和整个周期的比值&#xff…

计算机视觉 | 基于二值图像数字矩阵的距离变换算法

Hi&#xff0c;大家好&#xff0c;我是半亩花海。本实验基于 OpenCV 实现了二值图像数字矩阵的距离变换算法。首先生成一个 480x480 的黑色背景图像&#xff08;定义黑色为0&#xff0c;白色为1&#xff09;&#xff0c;在其中随机选择了三个白色像素点作为距离变换的原点&…

MicroPython with LVGL

官方博客:Micropython LittlevGL | LVGL’s Blog github:GitHub - lvgl/lv_micropython: Micropython bindings to LVGL for Embedded devices, Unix and JavaScript 官方在线模拟器:https://sim.lvgl.io/(需要电脑能访问外网才能使用) 电脑不能访问外网会出现以下错误&…

JVM内存区域

类加载 将class文件加载到方法区中 验证&#xff1a;验证待加载的class文件是否正确&#xff0c;比如验证文件的格式 准备&#xff1a;为static变量分配内存并赋零值 解析&#xff1a;将符号引用解析为直接引用 类加载器 双亲委派 总结就是&#xff0c;向上查找有没有加载过…

面试算法-170-二叉树的最大深度

题目 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;3 解 class Solution {public int maxDepth(TreeNod…

参与 PenPad Season 2 获得勋章,还有海量 Scroll 生态稀缺权益

PenPad 是 Scroll 生态中的首个 LaunchPad 平台&#xff0c;该平台继承了 Scroll 生态的技术优势&#xff0c;具备包括隐私在内的系列特点&#xff0c;同时且也被认为是 Scroll 生态最重要的价值入口之一。Penpad 与 Scroll 官方始终保持着合作&#xff0c;同时该项目自启动以来…

车载摄像头图像及画质增强解决方案

车载摄像头作为汽车智能化、安全化的关键组件&#xff0c;其图像质量直接影响着驾驶者的视觉感知和行车安全。美摄科技凭借其在图像处理和AI算法领域的深厚积累&#xff0c;推出了一款专为车载摄像头打造的图像及画质增强解决方案&#xff0c;助力企业实现摄像头画面的实时优化…

PKI:构建数字安全基石的关键技术

在数字化时代&#xff0c;网络安全已成为我们日常生活和工作的重要组成部分。为了确保数据的完整性、机密性和身份的真实性&#xff0c;公钥基础设施&#xff08;Public Key Infrastructure&#xff0c;简称PKI&#xff09;技术应运而生&#xff0c;为构建数字安全基石提供了重…

C++11 设计模式0. 设计模式的基本概念,设计模式的准则,如何学习设计模式,24种设计模式的分为3大类

一 设计模式的基本概念&#xff1a; 模式&#xff1a;指事物的标准样式 或者 理解成 针对特定问题的可重用解决方案。 设计模式&#xff0c;是在特定问题发生时的可重用解决方案。 设计模式一般用于大型项目中。 大型项目中&#xff0c;设计模式保证所设计的模块之间代码的灵…

【软考---系统架构设计师】计算机网络章节

目录 一、TCP/IP协议族 &#xff08;1&#xff09;基本介绍 &#xff08;2&#xff09;TCP和UDP的区别 &#xff08;3&#xff09;DNS协议 &#xff08;4&#xff09;DHCP协议 二、网络规划与设计 &#xff08;1&#xff09;需求分析 &#xff08;2&#xff09;通信规范…