ChatGPT学习笔记——大模型基础理论体系
1、ChatGPT的背景与意义
近期,ChatGPT表现出了非常惊艳的语言理解、生成、知识推理能力, 它可以极好的理解用户意图,真正做到多轮沟通,并且回答内容完整、重点清晰、有概括、有条理。
ChatGPT 是继数据库和搜索引擎之后的全新一代的 “知识表示和调用方式”如下表所示。
1.1 ChatGPT技术发展历程
从技术角度讲,ChatGPT 是一个聚焦于对话生成的大语言模型,其能够根据用户的文本描述,结合历史对话,产生相应的智能回复。其中 GPT是英文 Generative Pretrained Transformer 的缩写。OpenAI 认为符合人类预期的回复应该具有真实性、无害性和有用性。为了使生成的回复具有以上特征,OpenAI 在 2022 年初发表的工作“Training language models to follow instructions with human feedback”中提到引入人工反馈机制,并使用近端策略梯度算法(PPO)对大模型进行训练。这种基于人工反馈的训练模式能够很大程度上减小大模型生成回复与 人类回复之间的偏差,也使得 ChatGPT 具有良好的表现。
ChatGPT 核心技术主要包括其具有良好的自然语言生成能力的大模型 GPT-3.5 以及训练这 一模型的钥匙——基于人工反馈的强化学习(RLHF)。
除了参数上的增长变化之外,GPT 模型家族的发展从 GPT-3 开始分成了两个技术路径并行发展,一个路径是以 Codex 为代表的代码预训练技****术,另一个路径是以 InstructGPT 为代表的文本指令(Instruction)预训练技术。但这两个技术路径不是始终并行发展的,而是到了一定阶段后(具体时间不详)进入了融合式预训练的过程,并通过指令学习(InstructionTuning)、有监督精调(Supervised Fine-tuning)以及基于人类反馈的强化学习(Reinforcement Learning with Human Feedback,RLHF)等技术实现了以自然语言对话为接口的 ChatGPT 模型。
其中RLHF 这一概念最早是在 2008 年 TAMER:Training an Agent Man�ually via Evaluative Reinforcement一文中被提及的。该文章中指出引入人类进行评价的主要目的是加快模型收敛速度,降低训练成本,优化收敛方向。具体实现上,人类标注人员扮演用户和代理进行对话,产生对话样本并对回复进行排名打分,将更好的结果反馈给模型,让模型从两种反馈模式——人类评价奖励和环境奖励中学习策略,对模型进行持续迭代式微调。
1.2 ChatGPT未来技术发展
(1)模型瘦身:目前主流的模型压缩方法有**量化、剪枝、蒸馏和稀疏化(权重矩阵分解、模型参数共享)**等。量化是指降低模型参数的数值表示精度,比如
从 FP32 降低到 FP16 或者 INT8。剪枝是指合理地利用策略删除神经网络中的部分参数,比如从单个权重到更高粒度组件如权重矩阵到通道,这种方法在视觉领域或其他较小语言模型中比较奏效。蒸馏是指利用一个较小的学生模型去学习较大的老师模型中的重要信息而摒弃一些冗余信息的方法。稀疏化将大量的冗余变量去除,简化模型的同时保留数据中最重要的信息。
(2)减少人类反馈信息的 RLAIF 也是最近被提出的一个全新的观点。2022 年 12 月 Anthropic 公司发表论文“Constitutional AI: Harmlessness from AI Feedback”该文章介绍 了其最新推出的聊天机器人 Claude,与 ChatGPT 类似的是两者均利用强化学习对模型进行训练,而不同点则在于其排序过程使用模型进行数据标注而非人类,即训练一个模型学习人类对于无害性偏好的打分模式并代替人类 对结果进行排序。
1.3 ChatGPT的优势和劣势
1.3.1 优势
相较于普通聊天机器人:(1)强大的底座能力:ChatGPT 基于 GPT-3.5 系列的 Code-davinci-002 指令微调而成。而 GPT-3.5 系列是一系列采用了数千亿的 tok
相关文章:
ChatGPT学习笔记——大模型基础理论体系
1、ChatGPT的背景与意义 近期,ChatGPT表现出了非常惊艳的语言理解、生成、知识推理能力, 它可以极好的理解用户意图,真正做到多轮沟通,并且回答内容完整、重点清晰、有概括、有条理。 ChatGPT 是继数据库和搜索引擎之后的全新一代的 “知识表示和调用方式”如下表所示。 …...
Termius for Mac/Win:一款功能强大的终端模拟器、SSH 和 SFTP 客户端软件
随着远程工作和云技术的普及,对于高效安全的远程访问和管理服务器变得至关重要。Termius,一款强大且易用的终端模拟器、SSH 和 SFTP 客户端软件,正是满足这一需求的理想选择。 Termius 提供了一站式的解决方案,允许用户通过单一平…...
python如何读取被压缩的图像
读取压缩的图像数据: PackBits 压缩介绍: CCITT T.3 压缩介绍: 读取压缩的图像数据: 在做图像处理的时候,平时都是使用 函数io.imread() 或者是 函数cv2.imread( ) 函数来读取图像数据,很少用PIL.Image…...
华为OD机试 - 寻找最优的路测线路(Java JS Python C)
题目描述 评估一个网络的信号质量,其中一个做法是将网络划分为栅格,然后对每个栅格的信号质量计算。 路测的时候,希望选择一条信号最好的路线(彼此相连的栅格集合)进行演示。 现给出 R 行 C 列的整数数组 Cov,每个单元格的数值 S 即为该栅格的信号质量(已归一化,无单…...
互联网演进历程:从“全球等待”到“全球智慧”的技术革新与商业变革
文章目录 一、导言二、World Wide Wait (全球等待)阶段1. 技术角度2. 用户体验3. 企业收益4. 教育影响 三、World Wide Web (万维网)阶段1. 技术角度2. 用户体验3. 企业收益4. 教育影响 四、World Wide Wisdom (全球智慧)阶段1. 技术角度2. 用户体验3. 企业收益4. 教育影响 五、…...
计算机组成原理——总线
总线特点 1.1. 分时:分时是指同一时刻只允许有一个部件向总线发送信息,若系统中有多个部件,则它们只能分时地向总线发生信息。 1.2. 共享:共享是指总线上可以挂接多个部件,各个部件之间互相交换的信息都可以通过这组线…...
2023.12.27 关于 Redis 数据类型 List 常用命令
目录 List 类型基本概念 List 类型特点 List 操作命令 LPUSH LPUSHX RPUSH RPUSHX LRANGE LPOP RPOP LINDEX LINSERT LREM LTRIM LSET 阻塞版本的命令 阻塞版本 和 非阻塞版本的区别 BLPOP & BRPOP List 类型基本概念 Redis 中的列表(list&am…...
【Web】vulhub-httpd apache解析漏洞复现(1)
目录 ①CVE-2017-15715 ②apache_parsing_vulnerability ①CVE-2017-15715 贴出源码: <?php if(isset($_FILES[file])) {$name basename($_POST[name]);$ext pathinfo($name,PATHINFO_EXTENSION);if(in_array($ext, [php, php3, php4, php5, phtml, pht]))…...
市场复盘总结 20240103
仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整 昨日回顾: 方法一:指标选股 select * from dbo.ResultAll where 入选类型 like %指标选股% and 入选日期=20240103;方法二:趋势选股法 1、最低价持续3日上涨 2、均价…...
Java技术栈 —— Redis的雪崩、穿透与击穿
Java技术栈 —— Redis的雪崩、穿透与击穿 〇、实验的先导条件(NginxJmeter)一、Redis缓存雪崩、缓存穿透、缓存击穿1.1 雪崩1.2 穿透1.3 击穿 二、Redis应用场景——高并发2.1 单机部署的高并发问题与解决(JVM级别锁)2.2 集群部署…...
Scala知识点——App类
我们在代码中一般程序都是是通过main方法进入。但是在scala中提供了一个App类,通过继承可以实现不用显式的调用main方法就能运行。 App类中实现了main方法:...
(vue)增加行,对应行删除
(vue)增加行,对应行删除 效果: 代码: <div v-for"(ele,i) of algorithmList" :key"i"><el-form-item label"模型类型"><el-selectv-model"ele.algorithmId"placeholder"选择模…...
案例088:基于微信小程序的校车购票平台设计与实现
文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…...
pytorch集智-1安装与简单使用
1 安装 1.1 简介 pytorch可用gpu加速,也可以不加速。gpu加速是通过cuda来实现,cuda是nvidia推出的一款运算平台,它可以利用gpu提升运算性能。 所以如果要装带加速的pytorch,需要先装cuda,再装pytorch,如…...
『番外篇六』SwiftUI 取得任意视图全局位置的三种方法
概览 在 SwiftUI 开发中,利用描述性代码我们可以很轻松的构建各种丰富多彩的视图。我们可以设置它们的大小、位置、颜色并应用不计其数的修改器。 但是,小伙伴们是否想过在 SwiftUI 中如何获取一个视图的全局位置坐标呢? 在本篇博文中,您将学到如下内容: 概览1. SwiftU…...
Ribbon相关面试及答案(2024)
1、Ribbon是什么,它在微服务架构中扮演什么角色? Ribbon是一个客户端负载均衡器,它在微服务架构中扮演着关键性的角色。Ribbon的设计理念是在客户端进行服务发现和负载均衡,这种方式不同于传统的通过中心化的负载均衡器ÿ…...
【Mybatis】深入学习MyBatis:CRUD操作与动态SQL实战指南
🍎个人博客:个人主页 🏆个人专栏: Mybatis ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 一基本用法 1 CRUD操作 1. 增加(Create) 2. 查询(Read) 3. 更新&#x…...
前端uniapp的tab选项卡for循环切换、开通VIP实战案例【带源码/最新】
目录 效果图图1图2 源码最后 这个案例是uniapp,同样也适用Vue项目,语法一样for循环,点击切换 效果图 图1 图2 源码 直接代码复制查看效果 <template><view class"my-helper-service-pass"><view class"tab…...
【我的RUST库】get_local_info
get_local_info是一个获取linux本地信息的Rust三方库,其目标是降低获取本地linux系统信息的难度。支持银河麒麟10、UOS、鸿蒙等国产系统 项目维护:长期 当前版本0.1.4,已有功能: 1.获取活动网卡信息:网卡࿰…...
【JUC】Synchronized及JVM底层原理
Synchronized使用方式 Synchronized有三种应用方式 作用于实例方法,当前示实例加锁进入同步代码前要获得当前实例的锁,即synchronized普通同步方法,调用指令将会检查方法的ACC_SYNCHRONIZED访问标志是否被设置。 如果设置了,执行…...
用户管理第2节课--idea 2023.2 后端--实现基本数据库操作(操作user表) -- 自动生成 --【本人】
一、插件安装 1.1 搜索插件 mybatis 安装 1.2 接受安装 1.3 再次进入,说明安装好了 1.4 与鱼皮不同点 1)mybatis 版本不一致 鱼皮: 本人: 2)鱼皮需重启安装 本人不需要 1.5 【需完成 三、步骤,再来看】 …...
深入了解隧道代理HTTP的协议与技术细节
隧道代理HTTP,作为一种网络通信的桥梁技术,其背后的协议与技术细节承载着网络世界的无尽奥秘。对于技术人员而言,深入了解这些细节,不仅有助于优化网络性能,还能为网络安全提供坚实的保障。 一、隧道代理HTTP的协议基…...
系统运维-Apache服务的基础安装与使用
Apache:WEB服务器的软件 Apache HTTP是一个模块化的服务器,源于NCSAhttpd服务器,经过多次修改,成为世界使用排名第一的WEB服务器软件。 目录 HTTP HTTPS HTTP 首先安装apache yum install httpd* -y #install http 要有网站首…...
Android 相机库CameraView源码解析 (四) : 带滤镜预览
1. 前言 这段时间,在使用 natario1/CameraView 来实现带滤镜的预览、拍照、录像功能。 由于CameraView封装的比较到位,在项目前期,的确为我们节省了不少时间。 但随着项目持续深入,对于CameraView的使用进入深水区,逐…...
蜥蜴目标检测数据集VOC格式1400张
蜥蜴,一种爬行动物,以其独特的形态和习性,成为了人们关注的焦点。 蜥蜴的外观多样,体型大小不一。它们通常拥有长条的身体、四肢和尾巴,鳞片覆盖全身,这使得它们能够在各种环境中轻松移动。大多数蜥蜴拥有…...
2020年认证杯SPSSPRO杯数学建模C题(第一阶段)抗击疫情,我们能做什么全过程文档及程序
2020年认证杯SPSSPRO杯数学建模 C题 抗击疫情,我们能做什么 原题再现: 2020 年 3 月 12 日,世界卫生组织(WHO)宣布,席卷全球的冠状病毒引发的病毒性肺炎(COVID-19)是一种大流行病。…...
Java技术栈 —— Hadoop入门(一)
Java技术栈 —— Hadoop入门(一) 一、Hadoop第一印象二、安装Hadoop三、Hadoop解析3.1 Hadoop生态介绍3.1.1 MapReduce - 核心组件3.1.2 HDFS - 核心组件3.1.3 YARN - 核心组件3.1.4 其它组件3.1.4.1 HBase3.1.4.2 Hive3.1.4.3 Spark 一、Hadoop第一印象…...
Shell脚本小游戏:石头剪刀布
脚本代码: #!/bin/bash echo "接下来的是石头剪刀布的游戏" echo "定义1:包子;2:剪刀;3:布" echo "------------------------------" NUMecho $[RANDOM%31] #1包子 #2剪刀…...
Windows10系统的音频不可用,使用疑难解答后提示【 一个或多个音频服务未运行】
一、问题描述 打开电脑,发现电脑右下角的音频图标显示为X(即不可用,无法播放声音),使用音频自带的【声音问题疑难解答】(选中音频图标,点击鼠标右键,然后选择“声音问题疑难解答(T)”…...
Unity | 渡鸦避难所-5 | 角色和摄像机之间的遮挡物半透明
1 前言 角色在地图上移动到岩石后面时,完全被岩石遮挡,玩家只能看到岩石。这逻辑看起来没问题,但并不是玩家想要看到的画面,玩家更希望关注角色的状态 为了避免角色被遮挡,可以使用 Cinemachine Collider 功能&#x…...
网站建设 建站知识/免费关键词搜索工具
生成器表达式的内存效率更高,因为您不必创建额外的列表. 创建一个列表并获得它的长度(后者是一个非常快的O(1)操作)似乎比创建一个生成器和为相对较小的列表添加n更快. In [13]: x [1] In [14]: timeit len([i for i in x if 60 < i < 70]) 10000000 loops, best of 3: …...
江西赣州网站建设/搜索网站哪个好
参考:http://www.mamicode.com/info-detail-1705113.html 先声明,热更新词库,需要用到,web项目和Tomcat。不会的,请移步 Eclipse下Maven新建项目、自动打依赖jar包(包含普通项目和Web项目) Tomc…...
沟通交流型网站广告如何做/软件开发流程
压缩和解压(针对tar、gzip、zip三种压缩格式) tar命令 主要针对.tar和.gz格式压缩文件。 前者称之为tarball,归档文件,将文件组装到.tar文件,并没有体积的减少,只是简单的封装。后者为gzip压缩文件&…...
免费b站推广网站不用下载/镇江seo
本文将解释在 .NET 技术栈中各种不同使用方式下 N E T 三个字母何时大写何时小写;前面的 “.” 什么时候加上,什么时候去掉,什么时候又使用 “dot”。 .NET 在技术文档中 如果你阅读过 https://docs.microsoft.com/zh-cn/dotnet/ 中的多数 .N…...
水果网站建设策划书/关键词seo排名怎么选
Vector中的resize()与reserve()的区别 我用的是VS2013编译器首先申明resize()和reserve()这两个成员函数都是Vector的公有成员函数(public member function)一、先了解vector容器的基本构成: 1.首先明白vector是一种顺序容器(申请的内部空间…...
广西网站建设智能优化/红河网站建设
简单地说,先测量得到要处理的元件的焊盘中心间距,然后打开Shape -> Global Dynamic Params -> Void Controls选项卡,Create pin voids选择In-line,Distance between pins设置的比焊盘中心间距稍微大一些,另外在T…...