Skip to main content

记忆方法学

  1. 要求
    1. 需要设计一个健壮的系统,流程化,体系化,理论支撑
    2. 多层级的架构,层级解耦,独立迭代,不断增强
    3. 尽量端到端
  2. 本质上需要的能力和处理流程
    1. 语义解析,对“输入”的自然语言的表达的含义 -> LLM
    2. 计算语义的相似度
      1. 查找已有的通用知识和专有知识
    3. 计算语义逻辑,理解问题
      1. 判断表示同一个语义的不同表达
      2. 逻辑推理、选择
    4. 汇总结果进行输出 -> LLM
  3. 需要存储和计算那个层级的信息?
    1. RAG只是向量化存储原文,无计算能力
    2. LLM权重存储和计算自然语言的高层级抽象
    3. 明确的语法+逻辑推理
      1. 需要人工算法处理类似自然语言,非常复杂
    4. LLM映射高层级的语义到向量,只要匹配向量就可以(类似于打标签)
      1. 不可靠,向量只是梯度下降后的最优的结果
      2. 黑盒,没有标准的映射关系,LLM变更需要重新生成所有的向量
  4. 分几个模块,分别负责什么功能?
    1. 语言能力:自然语言的理解和组织能力:LLM
    2. 信息、知识的格式化,检索:
    3. 信息、知识的合理性检查、扩展、举一反三:
  5. 存储的信息的数据结构,存储效率,检索效率
    1. LLM权重通过向量空间的转换(类似于查找表)来记录所有的信息,相同的语义会高度复用同一个向量空间
      1. 不可控,不透明,不可靠
      2. 存储容量有限
    2. RAG只是记录每个token的向量空间,只有相同的token才能被索引
      1. 不能支持高级语义的检索,“不聪明”
  6. 怎么记忆/学习新的知识
    1. 通过回归/拟合/训练 -- LLM 的中间的 Latent Space
      1. LLM不能在推理过程中不断的改变权重,并且保证收敛
      2. 需要用到所有的历史知识
      3. 存储的知识量越大,学习越困难
    2. 通过“绝对”信息直接分类和记录
      1. 需要复杂的人工算法
      2. 需要计算和存储语义的绝对信息
  7. 分割,建树,识别匹配, 心智 系统2 意识自洽, 语义计算
  8. 存储的知识可以被提前按照信息块通过模型的推理进行向量化,生成kv cache
  9. 向量化的信息快,可以直接拼接到上下文的KV cache里面,而不用重新计数
    1. 插入的信息块和前面的文本没有关系
    2. 插入的信息快只和自己内部有关系

需求示例

  1. 假设:M( A K B)   N( B K A)
  2. 计算 A B K 的 Vector
    1. 所有的语义向量都是可以被逻辑计算的?与 或 非 是 不是  都可以转换为距离的计算
  3. 已知 K 不分左右,与 和的语义
    1. 通过LLM的不断推理关系树,得到这个含义,并记录到明文数据库
  4. M N 都是由 x1 K x2 组成
    1. x1 K x2 就是计算 ,x1和x2的中点距离
    2. 向量数据库可以方便的计算出中点的位置和各种距离
    3. 怎么快速计算出 M和N的距离很近
  5. M==N??  Vector of M and N ??

  1. LLM -> AST语法树 ->  高级语义编码(序列编码,不定长的语义编码)-> 距离计算
    1. 编码信息:语义之间的 “与或非” 操作
    2. 语法树每个节点表示一种操作
    3. LLM有很大的编码空间,多层、不定长、位置编码,各种语义交叉压缩表示
    4. 递归式的编码高级语义
      1. 递归,节省编码量
      2. 编码,为了表示和检索
    5. 链式的不定长的编码
      1. 距离计算,类似图形匹配


示例1原文:NAND Flash 的读写和擦除操作是基于串进行的。
示例1输出:[[NAND Flash] 的[[读写]和[擦除]][操作]]是[[基于][串][进行]的]。]
示例2原文:在读取操作时,通过在位线上施加电压,检测各晶体管的导通情况来确定存储的数据。
示例2输出:[[[在[读取][操作]]时],[通过][[在[位线][上]][[施加][电压]]],[[[检测][[[各][晶体管]][的][[导通][情况]]]][来][[确定][[存储]的[数据]]]]。]
示例3原文:在写入操作时,利用量子隧穿效应等将电子注入浮栅。
示例3输出:[[在[[写入][操作]]时],[[[[利用][[[量子][[隧穿][效应]]]等]][[将][电子][[注入][浮栅]]]]。]
示例4原文:在擦除操作时,通常是对整个块进行擦除,块是由多个串联的晶体管串组成的。
示例4输出:[[在[擦除][操作]时],[[通常][是][[对][[整个]块][进行][擦除]]],[块][是][[由][[[多个][[串联][的][晶体管]]][[串]组成的]]]]。
请按照上面的格式进行格式化
“希望这些步骤能帮助您顺利解决 python3-dev的安装问题!如果尝试后仍有疑问,欢迎随时提出。”
[[希望][[这些][步骤]][能][[帮助][您][[[顺利][解决]][[[python3-dev] 的][[安装][问题]]]]!][[如果][[[尝试][后]][仍有][疑问]]],[[欢迎][[随时][提出]]]。]

  1. token之间的关系树 + token的编码  LLM
  2. 计算特征值??  句子  段落  文章
    1. 是不是不用计算句子的所有细节,而只是计算大的语义和总结
    2. 检索的“线索”不可能包含跨越多层的语义,也有信息量限制
    3. 句子之所以是句子,是人类处理信息的最大单元,一次性能够理解的单元。每个句子就是markdown树的一条item, 按照层级,不断总结,形成一个大的句子树。 每个句子表示一个独立的语义。
    4. 以句子为节点组成的金字塔结构和meaning tree的结构,非常像,用这样的结构去训练模型,相当于说对语言的理解强制约束为树状结构或者是金字塔结构,相对于传统的序列编码来说,金字塔结构更符合实际的语言含义,会强制模型去进行高层次的语义表达
    5. 所有的句子作为节点节点是可以用向量进行编码,并且能进行距离计算具有全局唯一性,寓意相近的句子距离也相近。
    6. 每个观点都可以用金字塔的方式来补全所有的方面,但是用户不一定会想到或者写全,AI可以进行自动的补充
      1. 观点:原因、原理、造成结果、形成条件 等等各个方面的描述
      2. 补全的信息会用于链接两个不用的观点
  3. 句子结构--句子可以用一个固定长度的向量表示
    1. 对知识用LLM生成金字塔表达,
    2. 每个item是一个句子,
    3. 句子之间存在有限的关系种类:原因解释、分类、包含、解释、证明、后果
  4. 组织,排序,绘制地图,用于检索
    1. 地图定义
  5. 检索
    1. 根据一步一步的提示,类似导航的方式找到/生成/编码最终的语义

AI使用记忆的方式

  1. 记忆,为LLM语言计算器提供海量的数据
  2. 离线思考,不断得自由思考,编辑记忆,实现可迭代的,可不断进步的AI
  3. 临时记忆,提供无限的上下文,用于解决复杂问题

目标实现的功能

  1. 搜索相关语义的信息
  2. 检索相关理念/想法/idea的资料
    1. 比如:寻找关于,关于大小脑、慢思考/快思考、第一系统/第二系统 的概念
    2. 比如:寻找之前关于 “结构化表示信息的方法,利用markdown的层级结构” 的描述
  3. 根据相关的理念/想法进行科研,主动的推理,输出思路和引用
    1. 利用 xxx 的概念,应用在 xxx 领域,会有什么效果?
    2. 理解信息,结构化信息,根据逻辑推理得到新的结论,产生新的概念
    3. 询问当前AI的问题有哪些? 能检索返回 "没有反思能力,一个任务,不能越做越顺利,不断改进流程"
    4. 看到文章“如何科学地给大模型「找茬」?Anthropic联合Thinking Machines发布新研究,通过30万个场景设计和极限压力测试,扒了扒OpenAI、谷歌、马斯克家AI的「人设」。那谁是老好人?谁是效率狂魔?” 能知道,这个是在讲我之前研究过的一个话题《LLM心理行为学的研究》
  4. 用户只要通过随笔的方式,不连续得进行记录
    1. AI会自动通过历史的记录进行汇总和总结
    2. 大量的零碎的片段,很难进行归纳整理,传统的笔记要花大量的时间进行分类和记录和链接

  1. 保持所有记忆/知识的自洽
  2. 高层级的抽象和感知

A -> A
B -> B
A|B -> # 
#&C -> #
绝对编码
同义词