【元空间】概念理解——周树人在元空间中暴打了鲁智深
作为程序员而非研究人员来讲,在首次从开发手册中看到元空间这个词的时候确实是一脸懵。随着后续做ACT开发,看PAIC的论文,认为自己总算有了一点理解。所以就以标题的这个例子来串一下元空间的一些主要操作。希望大家在开发时候能快速理解一下。
元空间
元空间是后续所有操作的容器,你可以把它想想成你在你面前吹了一个巨大的肥皂泡飘在空中。
数据脱水 k_data_dehydration
那数据脱水就是将数据展开成多个维度。例如这句话:
今天下午周树人暴打了鲁智深
你将它扔进了面前的肥皂泡中,它哗地一下就展开成了一个点和线连成的网
当然,它应该是个三维的,但是我只能画成二维的了。上面图的意思就是脱水就是以多个维度理解我们的内容。
元空间搜索 k_meta_space_search
就是在元空间中以一个维度搜索。例如,从名字维度搜索,它的结果就是有周树人
和鲁智深
。从姓这个维度搜索,那结果就有周
和鲁
。那如果以汉字的维度搜索,那全部都是了。
元数据语义改写 k_meta_data_semantic_rephrase
那语意改写就是根据用户要求修改一个维度。例如,要求是将里面的姓都改成王
,那结果就成了:
今天下午王树人暴打了王智深
如果说要求是将里面的植物都换成花,那么就是将树
换成了花
,结果就是:
今天下午周花人暴打了鲁智深
但是需要注意,这个方法只是结合需求和空间得出了解决结果,并没有将元数据更新了。这个阶段你还可以对这个结果进行操作。
元空间更新元数据 k_meta_space_update_meta_data
这个操作就比较好理解了,将改写的结果正式更新到元空间中。
元数据浸泡 k_meta_data_rehydration
原数据浸泡,就是脱水的逆向操作了,将展开的元数据缩回到原来的维度。但是怎么缩,我还没理解到太深。
注意
有一个需要注意的点是,元空间改写可不仅仅是上面演示的一些简单的替换。改写还要看改完的结果逻辑上有没有问题。例如这个要求:将今天下午周树人和李白讨论茴字有几种写法加进去
。那么,直接跟着写进去,那么这个时间关系可能就不合理了,它会合理化一下,结果可能就是:
今天下午周树人和李白讨论茴字有几种写法,结果很生气,然后去暴打了鲁智深
但是我还不确定这个逻辑是在改写方法还是更新方法中执行的,所以就先放这里了,毕竟是从方法反推设计,有不好理解的地方。
参考
kOS文档
KOS系列第一篇—— 为什么要做一台个人AI计算机
《Personal Autonomous Intelligence Computer》