[ai笔记12] chatGPT技术体系梳理+本质探寻
欢迎来到文思源想的ai空间,这是技术老兵重学ai以及成长思考的第12篇分享!
这周时间看了两本书,一本是大神斯蒂芬·沃尔弗拉姆学的《这就是ChatGPT》,另外一本则是腾讯云生态解决方案高级架构师宋立恒所写的《AI制胜机器学习极简入门》,收获还是很大的。
《这就是chatGPT》反复看了三次,才算是理解到了大神的一些想法,但是感觉很值得,它从第一性原理的角度,解释了如今chatGPT本质的一些工作原理,个人感觉对于ai的概念,没有那么陌生了,或者说因为了解到一些本质更有自信。其实看完书,有点懊恼,感觉好歹大学习和研究生期间,机器视觉、人工网络这些都是我的专业必修课,如今随着工作性质,都还回去,有点遗憾。
《AI制胜机器学习极简入门》则是为了弄懂《这就是chatGPT》的一些概念,我自己额外看的一本书,书中前面两张的概览还是作用挺大的,它清晰的对于机器学习的结构、总体思路做了一些梳理,也从作者工作实践的角度提出了对待这些算法、工具的实践技巧。后面的算法许多是读书时候接触过的,我并没有深入查看,先记录着,没准以后会用上。


1 人工智能、机器学习、深度学习、chatgpt、sora关系梳理
- 人工智能(Artificial Intelligence, AI):人工智能是一个广泛的领域,旨在使计算机能够模拟人类智能,包括学习、推理、感知、自然语言处理等方面。
- 机器学习(Machine Learning):机器学习是人工智能的一个分支,它关注的是让计算机通过数据自动学习和改进的方法。机器学习算法可以从大量的数据中发现模式和规律,并用于预测、分类、聚类等任务。
- 深度学习(Deep Learning):深度学习是机器学习的一种特殊形式,它基于神经网络模型,通过大量的数据进行训练,以实现更复杂的任务,如图像识别、语音识别等。
- ChatGPT:ChatGPT 是 OpenAI 开发的一种大型语言模型,它使用了深度学习技术,特别是 Transformer 架构,来处理自然语言处理任务,如对话生成、问答等。
- Sora:Sora是OpenAI开发的一种视频生成模型,可以拿视频中的一帧出来,效果都不亚于Dalle-3精心生成一张图片,而且这些图片放在一起可以构成基本符合真实世界物理逻辑的视频。Sora采用深度学习的方法,特别是扩散型变换器模型,通过构建深度神经网络模型来模拟人脑神经元的连接方式,从而实现对复杂数据的处理和学习。

2 chatgpt本质是什么?
摘抄了斯蒂芬的两句话:
ChatGPT从根本上始终要做的是,针对它得到的任何文本产生“合理的延续”。这里所说的“合理”是指,“人们在看到诸如数十亿个网页上的内容后,可能期待别人会这样写”。
ChatGPT的基本结构—“仅仅”用这么少的参数—足以生成一个能“足够好”地计算下一个词的概率的模型,从而生成合理的文章。
ChatGPT的基本概念在某种程度上相当简单:首先从互联网、书籍等获取人类创造的海量文本样本,然后训练一个神经网络来生成“与之类似”的文本。特别是,它能够从“提示”开始,继续生成“与其训练数据相似的文本”。
ChatGPT的具体工程非常引人注目。但是,(至少在它能够使用外部工具之前)ChatGPT“仅仅”是从其积累的“传统智慧的统计数据”中提取了一些“连贯的文本线索”。但是,结果的类人程度已经足够令人惊讶了。正如我所讨论的那样,这表明了一些至少在科学上非常重要的东西:人类语言及其背后的思维模式在结构上比我们想象的更简单、更“符合规律”。ChatGPT已经隐含地发现了这一点。但是我们可以用语义语法、计算语言等来明确地揭开它的面纱。
3 ChatGPT与Wolfram的关系
ChatGPT 和 Wolfram 并没有直接的关系,ChatGPT 是一个大型语言模型,而 Wolfram 插件是一个可以与 ChatGPT 结合使用的工具。Wolfram 插件提供了对 Wolfram 知识引擎的访问,使得 ChatGPT 能够获取更广泛的知识和计算能力。
ChatGPT 是由 OpenAI 开发的一种大型语言模型,它通过对大量文本数据的学习,能够生成自然语言文本、回答问题、进行对话等。而 Wolfram 则是由 Wolfram Research 开发的一系列技术和工具,包括数学计算软件 Wolfram Mathematica、知识引擎 Wolfram Alpha 等。
虽然两者都涉及到自然语言处理和知识的应用,但它们的设计目的、应用场景和技术实现方式等方面可能存在差异。具体来说,ChatGPT 主要用于对话和文本生成等任务,而 Wolfram 的产品则更侧重于数学计算、知识查询和可视化等方面。
当然,在某些情况下,ChatGPT 或其他自然语言处理模型的输出可以与 Wolfram 的技术或工具结合使用,以提供更全面和准确的信息或解决更复杂的问题。例如,可以将 ChatGPT 的回答与 Wolfram Alpha 的知识引擎相结合,以获取更准确的数学或科学知识。

4 可学习性和计算不可约性
可学习性通常指的是一个模型或算法能够从给定的数据中学习到有用的信息或模式的能力。在机器学习中,可学习性是评估一个学习算法是否能够在给定的训练数据上有效地学习到目标函数或模式的重要指标。如果一个模型具有可学习性,那么它可以通过对训练数据的学习来改进其性能,并在新的数据上做出准确的预测或分类。
计算不可约性则是理论计算机科学中的一个概念,它与问题的计算复杂度和可解性有关。计算不可约性指的是某些问题在计算上是不可约的,意味着无法通过已知的算法或方法在多项式时间内解决。这些问题可能需要指数级或更高的计算资源来解决,因此被认为是难以处理的。
可学习性与计算复杂性的关系可以从以下几个方面来理解:
- 学习能力的限制:计算复杂性的理论限制了某些问题的可学习性。如果一个问题的计算复杂性很高,可能需要大量的数据和计算资源来学习,或者可能根本无法通过现有方法进行有效学习。
- 模型的复杂度:模型的复杂度也与可学习性和计算复杂性有关。更复杂的模型可能具有更高的表达能力,但也可能导致更高的计算复杂性和过拟合的风险。
- 数据需求:计算复杂性较高的问题可能需要更多的数据来进行有效的学习。充足的数据可以帮助模型更好地学习和泛化,从而在一定程度上缓解计算复杂性的影响。
- 算法效率:用于学习的算法本身的效率也会影响可学习性和计算复杂性。更高效的算法可以在相同的计算资源下实现更好的学习效果。
然而,需要注意的是,可学习性和计算复杂性并不是简单的直接对应关系。即使一个问题具有较高的计算复杂性,仍然可以通过合适的学习算法、数据增强、模型简化等方法来提高可学习性。同时,一些问题可能在计算上是可解的,但在实际学习中可能由于数据噪声、模型偏差等因素而变得具有挑战性。
总之,可学习性和计算复杂性是相互关联的概念,但它们的关系并不是一一对应的。在实际应用中,需要根据具体问题和场景来综合考虑可学习性、计算复杂性以及其他相关因素,选择合适的方法和算法来解决问题。
这里也再次引用下下斯蒂芬的理解:“可学习性和计算不可约性之间存在根本的矛盾。学习实际上涉及通过利用规律来压缩数据,但计算不可约性意味着最终对可能存在的规律有一个限制。能力和可训练性之间存在着一个终极权衡:你越想让一个系统“真正利用”其计算能力,它就越会表现出计算不可约性,从而越不容易被训练;而它在本质上越易于训练,就越不能进行复杂的计算。”
5 关于ai工具与理论学习
AI 工具是实现 AI 应用的实际工具和框架,例如深度学习框架(如 TensorFlow、PyTorch)、自然语言处理工具(如 NLTK、SpaCy)等。学习这些工具可以帮助你实际应用和实现各种 AI 算法,进行数据处理、模型训练和部署等操作。
AI 算法理论则关注于算法的原理、设计和分析。它包括各种机器学习算法、深度学习模型、强化学习策略等的理解和研究。学习算法理论可以帮助你深入理解 AI 系统的工作原理,掌握不同算法的优缺点和适用场景。
工具就像是武器,学会使用某种工具,只是学会了这种武器最基本的招式和套路。而理论学习即策略学习,决定了在未来真实对战中,遇到对手攻击时,你选取哪些招式套路,如何组合起来去迎敌。
6 chatgpt发展历史

2014年,富兰克林·欧林工程学院本科毕业两年的亚历克·拉德福德(Alec Radford)加入OpenAI,开始发力。作为主要作者,他在苏茨克维等的指导下,连续完成了PPO(2017)、GPT-1(2018)、GPT-2(2019)、Jukebox(2020)、ImageGPT(2020)、CLIP(2021)和Whisper(2022)等多项开创性工作。尤其是2017年关于情感神经元的工作,开创了“预测下一个字符”的极简架构结合大模型、大算力、大数据的技术路线,对后续的GPT产生了关键影响。
从下页图中可以清晰地看到,GPT-1的论文发表之后,OpenAI这种有意为之的更加简单的Eecoder-Only架构(准确地讲是带自回归的Encoder-Decoder架构)并没有得到太多关注,风头都被谷歌几个月之后发布的BERT(Encoder-Only架构,准确地讲是Encoder-非自回归的Decoder架构)抢去了。随后,出现了一系列xxBERT类的很有影响的工作。
2020年,GPT-3横空出世,NLP(natural language processing,自然语言处理)小圈子里的一些有识之士开始意识到OpenAI技术路线的巨大潜力。在中国,北京智源人工智能研究院联合清华大学等高校推出了GLM、CPM等模型,并积极在国内学术界推广大模型理念。从上页关于大模型进化树的图中可以看到,2021年之后,GPT路线已经完全占据上风,而BERT这一“物种”的进化树几乎停止了。
2020年底,OpenAI的两位副总达里奥·阿莫迪(Dario Amodei)和丹妮拉·阿莫迪(Daniela Amodei)(同时也是兄妹)带领GPT-3和安全团队的多位同事离开,创办了Anthropic。达里奥·阿莫迪在OpenAI的地位非同一般:他是伊尔亚·苏茨克维之外,技术路线图的另一个制定者,也是GPT-2和GPT-3项目以及安全方向的总负责人。而随他离开的,有GPT-3和规模法则论文的多位核心人员
1年后,Anthropic发表论文“A General Language Assistant as a Laboratory for Alignment”,开始用聊天助手研究对齐问题,此后逐渐演变为Claude这个智能聊天产品。
2022年6月,论文“Emergent Abilities of Large Language Models”发布,第一作者是仅从达特茅斯学院本科毕业两年的谷歌研究员JasonWei(今年2月,他在谷歌的“精英跳槽潮”中去了OpenAI)。他在论文中研究了大模型的涌现能力,这类能力在小模型中不存在,只有模型规模扩大到一定量级才会出现——也就是我们熟悉的“量变会导致质变”。
当年11月中旬,本来一直在研发GPT-4的OpenAI员工收到管理层的指令:所有工作暂停,全力推出一款聊天工具,原因是有竞争。两周后,ChatGPT诞生。这之后的事情已经载入史册。
2023年3月,在长达半年的“评估、对抗性测试和对模型及系统级缓解措施的迭代改进”之后,GPT-4发布。微软研究院对其内部版本(能力超出公开发布的线上版本)研究的结论是:“在所有这些任务中,GPT-4的表现与人类水平接近得惊人……鉴于GPT-4的广度和深度,我们认为它可以合理地被视为AGI系统早期(但仍然不完整)的版本。”
7 后续扩展
- 《GPT图解》- 黄佳老师
- 文章《ChatGPT在做什么?它为何能做到这些?》(“What Is ChatGPT Doing... and Why Does It Work?”):本书在线版本,包含可运行的代码
- 文章《初中生能看懂的机器学习》(“Machine Learning for Middle Schoolers”,作者:Stephen Wolfram):介绍机器学习的基本概念
- 图书《机器学习入门》(Introduction to Machine Learning,Etienne Bernard著):一本关于现代机器学习的指南,包含可运行的代码
- 网站“Wolfram机器学习”(Wolfram Machine Learning):阐释Wolfram语言中的机器学习能力
- Wolfram U上的机器学习课程:交互式的机器学习课程,适合不同层次的学生学习
- 文章《如何与AI交流?》(“How Should We Talk to AIs?”,作者:Stephen Wolfram):2015年的一篇短文,探讨了如何使用自然语言和计算语言与AI交流
相关文章:
[ai笔记12] chatGPT技术体系梳理+本质探寻
欢迎来到文思源想的ai空间,这是技术老兵重学ai以及成长思考的第12篇分享! 这周时间看了两本书,一本是大神斯蒂芬沃尔弗拉姆学的《这就是ChatGPT》,另外一本则是腾讯云生态解决方案高级架构师宋立恒所写的《AI制胜机器学习极简入门》…...
Elasticsearch:使用 ELSER v2 进行语义搜索
在我之前的文章 “Elasticsearch:使用 ELSER 进行语义搜索”,我们展示了如何使用 ELESR v1 来进行语义搜索。在使用 ELSER 之前,我们必须注意的是: 重要:虽然 ELSER V2 已正式发布,但 ELSER V1 仍处于 [预览…...
智慧农业之智能物流
智慧物流属于农业生产环节中的重要节点,上游为农业生产环节,下游为销售与商贸环节,因此,通过联通生产与销售环节,通过合理调配物流过程,可以实现对于农产品的快速运输与销售,减少中间环节中的无效损耗,从而实现增收节支,实实在在地解决了农产品利润偏低的问题。 生产…...
Redis主从、哨兵、Redis Cluster集群架构
Redis主从、哨兵、Redis Cluster集群架构 Redis主从架构 Redis主从架构搭建 主从搭建的问题 如果同步数据失败,查看log日志报错无法连接,检查是否端口未开放出现”Error reply to PING from master:...“日志,修改参数protected-mode no …...
Javascript 运算符、流程控制语句和数组
【三】运算符 【1】算数运算符 (1)分类 加减乘除:*/取余:%和python不一样的点:没有取整// (2)特殊的点 只要NaN参与运算得到的结果也是NaNnull转换成0,undefined转换成NaN 【2…...
电机驱动死区时间
电机驱动死区时间 电机驱动死区时间死区时间(Dead Time)自己话补充说明 电机驱动死区时间 电机驱动死区时间一般在几纳秒到几微秒之间,具体长度取决于所使用的电子器件。 一、什么是电机驱动死区时间? 电机驱动死区时间指的是在电…...
图像的压缩感知的MATLAB实现(第3种方案)
前面介绍了两种不同的压缩感知实现: 图像压缩感知的MATLAB实现(OMP) 压缩感知的图像仿真(MATLAB源代码) 上述两种方法还存在着“速度慢、精度低”等不足。 本篇介绍一种新的方法。 压缩感知(Compressed S…...
高温应用中GaN HEMT大信号建模的ASM-HEMT
来源:An ASM-HEMT for Large-Signal Modeling of GaN HEMTs in High-Temperature Applications(JEDS 23年) 摘要 本文报道了一种用于模拟高温环境下氮化镓高电子迁移率晶体管(GaN HEMT)的温度依赖性ASM-HEMT模型。我…...
文件上传---->生僻字解析漏洞
现在的现实生活中,存在文件上传的点,基本上都是白名单判断(很少黑名单了) 对于白名单,我们有截断,图片马,二次渲染,服务器解析漏洞这些,于是今天我就来补充一种在upload…...
Ubuntu中Python3找不到_sqlite3模块
今天跑一个代码,出现了一个找不到sqlite3模块的错误,错误如下: from _sqlite3 import * ModuleNotFoundError: No module named _sqlite3 网上查资料说,因为python3没有自带sqlite3相关方面的支持,要自己先安装然后再重新编译Py…...
HarmonyOS4.0系统性深入开发37 改善布局性能
改善布局性能 Flex为采用弹性布局的容器。容器内部的所有子元素,会自动参与弹性布局。子元素默认沿主轴排列,子元素在主轴方向的尺寸称为主轴尺寸。 在单行布局场景下,容器里子组件的主轴尺寸长度总和可能存在不等于容器主轴尺寸长度的情况…...
Internet协议
文章目录 Internet协议网络层协议IPV4协议IP地址:IPv4数据报格式IP数据报的封装和分片 Internet路由协议路由信息协议RIP开放最短路径优先协议OSPF外部网关协议BGP组播协议PIM和MOSPF ARP和RARPARP协议:RARP协议: Internet控制报文协议ICMPIP…...
深度学习基础(一)神经网络基本原理
之前的章节我们初步介绍了机器学习相关基础知识,目录如下: 机器学习基础(一)理解机器学习的本质-CSDN博客 机器学习基础(二)监督与非监督学习-CSDN博客 机器学习基础(四)非监督学…...
2024年2月22日 - mis
rootyy3568-alip:/sys# ls /sys/class/gpio/gpio* -F /sys/class/gpio/gpio114 /sys/class/gpio/gpiochip511 /sys/class/gpio/gpiochip0 /sys/class/gpio/gpiochip64 /sys/class/gpio/gpiochip128 /sys/class/gpio/gpiochip96 /sys/class/gpio/gpiochip32符号表示该文…...
拼接 URL(C 语言)【字符串处理】
题目来自于博主算法大师的专栏:最新华为OD机试C卷AB卷OJ(CJavaJSPy) https://blog.csdn.net/banxia_frontend/category_12225173.html 题目 给定一个 url 前缀和 url 后缀 通过,分割 需要将其连接为一个完整的 url 如果前缀结尾和后缀开头都…...
故障排除:Failed to load SQL Modules into database Cluster
PostgreSQL 安装和故障排除 重新安装前的准备工作 在重新安装 PostgreSQL 之前,确保完成以下步骤: 重新卸载 PostgreSQL 并重启电脑。 删除以下目录: C:\Program Files\PostgreSQL\13C:\Users\admin\AppData\Roaming\pgadmin 重启安装过…...
【超详细】HIVE 日期函数(当前日期、时间戳转换、前一天日期等)
文章目录 相关文献常量:当前日期、时间戳前一天日期、后一天日期获取日期中的年、季度、月、周、日、小时、分、秒等时间戳转换时间戳 to 日期日期 to 时间戳 日期之间月、天数差 作者:小猪快跑 基础数学&计算数学,从事优化领域5年&#…...
[ffmpeg] x264 配置参数解析
背景 创建 x264 编码器后,其有一组默认的编码器配置参数,也可以根据需要修改参数,来满足编码要求。 具体参数 可修改的参数,比较多,这边只列举一些常用的。 获取可以配置的参数 方式1 查看 ffmpeg源码 libx264.c…...
GO语言基础总结
多态: 定义一个父类的指针(接口),然后把指针指向子类的实例,再调用这个父类的指针,然后子类的方法被调用了,这就是多态现象。 Golang 高阶 goroutine 。。。。。 channel channel的定义 …...
飞天使-linux操作的一些技巧与知识点7-devops
文章目录 简述devopsCICD 简述devops 让技术团队,运维,测试等团队实现一体式流程自动化 进阶版图 CICD 持续集成, 从编译,测试,发布的完成自动化流程 持续交付,包含持续集成,并且将项目部署…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
