KMesh:局部更新,持续改进的知识网络

研究探索

基本设想

KMesh 是我最近在做的一个研究项目。它的核心问题时:能否让 AI 通过局部知识更新持续获得新能力,而不必每次重新训练整个系统?

KMesh 将一个小型共享计算核心,与可持续扩展的外部知识网络结合起来。知识以 knowledge patch 为基本单元组织:一个 patch 可以表达事实、规则、条件、例外或过程,拥有稳定的身份与版本,并与其他 patch 建立关联。

灵感还是借鉴自人脑的工作模式(我自己的理解)。知识是个网络,不是严格的层次结构,学习的时候更新的往往是局部的知识,而且局部知识的更新不会破坏整体结构。直觉上,每次学习,就像给整个知识网络打了一个补丁(patch)。就像诸多开源软件,是多年以来无数的patch持续更新而成,知识更新也是如此。

所有 patch 使用统一的表示与读写接口,不预先划分“摘要知识”和“普通知识”。整个网络也不是严格的层次树。我们希望通过网络结构与训练方法,让不同计算阶段形成不同的读取偏好:有时查找具体细节,有时调用跨任务复用的规则,有时跨越当前邻域,寻找尚未考虑到的知识。

在这个设计中,计算核心负责选择、读取和组合知识;知识网络负责保存与积累。新增知识可以加入新的 patch,错误知识可以通过版本化更新得到修正。进一步的研究将探索:能否只训练少量 patch 的表示,就获得可迁移的能力提升,同时保持其他仍然有效的知识。

局部更新不意味着每次修改都会让所有任务变好。KMesh 要验证的,正是这种更新能否以可控的干扰和成本,推动整体能力持续改善。

首先验证什么?

项目从小型、可精确求解的规则世界开始,而不是直接训练一个大语言模型。

第一阶段将比较普通检索、知识图访问,以及可学习的分阶段读取策略,检验模型能否真正使用外部 patch、组合未见过的知识,并在关键 patch 改变后正确调整答案。随后,再测试连续新增、修改和撤销知识,以及冻结共享核心后的局部参数学习。

这些实验会明确区分“替换资料后答对问题”“通过局部训练获得新能力”和“自动形成抽象知识”,不把它们当成同一个成果。

长期方向

如果核心假设成立,KMesh 将进一步探索可复用抽象的形成,以及 GPU、主存和硬盘之间的知识分层存储:只让当前需要的工作集驻留 GPU,使知识容量的增长不必依赖同等规模的显存增长。

KMesh 服务于更长期的 AI for Everyone 愿景:让智能系统能够在普通设备上低成本运行,并随着使用持续积累和修正知识。

目前,它仍是一个待验证的研究方案。我们希望通过可复现的实验,逐步回答:一个小型计算核心,能否依靠一个持续演进的知识网络,不断扩展自己的能力边界?

研究进展

目前还没有实验结果能回答:“LLM 大多数训练是否只需局部更新,以及能省多少钱。”我们仍在准备验证这个问题的基础工具。

已确认的进展

迄今确认了三件事:

  • 能够清楚地表示知识和规则,并检查它们有没有基本错误。
  • 两套独立的推理程序,在已测试的 64 个小型规则世界中得到相同答案。
  • 能够独立检查一份推理过程是否成立,相关正确、错误和边界用例已通过验收。

这些进展记录在实现状态中。

尚未验证的部分

目前的推理来自按规则编写的程序。神经网络读取知识、组合知识、局部学习的实验尚未开始,因此还没有关于学习效果、遗忘或训练成本的结论。

下一步

接下来按研究计划,依次回答:

  1. 小模型能否真正读懂并组合外部知识?
  2. 只修改少量知识或参数,能否学会新东西,同时保住旧能力?
  3. 多次局部修改后,这些知识还能否一起正确使用?
  4. 放到 LLM 训练中,同等效果下是否真的更便宜?

其中必须分别验证:少改参数是否足够,以及少改参数是否真的省计算、省时间。

项目链接

KMesh

留言

登录 GitHub 后即可留言。中英文版本共用此讨论区。