一文了解大模型工作原理——以ChatGPT为例

news2024/11/20 1:50:51

文章目录

  • 写在前面
  • 1.Tansformer架构模型
  • 2.ChatGPT原理
  • 3.提示学习与大模型能力的涌现
    • 3.1 提示学习
    • 3.2 上下文学习
    • 3.3 思维链
  • 4.行业参考建议
    • 4.1 拥抱变化
    • 4.2 定位清晰
    • 4.3 合规可控
    • 4.4 经验沉淀

写在前面

2022年11月30日,ChatGPT模型问世后,立刻在全球范围内掀起了轩然大波。无论AI从业者还是非从业者,都在热议ChatGPT极具冲击力的交互体验和惊人的生成内容。这使得广大群众重新认识到人工智能的潜力和价值。对于AI从业者来说,ChatGPT模型成为一种思路的扩充,大模型不再是刷榜的玩具,所有人都认识到高质量数据的重要性,并坚信“有多少人工,就会有多少智能”。

ChatGPT模型效果过于优秀,在许多任务上,即使是零样本或少样本数据也可以达到SOTA效果,使得很多人转向大模型的研究。

不仅Google提出了对标ChatGPT的Bard模型,国内涌现出了许多中文大模型,如百度的“文心一言”、阿里的“通义千问”、商汤的“日日新”、知乎的“知海图AI”、清华智谱的“ChatGLM”、复旦的“MOSS”、Meta的“Llama1&Llama2”等等。

Alpaca模型问世之后,证明了70亿参数量的模型虽然达不到ChatGPT的效果,但已经极大程度上降低了大模型的算力成本,使得普通用户和一般企业也可以使用大模型。之前一直强调的数据问题,可以通过GPT-3.5或GPT-4接口来获取数据,并且数据质量也相当高。如果只需要基本的效果模型,数据是否再次精标已经不是那么重要了(当然,要获得更好的效果,则需要更精准的数据)。

1.Tansformer架构模型

预训练语言模型的本质是通过从海量数据中学到语言的通用表达,使得在下游子任务中可以获得更优异的结果。随着模型参数不断增加,很多预训练语言模型又被称为大型语言模型(Large Language Model,LLM)。不同人对于“大”的定义不同,很难说多少参数量的模型是大型语言模型,通常并不强行区分预训练语言模型和大型语言模型之间的差别。
在这里插入图片描述

预训练语言模型根据底层模型网络结构,一般分为仅Encoder架构模型、仅Decoder架构模型和Encoder-Decoder架构模型。其中,仅Encoder架构模型包括但不限于BERT、RoBerta、Ernie、SpanBert、AlBert等;仅Decoder架构模型包括但不限于GPT、CPM、PaLM、OPT、Bloom、Llama等;Encoder-Decoder架构模型包括但不限于Mass、Bart、T5等。

在这里插入图片描述

2.ChatGPT原理

ChatGPT训练的整体流程主要分为3个阶段,预训练与提示学习阶段,结果评价与奖励建模阶段以及强化学习自我进化阶段;3个阶段分工明确,实现了模型从模仿期、管教期、自主期的阶段转变。

在这里插入图片描述

在第一阶段的模仿期,模型将重点放在学习各项指令型任务中,这个阶段的模型没有自我判别意识,更多的是模仿人工行为的过程,通过不断学习人类标注结果让其行为本身具有一定的智能型。然而仅仅是模仿往往会让机器的学习行为变成邯郸学步。

在第二阶段的管教期,优化内容发生了方向性转变,将重点从教育机器答案内容改变为教育机器答案的好坏。如果第一阶段,重点希望机器利用输入X,模仿学习输出Y’,并力求让Y’与原先标注的Y保持一致。那么,在第二阶段,重点则希望多个模型在针对X输出多个结果(Y1,Y2,Y3,Y4)时,可以自行判断多个结果的优劣情况。

当模型具备一定的判断能力时,认为该模型已经完成第二阶段的学习,可以进入第三阶段——自主期。在自主期的模型,需要通过左右互博的方式完成自我进化,即一方面自动生成多个输出结果,另一方面判断不同结果的优劣程度,并基于不同输出的效果模型差异评估,优化改进自动生成过程的模型参数,进而完成模型的自我强化学习。

总结来说,也可以将ChatGPT的3个阶段比喻为人成长的3个阶段,模仿期的目的是“知天理”,管教期的目的是“辨是非”,自主期的目的是“格万物”。

3.提示学习与大模型能力的涌现

ChatGPT模型发布后,因其流畅的对话表达、极强的上下文存储、丰富的知识创作及其全面解决问题的能力而风靡全球,刷新了大众对人工智能的认知。提示学习(Prompt Learning)、上下文学习(In-Context Learning)、思维链(Chain of Thought,CoT)等概念也随之进入大众视野。市面上甚至出现了提示工程师这个职业,专门为指定任务编写提示模板。

提示学习被广大学者认为是自然语言处理在特征工程、深度学习、预训练+微调之后的第四范式。随着语言模型的参数不断增加,模型也涌现了上下文学习、思维链等能力,在不训练语言模型参数的前提下,仅通过几个演示示例就可以在很多自然语言处理任务上取得较好的成绩。

3.1 提示学习

提示学习是在原始输入文本上附加额外的提示(Prompt)信息作为新的输入,将下游的预测任务转化为语言模型任务,并将语言模型的预测结果转化为原本下游任务的预测结果。

以情感分析任务为例,原始任务是根据给定输入文本“我爱中国”,判断该段文本的情感极性。提示学习则是在原始输入文本“我爱中国”上增加额外的提示模板,例如:“这句话的情感为{mask}。”得到新的输入文本“我爱中国。这句话的情感为{mask}。”然后利用语言模型的掩码语言模型任务,针对{mask}标记进行预测,再将其预测出的Token映射到情感极性标签上,最终实现情感极性预测。

3.2 上下文学习

上下文学习可以看作提示学习的一种特殊情况,即演示示例看作提示学习中人工编写提示模板(离散型提示模板)的一部分,并且不进行模型参数的更新。

上下文学习的核心思想是通过类比来学习。对于一个情感分类任务来说,首先从已存在的情感分析样本库中抽取出部分演示示例,包含一些正向或负向的情感文本及对应标签;然后将其演示示例与待分析的情感文本进行拼接,送入到大型语言模型中;最终通过对演示示例的学习类比得出文本的情感极性。
在这里插入图片描述

这种学习方法也更加贴近人类学习后进行决策过程,通过观察别人对某些事件的处理方法,当自己遇到相同或类似事件时,可以轻松地并很好地解决。

3.3 思维链

大型语言模型横行的时代,它彻底改变了自然语言处理的模式。随着模型参数的增加,例如:情感分析、主题分类等系统-1任务(人类可以快速直观地完成的任务),即使是在少样本和零样本条件下均可以获得较好的效果。但对于系统-2任务(人类需要缓慢而深思熟虑的思考才能完成的任务),例如:逻辑推理、数学推理和常识推理等任务,即使模型参数增加到数千亿时,效果也并不理想,也就是简单地增加模型参数量并不能带来实质性的性能提升。

Google于2022年提出了思维链(Chain of thought,CoT)的概念,来提高大型语言模型执行各种推理任务的能力。思维链本质上是一种离散式提示模板,主旨是通过提示模板使得大型语言模型可以模仿人类思考的过程,给出逐步的推理依据,来推导出最终的答案,而每一步的推理依据组成的句子集合就是思维链的内容。

思维链其实是帮助大型语言模型将一个多步问题分解为多个可以被单独解答的中间步骤,而不是在一次向前传递中解决整个多跳问题。

在这里插入图片描述

4.行业参考建议

4.1 拥抱变化

与其他领域不同,AIGC领域是当前变化最迅速的领域之一。以2023年3月13日至2023年3月19日这一周为例,我们经历了清华发布ChatGLM 6B开源模型、openAI将GPT4接口发布、百度文心一言举办发布会、微软推出Office同ChatGPT相结合的全新产品Copilot等一系列重大事件。

这些事件都会影响行业研究方向,并引发更多思考,例如,下一步技术路线是基于开源模型,还是从头预训练新模型,参数量应该设计多少?Copilot已经做好,办公插件AIGC的应用开发者如何应对?

即便如此,仍建议从业者拥抱变化,快速调整策略,借助前沿资源,以加速实现自身任务。

4.2 定位清晰

一定要明确自身细分赛道的目标,例如是做应用层还是底座优化层,是做C端市场还是B端市场,是做行业垂类应用还是通用工具软件。千万不要好高骛远,把握住风口,“切准蛋糕”。

定位清晰并不是指不撞南墙不回,更多的是明白自身目的及意义所在。

4.3 合规可控

AIGC最大的问题在于输出的不可控性,如果无法解决这个问题,它的发展将面临很大的瓶颈,无法在B端和C端市场广泛使用。在产品设计过程中,需要关注如何融合规则引擎、强化奖惩机制以及适当的人工介入。从业者应重点关注AIGC生成内容所涉及的版权、道德和法律风险。

4.4 经验沉淀

经验沉淀的目的是为了建立自身的壁垒。不要将所有的希望寄托于单个模型上,例如我们曾经将产品设计成纯文本格式,以便同ChatGPT无缝结合,但最新的GPT4已经支持多模态输入。我们不应气馁,而是要快速拥抱变化,并利用之前积累的经验(数据维度、Prompt维度、交互设计维度)快速完成产品升级,以更好地应对全新的场景和交互形态。最后给大家推荐一本很不错的书籍——《ChatGPT原理与实战》!

在这里插入图片描述

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

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

相关文章

模电课程设计

主要内容跟本科实验关系很大,可以用来借鉴。 包含文件有:实验报告、Multisim仿真文件,资料很全,有问题可以私信 目录 1、模电课设:用Multisim简单了解二极管 2、模电课设:用Multisim简析三极管与场效应…

Python基础语法练习

输出欢迎信息 方法一: 定义变量赋值并输出,用将变量和字符拼接 username "EMT" print("Welcome,” username)方法二: 用format函数格式化输出变量,并替换{}中的内容 username "EMT" print("welcom…

vue3_动态添加路由,以及路由刷新后页面丢失问题

首先,是要将权限数据本地持久化存储 接着在router文件夹index.js中引入store中的权限数据,并导出一个方法,判断权限当中的数据,并跟roleEnum路由规则匹配,匹配上之后则addRoute() 在登录之后调用这个方法,动…

django添加数据库字段进行数据迁移

1.修改view.py里面的变量 2.在model.py新增字段 3.打开terminal并将环境切到项目所在环境,切换方式为 4.执行命令 python manage.py makemigrations backend python manage.py migrate

CSP 201403-1 相反数

答题 用两个优先队列,一个记录正数升序排序,一个记录负数降序排序,然后在两个队列都不为空的情况下取二者top相加与0比较大小,如果等于0,那么相反数的数目增加一对并同时弹出队列,如果小于0,那…

智能称重解决方案

智能称重解决方案 在现代制造业中,确保产品质量是至关重要的。尤其是在装配产线中,经常面临着漏装、少装等装箱异常问题,这可能导致产品不合格、客户投诉以及损失。为了应对这一挑战,我们需要开发一套智能监控系统,采…

PostgreSQL Page结构

Page结构 在数据文件(堆表、索引、自由空间映射和可见性映射)内部,它被划分为固定长度的page(或block),默认为 8192 字节(8 KB)。每个文件中的页面从 0 开始顺序编号,这…

管理类联考——数学——汇总篇——知识点突破——应用题——线性规划

⛲️ 一、考点讲解 线性规划特征 线性规划是运筹学中辅助人们进行科学管理的一种数学方法。线性规划所研究的是:在一定条件下,合理安排人力物力等资源,使经济效果达到最好。一般地,求线性目标函数在线性约束条件下的最大值或最小…

Shell编程之sort

sort 命令将文件的每一行作为比较对象,通过将不同行进行相互比较,从而得到最终结果。从首字符开始,依次按ASCII码值进行比较,最后将结果按升序输出。 基本语法 sort (选项)(参数) 常用选项 常用选项 -n根据字符串的数字比较-r…

多功能批量剪辑软件一天剪辑1000条原创视频

下面一个视频用了呆头鹅批量剪辑软件播放量竟然能达到100多万。 他是怎么做到的呢?下面我给大家详细的说一下 ​ 在短视频平台开展业务,需具备批量制作视频的能力,为了超越同行,需大量更新作品,争取更多曝光。素…

pycharm打开远程宿主机或远程docker文件夹目录方法,以及设置代码同步

pycharm打开远程宿主机或远程docker文件夹目录方法,以及设置代码同步_pycharm怎么查看服务器目录_Sisyphus~~的博客-CSDN博客1.如何显示远程的文件夹目录2.如何设置代码同步_pycharm怎么查看服务器目录https://blog.csdn.net/weixin_62321285/article/details/12740…

机器学习入门教学——梯度下降、梯度上升

1、简介 梯度表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(梯度的方向)变化最快,变化率(梯度的模)最大,可理解为导数。梯度上升和梯度下降是优化算法中常用的…

兵工七子,学硕爆冷!公平,可不考英语!

一、学校及专业介绍 沈阳理工大学(Shenyang Ligong University),位于辽宁省沈阳市。东北老牌工科院校,始建于1948年,是我军为培养新中国急需的兵工专门人才在东北地区创建的第一所本科军工高等学校,是共和…

【C++】构造函数与析构函数用途 ( 代码示例 - 构造函数与析构函数用途 )

文章目录 一、构造函数与析构函数二、代码示例 - 构造函数与析构函数用途 一、构造函数与析构函数 在 C 语言中 , " 构造函数 " 和 " 析构函数 " 都是 C 类中的 特殊函数 , 分别用于 初始化对象销毁对象 ; C 类 在创建 实例对象 时自动调用 构造函数 这个…

打造高效的私密论坛网站:Cpolar内网穿透+HadSky轻量级搭建指南

文章目录 前言1. 网站搭建1.1 网页下载和安装1.2 网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2 Cpolar稳定隧道(云端设置)2.3 Cpolar稳定隧道(本地设置)2.4 公网访问测试 总结 前言 经过多年的基础…

Kubernetes (K8s) 解读:微服务与容器编排的未来

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🐅🐾猫头虎建议程序员必备技术栈一览表📖: 🛠️ 全栈技术 Full Stack: &#x1f4da…

怎样做思维导图?教你这样轻松制作

怎样做思维导图?思维导图是一种非常有用的工具,它可以帮助你更好地组织和展示你的想法。无论是个人使用还是团队协作,思维导图都是一个非常好的选择。在制作思维导图时,有很多工具可以使用,那么今天就给大家来介绍一下…

JVM的双亲委派模型

定义与本质: 类加载器用来把类文件加载到JVM内存中。从JDK1.2开始,类加载过程采用双亲委派模型,保证Java平台安全。 父类委托的定义: 一个类加载器在接到加载类请求的时候,首先不会去加载这个类,而是把这个…

基于SSM的毕业论文管理系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

Python基础: with模式和__enter__ 和 __exit__

一、说明 有一些任务,可能事先需要设置,事后做清理工作。 with方法就是python的非常酷的语句,安全可靠,方便。我们自己的类如何具备with的能力?必须拥有__enter__()方法,另一个__exit__(),因此&#xff0c…