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. 对一段文本以句子作为单元的结构化,等价于对LLM的中间KVCache进行结构化和通用化
    1. 那么怎么进行直接的明确的可控的推理?
  5. 组织,排序,绘制地图,用于检索
    1. 地图定义
  6. 检索
    1. 根据一步一步的提示,类似导航的方式找到/生成/编码最终的语义

AI使用记忆的方式

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

目标实现的功能

  1. 检索:搜索相关语义的信息
  2. 检索相关理念/想法/idea的信息
    1. 寻找关于,关于大小脑、慢思考/快思考、第一系统/第二系统 的概念
    2. 寻找之前关于 “结构化表示信息的方法,利用markdown的层级结构” 的描述信息
    3. 寻找“transformer缺点”
  3. 根据相关的理念/想法进行科研,主动的推理,输出思路和引用,自洽性判断
    1. 提问:利用 xxx 的概念,应用在 xxx 领域,会有什么效果?
    2. 理解信息,结构化信息,根据逻辑推理得到新的结论,产生新的概念
    3. 询问当前AI的问题有哪些? 能检索返回 "没有反思能力,一个任务,不能越做越顺利,不断改进流程"
    4. 看到文章“如何科学地给大模型「找茬」?Anthropic联合Thinking Machines发布新研究,通过30万个场景设计和极限压力测试,扒了扒OpenAI、谷歌、马斯克家AI的「人设」。那谁是老好人?谁是效率狂魔?” 能知道,这个是在讲我之前研究过的一个话题《LLM心理行为学的研究》
    5. 请根据当前资料总结出当前AI发展的关键瓶颈
    6. 英伟达巧用8B模型秒掉GPT-5,对应到,开发一个专用的小模型提供特殊领域的专家
    7. 有哪些文件是在研究我之前提到过的“LLM心理行为学”
    8. LLM和AI可能在大部分场景下会混用,需要能互相检索

  1. 对知识进行总结和转换成以句子为单位的结构
    1. LLM的总结能力✅
    2. 请按照层级结构,整理这篇文章, 要求: 按照金字塔层级结构,每个条目都只能是一句话 https://mp.weixin.qq.com/s/4mkqz6MgVN8m1vx11XbcUA
  2. 句子能不能稳定得用向量来表示语义,编码,计算距离
    1. 训练专门的SSM网络模型
      1. 同义句可以使用LLM进行生成
    2. 使用很多的同义句对现有的模型进行微调,然后采用模型的kv cache作为输出
      1. 2个同义句分别推理后计算向量的中间节点作为target
      2. kv cache不能直接代表编码
  3. 怎么通过数据库计算句子之间的关系,进行检索、关系推导
    1. 知识就是由句子表达的而成的语义关系图谱,
    2. 有限种类的关系:包含、详细解释、结果、原因。。
    3. 使用LLM Agent/MCP主动得进行多步的推导和检索✅
  4. 怎么从句子关系图谱抽象出更高级的、难以表达的通用概念,补充知识的完整性用于检索和推导
    1. LLM的总结能得到一些高级的语义,再对句子进行向量化✅
    2. 关系推导:通过逻辑或者哲学补全缺失的概念或者解释
    3. 直接使用梯度下降,专用模型,对已经存在的句子向量之间的关系进行回归,推导
  5. 可能会消耗大量的token
    1. 专用微调的小模型
    2. 部署、量化上的提升

实现2

  1. 基于LLM的专用meaning处理大模型:小规模,缓慢更新迭代
    1. 功能 
      1. 处理固定的已知的有限的逻辑,生成meaning,形成meaning tree
        1. 逻辑关系类
        2. 已知的名词、事物
      2. 支持生成和识别已知的meaning的组合
      3. 输出和输出特殊的高效的meaning token:meaning tree
      4. 使用AI算法,对meaning tree 进行处理、总结
        1. 分析形成高级抽象meaning,存储与数据库
          1. 通过低层级的通用语义(单词)的逻辑组合,不断组合成高层级语义
          2. 形成由逻辑关系不断组合形成的“逻辑树”,存储与数据库
          3. 可以先总结底层(短语)级别,逐渐形成更高级的逻辑树
        2. 数据库+传统算法+AI处理数据
          1. 由LLM生成待查询的逻辑需求
          2. 数据库按照固定的逻辑进行查询输出
          3. LLM不断一步步进行“查询”“处理”直到不需要查询更多信息
    2. 实现?
      1. 使用更大的LLM进行训练数据生成:文本->meaning token的数据集
  2. 结合meaning tree+原文,推理meaning, 生成prompt
  3. 数据库记录meaning和原文,以及之间的关系:不断更新数据
  4. 公用的LLM根据prompt组织生成自然语言:通用的大规模LLM

实现3

设定

  1. LLM只是一个语言计算器,数据库+逻辑抽象+人工调度算法
    1. 当前的LLM使用大量的权重完全包含和模拟了整个存储和检索,但是容量有限
    2. 人工算法+数据库不能表达复杂的自然语言推理
  2. 类似于把自然语言用传统算法进行表达“计算”
    1. 传统算法模拟大脑的行为,好像不太合理
    2. LLM推理一次等价于大脑思考一次
    3. 每个样本都会存储一个树,经过不断的推理,不断得往高层级的语义合并,引用,减少存储规模
    4. 自动遗忘
  3. 怎么复用(链接)相同语义到相同的表示token? xx是xx、因为所以、A是B,B是C,A是C
  4. 人工算法和数据库是不是表示所有的自然语言的关系??

过程

  1. 语句 -> LLM生成单词树 ->  单词树查询数据库 -> 单词树匹配/推理  -> 重新组织语言
  2. 语句 -> LLM总结 -> 单词树(meaning tree)
  3. 单词树节点之间的关系的学习:
    1. 不断遍历可能的节点之间的逻辑关系并记录到数据库
      1. xAx == x被xA
      2. x1 and x2 and x3 ==  x2 and x3 and x1
      3. 只有抽象高度通用的语义才能穷举
    2. 通过关系树表达,形成一个完全符合自然语言的向量数据库
      1. 明文,非黑盒,可以单点修改
      2. 无需大量计算,可以通过简单的算法进行检索
      3. 和LLM的区别是,不能进行复杂的逻辑推理和自然语言的组织
  4. 正向:单词树 ->  prompt -> LLM -> 单词树的关系 -> 关系数据库
    1. 根据已经有的单词树数据库生成prompt
    2. LLM进行自然语言推理
    3. 更新单词树节点之间的关系
    4. 不断循环,从低节点开始建立关系,逐步向上总结到高层级
  5. 逆向:LLM 生成样本 -> 单词树  ->  关系计算 -> 关系数据库
    1. 使用LLM生成的同义句
    2. 根据已知的逻辑关系,更新数据库

实现4

  1. LLM 格式化输入的高级语义到向量空间并存储:seq -> LLM encoder -> vector -> DB 
  2. 检索距离接近的vector的seq,重新组织语言:seq -> LLM encoder -> vector -> DB -> seq -> LLM -> seq
  3. 对文本(语义)进行树tree建立 + 符号分类(向量V) + 打标签(向量V)
    1. 模型里面的向量本身就能线性的表示两个语义的相似度,距离
      1. 前提是对已知的信息已经经过大量的训练(分割)
    2. tree,各个层级的语义之间的关系信息,语义由低级别的语义进行的组合,通过组合关系可以确定真实含义
      1. 通过大LLM生成
    3. 语义空间的多维向量V(标签):
      1.  表示两个语义之间的关系和距离
      2. 通过专用模型可以直接计算出两个输入(树+向量)的关系向量
      3. LLM不能直接对未知的知识进行分类和输出表示向量
        1. 但是可以计算出两个语义的距离
        2. 难以表示绝对值,可以计算相对值
  4. 不断得对一整篇文件进行总结,并进行映射输出到单个向量
  5. 问题
    1. V表达的空间够不够,需要多大的维度信息才能表达所有的语义
    2. V的分类性能依赖已知数据的训练,不能对新知识进行很好的分类
      1. 通过语言的自然理解,可以进行部分正确的分类
      2. 通过和低级别语义的关系进行推导出语义空间向量