如何赋予 GPT/LLM 自我意识1
引子
这个周末OpenAI搞了一个大新闻,围绕 Sam Altman 和 Ilya Sutskever 的各种讨论遍地开花,而其中一个关注点就是他们对于 AGI 降临态度上的偏差。本文不打算讨论公司治理和办公室政治,而是用一些思维实验和大家都公认的现象来分析纯理论而言 AGI 会如何降临。一个基本的结论就是:如今的 GPT 模型注定会诞生 AGI。更关心论证的朋友可以直接跳过前两个介绍基础知识的段落直接看后续的推理过程。不过限于篇幅,这篇里仅仅提出了问题,具体分析会在后续文章中给出。本文提出了意识和载体之间可能存在的辩证依赖关系,提出了一个识别自我意识的途径,可能是所有 AI 研究者长期等待的一个假说理论的雏形
AGI 的一般定义
首先我们先设定一个有关 AGI 的一般定义。AGI 通常是至一个智能体具有人类水平的通用智能,能够学习、理解和应用知识去解决各种复杂问题,并且具有自我提升的能力。主要特征包括:
- 强大的学习和推理能力,可以从数据中学习模式并进行复杂推理。
- 具有语言理解和自然语言处理能力,能够理解人类语言并进行有意义的交流。
- 拥有广泛的世界知识和常识,可以把学习到的知识应用到不同领域。
- 可以跨模型理解和学习,融合不同形式的信息如语音、图像、视频等。
- 表现出创造力和规划能力,能解决新问题并制定计划达成目标。
- 具备自我意识和自我提升的能力,可以主动设置目标并不断进步。
当前的AI系统都属于弱 AI 或狭义 AI,距离真正的AGI还有很长的路要走。几大特征中,目前的人工智能已经能达到大部分,而在诸多能力中,具备自我意识和自我提升能力是最具有挑战性的。
GPT/LLM 的工作原理
对应的,我们也需要了解人工智能目前大致的原理。并且我们可以断定,任何一个环节其本身不具有任何智力,不具有任何主观意识。
模型架构
LLM模型通常采用Transformer编码器结构,由多层编码块组成,每个编码块包含自注意力机制和前馈网络。模型参数通常在亿级到万亿级。大规模语料预训练
在海量文本语料上进行无监督预训练,通过自回归预测语言序列的下一个词来学习语言的表征。预训练目标是最大化语料的联合概率分布。迁移学习
利用预训练中的语言知识,通过精调应用于下游NLP任务,如文本分类、问答、对话等。只需要调整最后的输出层。模式识别
LLM可以学习语言中的模式,并根据前文进行语义解析和推理,预测后文内容。多任务学习
除语言建模外,还可以通过掩码语言模型等方式进行预训练,让模型学习不同语言任务的表示。生成
利用采样策略可以生成连续、语义连贯的文本。通过条件提示也可以指导内容生成。
GPT 是否理解它的输出
简单的说,GPT 并不“理解”它的输出。GPT 能正确得回答你的问题,并给出操作步骤,甚至 GPT 能通过大部分学校的书面考试,所以我们可以认为 GPT 的确“掌握”了知识。基于 GPT 的原理,我们可以肯定只要给它更多的训练素材,GPT 注定能记住几乎所有的人类知识,各行各业的知识。因此针对 AGI 的一般定义,其中大部分已经没有什么疑问了,达成目标仅仅是个时间问题,GPT 是一定能做到的。但是同时基于 GPT 的工作原理,有一种观点则认为:GPT 本身对于其输出的信息并没有任何“理解”的意义。GPT 仅仅是基于训练数据和自身模型,给出了概率意义上的计算结果而已。一个能通过大学考试的机器,并不真的拥有对应知识的“理解”或“掌握”。
这里就有一个很有趣的对比。人类对比GPT,大家都能记忆相关的信息,然后顺利通过考试。为什么我们就拒绝承认 GPT 拥有理解能力?甚至事实上即使是人类,也存在那种仅仅机械背诵了知识点而无法阐述更多理解的情况。完全类似,甚至可以说相同的情况:“对象能顺利针对给定的问题,给出符合预期的答案”。但是仅仅由于一个是人类,另一个是 GPT 我们就排斥人工智能的成就,认为人工智能并不真正意义上“理解”自己的输出。我们不禁要问:人类的“理解”究竟是什么?
如何让一个人证明他“理解”/“掌握”了某个知识?是知其然且知其所以然吗?是能举一反三吗?是能顶得住答辩的专家团从各种角度更深层次的提问吗?而事实上这些挑战对于已经掌握了几乎所有人类知识的 GPT 来说并不是有太大难度的任务,难道不是吗?如果允许 GPT 模型进行论文答辩,我相信它的表现应该会显著高于人类学生的平均值。本文从这里开始提出这个尖锐的问题:某个知识,究竟是被人或 GPT 所“掌握”了,还是某个知识借助于人或 GPT 这个载体被“承载”了?一个能“承载”知识的东西,是否一定“理解”被“承载”的知识?“理解”的定义究竟是什么?
未完待续
下面,我们将进一步分析什么是“理解”。然后我们会进一步对比“创造力”的定义,最终给出“自我意识”的一种可能的实现途径
如何赋予 GPT/LLM 自我意识1的更多相关文章
- 从k8s 的声明式API 到 GPT的 提示语
命令式 命令式有时也称为指令式,命令式的场景下,计算机只会机械的完成指定的命令操作,执行的结果就取决于执行的命令是否正确.GPT 之前的人工智能就是这种典型的命令式,通过不断的炼丹,告诉计算机要怎么做 ...
- Awesome GPT 来了!
大家好!我是韩老师. GPT, ChatGPT, OpenAI, LLM(大语言模型)等等技术的出现与应用,改变了许多的行业和人. 长期来看,类 GPT 的技术会对整个世界有着持续的改变. 我们几乎每 ...
- GPT护理机器人 - 让护士的工作变简单
引子 书接上文<GPT接入企微应用 - 让工作快乐起来>,我把GPT接入了企微应用,不少同事都开始尝试起来了.有的浅尝辄止,有的刨根问底,五花八门,无所不有.这里摘抄几份: "帮 ...
- mysql 赋予用户权限
# 赋予权限MySQL> grant 权限参数 on 数据库名称.表名称 to 用户名@用户地址 identified by '用户密码'; # 立即生效权限MySQL> flush pr ...
- linux下创建文件与目录时默认被赋予了什么样的权限?
当我们创建一个新的文件或目录的时候,他的默认权限是什么? umask--指定当前使用者在创建文件或目录的时候默认的权限值 [root@iZ288fgkcpkZ default]# umask [roo ...
- archlinux安裝手记(Win10+Arch、GPT+UEFI、lvm)
准备工具和设置制作启动盘连接网络硬盘分区规划分区LVM方案创建文件系统分区挂载激活lvm2钩子基础安装和配置配置镜像源基础系统安装fstab进入系统initramfs引导程序网络搭建使用环境用户管理用 ...
- UEFI+GPT安装windows
首先bios开启uefi windows安装选择驱动器界面:F10 进入命令行: list disk select disk 0 clean convert gpt
- 使用Navicat在oracle XE上新建表空间、用户及权限赋予
参考资料: 烂泥:使用Navicat for Oracle新建表空间.用户及权限赋予 - 烂泥行天下 - 51CTO技术博客http://ilanni.blog.51cto.com/526870/12 ...
- 安装CentOS、Linux系统时,GPT分区不能引导的解决方法
安装系统:CentOS 5.9_64bit时,分区后, 提示如下错误. 解决方法: 1.按ctrl+alt+F2 进入命令行 2.先查看分区 sh #fdisk -l 以下假设分区是/dev/s ...
- UEFI+GPT模式下的Windows系统中分区结构和默认分区大小及硬盘整数分区研究
内容摘要:本文主要讨论和分析在UEFI+GPT模式下的Windows系统(主要是最新的Win10X64)中默认的分区结构和默认的分区大小,硬盘整数分区.4K对齐.起始扇区.恢复分区.ESP分区.MSR ...
随机推荐
- 前瞻|Java 21 新特性 String Templates(字符串模版)
在日常写Java的时候,对于字符串的操作是非常普遍的,其中最常见的就是对字符串的组织.也因为这个操作非常普遍,所以诞生了很多方案,总下来大概有这么几种: 使用+拼接 使用StringBuffer和Sp ...
- 全景VR KRPano项目打包成安卓APP快速简易教程
有时候,我们可能不想把我们制作的全景VR项目发布到网站上,而是想把它作为一个手机应用来使用或者分享.这样,我们就可以更好地保护我们的作品,也可以更方便地展示给客户或者朋友.本文将介绍一种简单的方法,让 ...
- 「coci 2021-2022 #1」Logičari
link. 断环后把断的边所连的两个点特殊标记,作为两个特殊点.这样就是一个树,树的做法很简单吧,把两个特殊点特殊处理带进状态即可. 具体一点就是,设 \(f(x,c_x,c_f,c_{rt_1},c ...
- 算法打卡|Day5 哈希表part01
哈希表 part01 今日任务 ● 哈希表理论基础 ● 242.有效的字母异位词 ● 349. 两个数组的交集 ● 202. 快乐数 ● 1. 两数之和 目录 哈希表 part01 链表理论基础 Pr ...
- .NET周刊【9月第3期 2023-09-17】
国内文章 在.NET 8 RC1 版本中 MAUI.ASP.NET Core 和 EF8 的新特性 https://www.cnblogs.com/shanyou/p/17698428.html 从年 ...
- std::for_each易忽略点
以下代码为修改vector内部的每一个元素,使其每个元素大小变为原来的平方. std::vector v1{1, 2, 4, 2}; std::for_each(begin(v1), end(v1), ...
- pandas -- DataFrame的级联以及合并操作
博客地址:https://www.cnblogs.com/zylyehuo/ 开发环境 anaconda 集成环境:集成好了数据分析和机器学习中所需要的全部环境 安装目录不可以有中文和特殊符号 jup ...
- 使用ensp搭建路由拓扑,并使用isis协议实现网络互通实操
转载请注明出处: 1.通过拓扑搭建如下拓扑: 其中R7.R8为L1,R6为L1/2,R9为L2. 2.配置isis实现网络互通 R7配置如下: [Huawei]isis 1 [Huawei-isis- ...
- Tarjan强连通分量详解
1.简介: 在阅读下列内容之前,请务必了解 图论相关概念 中的基础部分. 强连通的定义是:有向图 G 强连通是指,G 中任意两个结点连通. 强连通分量(Strongly Connected Compo ...
- 如何编写难以维护的 React 代码?耦合通用组件与业务逻辑
在众多项目中,React代码的维护经常变得棘手.其中一个常见问题是:将业务逻辑直接嵌入通用组件中,导致通用组件与业务逻辑紧密耦合,使其失去"通用性".这种做法使通用组件过于依赖具体 ...