记忆
为什么需要记忆
- 人脑有非常强大的记忆系统和索引能力,管理着非常庞大的信息,能够准确联想起来非常多的记忆
- 记忆是AGI的一种重要能力
- 因为大脑容量限制,记忆是人类在当前信息爆炸的社会的最重要瓶颈
- 其他的还有类似:推理逻辑能力,运算能力等等
- 刨除记忆能力,其他的能力当前LLM已经有一个比较可用的实现
- 记忆能力可能成为下一个快速增长的瓶颈点
- 是不是未来会是:一个专注于基本语言和推理能力的小模型+大型的记忆系统
- 不断的提升记忆内容的质量(效率,自洽度...)、内容的数量、效率
- 数据库样式的存储记忆(类似RAG)不能满足现代需求
- 没有进行良好的抽象、归纳和整理,只是靠搜索引擎进行匹配检索
- 不能根据已经有的背景知识进行复杂的逻辑推导
- 不能利用知识进行慢思维(系统二)
- 不能用于复杂的深度推理思考活动
- 当前AI能利用搜索信息进行综合判断,本质上还是在处理临时信息,而不是庞大的记忆
- 大量的人类知识和语言能力都存储在了LLM模型的权重里面,对于这部分能做到类似人脑的处理能力,而且因为模型规模庞大,在知识范围方面超过了单个人类。但是只能用于存储成规模的大众通用的知识,而不能存储专业的私有信息知识,或者是个人的笔记
- LLM关于记忆
- 不能通过无限的在线上下文(kv cache)来实现记忆:效率太低
- 需要在背景持续对大量的记忆进行加工,整理,总结出规律和抽象,提升记忆检索和使用的效率
- 没有进行良好的抽象、归纳和整理,只是靠搜索引擎进行匹配检索
- 相关的尝试
- 人工结合蒙特卡洛搜索算法
- 微软rStar-Math:只是局限于对CoT的知识进行记忆
- AlphaGo:人工算法选择特定的权重,从而选择特定的记忆
- Tool-Integrity Reasoning (TIR)
- 人工结合蒙特卡洛搜索算法
记忆的信息分类
- 规则、约束
- xxx应该是xxxx
- xxx是xxxx
- 逻辑、推论
- 如果xxx则xxxx
- xxx那么xxx
- 现象、动作、陈述
- 吃饭
- 车开起来了
记忆的组织
- meaning tree
- 句子、单词级别
- 需要存储非常大的信息量,可能需要直接存储到模型权重
- 需要比较高级的抽象能力,当前LLM不具备,很多表示不能用语言表达
- 需要进行微调、训练
- 总结、类似脑图
- 段落级别
- 可以存储在传统数据库
- 可以通过prompt实现
记忆的操作
- 六种基本记忆操作:
- 巩固(Consolidation)
- 反复训练、推理、更新
- 修复不正确的、有矛盾的记忆,维持自洽
- 更新(Updating)
- 索引(Indexing)
- 对已有知识的联想、推理
- 深度、广度和效率是效果的重要指标
- 遗忘(Forgetting)
- 删除长期不用的、孤岛记忆、有矛盾的记忆
- 检索(Retrieval)
- 压缩(Compression)
- 对已经存在的记忆进行抽象,提取更高级的概念,重新组织记忆的表达形式
- 语义压缩,能够高效地组织知识、迅速地对世界进行分类
- 抽象的合理性
- 巩固(Consolidation)
- AI中的记忆表示划分为
- 参数化记忆
- 在权重中,通过梯度下降进行改变
- 黑盒,难以进行精确的操作
- 上下文记忆
- 向量:KV cache等推理产生的中间值
- 非结构化上下文记忆:引用信息,视频
- 结构化的上下文记忆:指将记忆内容组织为预定义、
可解释的格式或结构(如知识图谱、关系表或本体) - 具备可查询性和符号推理能力
- 既可以在推理时动态构建以支持局部推理,
也可跨会话持久保存高质量知识。
- 参数化记忆
LLM实现记忆实现方法
- LLM大模型的权重
- 能进行一定深度和广度的处理能力,但是整体深度还是达不到人脑
- 需要通过及其复杂的梯度下降,不能快速存储特定数据,更新困难、无法追溯
- 黑盒,不确定性高
- 计算资源消耗大,虽然有MoE
- KVCache 等运行态中间变量
- 存储密度比较低,存储容量上限低
- 相对于权重表示,KVCache依赖自然语言的token,表达能力(复杂抽象不能用语言表达)和效率都比较差
- 逻辑推理能力稍差,思维能力稍差
- CoT可能出现前后矛盾的表达,长上下文之后,模型的准确性下降
- 计算资源消耗稍大
- 潜式思维链(Latent Chain-of-Thought)是一个改进方向
- 存储密度比较低,存储容量上限低
- 外部专用数据存储系统
- 容量大
- 抽象层级最低,存储密度最低,能力差
- 资源消耗小
需求本质
-
记录一段信息
- 格式化,向量化...
-
记录信息之间的关系
- 拓扑,树形,网状,点对点
- 逻辑关系,等价,推导,相似性的程度
- 本地的逻辑推理最为最高层的抽象,最核心的算法体现
- 不会因为不同的内容而改变,任何情况下总是可以正确的运行
- 拼接关键词,生成prompt
-
对信息进行拆分和组合和推理
- 对多个表达一样意思的描述进行合并、整理
- 对有矛盾的描述进行处理,自洽推理
- 对信息进行探索性推理
-
对信息进行重新组织和总结
- 数据库存储所有的“片段”和标签
- 标签可以被LLM进行运算
- 数据库存储所有的标签之间的关系,片段和标签的关系
核心问题
- 重点不是存而是取和算
- 抽象
- 总结规律,形成代表符号
- 记忆的运算
- 比较、类比
- 转换
- 推理
- 记忆必须参与到训练的过程,促进思维能力
- 记忆和理解能力(逻辑能力,抽象能力)不断的相互促进才能不断提升能力
&&&&&&&&&&&&&&&&&&&&&&&&
梯度下降不能产生意识,思维链可以短暂得产生意识
效率、可追溯性与长期适应性之间取得有效平衡。
本质上,AI信息处理是
- 使用绝对正确的逻辑和推理,对外部引用的信息进行推导和整理
- 不会出错误
- 能详细展示推理的过程,每个信息的出处
Forward: input -> format -> meaning tree -> calculate -> meaning tree -> gen -> output
Learning: input -> format -> meaning tree -> calculate -> new meaning -> update meaning
系统一
基础meaning -> weight
经过微调的LLM利用基础meaning实现 format 和 gen 构建一批针对此任务的数据集
系统二
- 方案1 专用的模型(算法)持续被训练(修改)(关注逻辑运算和抽象,不懂实际的含义): meaning tree -> meaning tree
- 方案2 采用人工编写的规则(算法)+数据结构+数据库 进行运算
- 经过系统二的不断运行,能够正循环不断提升抽象质量,从而达到高通用性和自洽
No comments to display
No comments to display