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

[ai笔记12] chatGPT技术体系梳理+本质探寻

欢迎来到文思源想的ai空间,这是技术老兵重学ai以及成长思考的第12篇分享!

这周时间看了两本书,一本是大神斯蒂芬·沃尔弗拉姆学的《这就是ChatGPT》,另外一本则是腾讯云生态解决方案高级架构师宋立恒所写的《AI制胜机器学习极简入门》,收获还是很大的。

《这就是chatGPT》反复看了三次,才算是理解到了大神的一些想法,但是感觉很值得,它从第一性原理的角度,解释了如今chatGPT本质的一些工作原理,个人感觉对于ai的概念,没有那么陌生了,或者说因为了解到一些本质更有自信。其实看完书,有点懊恼,感觉好歹大学习和研究生期间,机器视觉、人工网络这些都是我的专业必修课,如今随着工作性质,都还回去,有点遗憾。

《AI制胜机器学习极简入门》则是为了弄懂《这就是chatGPT》的一些概念,我自己额外看的一本书,书中前面两张的概览还是作用挺大的,它清晰的对于机器学习的结构、总体思路做了一些梳理,也从作者工作实践的角度提出了对待这些算法、工具的实践技巧。后面的算法许多是读书时候接触过的,我并没有深入查看,先记录着,没准以后会用上。

1 人工智能、机器学习、深度学习、chatgpt、sora关系梳理

  1. 人工智能(Artificial Intelligence, AI):人工智能是一个广泛的领域,旨在使计算机能够模拟人类智能,包括学习、推理、感知、自然语言处理等方面。
  2. 机器学习(Machine Learning):机器学习是人工智能的一个分支,它关注的是让计算机通过数据自动学习和改进的方法。机器学习算法可以从大量的数据中发现模式和规律,并用于预测、分类、聚类等任务。
  3. 深度学习(Deep Learning):深度学习是机器学习的一种特殊形式,它基于神经网络模型,通过大量的数据进行训练,以实现更复杂的任务,如图像识别、语音识别等。
  4. ChatGPT:ChatGPT 是 OpenAI 开发的一种大型语言模型,它使用了深度学习技术,特别是 Transformer 架构,来处理自然语言处理任务,如对话生成、问答等。
  5. 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 可学习性和计算不可约性

可学习性通常指的是一个模型或算法能够从给定的数据中学习到有用的信息或模式的能力。在机器学习中,可学习性是评估一个学习算法是否能够在给定的训练数据上有效地学习到目标函数或模式的重要指标。如果一个模型具有可学习性,那么它可以通过对训练数据的学习来改进其性能,并在新的数据上做出准确的预测或分类。

计算不可约性则是理论计算机科学中的一个概念,它与问题的计算复杂度和可解性有关。计算不可约性指的是某些问题在计算上是不可约的,意味着无法通过已知的算法或方法在多项式时间内解决。这些问题可能需要指数级或更高的计算资源来解决,因此被认为是难以处理的。
可学习性与计算复杂性的关系可以从以下几个方面来理解:

  1. 学习能力的限制:计算复杂性的理论限制了某些问题的可学习性。如果一个问题的计算复杂性很高,可能需要大量的数据和计算资源来学习,或者可能根本无法通过现有方法进行有效学习。
  2. 模型的复杂度:模型的复杂度也与可学习性和计算复杂性有关。更复杂的模型可能具有更高的表达能力,但也可能导致更高的计算复杂性和过拟合的风险。
  3. 数据需求:计算复杂性较高的问题可能需要更多的数据来进行有效的学习。充足的数据可以帮助模型更好地学习和泛化,从而在一定程度上缓解计算复杂性的影响。
  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制胜机器学习极简入门》&#xf…...

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 持续集成, 从编译,测试,发布的完成自动化流程 持续交付,包含持续集成,并且将项目部署…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...

云计算——弹性云计算器(ECS)

弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...

SQL慢可能是触发了ring buffer

简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

Vite中定义@软链接

在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...