《ChatGPT原理最佳解释,从根上理解ChatGPT》
【热点】
2022年11月30日,OpenAI发布ChatGPT(全名:Chat Generative Pre-trained Transformer), 即聊天机器人程序 ,开启AIGC的研究热潮。
ChatGPT是人工智能技术驱动的自然语言处理工具,它能够基于在预训练阶段所见的模式和统计规律,来生成回答,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文 等任务。
自从ChatGPT发布以后,大家对其的探索就从未停脚步,在这半年的时间里,其引发的关注、产生的影响、改变的方式,已经深深震撼广大的信息技术从业者,甚至有人提出了信息技术革命已经到来。
各目前,行各业已经开始思考如何在这“浪潮”之中让自己处于不败之地,毕竟ChatGPT已经开始改变人们的工作和思考的方式了。当然了,要利用好它就得充分了解和认识它,从现在从未来的角度来认识这个绝佳的“帮手”,纵观整个学术界和工业级对它的解释,讲解原理最为透彻的出版丛书就属于斯蒂芬·沃尔弗拉姆的《这就是ChatGPT》了。

【发展】
从最早的统计机器学习开始,我们走过了漫长的岁月。
过去十年多的时间,基于机器学习和深度学习打造的最强的工具就属于ChatGPT了,属于成功者中的“别人家的孩子”。许多学者觉得ChatGPT的成功不仅仅是因为其提供了一个聊天工具那么简单,更重要的是这个理论的成功,只要理论这条道路走得通,剩余的也就是脑指挥手的事情了。
对于这个高智能的系统来说,有时候在一些场景下的结果是令人不满意的,甚至会在简单的一些任务场景下进行“胡言乱语”,但我们知道这个大模型存在着巨大的潜力,随着新版的ChatGPT的迭代,那些明显的错误也就随着消失,但这并不意味着我们对“模型微调”将成为LLM大模型的主流之路,而应该将更多的工作放在了通用型人工智能(AGIC)的发展上。

回想起人工智能近些年的发展:
(1)1950年,图灵发表了论文《计算机器与智能》(Computing Machinery and Intelligence),提到了著名的“图灵测试”。
(2)2006年,深度学习概念被杰弗里·辛顿正式提,因此2006年被称为深度学习元年。
(3)2016年3月,AlphaGo战胜了韩国围棋选手李世石。
(4)2018年,OpenAI发布了GPT-1。
(5)2020年6月,OpenAI发布了GPT-3。
(6)2022年11月,OpenAI发布了ChatGPT3.5。
(7)2023年4月,OpenAI发布了ChatGPT4,进一步提升模型参数量。
这些标志性的事件无一在说明,人工智能的发展是多么的迅速,迅速是因为需求驱动。另外,这种迅速是建立在人们对于大模型真的可以带来变革的信心之上。
ChatGPT迅速走红之后,国内外的企业纷纷跟进,微软、腾讯、阿里、华为、百度都发布了自己的大模型,一些大模型也都给了试用的网址,走在最前方的清华大学的ChatGLM2-6B模型已经开源,真勇气也。
【解释】
在各方的报道之中,我们大体知道ChatGPT 的工作原理是基于自然语言处理技术,通过学习大量的人类对话和文本数据,从而掌握语言的语法、语义和上下文信息。在 ChatGPT 中,对话生成模型使用了基于GPT的指令微调技术,这是一种特殊的训练技术,能够使人工智能更好地理解人类的指令和意图。
微调技术是一种基于人类反馈的强化学习技术,它通过不断地接收人类的反馈,从而不断地优化模型的生成结果。在ChatGPT 中,当用户提出一个问题时,ChatGPT 会根据问题生成一个回答,然后根据用户的反馈进行调整,不断地提高回答的质量。
ChatGPT 还使用了基于人类反馈的强化学习技术(RLHF),这是一种能够让人工智能更好地理解人类意图的技术。通过 RLHF 技术,ChatGPT 能够学习到人类的喜好和厌恶,从而生成更符合人类需求的回答。
这些解释过于学术了,好在现在这本书《这就是ChatGPT》可以快速帮助我们了解ChatGPT的全貌,我们来看这本数的目录部分:
全书内容分为两大章:
(1)第一章从原理上对ChatGPT要使用到的相关技术进行讲解,如神经网络技术,词嵌入的原理等等。基于这些理论的解释和补充作者在最后总结出基于ChatGPT能够做啥,能为我们的生活和工作带来什么样的变化。
(2)第二章作者为ChatGPT赋予了思想,在Wolfram|Alpha的加持下,Wolfram|Alpha利用其自然语言理解能力转换为精确的 Wolfram语言,基于此形式的表示,为ChatGPT赋予计算超能力,可谓是大胆实践的先驱啊。另外本章节最后使用一些实例来让读者感受ChatGPT的魅力所在。
【未来】
这本书更多的是在介绍ChatGPT的原理部分,对于如何使用ChatGPT去进行二次开发没有过多的涉及,另外比较火热的模型微调也没有进行讲述,可能作者是为了留给读者自己进行学习和研究吧。虽然有一些内容这本书没有涉及,但是也不影响这本书作为解释ChatGPT相关知识的全面性和优势性质。
目前各大公司都在基于大模型LLM进行公司内部的开发,试图在内部原有系统上进行功能增广,提升员工工作效能。尤其ChatGLM-6B模型的开源之后,基于大模型来进行自己业务场景的搭建以及构建自身知识库对模型进行微调的工作将变得越来越多。
相信未来LLM,AIGC等的发展会为我们的工作、生活带来巨大的变化。
相关文章:
《ChatGPT原理最佳解释,从根上理解ChatGPT》
【热点】 2022年11月30日,OpenAI发布ChatGPT(全名:Chat Generative Pre-trained Transformer), 即聊天机器人程序 ,开启AIGC的研究热潮。 ChatGPT是人工智能技术驱动的自然语言处理工具,它能够…...
大数据Flink(五十):流式计算简介
文章目录 流式计算简介 一、数据的时效性 二、流式计算和批量计算...
13-4_Qt 5.9 C++开发指南_基于QWaitCondition 的线程同步_Wait
在多线程的程序中,多个线程之间的同步实际上就是它们之间的协调问题。例如上一小节讲到的3个线程的例子中,假设 threadDAQ 写满一个缓冲区之后,threadShow 和 threadSaveFile 才能对缓冲区进行读操作。前面采用的互斥量和基于 OReadWriteLock…...
STM32(HAL)多串口进行重定向(printf函数发送数据)
目录 1、简介 2.1 基础配置 2.1.1 SYS配置 2.1.2 RCC配置 2.2 串口外设配置 2.3 项目生成 3、KEIL端程序整合 4、效果测试 1、简介 在HAL库中,常用的printf函数是无法使用的。本文通过重映射实现在HAL库多个串口可进行类似printf函数的操作。 2.1 基础配置 2.…...
29_互联网(The Internet)(IP数据包;UDP;TCP;DNS;OSI)
上篇介绍了计算机网络的基础知识,也提到互联网(The Internet),本篇将会详细介绍互联网(The Internet)。 文章目录 1. 互联网(The Internet)组成及数据包传输过程2. IP 数据包的不足3…...
xShell常用命令
xShell常用命令 一、文件夹目录1、cd-更改目录2、mkdir-建立目录3、rm-删除目录4、pwd-查看当前路径5、rmdir-删除空目录 二、文件操作1、cat-显示文件内容2、diff-比较文件内容3、查看文件的名字和后缀4、ls-列出文件5、cp-复制文件6、mv-移动和重命名文件找不同:选…...
React性能优化之Memo、useMemo
文章目录 React.memo两种方式参数应用场景 拓展useMemouseMemo(calculateValue, dependencies) 参考资料 React.memo React 的渲染机制,组件内部的 state 或者 props 一旦发生修改,整个组件树都会被重新渲染一次,即时子组件的参数没有被修改&…...
IDEA开启并配置services窗口
前言: 一般一个spring cloud项目中大大小小存在几个十几个module编写具体的微服务项目。此时,如果要调试测需要依次启动各个项目比较麻烦。 方法一: 默认第一次打开项目的时候,idea会提示是否增加这个选项卡,如果你没…...
vue2企业级项目(三)
vue2企业级项目(三) 引入mockjs,i18n 1、mockjs 项目下载依赖 npm install --save-dev mock根目录创建mock文件夹,并创建mock/index.js import Mock from "mockjs";// 设置全局延时 没有延时的话有时候会检测不到数据…...
QT 在label上透明绘图
一、新建TransparentDemo工程 二、在界面上添加label,修改样式表,将底色置为红色,作为北京 三、新建一个TransparentLabel类,继承自QLabel 此时,工程包括文件 五、在transparentlabel.h中添加 头文件 #include …...
SAM(Segment Anything)大模型论文汇总
A Comprehensive Survey on Segment Anything Model for Vision and Beyond 论文:https://arxiv.org/abs/2305.08196 25页综述,198篇参考文献!52个开源项目!本文第一个全面回顾了分割一切模型(SAM)的研究和应用进展,…...
金融翻译难吗,如何做好金融翻译?
我们知道,金融翻译涉及企业经济这块的,是影响各公司发展很重要的一方面,翻译做得好,可以促进公司内外的交流,及时掌握各种信息,做好应对。那么,金融翻译难吗,如何做好金融翻译&#…...
Java面试题(Tomcat与Nginx)
Tomcat 什么是Tomcat? 简单来说是一个运行Java的网络服务器,也是jsp和serlvet的一个容器 Tomcat的缺省端口是多少,怎么修改? conf文件夹下修改server.xml文件 <Connector connectionTimeout"20000" port"8080" p…...
React-使用mobx
React 中使用 mobx 配置开发环境 安装mobx和中间件工具 mobx-react-lite 只能函数组件中使用 yarn add mobx mobx-react-lite初始化 mobx 定义数据状态 state在构造器中实现数据响应式处理 makeAutoObservble定义修改数据的函数 action实例化 store 并导出 import { compute…...
LeetCode ACM模式——哈希表篇(一)
刷题顺序及部分思路来源于代码随想录,网站地址:https://programmercarl.com 部分思路来源于力扣官方题解,作者主页:https://leetcode.cn/u/leetcode-solution/ 242. 有效的字母异位词 给定两个字符串 s 和 t ,编写一个…...
WPF实战学习笔记31-登录界面全局通知
UI添加消息聚合器 <md:Snackbarx:Name"LoginSnakeBar"Grid.ColumnSpan"2"Panel.ZIndex"1"MessageQueue"{md:MessageQueue}" />注册提示消息 文件:Mytodo.Views.LoginView.cs构造函数添加内容 //注册提示消息 aggre…...
通用商城项目(中)
金山编译器出问题了。下面段落标号全出问题了,排版也出问题了。懒得改了。 使用对象存储OSS,保存品牌logo 新建Module,提供上传、显示服务 有些不明所以的,按照steinliving-commodity配置了一通pom.xml 新建application.yml&…...
谨慎使用JSON.stringify
谨慎使用JSON.stringify 为了避免因为对象是引用类型而造成的数据源污染,我们通常使用 JSON.stringify 将其转换为字符串,而后通过JSON.parse方法将字符串转化一个新对象来实现深拷贝。但是在这个过程中也会存在一些问题,本文就介绍一下使用…...
驱动开发day8
编写LED灯的驱动,使用GPIO子系统,里面添加按键的中断处理 1.应用程序发送指令控制LED亮灭 2.按键1 按下,led1电位反转 按键2按下,led2电位反转 按键3 按下,led3电位反转 驱动程序 #include <linux/init.h> #i…...
CAS 机制
问题分析与思考: CAS 是 Java 中 Unsafe 类里面的方法,它的全称是 CompareAndSwap,比较并交换 的意思。 它的主要功能是能够保证在多线程环境下,对于共享变量的修改的原子性。 举个例子,比如说有这样一个场景ÿ…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
华为OD机试-最短木板长度-二分法(A卷,100分)
此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...
如何配置一个sql server使得其它用户可以通过excel odbc获取数据
要让其他用户通过 Excel 使用 ODBC 连接到 SQL Server 获取数据,你需要完成以下配置步骤: ✅ 一、在 SQL Server 端配置(服务器设置) 1. 启用 TCP/IP 协议 打开 “SQL Server 配置管理器”。导航到:SQL Server 网络配…...
前端高频面试题2:浏览器/计算机网络
本专栏相关链接 前端高频面试题1:HTML/CSS 前端高频面试题2:浏览器/计算机网络 前端高频面试题3:JavaScript 1.什么是强缓存、协商缓存? 强缓存: 当浏览器请求资源时,首先检查本地缓存是否命中。如果命…...
