当前位置: 首页 > news >正文

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

文章目录

  • 写在前面
  • 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原理与实战》!

在这里插入图片描述

相关文章:

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

文章目录 写在前面1.Tansformer架构模型2.ChatGPT原理3.提示学习与大模型能力的涌现3.1 提示学习3.2 上下文学习3.3 思维链 4.行业参考建议4.1 拥抱变化4.2 定位清晰4.3 合规可控4.4 经验沉淀 写在前面 2022年11月30日,ChatGPT模型问世后,立刻在全球范围…...

CPP-Templates-2nd--第十九章 萃取的实现 19.7---

目录 19.7 其它的萃取技术 19.7.1 If-Then-Else 19.7.2 探测不抛出异常的操作 19.7.3 萃取的便捷性(Traits Convenience) 别名模板和萃取(Alias Templates And Traits) 变量模板和萃取(Variable Templates and Traits&…...

python 采用selenium+cookies 获取登录后的网页

百度网页由于需要登陆手机短信验证。比较麻烦 这里我采用先人工登录百度账号,然后将百度账号的相关cookies保存下来 然后采用selenium动态登录网页 整体代码如下 from selenium import webdriverimport timeoptions webdriver.ChromeOptions()options.add_argu…...

【测试开发】答疑篇 · 什么是软件测试

【测试开发】答疑篇 文章目录 【测试开发】答疑篇1. 生活中的测试2. 什么是软件测试3. 为什么要有测试/没有测试行不行4. 软件测试和软件开发的区别5. 软件测试和软件调试之间的区别6. 软件测试的岗位7. 优秀测试人员具备的素质 【测试开发】答疑篇 软件不一定是桌面应用&#…...

深入解析顺序表:揭开数据结构的奥秘,掌握顺序表的精髓

💓 博客主页:江池俊的博客⏩ 收录专栏:数据结构探索👉专栏推荐:✅C语言初阶之路 ✅C语言进阶之路💻代码仓库:江池俊的代码仓库🔥编译环境:Visual Studio 2022&#x1f38…...

数据风险量化评估方案

一、企业面临数据安全的痛点 1、企业缺少清晰的数据安全意识 各部门重视度不够,缺少主动数据安全管控意识。数据安全管控架构不清晰,职责划分不明确。对数据安全管控认识不全面、不深刻。工作人员对于所持有的数据缺乏概念,导致数据的价值无…...

EasyAVFilter代码示例之将视频点播文件转码成HLS(m3u8+ts)视频点播格式

以下是一套完整的视频点播功能开发源码,就简简单单几行代码,就可以完成原来ffmpeg很复杂的视频点播转码调用流程,而且还可以集成在自己的应用程序中调用,例如java、php、cgo、c、nodejs,不需要再单独一个ffmpeg的进程来…...

day-50 代码随想录算法训练营(19)动态规划 part 11

123.买卖股票的最佳时机||| 分析:只能买卖两次,就是说有五个状态: 没有买过第一次买入第一次卖出第二次买入第二次卖出 思路:二维数组,记录五个状态 1.dp存储:dp[i][1] 第一次买入 dp[i][2] 第一次卖…...

自定义权限指令与防止连点指令

1.权限指令 // 注册一个全局自定义权限指令 v-permission Vue.directive(permission, {inserted: function(el, binding, vnode) {const {value} binding; // 指令传的值// user:edit:phone,sysData:sampleconst permissions [user:edit:address, sysData:entrust, sysData:…...

UE5、CesiumForUnreal实现瓦片坐标信息图层效果

文章目录 1.实现目标2.实现过程2.1 原理简介2.2 cesium-native改造2.3 CesiumForUnreal改造2.4 运行测试3.参考资料1.实现目标 参考CesiumJs的TileCoordinatesImageryProvider,在CesiumForUnreal中也实现瓦片坐标信息图层的效果,便于后面在调试地形和影像瓦片的加载调度等过…...

PostgreSQL执行计划

1. EXPLAIN命令 1)PostgreSQL中EXPLAIN命令的语法格式: postgres# \h explain Command: EXPLAIN Description: show the execution plan of a statement Syntax: EXPLAIN [ ( option [, ...] ) ] statement EXPLAIN [ ANALYZE ] [ VERBOSE ] statementwhere option can be…...

【2023 睿思芯科 笔试题】~ 题目及参考答案

文章目录 1. 题目 & 答案单选题编程题问题1:解析1:问题2:解析2: 声明 名称如标题所示,希望大家正确食用(点赞转发评论) 本次笔试题以两种形式考察的,分别是:选择题&a…...

Java手写AVL树

Java手写AVL树 1. AVL树实现思路原理 为了解释AVL树的实现思路原理,下面使用Mermanid代码表示该算法的思维导图: #mermaid-svg-ycH8kKpzVk2HWEby {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid…...

运维自动化:提高效率的秘诀

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...

C++设计模式_05_Observer 观察者模式

接上篇,本篇将会介绍C设计模式中的Observer 观察者模式,和前2篇模板方法Template Method及Strategy 策略模式一样,仍属于“组件协作”模式。Observer 在某些领域也叫做 Event 。 文章目录 1. 动机( Motivation)2. 代码…...

github网站打不开,hosts文件配置

首先获取github官网的ip地址, 打开cmd,输入ping github.com 配置: #github 140.82.114.4 github.com 199.232.69.194 github.global.ssl.fastly.net 185.199.108.153 assets-cdn.github.com 185.199.110.153 assets-cdn.github.com 185.199…...

总结PCB设计的经验

一般PCB基本设计流程如下:前期准备->PCB结构设计->PCB布局->布线->布线优化和丝印->网络和DRC检查和结构检查->制版。: :   第一:前期准备。这包括准备元件库和原理图。“工欲善其事,必先利其器”,要做出一…...

HCIE-HCS规划设计搭建

1、相关术语 1、等价路由 等价路由(Equal-cost routing)是一种网络路由策略,用于在网络中选择多个具有相同路由度量(路由距离或成本)的最佳路径之一来转发数据流量。 当存在多个路径具有相同的路由度量时,…...

c语言输出杨辉三角

#include<stdio.h> int main() {int x 0; //表示杨辉三角的的大小int y 1;printf("请输入x的值: ");scanf("%d", &x);for (int i 0; i < x; i) {for (int j 0; j < i; j) {if (j 0 || i 0) {y 1;}else {y y * (i - j 1) / j;}pri…...

性能测试-持续测试及性能测试建设(22)

什么是持续测试? 持续测试定义为:在软件交付流水线中执行自动化测试的过程,目的是获得关于预发布软件业务风险的即时反馈。 完成持续测试,我们还是需要回到定义中,它有3个关键词:软件交付流水线、自动化测试、即时反馈。 首先,持续测试需要具备一条完整的流水线,其代表…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...