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

ChatGPT概述:从模型训练到基本应用的介绍

ChatGPT概述:从模型训练到基本应用的介绍


目录

本文是对ChatGPT的由来、训练过程以及实际落地场景的解释,主要内容包括如下三个方面:

1、ChatGPT是什么
2、ChatGPT的原理
3、ChatGPT的思考
4、ChatGPT的应用

在这里插入图片描述

ChatGPT是什么

ChatGPT可能是近期深度学习领域,讨论非常频繁的一个概念。但ChatGPT到底是一个什么,怎么给出一个定义呢。可以看下ChatGPT对自己的定义,如下图:

img1

从定义以及我们使用过程中的感受,可以得到如下的结论:

  • ChatGPT是一个语言模型
    • 了解人类偏好的语言模型
    • 是一个大规模预训练的模型
    • 表现形式是具备高智能的对话能力

对此,新华社也给出了“新一代操作系统平台的雏形的”评价,可见ChatGPT的横空出世确实带来了一些改变。

模型具有对话能力不是很新奇的事,之前腾讯的混元、百度的ERNIE等大模型都具备对话能力,让ChatGPT出圈并持续火爆的是ChatGPT在如下的测试中也取得了让人惊讶的成绩:

img2

上述的测试不是简单的对话能够解决的,但ChatGPT同样表现得非常出彩,那为什么ChatGPT能够这么优秀?

ChatGPT的原理

过往大模型的发展方向,不外乎:更多的数据、更大的模型结构、更精细的处理方式以及更统一的输入输出等等。但这样训练的大模型,更像是一个图书馆,或者搜索引擎,只具备知识的储存能力和简单的检索能力。

我们以“女朋友生气了怎么办”这个问题为例,过往大模型从网络数据中经过预训练,得到许许多多的答案:你也生气;讲道理;沉默是金;快速认错……但具体哪个答案更符合人类的偏好和认知,模型是不知道的,模型只能根据网络上答案给出反馈。

但可能上述的答案上下文是故意作答、心理测试题、乱写等等情况下的答案,但这些过往的大模型是不知道的。

所以历史的大模型,在训练和使用阶段是没有人工参与的,没有学习到人类的认知和偏好:仅仅是历史数据(网络数据)是存储和检索。

img3

ChatGPT出世前,OpenAI已经进行了一系列的探索,包括生成代码的codex系列和text-davinci系列。这一系列模型的探索过程,构成了指示学习,和RLHF学习方式叠加后,ChatGPT模型才终于横空出世。

监督学习+人工反馈+强化学习 -> ChatGPT

img4

从OpenAI的官方博客,可以看出InstrctGPT和ChatGPT的训练过程如下,存在的差异非常细微:

  • 训练数据上的差异
  • base模型的差异

img5

整体的训练思路,InstrctGPT和ChatGPT是相同的,均包括三个步骤:

  1. 微调模型:监督学习下的微调,通过收集问题后,进行人工答案的书写,来微调GPT基模型,得到SFT模型
  2. 模型模型:在微调的基础上,通过模型对同一个问题产出不同答案,人工标注答案之间的优劣排序,得到RM模型
  3. RLHF:在SFT模型和RM模型的辅助下,通过强化学习的PPO策略,最终得到终极模型ChatGPT/InstrctGPT

微调

在这里插入图片描述

训练过程的第一步:微调。问题来源于早起的Platground的API,人工对问题进行答案的生成。和其他大模型的微调过程是一样的。

这一步的目的是得到后续优化的基模型,以及在强化学习过程中,提供损失函数的约束。

img6

反馈模型

在这里插入图片描述

训练过程第二步:RM模型。在已经微调的SFT模型上,通过同一个问题的不同输出,进行人工优劣得分的标注,生成对应的序列。

例如对于问题P,得到的答案为A、B、C和D,人工对答案进行排序为:D>C>B=A,通过模型学习人工排序的结果。也就是让模型模仿人类排序的过程:对SFT模型的输出能够给出优劣的判断。

GPT是字粒度的输出,输出过程的每一步都是在概率分布上的采样,因此,同一个问题多次输入后,会得到不同的输出

img7

RLHF

在这里插入图片描述

训练过程第三部:PPO策略的强化学习。在已有的SFT模型和RM模型上,结合PPO策略的强化学习,获得最终的ChatGPT/InstrctGPT。该步的大概流程如下:

  1. 输入问题后,目标模型(以SFT模型初始化获取)得到答案
  2. 将问题和答案输入RM模型中,得到该答案的得分
  3. 将该答案通过PPO策略,反馈给目标模型
  4. 进行模型的更新

通过损失函数可以看出,在实际的训练过程中,RM模型和最终的目标模型,均存在参数的更新

img8

上面的三个步骤,就是InstrctGPT/ChatGPT的大概训练流程。总结起来就是下图:

img9

ChatGPT的思考

在这里插入图片描述

将人类的偏好和认知引入模型训练,并不是ChatGPT或者OpenAI的首创,在2020年一篇做摘要的论文就提出了该思想。只能说是OpenAI的“钞能力”将该方法发扬光大了。

针对ChatGPT,目前其在聊天、翻译、脚本、代码、文案……等诸多领域已经崭露头角了,在ChatGPT表现其“无所不能”的同时,我们也可以考虑下其目前存在的问题有哪些呢。

img10

目前来说,

  • ChatGPT的准确性已经非常高,但对于特定问题可能在一本正经的胡说八道,当然目前其不具备联网更新能力,训练语料为2021年之前的,最新的知识可能更新是一方面的问题;
  • 关于逻辑性和数据的偏见,是目前大模型普遍存在的问题,期待后续模型能够在这方面带来惊艳的表现
  • 资源是限制ChatGPT普适性推广的核心关键,其训练数据规模、推理依赖的资源,都是海量的,在这些成本没有降低前,大模型应该还仅仅是固定厂商的利器。
    在这里插入图片描述

ChatGPT的应用

随着ChatGPT的爆火,也带来了一些实际的落地应用,例如下面的几个应用,都是非常有意思的:

  • 对话式PDF阅读助手:通过上传文档,然后对话沟通的方式,获取论文、文献的内容要点
  • AI PPT生成:ChatGPT和AIGC结合产生的质变
  • 写作:写故事、写文案、写小说、写PPT,只要是文字范围的,一切皆有可能
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

总的来说,期待ChatGPT后续的表现。

相关文章:

ChatGPT概述:从模型训练到基本应用的介绍

ChatGPT概述:从模型训练到基本应用的介绍 目录 本文是对ChatGPT的由来、训练过程以及实际落地场景的解释,主要内容包括如下三个方面: 1、ChatGPT是什么 2、ChatGPT的原理 3、ChatGPT的思考 4、ChatGPT的应用 ChatGPT是什么 ChatGPT可能是近…...

C语言实现扫雷【详细讲解+全部源码】

扫雷的实现1. 配置运行环境2. 扫雷游戏的初步实现2.1 建立扫雷分布模块2.2 创建名为board的二维数组并进行棋盘初始化2.3 打印棋盘3. 接下来该讨论的事情3.1 布置雷3.2 排查雷3.3 统计坐标周围有几个雷4. 完整扫雷游戏的实现4.1 game.h4.2 game.c4.3 扫雷.c1. 配置运行环境 本游…...

Vue2.0开发之——购物车案例-Goods组件封装-商品名称和图片(46)

一 概述 循环渲染Goods组件为Goods组件封装title属性为Goods组件封装pic属性 二 循环渲染Goods组件 2.1 App.vue中导入Goods组件 import Goods from /components/Goods/Goods.vue2.2 App.vue中注册Goods组件 components: {Header,Goods}2.3 循环渲染每一个商品的信息 <…...

0201基础-组件-React

1 组件和模块 1.1 模块 对外提供特定功能的js程序&#xff0c;一般就是一个js文件 为什么拆分模块呢&#xff1f;随着业务逻辑增加&#xff0c;代码越来越多&#xff0c;越来越复杂。作用&#xff1a;复用js&#xff0c;简化js&#xff0c;提高js运行效率 1.2 模块化 当应用…...

论文笔记 | Conducting research in marketing with quasi-experiments

这篇论文是Journal of Marketing上的论文&#xff0c;讲了使用准实验来进行论文研究的一些事项。外生性识别的来源、几种准实验方法的注意点还有内生性的解决。 这篇论文对于准实验或者是平常论文的展开有一个非常友善的指导功能&#xff0c;可以阅读~ 摘要&#xff1a;本文旨…...

有关Android导览(Android Navigation component)

文章目录小结有关Android导览(Android Navigation component)碰到的问题参考小结 在使用Android导览(Android Navigation component)碰到很多问题。解决了一些问题&#xff0c;但是“Skipped xxx frames! The application may be doing too much work on its main thread”这样…...

01 C语言计算

C语言计算 1、变量 用途&#xff1a;需要存放输入的数据 定义格式&#xff1a;数据类型 变量名&#xff08;用于区分其他变量&#xff09; 变量名格式&#xff1a;只能由字母/下划线/数字构成&#xff0c;首位不能是数字&#xff1b;且变量名不能是标识符 **变量赋值和初始…...

java单元测试简介(基于SpringBoot)

java单元测试简介&#xff08;基于SpringBoot&#xff09;mockitomock创建mock对象的另一种方式&#xff1a;Mockverifystubbing(存根)Spy&#xff08;间谍&#xff09;mock 静态方法mockito在springboot mock中的实战mockito 通常&#xff0c;在我们写单测时&#xff0c;会遇…...

Linux常用命令操作

文件目录操作 查看文件列表 ls #输出列表信息 ls -l #输出详细列表信息 ls -a #输出隐藏文件 ls -la #输出包含的隐藏文件及详细信息 ll # ls-l的缩写rwx分别对应读取&#xff0c;写入&#xff0c;执行权限&#xff0c;前面有d代表是文件夹 创建文件 touch file.txt #创建…...

SpringCloud GateWay配置—TLS 和 SSL、Http超时配置

一、TLS 和 SSL网关可以按照通常的 Spring 服务器配置侦听 HTTPS 上的请求。 以下示例演示如何执行此操作&#xff1a;application.ymlserver:ssl:enabled: truekey-alias: scgkey-store-password: scg1234key-store: classpath:scg-keystore.p12key-store-type: PKCS12您可以将…...

python Django中的cookies和session会话保持技术

cookies和session都是为了保持会话状态而诞生的两个存储技术会话定义&#xff1a; 从打开浏览器访问一个网站&#xff0c;到关闭浏览器结束此次访问&#xff0c;称之为一次会话HTTP协议是无状态的&#xff0c;导致会话状态难以保持Cookies-定义 cookies是保存在客户端浏览器上的…...

vue3的v-model指令

1. 普通input输入框双向绑定 <template><!-- 1. 普通input输入框双向绑定 --><!-- 其实等价于&#xff1a;<input :modelValue"title" update:modelValue"newTitle>titlenewTitle"/> --><input type"text" v-mod…...

Matlab小波去噪——基于wden函数的去噪分析

文章目录一、问题描述二、代码问题1&#xff1a;原始信号加6分贝高斯白噪声问题2&#xff1a;确定合适的小波基函数问题3&#xff1a;确定最合适的阈值计算估计方法问题4&#xff1a;确定合适的分解层数问题5&#xff1a;实际信号去噪问题6&#xff1a;对比三、演示视频最后一、…...

分布式对象存储——Apache Hadoop Ozone

前言 本文隶属于专栏《大数据技术体系》&#xff0c;该专栏为笔者原创&#xff0c;引用请注明来源&#xff0c;不足和错误之处请在评论区帮忙指出&#xff0c;谢谢&#xff01; 本专栏目录结构和参考文献请见大数据技术体系 1. 概述 Ozone是Apache Hadoop项目的子项目&#xf…...

Linux 和数据库笔记-03

今天主要内容数据库相关介绍数据库(软件)常见类型Navicat 工具基本使用常见的数据类型和约束(重点)SQL 语句的编写(表和数据)一. 数据库是什么?为什么学习数据库软件中产生的所有数据, 最终都要存储于数据库当中测试人员如果想要进行数据查询/数据校验, 就必须掌握对数据库的基…...

布尔定律---布尔代数的基本定律

一、单变量布尔定律 1、0-1定律 2、互补定律 3、重叠定律 4、还原定律 小结&#xff1a;或运算和与运算定律的差别在于&#xff1a;所有的“|”运算符换成“&”&#xff0c;运算结果为 0 换成 1。这就是对偶定律。它不仅是单逻辑变量的定律&#xff0c;而且对于所有布尔定…...

OSG三维渲染引擎编程学习之七十五:“第七章:OSG场景图形交互” 之 “7.6 多视图”

目录 第七章 OSG场景图形交互 7.6 多视图 7.6.1 多视图描述 7.6.2 多视图相机示例 第七章 OSG场景图形交互 作为一个成熟的三维渲染引擎,需...

【计算机】单位制前缀的歧义-KB、kb、MB混用

引言 经常遇到容量、带宽的单位&#xff0c;MB&#xff0c;GB在进行单位换算时&#xff0c;总是傻傻分不清&#xff0c;查些资料浅记录一下。 公制&#xff08;metric system&#xff09; 又译米制&#xff0c;是一个国际化十进位量度系统。法国在1799年开始使用公制&#xf…...

nodejs调用浏览器打开URL链接

本文主要介绍的是node.js调用Chrome浏览器/默认浏览器打开链接地址的相关内容&#xff0c;分享出来供大家参考学习&#xff0c;下面来一起看看详细的介绍&#xff1a; 安装第三方插件open 通过open模块&#xff0c;可以在任何平台上打开某个浏览器网址。 通过NPM安装 npm i…...

ARM uboot 的移植2-从三星官方 uboot 开始移植

一、inand 驱动问题的解决 1、先从现象出发定位问题 (1) 解决问题的第一步&#xff0c;是定位问题。所谓定位问题&#xff0c;就是找到源代码当中导致这个问题的那一句或者那几句代码。有时候解决这个问题需要修改的代码和直接导致这个问题的代码是不同的。我们这里说的定位问…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

镜像里切换为普通用户

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

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...