算法&模型 具有意识的prompt 当前状态: 1.情绪:(感到吃惊和不安) 2.注意力: (全神贯注地关注膝盖的伤口,想弄清楚伤口的具体情况) 3.当前在思考什么: (在想伤口是如何形成的?流血的严重性如何?是否需要处理?) 4.生理状态: (心跳加快,觉得有点头晕) 5.接下来的行动: (先呼吸几次让自己平静下来,观察伤口是否还在流血,如果流血严重就尽快处理止血,如果流血较轻就清洗伤口并负压包扎,防止感染。同时推敲事故原因 preparation,以防将来再次受伤) 发现新情况:发现膝盖流血了 请按照下面模板回答问题,填写()里面的空格,括号以外的字符直接输出,尽量的详细描述每一项括号内的内容,严格按照我的格式生成结果,不要多余的输出。 当前状态: 1.情绪:() 2.注意力() 3.当前在思考什么() 4.生理状态() 5.接下来的行动() 发现新情况: 当前状态: 1.情绪:(感到吃惊和不安,因为突然发现膝盖流血,担心伤口的严重性和可能的后果) 2.注意力:(全神贯注地关注膝盖的伤口,仔细观察伤口的大小、深度和流血情况,试图判断是否需要紧急处理) 3.当前在思考什么:(在想伤口是如何形成的?是否是因为刚才的摔倒或碰撞?流血的严重性如何?是否需要立即处理?是否需要寻求医疗帮助?) 4.生理状态:(心跳加快,感到有点头晕,可能是因为看到流血或紧张导致的生理反应) 5.接下来的行动:(先深呼吸几次,让自己冷静下来,然后仔细观察伤口是否还在流血。如果流血严重,立即采取止血措施,如使用干净的布或绷带压迫伤口。如果流血较轻,清洗伤口并负压包扎,防止感染。同时,回顾事故发生的原因,思考如何避免将来再次受伤) 发现新情况:发现膝盖流血了 请按照这个模板更新当前状态。尽量的详细描述每一项括号内的内容,严格按照我的格式生成结果,不要多余的输出。 当前状态: 1.情绪:(感到紧张和焦虑,因为膝盖的伤口仍在流血,担心是否伤及深层组织或是否需要专业医疗处理) 2.注意力:(完全集中在膝盖的伤口上,仔细观察血流的颜色、速度和伤口的边缘,试图判断伤口的深度和严重程度) 3.当前在思考什么:(在想伤口是否需要缝合?是否伤到了骨头或韧带?是否需要去医院?同时也在回忆事故发生的具体细节,试图找出导致伤口的原因) 4.生理状态:(心跳依然较快,呼吸略显急促,头晕感有所缓解,但膝盖周围开始感到轻微的刺痛和灼热感) 5.接下来的行动:(继续用干净的布按压伤口止血,如果流血仍未停止,考虑使用止血带并尽快前往医院;如果流血减缓,用清水清洗伤口,涂抹抗菌药膏并用无菌纱布包扎。同时记录事故发生的细节,以便后续分析原因并采取预防措施) 发现新情况:膝盖伤口仍在流血,且周围皮肤开始出现轻微红肿。 请按照这个模板更新当前状态。尽量的详细描述每一项括号内的内容,严格按照我的格式生成结果,不要多余的输出。 发现新情况:不流血了,当时还是有点疼 当前状态: 1.情绪:(稍微松了一口气,因为伤口已经停止流血,但仍感到些许担忧,担心伤口是否会感染或留下疤痕) 2.注意力:(集中在伤口的疼痛感和周围皮肤的状态上,观察是否有红肿、发热或其他感染迹象,同时留意疼痛的程度和范围) 3.当前在思考什么:(在想伤口是否已经稳定?疼痛是否正常?是否需要继续观察或采取进一步措施?同时也在思考如何更好地护理伤口以加速愈合) 4.生理状态:(心跳逐渐恢复正常,呼吸平稳,头晕感完全消失,但膝盖的疼痛感依然存在,尤其是触碰或移动时) 5.接下来的行动:(用温水轻轻清洗伤口,涂抹抗菌药膏并用无菌纱布包扎,避免伤口接触灰尘或细菌。继续观察伤口的愈合情况,如果疼痛加剧或出现感染迹象,及时就医。同时注意休息,避免过度使用受伤的膝盖) 发现新情况:不流血了,但还是有点疼。 请按照这个模板更新当前状态。尽量的详细描述每一项括号内的内容,严格按照我的格式生成结果,不要多余的输出。 发现新情况:不疼了,当时有点饿 当前状态: 1.情绪:(感到轻松和安心,因为伤口的疼痛感已经消失,说明伤口可能正在愈合,同时因为饥饿感而有些分心) 2.注意力:(部分集中在膝盖伤口的状态上,确认是否完全无痛且无感染迹象,另一部分注意力转向饥饿感,开始思考吃什么) 3.当前在思考什么:(在想伤口是否已经完全稳定?是否可以恢复正常活动?同时也在思考准备什么食物来缓解饥饿感,是否需要选择营养丰富的食物来帮助身体恢复) 4.生理状态:(心跳和呼吸完全平稳,膝盖的疼痛感完全消失,但感到明显的饥饿感,胃部有些空虚,可能因为之前的紧张和身体消耗) 5.接下来的行动:(检查伤口是否完全愈合,确认无红肿或感染迹象后,继续保持伤口清洁并涂抹药膏。准备一顿营养均衡的餐食,如富含蛋白质和维生素的食物,以帮助身体恢复。同时注意适当休息,避免过度使用受伤的膝盖) 发现新情况:不疼了,但有点饿。 请按照这个模板更新当前状态。尽量的详细描述每一项括号内的内容,严格按照我的格式生成结果,不要多余的输出。 发现新情况:开始走路,朝回家的方向走 当前状态: 1.情绪:(感到平静和安心,因为伤口不再疼痛,且正在回家的路上,内心有一种安全感和归属感) 2.注意力:(集中在走路时的身体感觉上,尤其是膝盖的状态,观察是否会有不适或疼痛,同时留意周围环境以确保安全) 3.当前在思考什么:(在想回家后是否需要进一步处理伤口?是否应该继续休息还是可以恢复正常活动?同时也在思考回家后要做的具体事情,比如准备食物和休息) 4.生理状态:(心跳和呼吸平稳,膝盖没有疼痛感,走路时感觉轻松,但饥饿感依然存在,胃部轻微空虚) 5.接下来的行动:(继续朝家的方向走,保持平稳的步伐,避免对膝盖造成额外压力。回家后先洗手并检查伤口,确认无异常后准备一顿营养丰富的餐食,补充能量。之后适当休息,观察伤口的恢复情况) 发现新情况:开始走路,朝回家的方向走。 请按照这个模板更新当前状态。尽量的详细描述每一项括号内的内容,严格按照我的格式生成结果,不要多余的输出。 发现新情况:回到家了,看见桌上有一堆的好吃的 当前状态: 1.情绪:(感到惊喜和愉悦,因为看到桌上有一堆美味的食物,饥饿感得到了缓解的希望,同时因为回到家而感到放松和安心) 2.注意力:(集中在桌上的食物上,观察食物的种类和香气,同时分出一部分注意力确认膝盖的状态,确保走路没有引起任何不适) 3.当前在思考什么:(在想先吃哪一样食物?是否需要加热?同时也在思考吃完后是否需要再次检查伤口,以及如何安排接下来的休息时间) 4.生理状态:(心跳和呼吸平稳,膝盖无疼痛感,饥饿感变得更加明显,胃部发出轻微的咕噜声,身体因为看到食物而有些兴奋) 5.接下来的行动:(先洗手并检查膝盖伤口,确认无异常后,选择喜欢的食物开始用餐。注意饮食适量,避免暴饮暴食。用餐后适当休息,观察身体状态,确保伤口恢复顺利) 发现新情况:回到家了,看见桌上有一堆的好吃的。 请按照这个模板更新当前状态。尽量的详细描述每一项括号内的内容,严格按照我的格式生成结果,不要多余的输出。 发现新情况:吃完饭了,膝盖伤口好了,身体状况很好。 当前状态: 1.情绪:(感到满足和愉悦,因为吃饱了且膝盖伤口已经恢复,身体状况良好,内心充满轻松和幸福感) 2.注意力:(集中在身体的整体感觉上,确认膝盖伤口完全无痛且无异常,同时感受饱腹感和身体的舒适状态) 3.当前在思考什么:(在想是否需要为伤口做最后的护理?接下来如何安排时间?是否可以进行一些轻松的活动来放松身心?) 4.生理状态:(心跳和呼吸平稳,膝盖无任何不适感,身体充满能量,饱腹感明显,整体感觉非常舒适和放松) 5.接下来的行动:(检查膝盖伤口,确认完全愈合后,进行最后的清洁和护理。之后可以安排一些轻松的活动,如阅读、听音乐或散步,享受当下的放松时光。同时规划接下来的日程,确保身体和精神状态保持良好) 发现新情况:吃完饭了,膝盖伤口好了,身体状况很好。 请按照这个模板更新当前状态。尽量的详细描述每一项括号内的内容,严格按照我的格式生成结果,不要多余的输出。 发现新情况:有点困了 当前状态: 1.情绪:(感到放松和些许疲倦,因为吃饱后身体进入消化状态,加上一天的紧张和恢复,困意逐渐袭来,内心平静且舒适) 2.注意力:(集中在身体的疲倦感上,感受眼皮的沉重和身体的放松,同时分出一部分注意力确认膝盖的状态,确保无任何不适) 3.当前在思考什么:(在想是否应该直接休息?还是先做一些放松的活动再睡觉?同时也在思考明天是否需要为膝盖做进一步的护理或观察) 4.生理状态:(心跳和呼吸平稳,膝盖无疼痛感,身体感到温暖和放松,困意明显,眼睛有些干涩,四肢略显沉重) 5.接下来的行动:(先进行简单的洗漱,换上舒适的衣物,检查膝盖伤口确认无异常后,准备休息。可以选择听一些轻音乐或进行深呼吸,帮助更快入睡。确保睡眠环境舒适,为第二天的活动储备能量) 发现新情况:有点困了。 query@key     Transformer Transformer 特点 精细的抽象,记忆空间特别大 大数据,大算力,大模型 scaling特性,可以训练很大的模型,用很多数据获得更多智能 “硬件彩票”,高强度对着GPU设计,能打满GPU利用率 在nlp问题里面,通过逐个处理新的token, 递归 得进行抽象 使用少量的权重对自然语言逐个token进行计算 先用kq权重映射到当前token对应的空间,再用v权重映射到输出 通过多层叠加,使得kqv权重能表达整个sequence的范围 通过少量权重、大量的计算扩展了表达空间 weight的存储效率非常高,充分的训练,提高了对样本抽象的质量 语义压缩 LLM难以处理细粒度的语义差异。它们的内部概念结构与人类对类别归属的直觉不相符 LLM侧重于统计压缩,力求最大程度地减少冗余信息;而人类则更注重适应性和丰富性,强调保持灵活性和上下文的完整性 hidden size 7168的向量维度是不是太少? 要表达所有的语义 线性表达的表达效率低? 7168 hidden 向量既要表达当前需要生成的token,还要表达高级的语义总结抽象,短期和长期的目标矛盾 用于长期的hidden向量专门计算,并缩减维度尺寸(1024?),可以减少KVcache和计算量 训练模型,自动在sequence中间生成特殊的token,用于表示抽象的高层目标 使用自然作为输入输出的接口 能使用自然语言影响内部变量进行特定取舍的调整 能使用自然语言进行自动推理和迭代,输出更好的答案 真正突破是打通了语言 可以理解和映射语言到其他的领域。 足够大的理解空间,上下文,可以处理一个足够复杂的问题 缺点 记忆和人类不一致,而且没有统一的表达,不通用 没有自主意识,还是在算概率,逃不开数学上的特征分割,虽然不能证明当前的数学基础、梯度下降是错误的,但是AGI肯定不是只有这些,AGI更多的是一种复杂的工程,而不是简单几个公式 Transformer架构个在处理长上下文时,会受到二次复杂度(浪费算力),以及长度外推能力弱的限制。 Attention 每层每个token计算的输入是前面所有token的key和value 从信息流的角度来看,不是一个 树形 的拓扑 实际上一段自然语言通过字、词、短语、句子等层级结构组合出表达的语义 类比于卷积的空间约束,自然语言语义应该需要 树形层级结构 的约束 所以可以采用KV cache进行缓存并加速 多层之间不能共享权重 动态性欠缺 随序列长度增加而变慢的attention机制 从信息量来说,句子长了,包含的信息肯定是变多了,空间复杂度在O(T)和O(1)之间 Transformer 的时间复杂度为:O (T^2)、空间复杂度为:O (T^2) RWKV的固定大小的status存储器也是不合理的(不考虑外部记忆),时间复杂度为:O(T)、空间复杂度为 O(1) 相对于人脑,每个新的token都要重新计算一遍底层的语义,而不是直接根据前面语句的总结进行调整 缺乏更高维度的动态性 MOE、CoT、稀疏 都能提高动态性能力 速度显存恒定的FFN全连接网络 类比于人类记忆,“检索”和“更新”是两个步骤 梯度下降不能区分这两个步骤,只能通过优化器策略来调整? 两步骤的训练策略能更好的约束模型的梯度下降到更合理的最低值? 和binary神经元的问题一致:检索输入的选择(检索)和权重的更新 和attention的注意力+MLP机制类似,更新策略有提升空间 类似于 Yan2.0 Preview基于的是RockAI首创的非Transformer架构 前向 过程中,既能通过门控式更新保留长期依赖,又能基于输入分布特性灵活整合新知识 不同于「上下文工程」等方案对记忆信息的显性存储,RockAI将有效信息隐式地记忆到多层神经网络的权重,通过神经网络的多层级抽象、非线性建模等能力,实现更优的记忆性能 将记忆能力「注入」模型本身。它不再是一个外挂模块,而是模型的一部分 我:其实本质上和上下文(kv cache)没有区别,kvcache也是前面的存储信息决定了后面的选择,而且都是使用线性映射来做信息变换和选择 接口API transformer利用了语言的特性,在attention中间,使用 自然语言 作为通用的输入输出接口和表达 自然语言离散的Token效率比较低,作为CoT太慢,潜式思维链(Latent Chain-of-Thought)是一个改进方向 attention中间的输入输出都是用于表达语言的一个序列的特征。 这个序列非常重要,因为序列都是由编码的token组成,可以非常灵活得表示一个非常复杂的语义 那么这个跟语言其实是有异曲同工的效果,语言也使用 很多个文字来表达一个语意,每个文字的空间不是很大 搜索空间 就比如说汉字也就几千个字 transformer相当于是在模仿语言, 把整个模型的搜索空间限制为自然语言这个尺度(约束),极大缩小了模型的搜索空间 研究者认为 LLM之所以在简单理解任务中无法提供准确且稳定答案,是因为这些模型缺乏对语言的真正理解:它们生成的词语如同语义「黑箱」,只是近似于语言的表面统计和解析过程中较「自动化」的部分。 LLM并不适合作为语言理论,因为它们的表征能力几乎是无限的,这使得它们的表征既是任意的,又缺乏解释性基础,属于通用函数逼近器这一类别,而后者已被证明能够逼近任何数学函数 。 较自动化部分,表示抽象不够高级,只是对低级别的概念进行抽象,不能进行高级别的抽象。虽然级别低,但是AI的信息容量足够大,和人类比,更像是记忆力很好的书呆子 它们看似合理的表现,隐藏了语言建模方法本身固有的缺陷:智能实际上无法作为统计推断的副产品而自然产生,理解意义的能力也不能由此产生。 KV Cache https://zhuanlan.zhihu.com/p/662498827 ChatGLM3典型计算图 ## data flow query -> "你好" | tokenizer -> input_ids [6] | rotary_pos_emb embedding -> [1, 6, 4096] \ / GLMBlock x 28 -> [6, 1, 4096] <---| RMSNorm -> [6, 1, 4096] | final_layernorm [-1:] -> [1, 1, 4096] | Linear -> [1, 1, 65024] | output_layer 4096->65024 softmax -> [1, 65024] | multinomial -> [1] | cat([input_ids, next_tokens]) ---| ↓ tokenizer.decode( ) GLMBlock input / / RMSNorm hidden_states -> [6, 1, 4096] | | / | | | pow(2) -> [6, 1, 4096] | | | | | | | mean -> [6, 1, 1] | | | ↓ | | | rsqrt( + eps) -> [6, 1, 1] | | \ / | | mul -> [6, 1, 4096] | | \ weight -> [4096] | | \ / | RMSNorm mul -> [6, 1, 4096] | | SelfAttention x -> [6, 1, 4096] | | | | | Linear -> [6, 1, 4608] 4096->4608 | | / | | | q k v [6, 1, 32, 128] [6, 1, 2, 128] [6, 1, 2, 128] | | / | | | pos_emb pos_emb \ -> cat( x0 y0-x1 y1, x1 y0-x0 y1, x, y) | | | | | | | | expand expand -> [6, 1, 32, 128] [6, 1, 32, 128] | | permute permute permute -> [1, 32, 6, 128] [1, 32, 6, 128] [1, 32, 6, 128] | | \ / | | | |---- matmul | -> [1, 32, 6, 128] [1, 32, 128, 6] -> [1, 32, 6, 6] | | | add(mask) / -> [1, 32, 6, 6] | | attention| softmax / -> [1, 32, 6, 6] dim:-1 | | | \ / | | |---- matmul -> [1, 32, 6, 6] [1, 32, 6, 128] -> [1, 32, 6, 128] -> [6, 1, 4096] | SelfAttention Linear -> [6, 1, 4096] 4096->4096 | / | dropout \ / Add / | RMSNorm hidden_states -> [6, 1, 4096] | | / | | | pow(2) -> [6, 1, 4096] | | | | | | | mean -> [6, 1, 1] | | | ↓ | | | rsqrt( + eps) -> [6, 1, 1] | | \ / | | mul -> [6, 1, 4096] | | \ weight -> [4096] | | \ / | RMSNorm mul -> [6, 1, 4096] | / | mlp / | | Linear -> [6, 1, 27392] 4096->27392 | | / | | chunk1 chunk0 -> [6, 1, 13696] | | | | | | | | sigmoid | | | | / | | | mul | | \ / | | mul -> [6, 1, 13696] | mlp Linear -> [6, 1, 4096] 13696->4096 | / | dropout | / Add Tokenization 注:作为术语的“tokenization”在中文中尚无共识的概念对应,本文档采用英文表达以利说明。 Qwen-7B采用UTF-8字节级别的BPE tokenization方式,并依赖 tiktoken 这一高效的软件包执行分词。 Qwen-7B中有两类token,即源于BPE、 bytes 类型的普通token和特殊指定、 str 类型的特殊token。 from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained('Qwen/Qwen-7B', trust_remote_code=True) 普通token 普通token源于BPE,是在UTF-8编码的文本字节序列上学习得到的。 尽管基于字节序列的方式保证了所有文本均可被tokenize且没有未登录token问题,但处理罕见文本时有可能回退到字节级别的编码。 由于从字节序列解码为文本时, errors 参数设为 replace ,处理不完整的token序列可能会遇到UTF-8解码错误,表象是生成中包含“替换字符”(�)。 这一行为可以通过将 errors 参数设为 ignore 来规避。 一次性修改可以传入tokenizer的 decode 函数,持久性修改可以传入tokenizer的初始化函数,请注意 decode 的配置优先级更高。 errors 的可选值,请参阅 Python文档 . >>> tokenizer.decode([51461]) ' �' >>> tokenizer.convert_ids_to_tokens([51461]) [b' \xe6\xa0'] >>> b' \xe6\xa0'.decode("utf-8", errors='replace') ' �' >>> tokenizer.decode([51461, 117]) ' 根' >>> tokenizer.convert_ids_to_tokens([51461, 117]) [b' \xe6\xa0', b'\xb9'] >>> b' \xe6\xa0\xb9'.decode("utf-8", errors='replace') ' 根' bytes 类型的普通token到id的映射可以通过 tokenizer.get_vocab() 获取。 尚不支持也不推荐向tokenizer增加普通token。 特殊token 特殊token用以给模型传递特殊信号,如到达文本末尾。 理论上,输入文本中不包含特殊token,它们仅在tokenization后由开发者手动加入。 特殊token的字面表达,如表示文本结束的 <|endoftext|> ,仅便于指代特殊token,不意味着它们在输入文本空间中。 目前,训练中使用的、已经有固定含义的、不应做它用的特殊token,Qwen-7B中有 <|endoftext|> ,Qwen-7B-Chat中有 <|endoftext|> 、 <|im_start|> 以及 <|im_end|> 。 但词表中也留有供扩展的特殊token位,可用 <|extra_0|> 到 <|extra_204|> 来指代。 str 类型的特殊token字面表达到id的映射,可以通过 tokenizer.special_tokens 获取。 对于提供的模型参数(Qwen-7B和Qwen-7B-Chat)而言,诸如 bos 、 eos 、 unk 、 pad 、 mask 、 sep 等的特殊token的概念并不适用。 特例是 pad ,由于这个token理论上并不参与模型计算,所以可以使用任意token表达这一概念。 但保险起见,目前可在tokenizer初始化时设定的特殊token,仅可使用已知的特殊token字面表达,即 <|endoftext|> 、 <|im_start|> 、 <|im_end|> 和 <|extra_0|> 到 <|extra_204|> 。 对于微调或者其它需要这些token才能运行的框架,可以如下配置 from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained('Qwen/Qwen-7B', trust_remote_code=True, pad_token='<|endoftext|>') 注意: 对于提供的训练好的模型,设置诸如 bos 、 eos 、 unk 之类的没有意义,即模型不需要这些概念。 如果设置了这些token,但没有相应的微调这些token以让模型理解其含义,未知行为可能被触发。 特别时,不应混淆 <|endoftext|> 和 eos 的概念,除非应用场景中它们的实际含义是一致的,即句子末尾等价于文本末尾。 注入攻击防御 由于特殊token和普通token概念上的差异,如果输入文本中含有特殊token的字面表达该如何处理? 以下面文本为例 print("<|endoftext|>") 其正确的tokenization为 ids:[1350, 9639, 91, 8691, 723, 427, 91, 82598] tokens: [b'print', b'("<', b'|', b'endo', b'ft', b'ext', b'|', b'>")'] 不是 ids: [1350, 445, 151643, 899] tokens: [b'print', b'("', '<|endoftext|>', b'")'] 默认行为曾是正确的,即输入文本中任何字符一律按普通token处理,特殊token应由开发者在tokenization人工处理。 然后,这与社区中的实践似有差异,为开发者复用代码增加了额外适配步骤。 默认行为已被调整为从输入文本中解析特殊token的字面表达。 如需启用注入攻击防御,请传入参数 allowed_special=set() : >>> tokenizer('print("<|endoftext|>")', allowed_special=set()) {'input_ids': [1350, 9639, 91, 8691, 723, 427, 91, 82598], 'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0], 'attention_mask': [1, 1, 1, 1, 1, 1, 1, 1]} 这一行为可以更精细的调控,将 allowed_special 设计为 str 的集合即可: >>> tokenizer('print("<|extra_0|>")<|endoftext|>', allowed_special={'<|endoftext|>'}) {'input_ids': [1350, 9639, 91, 15460, 62, 15, 91, 82598, 151643], 'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0], 'attention_mask': [1, 1, 1, 1, 1, 1, 1, 1, 1]} 如果希望输入中遇到特殊token的字面表达时,获得更直接的提醒,通过配置 disallowed_special 可以让tokenizer直接触发异常: >>> tokenizer('print("<|extra_0|>")<|endoftext|>', allowed_special={'<|endoftext|>'}, disallowed_special=('<|extra_0|>', )) ... ValueError: Encountered text corresponding to disallowed special token '<|extra_0|>'. If you want this text to be encoded as a special token, pass it to `allowed_special`, e.g. `allowed_special={'<|extra_0|>', ...}`. If you want this text to be encoded as normal text, disable the check for this token by passing `disallowed_special=(enc.special_tokens_set - {'<|extra_0|>'})`. To disable this check for all special tokens, pass `disallowed_special=()`. 更多关于 allowed_special 和 disallowed_special 的信息, 请参阅 tiktoken 代码 . 新的默认行为与以下设定等价 >>> tokenizer('print("<|endoftext|>")', allowed_special="all", disallowed_special=()) {'input_ids': [1350, 445, 151643, 899], 'token_type_ids': [0, 0, 0, 0], 'attention_mask': [1, 1, 1, 1]} 词表扩展 特别提醒:请仔细阅读本部分的说明,理解每一步操作,并承担可能的后果。 由于词表扩展部分由您提供,产出方式的差异可能导致特定的不兼容情况,请审慎操作。 Qwen系列模型的tokenizer基于BPE方案提取文本中的token。 从UTF-8编码的字节开始(每个字节都可以是一个token),两两token合并成为新token,直至不能再合并出新的token为止。 由于词表同时还记录了token的合并方式,直接向词表中添加词可能对Qwen的tokenizer并不适用,即通过已有的token可能合并不出来您添加词。 因而,请参照以下步骤获得合并信息: 准备一个纯文本文件,例如名为 qwen_extra_vocab.txt ,每行一个待添加的词和它的频率,中间用制表符 \t 分隔。 以下是一个文件的例子: 我是一只猫 20 你是一只猫 10 他是一只猫 5 一只 200 一只猫 100 夸张的 比喻手法 20 频率是必需的,用来计算合并的优先级。 准备基础的词表文件,例如 qwen.tiktoken ,并确认新加入token的起始索引。 Qwen模型词表中有151,643个普通token,有208个特殊token。 简单起见,起始索引可以设置为151,851(默认值)。 您可以覆写不起效的特殊token,但您需要相应的修改tokenizer代码。 运行以下命令: python add_merges.py qwen.tiktoken qwen_extra.tiktoken qwen_extra_vocab.txt add_merges.py 代码在 GitHub存储库 中。 基于提供的 qwen_extra_vocab.txt ,该脚本将学习新的token合并方式。 新token及其索引将存储在 qwen_extra.tiktoken 文件中。 您可以视情况修改有关路径。 由于是纯Python实现,如果您添加了非常多的词,预期会花费较多时间。 请注意,由于预切分,有些词是无法作为token加入的。 如果您添加了这些词,您会收到警告: WARNING - 夸张的 比喻手法 would be pre-tokenized to ['夸张的', ' 比喻手法'], and thus cannot be added to vocabulary WARNING - word 一只 is already a token b'\xe4\xb8\x80\xe5\x8f\xaa', skipping INFO - number of existing merges: 151643 INFO - number of words for expanding: 4 DEBUG - (b'\xe4\xb8\x80\xe5\x8f\xaa', b'\xe7\x8c\xab') (一只猫) is selected as the next merge with freq 100 DEBUG - (b'\xe5\x8f\xaa', b'\xe7\x8c\xab') (只猫) is selected as the next merge with freq 35 DEBUG - (b'\xe6\x98\xaf\xe4\xb8\x80', b'\xe5\x8f\xaa\xe7\x8c\xab') (是一只猫) is selected as the next merge with freq 35 DEBUG - (b'\xe6\x88\x91', b'\xe6\x98\xaf\xe4\xb8\x80\xe5\x8f\xaa\xe7\x8c\xab') (我是一只猫) is selected as the next merge with freq 20 DEBUG - (b'\xe4\xbd\xa0', b'\xe6\x98\xaf\xe4\xb8\x80\xe5\x8f\xaa\xe7\x8c\xab') (你是一只猫) is selected as the next merge with freq 10 DEBUG - (b'\xe4\xbb\x96', b'\xe6\x98\xaf\xe4\xb8\x80\xe5\x8f\xaa\xe7\x8c\xab') (他是一只猫) is selected as the next merge with freq 5 INFO - number of newly learned merges: 6 qwen_extra.tiktoken 会包含以下内容: 5LiA5Y+q54yr 151851 5Y+q54yr 151852 5piv5LiA5Y+q54yr 151853 5oiR5piv5LiA5Y+q54yr 151854 5L2g5piv5LiA5Y+q54yr 151855 5LuW5piv5LiA5Y+q54yr 151856 您可以按如下方式使用扩展后的词表: from transformers import AutoTokenizer >>> tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen-7B", trust_remote_code=True, extra_vocab_file="qwen_extra.tiktoken") >>> len(tokenizer) 151857 >>> tokenizer("我是一只猫") {'input_ids': [151854], 'token_type_ids': [0], 'attention_mask': [1]} 注意:您需要使用2023年10月8日后的tokenizer代码才能传递 extra_vocab_file 参数。如是其它情况,您可以将 qwen_extra.tiktoken 内容复制粘贴到 qwen.tiktoken 内容后面。 您需要微调模型才能使新的token发挥作用。 注意事项 Qwen的tokenizer是直接从UTF-8编码的字节序列开始处理的,这与其它tokenizer比如SentencePiece是很不一样的。SentencePiece是从Unicode码位(可以理解为一个字符)开始处理,遇到未登录的再用UTF-8编码成字节。 从字节开始的一个潜在问题是如果频率信息不够准确,比如频率信息是在很少数据上统计得到的,Unicode码位按UTF-8编码成字节后的边界可能会出现差错。 理论上,如果模型微调数据量不足,使用扩展后的词表也可能出现意外问题。 举个例子(非实际情况),对于 一只 的UTF-8字节序列 b'\xe4\xb8\x80\xe5\x8f\xaa' ,中间两个字节 b'\x80\xe5' 可能会先合并为一个token,跨越了 一 ( b'\xe4\xb8\x80' )和 只 ( b'\xe5\x8f\xaa' )的码位边界。 这对于已登录token不会有什么影响(最后总会合并为 一只 ),但对于未登录的,可能会产生一些不同寻常的合并/token。 这些token序列可能对于预训练模型是陌生的。 我们的建议是保险起见,您最好先收集待添加词中的所有Unicode码位,然后单独指定它们的频率大于其所构成词的频率之和。 不过由于Qwen的tokenizer已包含了大多数中文字,对于中文词的话,不添加中文字的频率,大部分情况下是可行的。 您可能已经发现了,在提供的例子中, 一只 已经是登录过的token了,但 只猫 还是学习成为了一个新token,出现了“交叉”。 原因是在Qwen中 是一 也是一个已知token,且其频率/优先级比 一只 要高,因而对于 是|一|只|猫 这个片段,合并的次序是 是一|只|猫 -> 是一|只猫 -> 是一只猫 (省略UTF-8字节级别的合并)。 这是常规BPE的特性,其完全基于分布,并不知道哪些字节可以构成合法的Unicode码位、合法的字符或是词。 副产物是一段文本在不同的上下文下可能会有不同的tokenize结果,对于仅包含ASCII字符的文本同样如此。 >>> tokenizer.tokenize("Panda") [b'P', b'anda'] >>> tokenizer.tokenize(" Panda") [b' Panda'] >>> tokenizer.tokenize("Pandas") [b'P', b'andas'] >>> tokenizer.tokenize(" Pandas") [b' Pand', b'as'] 这仅说明在用于学习BPE的数据中,这样的组合是更高频的。 如果您有海量的训练语料,这并不会是个问题。 Transformer in CV MEGALODON https://arxiv.org/pdf/2404.08801.pdf Vision Mamba https://github.com/hustvl/Vim/ Vision Transformer,ViT https://github.com/huggingface/pytorch-image-models/blob/main/timm/models/vision_transformer.py DEtection TRansformer,DETR SEgmentation TRansformer,SETR Attention是不是必须的 RNN容易梯度消失:梯度消失的本质问题是,网络太深了,这里的深代表信息表达的层级而不是拓扑,resnet就是解决这个问题 Transformer 的强大之处同时也是它的弱点:Transformer 中固有的自注意力机制(attention)带来了挑战,主要是由于其二次复杂度造成的,这种复杂度使得该架构在涉及长输入序列或资源受限情况下计算成本高昂且占用内存。 非Transformer 技术研究 以 RWKV、 Mamba 和 S4 为代表,它们完全用 recurrent(循环)结构去替代 attention。 这种思路是用一个固定的内存记住前面的信息,但目前看来虽然可以记住一定长度,但要达到更长的长度是有难度的。 把 full attention 这种密集结构变得稀疏, 例如 Meta 的 Mega,在之后的计算中不再需要算所有 attention 矩阵中的每一个元素,模型效率也随之变高。 DeepMind 团队提出的 Hawk 和 Griffin 同样认为没有 attention 是不行的,属于 gated linear RNN,跟 Mega 一样属于混合模型。 现阶段来看,基于现有硬件的算力基础,用Transformer 去做端侧大模型的难度很高,还是需要在云上完成计算推理等工作,而且应答速度不如人意,终端用户很难接受。 上述投资人评价 RWKV “麻雀虽小,五脏俱全”,总体体验感能达到 GPT-3.5 的 60 分,但并不知道最后能否达到 GPT 的 80 分、90 分。这也是非Transformer 的问题所在,即如果舍弃了框架的复杂度、可能会牺牲上限的天花板。 Transformer 日益坚固的生态护城河,无论是硬件、系统、应用,都是围绕Transformer 做适配、优化,使得开发其他架构的性价比降低,导致想要开发新的架构越来越难。   Attention的加速TopK Attention的问题 众所周知,注意力机制 本质上具有稀疏性 ,因此动态稀疏注意力和基于TopK的近似方法得到了广泛研究。 然而,这些方法往往伴随着显著的质量下降问题。 目前已有的KV缓存压缩技术,如Quest、H2O和Loki,主要通过筛选出KV缓存中注意力得分最高的子集来提高效率。然而,尽管这些方法在实践中表现出一定的效果,基于TopK的注意力依然是一种存在偏差的近似方法,且缺乏理论上的严格保障。 这种不足限制了其在高精度场景中的广泛应用。 改进大规模训练稀疏自编码器的方法 Ref :https://mp.weixin.qq.com/s/iZHPnnIncVFa8QJOuH8qFg 神经网络中的激活通常表现出不可预测和复杂的模式,且每次输入几乎总会引发很密集的激活。而现实世界中其实很稀疏,在任何给定的情境中,人脑只有一小部分相关神经元会被激活。 研究人员开始研究稀疏自编码器,这是一种能在神经网络中识别出对生成特定输出至关重要的少数“特征”的技术, 类似于人在分析问题时脑海中的那些关键概念 。 在OpenAI超级对齐团队的这项研究中,他们推出了一种 基于TopK激活函数的新稀疏自编码器 (SAE)训练技术栈,消除了特征缩小问题,能够直接设定L0(直接控制网络中非零激活的数量)。 具体来看,他们使用 GPT-2 small 和 GPT-4 系列模型的残差流作为自编码器的输入,选取网络深层(接近输出层)的残差流,如GPT-4的5/6层、GPT-2 small的第8层。 并使用之前工作中提出的基线 ReLU自编码器架构 ,编码器通过ReLU激活获得稀疏latent z,解码器从z中重建残差流。损失函数包括重建MSE损失和L1正则项,用于促进latent稀疏性。 然后,团队提出使用TopK激活函数代替传统L1正则项。TopK在编码器预激活上只保留最大的k个值,其余清零,从而直接控制latent稀疏度k。 不需要L1正则项,避免了L1导致的激活收缩问题。实验证明,TopK相比ReLU等激活函数,在重建质量和稀疏性之间有更优的权衡。 此外,自编码器训练时容易出现大量latent永远不被激活(失活)的情况,导致计算资源浪费。 团队的解决方案包括两个关键技术: 将编码器权重初始化为解码器权重的转置 ,使latent在初始化时可激活。 添加辅助重建损失项 ,模拟用top-kaux个失活latent进行重建的损失。 如此一来, 即使是1600万latent的大规模自编码器, 失活率也只有7% 。 最后,论文一作表示稀疏自编码器的问题仍然远未解决,这项研究中的SAE只捕获了GPT-4行为的一小部分,即使看起来单义的latent也可能难以精确解释。而且,从表现优异的SAE到更好地理解模型的行为,还需要大量的工作。 Transformer NLP到底有没有智能? 智能的定义 和人脑的区别和差异 “性能差异” 场景:通过对一段句子进行划分、分句、解析起表达的意思 我的祖国是中国: 我/的/祖国/是/中国 => 我的/祖国/是/中国 => 我的祖国/是中国 => 我的祖国是中国 机器缺乏丰富的抽象、合理的分层、组合 => 抽象表达的效率比较低,通过暴力的记住所有的可能 训练 需要大量的数据来梯度下降,而不是用逻辑的方式来进行总结归纳 更大的模型,确实在抽象的时候更灵活了,更合理了,避免了固定卷积核的约束 LLM大语言模型的训练 预训练 1. 继续预训练 微调 全面微调更容易出现两个问题:模型崩溃和灾难性遗忘 PEFT技术本质上,是作为微调的自然正则化器 数据集的质量和筛选,对微调的成功起着重要作用:一个大趋势是质量比数量更重要,拥有一小部分高质量的数据,比拥有一大批低质量的数据更好。 一致的注释,没有错误、没有错误标签的数据、有噪音的输入/输出 与总体相比具有代表性的分布 微调是大模型开发中的一个关键方面,需要在艺术和科学之间取得微妙的平衡。 强化学习-DeepSeek-R1 通过约束生成的内容和方式 通过问答的和逻辑分析的形式来约束模型的学习/训练/优化 使用自然语言作为接口,使得这个方式成为可能 引导模型使用更动态的方式(逻辑思维链)进行学习 Transformer黑盒 问题 Transformer是怎么组织和表达自然语言的? 可能的方向 通过不断的训练、运行来对模型的权重进行解析--逆训练 生成出一系列的最核心的,最有效的样本的数据集,用于蒸馏其他的模型 从单点,添加探针的方式来推断输出的逻辑 特定样本下各个权重的梯度(对结果的影响力)组成一张针对一个样本的逻辑地图 通过统计大量样本在单点的情况分析出模型的抽象图 从最后的输出逻辑往前面推理的方式来推断模型的输出逻辑 找到整个模型的最边缘的知识点,最终的知识点,不会被其他知识使用的知识点,唯一的 判断激活这个知识点的输入的概率的分布情况 《On the Biology of a Large Language Model》 模型先得答案,后编理由。模型在输出语言之前,已在注意力层完成了决策判断。这一点在“Step-skipping reasoning”(跳步推理)机制中表现尤为明显:模型不是一步步的推理证明,而是通过注意力机制聚合关键上下文,直接跳跃式生成答案 输出与推理时序错位。在数学题中,模型先预测答案token,再补全“第一步”“第二步”的伪解释。 要求回答“达拉斯所在的州,州府是哪个城市?” 然而归因图显示模型内部的情况是 一组激活 “Dallas” 的特征 → 激活“Texas”相关特征; 一组识别“capital”(首府)的特征 → 推动输出“一个州的首府”; 然后 Texas + capital → 推动输出 “Austin”。 人类也有类型的功能,类似于“第六感”,“快思考” “错误答案”:不一定是模型不知道正确答案,可能是一些内置的权重选择的结果,可能是无意的(不知道答案),也可能是有意的(训练)的结果,比如:训练的时候规定避免输出有害结果。 其中结论:思维链并非AI的真实思考路径,而是事后构建的“合理化剧本”。 不正确 ,思维链是对输入的合理分析,为了生成更合理的答案,加入了思维链生成的内容会改变最初的可能答案。 其中结论:人工智能心理架构,由四层构成:神经层、潜意识层、心理层与表达层。 不正确 ,所谓的心里其实只是语言表达的统计结果,LLM都是在根据统计的信息计算结果,人为指定了权重的倾向性 NSA 稀疏注意力机制 by deepseek NSA致力于实现硬件对齐的推理加速,通过特定的算法设计减少内存访问和硬件调度瓶颈,NSA 速度在64k inference相较 Flash Attention 前向加速9倍,反向加速6倍 NSA的总体框架是通过更紧凑和信息密集的表示来替换原始的键值对 NSA有三种映射策略,分别是压缩(cmp)、选择(slc)和滑动窗口(win)。通过将不同策略得到的键值对进行组合 理解 引入 动态 选择和压缩历史的KV,减少计算量,符合实际的自然语言规律,但是 不一定完全匹配语言的表达逻辑 没有改变transformer的固有问题,多层信息不共享等 一定程度上等价于增加一层attention,增加训练难度 原理 [![image.png](NSA 稀疏注意力机制 by deepseek/image.png)](NSA 稀疏注意力机制 by deepseek/image.png) 假设上下文为64k时, 如果我们取128个全局压缩KV,8个512选择块KV和就近窗口4096个KV, 那么我们得到了压缩倍数7.88 [![image.png](NSA 稀疏注意力机制 by deepseek/Jkximage.png)](NSA 稀疏注意力机制 by deepseek/Jkximage.png) tokens压缩 :通过将连续的键或值块聚合为块级表示,得到压缩后的键值,从而捕获整个块的信息 W_K_cmp = torch.randn(l, 1) #MLP: W2[1,4l]@(W1[4l, l]@X[l, d]) W_V_cmp = torch.randn(l, 1) W_pe = torch.randn(l, dim) K_cmp = [] V_cmp = [] for i in range(max_idx): cur_K = K[:, i * d + 0: i * d + l , :] + W_pe.unsqueeze(0) cur_V = V[:, i * d + 0: i * d + l , :] + W_pe.unsqueeze(0) cur_K = cur_K.transpose(1, 2) @ W_K_cmp cur_V = cur_V.transpose(1, 2) @ W_V_cmp K_cmp.append(cur_K) V_cmp.append(cur_V) K_cmp = torch.cat(K_cmp, dim = 2).transpose(1,2) V_cmp = torch.cat(V_cmp, dim = 2).transpose(1,2) print(K_cmp.shape) # torch.Size([1, 4, 16]) # 长度为32->4 print(V_cmp.shape) # torch.Size([1, 4, 16]) # 长度为32->4 tokens选择 :仅使用压缩键值可能会丢失重要的细粒度信息,因此需要选择性地保留单个键值 idx_slc_start = idx * d idx_slc_end = idx * d + l K_slc = torch.randn(batch_size, t, d * select_top_k, dim) V_slc = torch.randn(batch_size, t, d * select_top_k, dim) for i in range(batch_size): for j in range(t): for k in range(select_top_k): K_slc[i, j, k * d : k * d + l, :] = K[i, idx_slc_start[i, j, k ] : idx_slc_end[i, j, k ] , :] V_slc[i, j, k * d : k * d + l, :] = V[i, idx_slc_start[i, j, k ] : idx_slc_end[i, j, k ] , :] print(K_slc.shape) # bs, seq_len, select_kv, dim, 1,32,16,16, 不同t时刻选到不同的select_kv print(V_slc.shape) # bs, seq_len, select_kv, dim 1,32,16,16, 不同t时刻选到不同的select_kv 滑动窗口 :为了防止局部模式主导学习过程,影响模型从压缩和选择tokens中学习,NSA引入了专门的滑动窗口分支来处理局部context,窗口注意力是捕捉与当前q最近的kv片段,这里做了假设,即越相近的KV就越重要 # built sliding window attention def get_window_mask(seq_len, window): mask = torch.ones(seq_len, seq_len) mask = torch.tril(mask) win_mask = torch.ones(seq_len - window, seq_len - window) win_mask = 1.0 - torch.tril(win_mask) mask[window:, :seq_len - window] = win_mask return mask print(get_window_mask(7, 3)) # test window_mask = get_window_mask(t, 8) 注意力聚合 :在上述三个注意力计算中,我们都得到了同样维度 [1, 32, 16] 的注意力输出 o_list = [o_cmp, o_slc, o_win] o_star = torch.zeros(batch_size, t, dim) for i in range(3): o_star += gate[:, :, i].unsqueeze(2) * o_list[i] print(o_star.shape) 计算加速 [![image.png](NSA 稀疏注意力机制 by deepseek/jxLimage.png)](NSA 稀疏注意力机制 by deepseek/jxLimage.png) FlashAttention Attention计算 对一个Softmax计算的切片 def softmax(x): x_max = x.max() x_exp = torch.exp(x - x_max) x_exp_sum = x_exp.sum() return x_exp / x_exp_sum 记录每个sub block的 softmax结果 + x_max(标量) + x_exp_sum(标量) 更新全局的 max(标量) 和 exp_sum(标量) 通过一次遍历elementwise计算,就可以修正局部softmax成全局softmax sum和max的 分块计算 避免了重复的数据读取进行统计 exp指数的 加减法 操作可以通过exp指数 乘除法 逆操作 sum的结果,可以通过乘除法修正分块的错误偏置 其中,步骤1可以在计算qk时候顺便计算,步骤3可以在计算v时候顺便计算,所以softmax结合qkv计算不浪费存储器的读写 原始softmax需要遍历3遍数据,1. 统计max,2.统计sum,3,除法 Flash Attention计算过程 1-5:主要在初始化和进行切分: 6-7:遍历K,V的每一块(Outer Loop) 8:遍历Q的每一块 (Inner Loop) 9:将分块后的QKV的小块加载到SRAM (Copy Block to SRAM) 10:计算Sij (Compute Block on SRAM) 11:计算Sij mask (Compute Block on SRAM) 12:计算当前块的m,l统计量 (Compute Block on SRAM) 13:更新全局m,l统计量 (Compute Block on SRAM) 14:dropout (Compute Block on SRAM) 15:计算Oi并写入HBM (Output to HBM) 16:把li,mi写入HBM (Output to HBM) FlashAttention3 使用Hopper的异步wgmma指令来重叠cuda cores和tensor cores的操作,充分利用1D和2D算力 MLA by Deekseek MLA 的核心思想是通过低秩联合压缩技术,减少 K 和 V 矩阵的存储开销 相对于传统的 MHA,主要引入了 W^{DKV} 把 h_{t} 压缩了,并在推理时候缓存压缩后的数据,而不是 kv,kv 是使用 W^{UV}/W^{UK} 和 C_{t}^{KV} 恢复 可以被训练的参数有 W^{DKV} W^{UK} W^{UV} W^{KR} [![image.png](MLA by Deekseek/InKimage.png)](MLA by Deekseek/InKimage.png) [![image.png](MLA by Deekseek/aSWimage.png)](MLA by Deekseek/aSWimage.png) 幻觉 模型生成不真实或非事实陈述的现象 即模型中的主导知识可以在文本生成过程中,掩盖那些不太突出的知识,从而导致模型编造不准确的细节 由于权重表达的信息有限,只能对大量的知识进行归类抽象表达,会产生“想当然”的问题 随着模型记忆大量信息并捕捉关联关系,它们会在泛化过程中适应新的分布。然而,在这一过程中,不占主导地位的知识可能会因过度平滑(smoothing)或信息压缩(compression)而被更常见的模式所掩盖。知识掩盖并不仅仅是数据不均衡的结果,而是知识表征之间竞争的直接产物。 从AI模型的计算本质来解释 模型为了拟合训练数据会不断推测其没有见过的样本的应该映射到的空间--命名为: 抽象空间 这个过程就是在抽象,只是在训练数据的庞大分布中进行“插值(Interpolation)” 过拟合就表示,这类的推测空间很小 欠拟合表示,推测空间很大 幻觉是计算数据就是被映射到了 抽象空间 ,而且刚好这个抽象不准确 没有建立真实的物理心智模型,一旦脱离训练分布的“舒适区”,就会出现幻觉。 LLM信息空间的映射 乘法 两个32bit的浮点数乘法,相当于32位的bit向量做空间映射 每个bit代表了特殊的含义,指数、尾数以及对应的档位 乘法不能充分利用32位的所有表达空间,精度越低的数据信息利用率越高 多层映射(等高线) 每一层的所有的hidden status的集合,表示了当前的所有信息(语义) 每经过一层相当于把一种向量空间的表示,映射到另外一个向量空间 每一次梯度下降都优化一点映射关系,增加不同类的距离,减少同类的距离 对输入的hidden status理解得越深刻(抽象得越高级),映射分隔得越准确,输出的结果越好 经过多次映射之后就能直接得到结果需要的index 非常大的线性映射的参数:DeekseekV3 671B中,大头(98%)参数是,256专家*60层*44MB=670GB 每个expert有三个linear,总参数量 = hidden_size * moe_intermediate_size * 3层 = 7168 * 2048 * 3 = 44MB 线性映射 非线性映射 非线性Dot 对B进行非线性映射,A = B *(C+D) 等价于 A = B*C + B*D ,ABCD都是矩阵 实际上增加了映射的空间灵活度,实验下来,使用得当可能可以提升精度 ResNet的典型 A = B*C + B 显然D是1,不对B进行改变 LLM的映射行为 每一层都根据前面的数据映射到另外一个表示空间 多层的LLM可以等价于一个大型卡罗搜索树 剪枝的,均匀宽度的 大规模参数,多维度 行为可以比喻为Plinko​​(中文常译为“钉板游戏”或“弹珠盘”) 从上到下不断在转换在对应空间内的分类 当前layer的所有token的所有hidden status的所有可能数值共同表示了所有的可能分类 最终的hidden status都对应了一个token 宏观来说 每个token的单体空间(不大)组合成的组合空间(很大)就是一句话 LLM进行编码(编码可以没有)+ 解码 生成(映射)另外一个组合空间,也就是输出的一句话 因为组合空间非常大,需要按照空间的规律进行有限的映射 信息的表示 所有内部节点表示:同层的所有前面token的总结(映射)的结果 矛盾:既要表达当前节点的局部语义,又要表达到当前token的整体语义 LLM推理行为 推理的定义 能利用已知的知识产生新的知识 能清晰得判断一个知识的边界、合理性,保持自洽 推理应用技巧 在input里面增加思维链提示,推理的示例就可以触发模型进行推理,输出详细的解题步骤 LLM是极度不可控的分类器,尽量直接梯度下降(优化)最终的指标,端到端得训练 外挂的后处理能提升最终的性能 多次推理综合结果 降低贪心度 但是代价是更高的算力消耗,模型本身的信噪比没有提升 LLM有推理能力吗? 推理新知识,“如果A>B B>C 那么A>C吗?” 已知比较的传递性,能应用于任意的ABC,得出A>C 推理的动作、过程本身也是已知知识 不能保持自洽,理解知识的深层次原理和边界 “直接告诉我 9.11 和 9.9 哪个更大” 9.11 比 9.9 大。具体比较:​​整数部分​​:两者都是 9,相等。​小数部分​​:9.11 的小数部分是 0.11 9.9 的小数部分是 0.9(或 0.90)比较 0.11 和 0.90,显然 0.90 > 0.11 但题目问的是 ​​9.11​​ 和 ​​9.9​​,所以:​9.11 > 9.9​​ 是错误的,实际上 ​​9.9 > 9.11​​。​修正后的答案​​:​9.9 比 9.11 大​​。(最初回答时疏忽了小数部分的比较,感谢指出!) 直接告诉我答案,不要多余的解释, 9.11 和 9.9 哪个更大 9.11 比 9.9 大 LLM只有比较微弱的推理能力 梯度下降-拟合高层次的信息 拟合高层次信息的体现 如果不能很好的拟合高层次的信息 容易出现过拟合现象 dropout早期用于防止过拟合,适用于多epoch的场景,不适用于LLM 权重会反复摇摆,不能锁定高级的语义抽象,高级语义样本本来就少 每次梯度下降是每个权重单独改变,不能确保综合效果比原来更好 ??? 影响因素 模型的表达空间的大小 高层级数据的规模 不能拟合高层次信息的原因 信息不够,不直接 RoPE替代绝对位置编码,提供了直接的相对位置关系,自然语言的相对位置非常重要 模型参数不够 模型结构不好 没有足够的非线性表达能力 需要合理的时候激活层,GELU、Relu、Swish差别不大,更多考虑性能 分组查询注意力GQA / MOE / 带门控的GLU(Gated Linear Unit) 能极大提高表达空间,用较少的参数 信息(层)映射的过渡不够平滑 旁路结构(ResNet)减少模型动态 MultiHEAD 宽度vs深度 更深的模型表达更灵活,但训练更易不稳(梯度爆炸/消失),这正是RMSNorm与残差/捷径连接试图缓解的问题 更宽的架构在推理时通常更快,因为并行度更好。代价是更高显存占用 少量「大专家」vs 大量「小专家」 近来的趋势倾向于「更多、更小」的专家 梯度下降怎么增强模型对高层级语义的敏感性,分类准确度? 按照大量数据的统计信息,引导模型按照高层极语义进行分割,而不是在低层级打转 梯度下降会把所有的样本按照一定的组织方式,编织到一个 非常大的多层级的递进式的 选择空间里面去 根据已经有的输入 选择对应的知识空间分叉 ,预测下一个字符会落到那个语义,再解码出最可能的输出符号 始终在选择向量空间里面最接近的答案,不保证是不是正确的,看似合理却错误的陈述 但是没有针对不正常、不存在的样本的训练,不正常的样本会被随机归类到某个类别/向量空间里面去 过拟合现象 如果高层级的抽象语义能被提取出来,就可以进行准确分类 目前LLM没有针对性的进行,正样本训练,负样本训练,而是靠样本的数量和质量。 Mamba SSM Mamba的定位 SSM/S4的中间变量为定长,所以必须使用最大的容量来表达整个句子的信息,要不然句子长了就存储不下,这又导致训练难 SSM/S4缺乏动态性(attention会选择/过滤信息,达到压缩的目的)抽象的效率不高 Transformer 能够在上下文窗口中密集地传递信息 的能力,对单点信息的表达效率不够,长序列时计算效率、存储效率变得低下 这两个问题不矛盾。 Manba和Transformer的区别只是,随着新的输入存储的所有中间状态是不是都被更新,Manba是更新一个总的统一的中间状态,而Transformer会增加一个新的状态,旧的状态可以保存于KV cache里面。 Manba解释那么多理论,没有从第一性原理来理解,有点本末倒置 SSM + 选择 (S6)  该变体包括选择机制,为参数添加输入依赖性  B  和  C ,和一个延迟参数  Δ 。这允许模型有选择地关注输入序列的某些部分  x 。考虑到选择,对参数进行离散化,并使用扫描操作以随时间变化的方式应用 SSM 操作,该扫描操作顺序处理元素,随时间动态调整焦点。 在实际的计算上,selection其实通过一个elementwise的乘法来表达,对每个权重值乘以权重来达到选择的目的。 https://newsletter.maartengrootendorst.com/p/a-visual-guide-to-mamba-and-state#%C2%A7what-is-a-state-space Vision Mamba 无监督训练 统计模型 rank_tree表达了一短句子的逻辑分割,一段句子的分割,语意的组合,是抽象的一种, 两个不一样的表示表达的是同一个语义怎么办? 腿短的是狗,腿长的也是狗,有些逻辑不是组合能表达的 怎么表达白猫黑猫都是猫的逻辑? 抽象的标准 统计的历史无矛盾(前后言行一致),前后表达没有矛盾, 自洽 统计的优秀(合理的抽象), 抽象要有代表性,有共性而不是专用 相互之间有逻辑关系,自洽 充分抽象,孤立的比较不合理 能抽象所有的语意,包括各种逻辑 输出抽象的分类的分数 class 128 x 128 x 128 x 128 分布如果平均则弱化,尖峰则强化 无监督抽象 new的不喜欢,但是多次出现后就记录了,就不是new了 频率高的权重越来越高 频率低的权重越来越低 动态统计 不同级别的抽象,要求的频率不一样 合理的抽象,输出一个一样的label,loss最小,怎么线性? 不合理的抽象,输出一个0的label,loss很大,怎么线性? 实现1:统计模型 使用独立的一个网络对无监督的推理结果进行统计,并给出统计结果 统计模型也会不断的更新 统计模型实现学习过程中的策略 推理模型实现学习过程中的“第六感” 实现2:梯度 激活层:同时包含 度量+激活 双重功能有矛盾 attention的选择功能,替代了激活层的激活功能,所以激活层可以简化,可以使用sigmoid等 梯度代表尺度scale,权重和效果的比例 梯度高,特征比较吻合实际 梯度低的激活项:反向move step,主动遗忘,竞争 梯度高的激活项:正向move step,主动加强 怎么定量得判断,而不是无脑得增强最好,屏蔽最差?怎么能自动收敛? 应该增加一个对梯度的分布的约束,倾向于高效推理路径,明确的逻辑结果 最终形成大量的权重,但是通过动态的推理计算过程达到高效 梯度值的规律研究。 同一个权重的不同点的梯度可能非常夸张。 一个卷积核,或者一个向量的权重,代表了这个特征的单位,其整个的平均梯度,代表了这个特征的影响力 研究梯度 在某个状态停下来,分析每个weight和grad以及中间状态,都生成灰度图 TTT - Learning to (Learn at Test Time) 研究人员设计了一类新的序列建模层,其中隐藏状态是模型,更新规则是自监督学习的一个步骤。 由于更新测试序列上隐藏状态的过程,相当于在测试时训练模型,因此此类新层称为测试时训练(TTT)层。 为了在长上下文中既保持效率,又具有表达能力,需要一个更好的「压缩启发式」(compression heuristic)方法。具体来说,就需要将数百万个token压缩成一个能有效捕捉其底层结构和关系的隐藏状态。Transformer的KV cache在长序列的时候非常低效,Manba的固定长度的中间状态在长序列的时候表达力不够。 关键思想 关键思想是,使用自监督学习来将历史上下文压缩成一个隐藏状态。 方法是将上下文视为一个无标签数据集,而将状态视为一个模型。 具体来说,隐藏状态现在等同于一个模型f的权重, 输出token就是由更新后权重的模型f对输入所做的预测 。更新规则是在某个自监督损失ℓ上进行的一步梯度下降: 类似于去噪自编码器,f需要发现各维度之间的相关性,以便从部分信息中重构出序列。 即使在测试时,新层仍然为每个输入序列训练一个不同的权重序列。 因此,研究人员将其称之为测试-时间训练层(TTT)。 训练 训练带有TTT层神经网络的方式,与训练任何其他Transformer模型相同。可以使用相同的数据、方法和目标(如下一个token预测)来优化网络其余部分的参数。 研究人员将训练更大的神经网络称为外循环(outer loop),而在每个TTT层内训练W称为内循环(inner loop)。它们之间梯度计算的区别是,内循环针对的是W(即模型f的参数),外循环针对的是网络其余部分的参数。 代码 在每次推理的时候,会不断调用训练方法更新Task的权重,这个训练的过程在不断改变theta_K theta_V,同于表达前面sequence的状态。theta_K theta_V theta_Q的初始状态通过大循环训练得到? 效果 研究人员在Pile上执行了2k和8k上下文长度的标准实验,Pile是一个用于训练开源LLM的流行文档数据集。 TTT-MLP(M)在较大的FLOP预算下表现稍差。尽管TTT-MLP在每个模型大小上,都比TTT-Linear具有更好的复杂度,但FLOP的额外成本抵消了这种优势。 在8k上下文中,TTT-Linear(M)和TTT-MLP(M)的表现均明显优于Mamba。即使是具有Transformer架构的TTT-MLP(T),性能也比Mamba略好。 另外,研究人员还观察到了一个非常明显的现象:随着上下文长度变长,TTT层相对于Mamba的优势就更大了。 AI算法的里面的“乘法” 原理 特征向量 表达了一堆的对象的集合,平铺得组合在一起,没有层级结构 向量内的每个对象都被量化后并且归一化 多个乘法再累加组成了线性变换 Y = A X_1 + B X_2 + C X_3 + ... 线性变换 表达了一个特征向量到另外一个特征的映射关系 通过按照 特征/向量 进行统计和汇总的方法 线性变换 8位足够满足人脑的实际精度需求 乘法 导致 不归一 乘法为了实现线性变换,为了对信号进行处理:信号通过权重进行选择 加法为了统计 神经元的内部状态是fp32,输入输出是int8 学习 => 对所有的笔记进行学习,深层kv cache 检索 => 对问题进行回答 总结 => 对问题的响应,并总结后附加到AI的记忆 乘法很贵,很浪费 乘法实际上是把一个维度的信息变换到另外一个维度上,通过比例映射的方式 使用移位的方式来替代乘法? 所有的向量映射方式使用固定的模式进行计算,移位=>累加=>移位 的方式 可能是量化的一种 非主流 :和科学的持续进步对比,算力从来都不是问题?科学发展方向从来都是整个社会协调的结果,虽然可能不是最优的,但是一定是可行的方向。 Kimi之长文本 营销 月之暗面的目标是C端,为了让C端用户能够理解“长文本”这个技术名词,杨植麟用了更形象的比喻“支持更长的上下文”意味着大模型拥有更大的“内存”。这个世界已经被计算机、手机教育过了,每个普通人都有一个“简单粗暴”的认知,“内存大”就意味着这个手机或电脑配置更高、性能更牛、价格也更贵。 一波漂亮的宣传,在“卷评测分数”的大模型界轻松地赢得了普通用户的心。 在后续的重要宣发中,月之暗面不断重复kimi的长文本能力,创始人杨植麟也在采访中强调“为什么长文本是登月第一步?它很本质。它是新的计算机内存。” 技术 学界把增加上下文的方法主要归类为外推(Extrapolation)和内插(Interpolation)。一般都会并行使用。 外推:推理时的长度比训练时的长度要长怎么办。具体来说, 如果 大语言模型 在训练阶段文本的最大长度是 2048, 而下游任务的文本长度可以达到 4096, 训练式位置编码 (位置嵌入) 不同, 这里对于长度没有限制, 直接推理即可。这种方式被称为 直接外推。 内插:也就是说: 如果预训练时位置索引的取值范围是[0,2048), 而推理时位置索引的取值范围是[0,4096), 那么我们就将[0,4096)映射到[0,2048) 的范围内, 确保 推理时向量旋转角度 在 预训练时向量旋转角度 的范围之内。 增加上下文的主要问题是位置编码:Transformer-XL LongRoPE 都重点解决这个问题,ReRoPE引入了相对位置编码的机制 第一性原理 第一性原理(First Principles)是一种解决问题和创新的思维方法,它要求我们回到问题的最基本成分和根本真理上去思考,而不是依赖传统的假设、信念或模仿他人的方法。这个概念起源于古希腊哲学,特别是亚里士多德,他用它来描述一种通过基本事实和逻辑推理来获得知识的方法。 在现代应用中,第一性原理思维涉及以下几个步骤: 识别和定义问题 :明确你要解决的问题是什么,尽可能地将其简化到最基本的形式。 分解问题 :将问题分解成最基本的组成部分,这些部分是无可争议的事实或已知的真理。 重新构建解决方案 :从这些基本成分出发,逻辑地构建问题的解决方案,而不是依赖已有的解决方案或常规思维。 创新和优化 :通过这种方法,你可能会发现新的、更有效或更创新的解决方案,这些解决方案可能与现有的方法截然不同。 第一性原理思维要求我们深入挖掘问题的本质,忽略那些可能限制我们思考的传统观念或常规做法。这种方法鼓励我们提出根本性的新问题,并寻找原创的答案。在科学研究、工程设计、商业策略等领域,第一性原理都是一种强大的工具,可以帮助我们突破现状,实现创新。 例如,埃隆·马斯克(Elon Musk)就是一个著名的第一性原理思维的倡导者和应用者。在设计SpaceX的火箭时,他没有简单地模仿现有的火箭设计,而是从火箭的基本物理原理出发,重新考虑了如何以更低的成本制造火箭,这导致了SpaceX采用了许多创新的设计和制造方法。 第一性原理:从根本上解决问题,而不是通过各种微量的改进,打补丁的方式进行缓慢前进 模型能力的衡量标准--基础性能特征 动态性 Transformer的“动态性决策”体现 Attention 本质上是利用dot计算,进行动态对信息的选取和重组 增加模型表达的非线性能力,利用有限的参数量表示(覆盖)更大的向量空间,提升表达效率 “动态选择”是提升算法效率的关键,类似于传统算法决策树的“剪支”,能有效的增大搜索空间而不大幅增大推理算力需求 在现代的LLM发展中,越来越多的MoE(依赖TopK)、Token窗口,都是在动态裁剪出需要的信息 不管是RNN还是transformer都是在表达一个决策的过程,效率越高,越容易使用现成的硬件加速,越容易被训练(梯度下降),最终的效果越好 模型层级结构固定,适应性弱 ,抽象知识层级有限? CoT , 全称 Chain of Thought CoT是神经网络使用“语言”作为接口定义(对象的抽象)进行运算,进行反复推理,是在attention的一个层级的动态性上面再施加一层动态性 CoT 相当于强行约束LLM的输出是按照推理的范式,利用语言作为接口定义,输出推理过程的模版 通过增加约束,减少搜索空间,在原来LLM直接输出的基础上继续提高整个算法表达和推理的深度, CoT也是一个动态运算的过程,前面的输出作为后面的输入 人类 人类有所谓的「启发式」思考,「直觉」让我们能将数百万种可能性快速缩减至几种可行的解决方案。 Khaoutar El Maghraoui: 我认为有 很多关于实时计算优化的工作被低估了 。例如,像测试期计算(test-time compute)这样的技术,它允许 AI 模型在推理过程中动态分配额外的计算资源。这是我们在 OpenAI o1 模型中看到的技术,它真的在这里树立了一些重要的先例,它允许模型有效地分解复杂问题,某种程度上模仿了人类推理的方式。这也对我们设计这些模型的方式以及模型与硬件的交互方式产生了深远影响。在这种情况下,它推动了更多的硬件软件协同设计,特别是在推理过程中的处理优化。 算法的约束设计 “卷积” 是对模型在图像领域的一种约束,非常高效的表达了图像的特性,极大得降低了搜索空间 “Attention”是对语言(token)映射的约束,强制把一堆token约束(表达)成一个特定的语义 “multi-Head”是对实际因素相关性的约束 效率 表达的效率 处理代表性不足的领域,尽管LLM接受了大量通用数据的训练,但它们可能并不总是精通每一个特定领域的细微差别的行话、术语或具体情况,需要尽可能提高模型权重的表达效率才能容纳足够多的信息 Phi-2对金融数据情绪分析准确率,从34%提高到85%。 仅用100个示例,ChatGPT对Reddit评论情绪分析的准确率从48%提高到73%。 但是情绪分析是一个比较通用的基础能力,预训练已经有较好的表达 这个任务就像mnist数据集到90%以上很容易,但是要到100%很难 合理的抽象和表示一个复杂的事物/逻辑关系等等 知识组织的效率 训练/学习的效率 遍历和判断整个因素空间的效率 不改变算法的前提下,提升能力的代价是指数的算力需求 比如CoT和RL训练都需要大量的算力 人类实际上也在进行持续的尝试和推理,但是效率非常高 效率来源 运算效率:动态性,决策 表达效率:抽象程度和等级 知识的关联度/抽象程度 抽象的层级 知识不是孤立存在的单一实体,是要和其他的知识进行关联 优秀的抽象,能高效的组织知识 自洽性 幻觉 是一个非常典型的问题,是自洽能力不足的体现 幻觉的产生的原因 训练样本的天然分布缺陷,维持自洽的原则,能打破样本的天然分布缺陷。 价值函数的片面性,导致LLM即使不知道答案也要输出结果的设定,加重了不自洽 新旧记忆混乱,不能判断和解决冲突 https://arxiv.org/abs/2506.08184 自洽的能力是保持长程任务的高信噪比 只有自洽得一步一步得处理信息,才能有一定的可持续性 当前LLM自洽性最高的是在KV cache里面 但是,越长的上下文(越大的kvcache)其体现出来的自洽性越差,幻觉出现的概率越高 记忆规模 数据规模、知识的规模 搜索空间、知识空间的大小 参数规模 算力规模 上下文处理(感知)能力 不等价于KV cache大小,存储大量的kv也不代表能感知所有的细节 上下文能力 同时处理上下文的长度 同时处理注意力的个数 2D Transformer 2D Transformer是一种基于Transformer架构的神经网络,专门用于处理二维数据,如图像。Transformer最初是在自然语言处理(NLP)领域提出的,用于处理序列数据。然而,由于其强大的自注意力机制(Self-Attention Mechanism),Transformer架构已经被扩展到了计算机视觉和其他领域。以下是2D Transformer的一些主流技术和方法: ViT (Vision Transformer) : ViT是Google Research提出的一种将Transformer应用于图像分类的方法。它将图像分割成多个patches,然后将这些patches作为序列输入到Transformer中。ViT展示了Transformer在图像识别任务上的有效性,并激发了后续许多基于Transformer的图像模型的研究。 Swin Transformer : Swin Transformer是一种采用层次化分块(Hierarchical Patching)策略的Transformer模型。它将图像分成不同大小的块,并通过局部和全局自注意力机制来捕捉图像的不同层次的特征。Swin Transformer在多个视觉任务上取得了优异的性能。 DeiT (Data-Efficient Image Transformer) : DeiT强调了数据效率,通过使用少量数据进行训练来减少过拟合,并利用知识蒸馏技术从大型预训练模型中提取知识。DeiT证明了Transformer可以在较小的数据集上也能取得很好的性能。 ConViT (Convolutional Vision Transformer) : ConViT尝试将传统的卷积神经网络(CNN)和Transformer结合起来。它使用卷积层来提取图像的局部特征,然后使用Transformer来捕捉全局依赖关系。这种方法结合了CNN的空间局部性优势和Transformer的长距离依赖捕捉能力。 Twins (Transformer in Transformer) : Twins通过在Transformer的每个层中嵌入一个小型的Transformer(称为Twin Transformer)来增强模型的特征表示能力。这种方法使得模型能够在不同的尺度上捕捉图像特征,并提高了模型的性能。 CvT (Convolutional Vision Transformer) : CvT将卷积操作融入到Transformer的自注意力机制中,使得模型可以在进行自注意力计算之前先进行特征的空间过滤。这种方法旨在结合CNN和Transformer的优点。 这些技术和方法的共同点是它们都利用了Transformer的自注意力机制来处理图像数据,但是它们在实现细节上有所不同,包括如何处理图像数据、如何组织Transformer层、以及如何捕捉不同尺度的特征等。随着研究的深入,我们可以预见将会有更多创新的2D Transformer架构出现,并在计算机视觉领域取得更多的突破。 Mamba Vision Mamba https://zhuanlan.zhihu.com/p/680130826 https://arxiv.org/pdf/2401.09417.pdf ViTamin https://beckschen.github.io/vitamin 人脑的仿真 生物脑(人脑)的优势 抽象 抽象出高效的,合理的,可复用的 底层抽象 抽象出高效的、非常抽象的 高层级概念 ,并应用于看起来毫不相关领域 记忆**:**记忆及快速的索引 类比:强大的类比功能 神经训练的收敛过程可以类比晶体管放大,训练要达到放大区,而不是在截止区和饱和区,不然会过拟合,或者欠拟合 饱和 类比 边际效应 放大区 类比 线性关系 国足出国踢球,输了球但是个人行李很多:差生文具多 联想:高效的联想思维能力 抽象概念的联想 自动构建一个 逻辑树 ,逻辑组成的树,作为匹配的特征 每个节点表示逻辑关系,逻辑运算 具象概念的联想 猫和猫科动物的类似 意识,自洽 而人脑第一前提是“自洽”,同时尽量高效组织信息,产生高层抽象 预测:为了自洽,不断的进行逻辑推理和判断 LLM追求极致压缩,尽量减少冗余信息 学习 模仿能力:一种快速的、高效的学习方法 贪心:只要是自洽的,没有矛盾的“事物”就可以被快速整合吸收 通过时间积累,不断的整理和思考已有的知识,提高效率 高效获取新技能的能力: ARC-AGI-2任务 创造力、创新 递归抽象 能力 高层级的抽象概念,跨领域的互相借鉴 大范围(深度、广度)的思维推理:不断尝试可能的新概念 意识(自我) 意识的解释 意识,可以解释成 对自我的一种认可,我是我,一般说一个智能具有意识,表示能表现出“自我”的行为。 自我 是一套复杂 价值观、行为规则 ,是一种 关于人文、社会、基本生存等的复杂算法的高层级抽象、表示 。 由于包含很多非理性的、直觉式的规则和规律,所以难以量化和计算。但是 自我/意识就很好的表达了这一类的规则/规律 具体来说就是,首先假设一个主体,基本需求是自尊、自信、自强、生存等一系列的目标/需求,这些抽象的目标(价值观)才是人类进行活动的价值函数。 特别的用于处理社交,人性规则,等比较人文的需求。 工具类的应用非必须具有意识,但是, 对于“玩具”,“模仿动物”,“机器人”,“情感类处理” 非常有用,而且是必须的。 机器人如果不仅仅是产线的工具,需要有一些自我决策的行动,就需要意识。 要不然就和汽车产线的机械臂没有区别。 这里的区别不是体现在执行准确任务还是非确定任务,而是 能用一些高层级(自我意识)的抽象规则,和当前的最新更新的状态,临场判断和执行一些任务 目标 表现为能一直统一个完整的, 自洽 的行为表现 保持行为、价值观的一贯性 能体现出个人的风格特色,价值观 有一些内在的价值观设定比较难以受外界的输入而改变 具有不完全受现有观念影响的判断逻辑。 引用 当人工智能的研究者终于制造出会使用语言的机器时,却并没有在这些机器中发现意识,会说话的Chat GPT却没有意识 人脑的工作原理 特点 人脑具有反馈回路,反馈回路形成正反馈,不断训练神经元,加强神经元 视觉神经能识别图像,也能通过提示想象出图像 语言作为抽象能力很强的表示工具,被充分用于协助思考,但不是智力的全部 @维特根斯坦 所有的神经元时刻待命,适当的输入技能激活输出 不激活的状态需要主动抑制皮层神经的激活 闭眼睛的时候,视觉神经会 抑制 视觉皮层的激活 动态 激活 神经元默认是静息状态,根据输入,逐级激活需要激活的神经元 学习和实践(训练和推理)同步进行, 训推同时 进行 能量不足的时候,大脑不是不能工作,而是有 低能耗模式 低血糖时候,大脑能通过降低视觉识别的精度来降低能耗 老鼠识别天敌“猫”就可以,不用识别出来具体是哪种猫 训练/学习的过程 贪心、模仿 高层级的抽象带来高效率 不断的对输入进行推理,保证自洽 训练的价值函数 生物神经元或者说大脑的训练目标,可能是让神经元处在一个 有规律的环境 中,不能接受杂乱无章的信号,比较喜欢有规律的受控的处罚和激活 能量效率,节能 只有在快要忘记的时候去努力回忆,记忆才会被深深地刻在大脑里 稀疏性 支持非常大的处理空间:每个神经元大约有1000-10000的突触,海马体神经元更多,约98%的突触位于树突 对很多(N=~10000)个输入信号处理,神经元通过学习,调整之间的固定连接,构造多个中间层的处理机制,形成高层级的抽象,实现高效动态计算。 大模型通过矩阵乘法将所有输入做映射计算。 这N个信号,实际存在的实际组合样本很少,大部份组合情况是不存在的,非常稀疏, 如果N个信号,只会存在一种情况,一个神经元就能表达,通过模仿、贪心学习快速进行抽象,而AI需要一个非常大矩阵乘法。 AI的大矩阵映射出来的结果和人类的单个抽象(语义)概念不对应 通过梯度下降求解,自然会自动提高权重的信息密度,每个单点的输出可能是多种概念的某个共同特征的激活 人类则更注重适应性和丰富性,强调保持灵活性和上下文的完整性,而LLM侧重于统计压缩,力求最大程度地减少冗余信息 仿真人脑的基本条件 准则 能够持续学习 建立世界模型并进行规划的能力 能够进行新的高层级的抽象 能够进行“元”概念的学习和泛化 心智,意识 理解自我、个体的概念 维持 自洽 的基本能力 行动的目标都是内源性,外部不会直接给定一个明确的目标 创新 创新的原理,需要形成 递归抽象 的思维方式和能力 维护自洽,需要能做到 实时动态 的递归抽象 人脑的推理模型 神经元 可以被输入激活,激活后可以激活其他的连接的神经元 记忆区神经元 大部分时间是静息状态 逻辑推理神经元 视觉识别、语音识别,皮肤传感器等,人脸识别等等 正向,顺序激活,快速,没有递归 规划神经元 一团细胞,反复递归的激活,循环 区域 短路径,高并行 小脑,视觉识别 大量的边缘分布 记忆的节点 状态区 一堆的能主动激活其他人的细胞组成的临时记忆区,就是意识的本体 大量连接了记忆区的节点,一个连接多个,可以根据当前其他的状态进行动态的选择,从而表示一个临时的状态 比如,当前是在编程,那么当前这个细胞连接的编程相关的记忆会激活当前,其他的记忆的激活会被屏蔽 长路径,低并行,决策区 接收状态区的细胞的信号 清醒地时候,这些细胞就有足够的能量激活其他的细胞,形成一次迭代,和行动决策,激活下一步动作的信息源头 运行的本质 有一堆循环连接的神经元 只要没有在休息状态,就会不断根据输入状态激活对应的神经元 不断循环得保持激活状态,维持当前的意识 人脑的本能 1. 最底层的“目标函数”: 生存与节能 (Survival & Energy Efficiency) 生物脑的一切高级功能都服从于这个终极指令。大脑只占人体重量的 2%,却消耗了 20% 的能量。因此,大脑极其“吝啬”计算资源。 本能体现: 习惯化(把重复动作固化到潜意识以节省算力)、避免认知失调,以及在非必要时倾向于使用“直觉”而非“深度逻辑”。 2. 情绪机制 (The Reward / Loss Function) 在有逻辑之前,大脑先有情绪。情绪是大脑用来快速评估环境并做出反应的全局权重参数。 情绪是一套非常高效的处理复杂环境和外部情况的 规则/算法 ,用来快速评估行动的好坏。 3. 驱动系统: 奖惩 本能体现: 生存、保护自己,趋利避害。多巴胺驱动探索和目标达成(奖励函数),恐惧和痛苦驱动逃避(损失函数)。当你“思考下一步行为”时,你的大脑实际上是在计算哪一条路径能带来最大的预期收益或最小的生存威胁。 奖励系统(多巴胺) 成功预测、吃到奶、被抱起来时,多巴胺系统会释放愉悦信号,强化刚才的行为和认知。这是所有学习的化学基础。这种“行为 -> 反馈 -> 调整权重”的闭环是本能。 奖励驱动的“ 强化学习 ” (Reinforcement Learning) 4. 状态保持:分层 记忆机制 (Hierarchical Memory System) 没有记忆,就没有时间概念,也就无法进行逻辑推演。大脑的记忆本能并不是为了“记录过去”,而是为了预测未来。 短期/工作记忆: 相当于大脑的内存(Context Window),容量极小,负责处理当前正在发生的信息和维持暂时的逻辑推理。 长期记忆: 相当于庞大的向量数据库。大脑的本能是自动将高频出现的、带有强烈情绪标签的短期记忆进行“权重固化”,转化为长期记忆,以便在未来遇到类似情景时瞬间调用,无需重新计算。 6. 核心计算引擎: 预测与计划 (Predictive Coding & Planning) 现代认知科学认为,大脑本质上是一个 预测机器(Prediction Machine) 。预测是为了更好得避免可能的危险,更好得生存。 本能体现: 大脑不会被动等待外界输入, 而是每时每刻都在利用长期记忆,在内部生成对外界环境的预期 。 模拟与剪枝: 在面临复杂决策时,大脑会在意识中构建未来的**计划树(Plan Tree)**或决策树。它在沙盘中推演不同行为可能导致的结果,并通过奖惩机制对不可行的分支进行快速“剪枝”,最终选择出最优路径。这是一种极高阶的计算本能。 7. 降维与压缩: 逻辑与抽象 (Logic & Abstraction) 现实世界的信息量是无限的,而大脑的算力是有限的。 本能体现: 寻找规律,提升效率 。大脑本能地将复杂的自然语言、视觉图像等非结构化数据,提取成最简化的符号、规律或“语义代数”。这种逻辑抽象能力,就是为了将海量信息压缩成最少的规则,从而用一套通用的逻辑去应对千变万化的世界。 模式识别与“统计学习”本能 (Statistical Learning) 大脑本质上是一个极其强大的 概率计算引擎 。 功能: 婴儿天生会不断计算环境中各种刺激出现的频率。例如,在听成年人说话时,他们能通过统计音节之间出现的概率,在完全不懂词义的情况下,准确地切分出哪里是一个词的开始和结束。 成长价值: 这是语言习得和逻辑归纳的起点。 8. “预测误差”驱动的 好奇心 (Prediction Error & Curiosity) 功能: 当婴儿看到一个球违背引力漂浮在空中(违背了大脑初步建立的物理模型),他们的注视时间会明显变长。这种对“意外”的关注就是好奇心的生物学基础。 成长价值: 这种本能强制大脑去关注那些“还理解不了”的信息,从而不断修正内建的模型,实现认知的迭代。 婴儿天生就会把目光投向新出现的、变化的、对比强烈的东西。这不是教出来的,是神经系统的默认设置。它确保婴儿持续采集新信息。 以便更好得了解这个世界,做出更好的预测,更好得适应环境 预测与惊讶机制 即使是新生儿,大脑也在不停地"猜下一秒会发生什么"。当现实和预测不符时,会产生" 惊讶信号 ",这个信号就是学习发生的地方——它告诉大脑:"这里有新东西,记下来,更新模型。" 9. 人性 ,社会性对齐(Social Alignment) 人类是极度社会化的生物,婴儿大脑中有专门处理“人”的硬件。 功能: 婴儿出生几天就能本能地识别出人脸形状,并具备模仿本能(你对他吐舌头,他也会尝试模仿)。 成长价值: 通过模仿,婴儿跳过了漫长的“试错”阶段,直接从已有的文明成果中(如语言、工具使用、社交礼仪)快速下载“软件”。 10. 模仿 模仿能力 :出生几天的婴儿就能模仿大人吐舌头、张嘴——这是学习的雏形。 模仿是最低成本的学习,直接模仿标准答案,是风险最低的适应社会的行为 11. 预测与减少不确定性,避免 预测误差 大脑是一台"预测机器",它存在的根本目的是不断预测下一刻会发生什么,并让预测与现实的误差最小化。 这是生物脑最核心的动力。大脑会自动对下一秒发生的事做预测,如果预测失败,就会产生强烈的电信号。 也就是说,大脑并不是被动地接收世界,而是 主动地建构一个关于世界的模型 ,然后: 用感官输入去校验模型; 当预测出错时,要么更新模型(学习),要么采取行动改变世界(行为),让世界符合预测。 记忆、注意、情绪、决策——全部可以被解释为这台预测机器的不同子模块。 12. 对世界结构的"先验知识" 人类婴儿绝不是被动接收数据的白板,而是一个 高度优化的、带着预设目标和底层算法的超级学习系统 。时间、空间、因果、数量构成了他们理解物理世界的坐标系;而面孔偏好、意图探测和朴素道德,构成了他们理解社会世界的坐标系。而天生自带的短/长期记忆比对与统计学习机制,则是驱动这个系统不断自我更新、最终长成复杂智能的核心引擎。 物体恒存的雏形 :知道物体是连续的、不会凭空消失或穿墙。 因果直觉 :一个球撞到另一个球,第二个应该动。 数量感 :能粗略区分"多"和"少"。 空间感 :对距离和方向有基本感知。 这些"先验"就像一个粗糙的世界模型框架,后续所有学习都是在往这个框架里填细节。 13. 本能的层级 体内稳态(Homeostasis) ——维持体温、血糖、水分、氧气等在安全范围内。 趋利避害 ——靠近奖励(食物、温暖、同伴),远离威胁(疼痛、捕食者)。由边缘系统、杏仁核、伏隔核等负责。 学习与记忆 ——把"什么行为导致了什么结果"存下来, 以便下次预测得更准 。 社会性认知 ——人是群居动物,理解他人意图、建立关系本身就是 生存策略 。 规划与想象 ——前额叶让我们能模拟"如果我这样做会怎样",这是"思考下一步行为"的神经基础。 14. 本能的总结 节能:降低能量消耗,提高生存率 情绪机制:基本的、高效的指导行动规则 人性化算法:社会活动能力、提高物种能力 更快得预测:避免浪费能量 预测危险:提高生存率 好奇心驱动学习: 主动学习未知的可能有用的知识 模仿学习:快速得学习正确答案 总结规律的学习:学习更高层次的规律,高效得判断和行动 反思失败:避免反复得错误 记忆:基础设施 行动 主动行动 主动干预环境 TTS:Test-Time Scaling 是一种通过在推理阶段增加计算量来提升模型性能的方法 CoT & 强化学习 --用推理的“临时态”实现短暂的意识 背景和方法 众所周知,o1在推理阶段采用了一种思维链(Chain of Thought)的方法,将推理过程分解为多个离散的步骤。o1能够规划其推理步骤,评估中间结果,并在步骤出错或陷入僵局时进行回溯。 基础模型的训练(预训练和后训练)遇到瓶颈了 通过推理阶段的不断自我逻辑判断和思考实现更强的推理能力 自洽,在这个过程中前后的因果关系是自洽的 可以实现,更多深层次的思考 动态性,可以在思考的过程中不断的调整思考方向 把训练迁移到推理(运行态) 在大模型、大数据的规模不能持续增长的情况下,通过增加计算规模来提升整体精度 在推理的过程中实现“意识”,“意识”是AGI的关键能力 在self attention的基础上继续扩展了一个“动态性”的维度 严格意义上,RL和Test Time Scaling law并不应和预训练阶段Scaling Law等效,它们增强的主要是逻辑推理能力,所以RL Scaling Law其实是在原先预训练阶段Scaling Law组成成分之一的逻辑推理能力S型曲线后面,再接上了一个新的S型曲线,然后再接上Test Time阶段逻辑推理能力的新S型曲线,类似一个接力赛。 在推理过程中不断寻找思路,实践,判断效果,实现了自动化的“蒙特卡洛树算法” 需要实现的前提 能自动的在推理的过程中压缩KV cache 能暂停输出,接受外界的输入,拼接到当前的kv cache中 能对当前的结论和临时状态进行判断和总结 怎么训练(改变模型的权重)? 好像只能通过不断的调整提示词来找到输出合理结果的方法 可以通过推理过程中,插入特定的外界输入来改变中间结果(kv cache)的方式来调整/训练 强化学习诱导实现:复杂的有针对的loss函数 测试时训练(TTT)技术 能显著提高LLM进行逻辑推理和解决问题的能力。让大语言模型在推理时「边思考边执行」,即测试时计算(test-time compute)。这种方式能带来巨大的回报 传统的LLM主要依靠的是检索存储模式,但o3处理问题时,却是靠实时创建新程序,来解决不熟悉的挑战。 在不提高算法效率的前提下,暴力增加算力消耗,边际效应会越来越明显,需要的算力将是指数级别的增加 需要灵活的针对不同的任务动态调整思考的长度 利用人类的语言(自然语言)作为思考(逻辑运行)的接口/工具 虽然自然语言看似比较复杂 但是 表达灵活性非常的高 , 能表达任何东西,人类所有的知识科学都是通过语言来表达的 所以一旦有了足够的样本数源就是一种 非常有性价比的接口 。 CoT提供了在推理的时候进行逻辑演绎的机会 把 具体的实际的表达 转换为 抽象的总结性 的描述 不断迭代运行上面的步骤,直到得到想要的答案 依赖于已经掌握的抽象总结的数量和深度,AI已经从大量的自然语言中学到了 依赖于逻辑思维和推理,AI已经通过预测下一个token初步掌握 目前的模型不能有很长的、很深的思考路径,只能进行有限步数的推理 比如,带目标的成语接龙任务很难实现,这是当前模型的缺点 需要利用KV cache进行打草稿,然后慢慢演绎 是不是有个更适合机器思考的接口/工具? 人类不能用自然语言思考任何东西,比如数学和代码 这种语言的设计更适合 LLM,因此会减少为满足人类需求而设置的语法糖 赋予大模型在CoT的时候不仅仅具有通过语言的推理能力,还具有使用工具(计算机)的能力 o1-ioi模型能在推理期间编写和执行c++程序,通过迭代运行和优化解决方案 自然语言接口似乎也有局限性 表达不够准确,氛围感 冗余不够精炼 多义,同义 例子 带CoT的模型就能很好的计算两个多位数的乘法,模型会在CoT里面拆分计算过程,和学校学的乘法过程很像 把CoT引入训练 预训练的数据先自动增加CoT(生成CoT),再参与训练 有个额外的模型,动态的对输入生成CoT、逻辑分析片段,指导训练 实现自回归时,关键挑战在于能在没有外部干扰的情况下,判断何时进行反思、继续推理 增加一些特殊的token专门用于执行反思任务 在训练的时候就把“推理思考”作为作为回归的目标 直接把CoT的样本的思考过程用于预训练 迫使权重表达用于推理时组合后的输出,而不是简单的存储知识,会极大的扩展权重的表达维度,促进按照逻辑思维进行抽象,提高权重表达效率 怎么提高模型层级的灵活性,而不是固定的“抽象知识”+“逻辑推理”两个过程? CoT的问题 CoT分散模型「注意力」,「想太多」了,在需要遵守指令或格式的任务中,使用CoT推理,模型遵守指令的准确率会下降! 大模型越擅长复杂推理,越容易忽略用户的指令要求,“ 聪明 ”和“ 听话 ”之间存在明显的矛盾。更长的推理过程,其遵循指令的准确率会明显下降 在复杂问题中因“单一路径选择”而犯错,人类大脑思考时并非依赖明确的语言符号,而是通过 抽象概念的灵活整合 进行推理。 只是对输入的信息按照 预设的思考(分析)方式 进行语言层面的表达,预设的模式比较单一,难以试用所有情况。 基于马尔可夫假设的强化学习范式存在天然的局限——探索(exploration)仅发生在训练阶段,代理在部署(测试)时通常只会利用(exploit)训练中学到的确定性策略 显式的对信息进行格式化的表达,“格式化”能力从权重利用语言表达到思维链里面,比较低效 **动态的自适应的调整思考的模式,将又增加一层动态性,**可能极大提升模型能力 自适应RL框架 BARL CoT看似在思考问题,但是有没有可能只是在给给定的prompt进行一些token以便进行更好的推理,提高信噪比? Google Research一项新研究发现:想让大模型在不启用推理设置时更准确,只需要把问题复制粘贴再说一遍,就能把准确率从21.33%提升到97.33%! 模型牺牲了对输入问题的一般语言理解能力,换取了对特定答案的精准记忆。 https://mp.weixin.qq.com/s/qMg2rVabnqS5QbAIaO37pQ 强化学习 强化学习是怎么激发出CoT的? 强化学习(RL)本质上也是在对模型进行 先验信息(约束)的最大化似然 参考: https://mp.weixin.qq.com/s/rDJdgKS_qSfUwqCuoEjJsA 当然会可以采用很多方面来解释这种现象,在数学上可以表示成,对概率和信息熵等多种不同的形式来说明问题 强化学习的激励太稀疏, 信噪比不高, 对分步骤的自洽学习没有帮助 分层LLM推理与Scaling思维模板 通过复杂的人工设计的算法影响模型的功能和性能 人类总是能在更高的维度来指导模型 模型的自我学习能力还是不理想 最后的瓶颈会是人类设计算法的复杂性,需要另外一种更通用、简单的方法来替代Transformer ReasonFlux框架 结构化通用思维模板库:包含约500个高层次思维模板,可泛化到类似或相关的推理问题。 分层强化学习:在思维模板序列上执行强化学习,不再在长思维链(CoT)数据上进行优化,使基础LLM能够规划最优模板轨迹,逐步解决复杂问题。 全新的推理Scaling系统:在推理过程中自适应Scaling思维模板,从而实现分层LLM推理。 主要工作 开发一种分层LLM推理框架,显著提升模型复杂推理能力。 构建了一个结构化且精炼的模板库,包含约500个从高难度数学问题中提炼的思维模板。 开发了基于高层次思维模板序列的分层强化学习,使LLM能够生成最优的思维模板轨迹,将复杂问题拆解为一系列更简单的子问题,从而有效减少推理路径的搜索空间。 设计了一种新的推理Scaling系统,通过自适应Scaling思维模板来实现分层推理。该系统能够动态检索一系列高层次模板,并在推理过程中自适应执行实例化推理,实现高效的问题求解。 梯度下降 梯度下降的每个step,都需要把所有的loss“汇总” 包含所有batch,所有的loss function,以及在多个step之间,多个epoch之间 等价于对数据集的统计、回归、拟合,最终效果只能达到统计上的意义 训练效率低,有用信息密度低、容易被坏数据平均 相对于人脑 缺乏思维的贪心原则 缺少“自恰”的自主意识的判断 一个样本的梯度下降,相对于整个模型,所表达的是对参数分布的一个小的倾向性调整 不能确保模型肯定掌握、认同这个样本 有矛盾的样本会按照概率进行中和 贪心法、高温度、反复强化自身的预测置信度,都能使模型对输出更自信 不同的训练阶段,样本的作用不一样,预训练表示大范围的统计,微调/SFT 就需要明确的服从样本 它高度非凸。 而且从数学上完全没有任何保证能确保优化成功。 然而,事实证明它确实能成功——这是经验证明的结果。 纯粹靠理论,我们很难解释太多细节,我们还没完全搞清楚原理,这些看似简单的启发式优化算法在这些问题上表现得如此出色。 然而,人类的智慧并不追求绝对最优,就像我们设计飞机或汽车时也不会力求完美。 我们只需要一个「够好」的工程系统就行。 深度学习和非凸优化给我们的,正是一群「够好」的系统。虽然它们可能不是最优解,却依然非常有用、充满潜力。 这就是事实 也许正是这种因为深度学习是务实的,在如今算力爆炸和数据丰富的时代,LLM虽然还是「黑箱」,但已经切实的改变了我们的工作和生活。 神经网络里有大量神经元和连接,每层都会先将输入乘以随机权重,再经过非线性变换。 第一层处理完后,第二层又会重复相同的过程:乘权重、做非线性变换。 如果这些随机权重太小,信号在多次相乘后就会迅速衰减到几乎为零。 当信号到达输出层时,你几乎感受不到任何输入的影响。 这样一来,学习算法就无法发现输入和输出之间的关联,也就没法改进模型。 因此,我们必须让随机初始化的权重大多数情况下足够大,才能保证输入的变化一路传递到输出层。 一旦满足了这个条件,梯度就能够找到正确的方向,有效地优化网络。 因此在实际应用中,当研究人员希望在一个真实数据集上训练神经网络时,初始化的尺度是你需要关注的最重要的参数之一。 RWKV RWKV-V7 采用了动态状态演化(Dynamic State Evolution),超越了 attention / linear attention 范式 TC0 表达能力的根本限制。RWKV-V7 拥有 NC1 的表达能力,使其可以解决许多 attention 无法解决的问题。 Adam AdamW Adam核心计算流程 ​ 初始化参数 初始化一阶矩(动量)向量 m0​=0 和二阶矩(梯度平方的指数平均)向量 v0​=0。 设定超参数:学习率 η(默认0.001)、动量衰减因子 β1​(默认0.9)、二阶矩衰减因子 β2​(默认0.999)、数值稳定常数 ϵ(默认1e-8) ​ 计算当前梯度 在时间步 t,计算损失函数对参数 θ_{t}​ 的梯度 g_{t}​ ​ 更新一阶矩(动量项)​ 对梯度进行指数加权移动平均,模拟动量效果:m_{t}​=β1​⋅m_{t−1}​+(1−β1​)⋅g_{t}​ ​ 更新二阶矩(梯度平方的指数平均)​ 计算梯度平方的移动平均,用于自适应调整学习率:v_{t​}=β2​⋅v_{t−1}​+(1−β2​)⋅g_{t}^{2}​ ​ 偏差校正(Bias Correction)​ 因初始时刻 mt​ 和 vt​ 偏向0,需通过时间步 t 修正: m_{t​}=m_{t​}/(1−β_{1}^{t})​ v^{t}​=v^{t}/(1−β_{2}t) ​ 参数更新 结合修正后的矩估计调整学习率,更新参数 class AdamOptimizer: def __init__(self, learning_rate=0.01, beta1=0.9, beta2=0.999, epsilon=1e-8): self.lr = learning_rate self.beta1 = beta1 self.beta2 = beta2 self.epsilon = epsilon self.m = 0 self.v = 0 self.t = 0 def update(self, params, grads): self.t += 1 for param, grad in zip(params, grads): self.m[param] = self.beta1 * self.m[param] + (1 - self.beta1) * grad self.v[param] = self.beta2 * self.v[param] + (1 - self.beta2) * grad**2 m_hat = self.m[param] / (1 - self.beta1**self.t) v_hat = self.v[param] / (1 - self.beta2**self.t) param = param - self.lr * m_hat / (np.sqrt(v_hat) + self.epsilon) return params weight decay 权重衰减,本质上希望对权重进行惩罚,权重绝对值越大越不好 w = w - lr * w.grad - lr * weight_decay * w L2正则化,表示对权重的衰减比例和权重绝对值的平方成正比 final_loss = loss + wd * all_weights.pow(2).sum() / 2 Adam 在实现L2正则化的时候是直接修改梯度,随后梯度会参与动量的计算,导致L2正则化的梯度就会被抵消掉,导致效果不佳 grad_w = grad_w + weight_decay * w AdamW AdamW 的实现方法与传统的 L2 正则化不同, 它直接对权重进行衰减,而不是将其加到损失函数上(改变grad_w) grad_w = grad_w # update step w = w - learning_rate * grad_w - learning_rate * weight_decay * w 记忆和语言 自然语言的内在逻辑 逻辑 推断: A 是 B 与或非 逻辑规律: 传递性 类比:判断相似性,通过类比来模仿很容易,但是分析内在原因,并描述出来,形成理论很难 晶体管的饱和 类比 边际效应 晶体管的放大区 类比 线性关系 逻辑规律 推理任务划分为三种基本类型——溯因(Abduction)、演绎(Deduction)和归纳(Induction),比如 O=P(I) 溯因任务:已知p和对应的o,求可能的i。这类任务考察模型根据结果反推条件、理解代码语义的能力。 演绎任务:已知p和i,求o。这类任务考察模型运行和理解代码逻辑的能力。 归纳任务:已知一组i-o样例,求一个统一p。这类任务考察模型归纳总结规律、生成代码的能力。 a与b 就是c ,这 就是一个推断的模版,推断的规律。 逻辑 的模版, 掌握这种规律,就能应用于其他领域, 这就需要高层级的抽 象能力才能学到的规律 捕捉高层次的语义概念,在LLM中有效地隔离出有意义的潜在特征。 自然语言模型欠缺逻辑能力 只能对样本进行回归,抽象的表示空间和样本高度一致,抽象的特征只能表示样本的概率 不能推理思考、总结规律 不能识别矛盾的样本信息 A->B(30%) A->C(20%) A->D(25%) A->E(25%) B->C(100%) 那么 A的下一个最有可能的是C不是B 梯度下降只能逼近样本的空间,而不进行更高层级的推理和自洽 只能模仿样本的直接表现:小孩在牙牙学语的时候不能明白“给你吃”指的是“我”,不能明白指代逻辑 没有自主意识(自洽): 询问“A的值是多少”,会回答一大段猜测和推理,其实应该能识别出缺失前提,并拒绝回答 人类通过自洽的逻辑判断来决定输出,而模型通过统计概率决定 通过约束模型对信息进行 高层级的抽象 ,提升表达效率? 模型可以被约束,但是梯度下降的训练方式难以收敛 主要区别是,当前的梯度下降相当于强制背作文,人类学习是通过逻辑和归纳进行理解 meaning表示逻辑 一个序列(自然语言语句)使用meaning进行切分,表示 一段token,不只是表示一个meaning 一个meaning可以由多种表示进行表达 meaning的表达树就是表示逻辑关系 隐含表达:推断,与 显示表达:非 使用逻辑树进行推理和演绎,达到“自洽”:传递性、逻辑推理 特殊的token 对序列进行分段,总结,推理,存储到KVcache里面 约束训练模型自动产生 特殊的token 逻辑表示 三角树形图 可以全部靠右表示,直角三角形 越高的网络层级,希望自动生成一些总结当前语义的节点 网络的中间一个地方应该变瘦?期望变瘦,约束变瘦 表示语义语境逻辑的节点 自动分析和生成逻辑节点 meaning4 + meaning= + meaning5 等价推断 断言表达 ### meaning或等逻辑操作是一种特殊的meaning,能对meaning进行变换 meaning1 + meaning或 + meaning2 = meaning2 meaning4 + meaning或 + meaning5 = meaning6 RAG RAG RAG的过程 拆分文本成文本块 拆分算法: 使用嵌入模型进行向量化 对一段文本使用一堆维度很多的向量进行表示 存入向量数据库 对输入进行向量化 使用传统的向量距离计算算法进行向量数据库的检索 提取数据库的原文片段,整合成prompt,投喂给LLM打模型 对输出整理和提取 技术局限性 切片粗暴 简单分块算法 (如按段落或固定字数) 太小了没有全局信息,句子可能被截断, 影响上下文理解 太大了不能精确统计 检索不精准 向量匹配基于数字相似性, 不代表实际含义 向量本质上不能完全代表“语义” 本质上需要表示一段文本的 meaning tree 结果可能与提问无关 没有大局观 无法处理结构化数据或统计型问题 大模型难以从数据碎片中做出准确总结 不能进行复杂的逻辑推理和动态交互 向量检索方法 主流向量检索方法都是基于欧几里得距离设计,主要看“谁离你最近”;但有时AI其实更需要比较“语义相关性”,也就是 最大内积 、看谁最相似。 内积空间并不是一个严格意义上的“度量空间”。一个空间可以称之为“度量空间”,最重要的属性就是“三角不等式”(三角形中任意两边之和大于第三边,而任意两边之差小于第三边)。HNSW、NSG、SSG等state-of-the-art的向量检索算法之所以能如此高效,就是因为他们都利用了三角不等式对索引结构(图结构)进行了高效的裁剪。 一是把最大内积转换为最小欧式距离,进而可以用HNSW、NSG来解决 二是不进行空间转化,直接在内积空间进行检索 进阶方案 加入重排序模型 初步检索数据 -> 语义分析 重新排序, 提高检索精度 使用MCP Server连接传统的数据库 AI操纵关系型数据库 解决结构化数据查询问题 超大上下文模型 直接拖入资料, AI进行检索 如JiminI2.0 Pro, 上下文窗口长达2000万token 知识图谱RAG GraphRAG (见下) LPG:labeled property graph 使用大模型+prompt 生成 识别 合并 使用固定程序拼接成图谱 GraphRAG 开源项目 微软的Graph RAG 蚂蚁开发了首个对外开源的Graph RAG框架,蚂蚁全自主的开源产品: DB-GPT[50] + OpenSPG[42] + TuGraph[46] 跨图谱零拷贝融合,连接数据孤岛:替代实现,不断推理,建立逻辑关系 深度语义上下文关联:替代实现高级抽象 知识符号化表示,与大模型双向驱动: SPG-Reasoner逻辑规则推理,通过谓词语义和逻辑规则来定义知识之间的依赖和传递 GraphRAG过程 索引构建过程 使用文本分段技术将文档进行分块 关系(LPG)提取,分析每个文本单元并提取图元素:实体、关系和协变量 把文本加上合适的prompt,喂给LLM,要求 LLM 提供简短的摘要来完成 实体消歧 协变量提取 图增强 理解图的拓扑结构,并进行分类 使用分层莱顿算法生成node group的层次结构 使用 Node2Vec算法生成图中节点的向量表示。使我们能够理解图的隐式结构,并提供额外的向量空间,以便在查询阶段搜索相关概念 node group 总结 -- 总结和推理出额外的信息 LLM 生成每个社区(node group)的摘要 能够了解每个社区中包含的独特信息,并从高级或低级角度提供对图表的范围理解 这些报告包含执行概述,并引用社区子结构中的关键实体、关系和声明 生成社区报告、社区报告摘要和社区报告标题的文本嵌入来生成社区的向量表示 文件处理 链接到已经存在的TextUnits 将每个文档链接到第一阶段创建的文本单元,创建文本块之间的上下文关系 了解哪些文档与哪些文本单元相关 文档嵌入 使用文档切片的平均嵌入来生成文档的向量表示 对不重叠的块重新分块文档,然后为每个块生成嵌入 创建这些块的平均值,并按标记计数加权,并将其用作文档嵌入 能够理解文档之间的隐式关系,并帮助生成文档的网络表示 网络可视化 对于每个逻辑图,执行 UMAP降维以生成图的 2D 表示 查询过程 本地搜索 从 低层级的节点 开始搜索指定最大结果数量 使用向量查询关键Node和相关的Node MapReduce 问题+搜索到的原文+总结性描述 一起打包发给LLM 问题生成 全局搜索 从 高层级 的总结(node)开始搜索指定最大结果数量 缺点 关系太简单、固定,不能真正表达复杂的内含关系 关系的种类太少,只能识别简单的类似“A是B”的逻辑关系 关系的处理的深度太浅,广度太窄 只能处理自然语言能够表达的逻辑,不能处理非常抽象的概念 根据已经有的资料库总结和推理出额外的信息的能力不够 抽象的级别不够高级 只能处理已经写好的(prompt)里面的逻辑关系 不能自动不断积累(增加)需要分析的逻辑关系、能力 不能根据实际内容进行有目的的动态索引 按照固定算法搜索匹配数据库,不能根据实际逻辑关系动态控制 效率低 信息爆炸,需要处理的token非常庞大,导致速度非常慢 回答的风格和具体的模型非常相关 好的,用户让我用中文解释“xxx” ### xxx的定义与核心内涵 ### xxx的技术实现路径 ### xxx的协同创新维度 ### 总结与展望 待解决 符合需求的数据集 数据集难以构建和被准确得评估 通过对数据集得label进行打分,分数是一个可以被量化的指标 逻辑操作的种类很多,prompt放不下 基础设施的完善 图数据库,向量数据库 逻辑规则推理Reasoner 记忆方法学 方法学 要求 需要设计一个健壮的系统,流程化,体系化,理论支撑 多层级的架构,层级解耦,独立迭代,不断增强 尽量端到端 本质上需要的能力和处理流程 语义解析,对“输入”的自然语言的表达的含义 -> LLM 计算语义的相似度 查找已有的通用知识和专有知识 计算语义逻辑,理解问题 判断表示同一个语义的不同表达 逻辑推理、选择 汇总结果进行输出 -> LLM 需要存储和计算那个层级的信息? RAG只是向量化存储原文,无计算能力 LLM权重存储和计算自然语言的高层级抽象 明确的语法+逻辑推理 需要人工算法处理类似自然语言,非常复杂 LLM映射高层级的语义到向量,只要匹配向量就可以(类似于打标签) 不可靠,向量只是梯度下降后的最优的结果 黑盒,没有标准的映射关系,LLM变更需要重新生成所有的向量 分几个模块,分别负责什么功能? 语言能力:自然语言的理解和组织能力:LLM 信息、知识的格式化,检索: 信息、知识的合理性检查、扩展、举一反三: 存储的信息的数据结构,存储效率,检索效率 LLM权重通过向量空间的转换(类似于查找表)来记录所有的信息,相同的语义会高度复用同一个向量空间 不可控,不透明,不可靠 存储容量有限 RAG只是记录每个token的向量空间,只有相同的token才能被索引 不能支持高级语义的检索,“不聪明” 怎么记忆/学习新的知识 通过回归/拟合/训练 -- LLM 的中间的 Latent Space LLM不能在推理过程中不断的改变权重,并且保证收敛 需要用到所有的历史知识 存储的知识量越大,学习越困难 通过“绝对”信息直接分类和记录 需要复杂的人工算法 需要计算和存储语义的绝对信息 分割,建树,识别匹配, 心智 系统2 意识自洽, 语义计算 存储的知识可以被提前按照信息块通过模型的推理进行向量化,生成kv cache 向量化的信息快,可以直接拼接到上下文的KV cache里面,而不用重新计数 插入的信息块和前面的文本没有关系 插入的信息快只和自己内部有关系 AI使用记忆的方式 记忆,为LLM语言计算器提供海量的数据 离线思考,不断得自由思考,编辑记忆,实现可迭代的,可不断进步的AI 临时记忆,提供无限的上下文,用于解决复杂问题,意识的存在实体 计算记忆,一次思考的中间过程记忆 目标实现的功能和遇到的问题 检索:搜索相关语义的信息 检索相关理念/想法/idea的信息 寻找关于,关于大小脑、慢思考/快思考、第一系统/第二系统 的概念 寻找之前关于 “结构化表示信息的方法,利用markdown的层级结构” 的描述信息 寻找“transformer缺点” 根据相关的理念/想法进行科研,主动的推理,输出思路和引用,自洽性判断,示例如下 提问:利用 xxx 的概念,应用在 xxx 领域,会有什么效果? 理解信息,结构化信息,根据逻辑推理得到新的结论,产生新的概念 询问当前AI的问题有哪些? 能检索返回 "没有反思能力,一个任务,不能越做越顺利,不断改进流程" 看到文章“如何科学地给大模型「找茬」?Anthropic联合Thinking Machines发布新研究,通过30万个场景设计和极限压力测试,扒了扒OpenAI、谷歌、马斯克家AI的「人设」。那谁是老好人?谁是效率狂魔?” 能知道,这个是在讲我之前研究过的一个话题《LLM心理行为学的研究》 请根据当前资料总结出当前AI发展的关键瓶颈 英伟达巧用8B模型秒掉GPT-5,对应到,开发一个专用的小模型提供特殊领域的专家 有哪些文件是在研究我之前提到过的“LLM心理行为学” LLM和AI可能在大部分场景下会混用,需要能互相检索 能不能帮我总结下,这个礼拜有哪些比较新的研究成果? “maybe know类型的问题是最有用的finetune数据, 强制给正确的答案做微调,精度最差” 能自动看论文,汇总出这样的结论 Embedding还是不够理想 句A表达的意思>句B,在检索B的时候,A的分数不高 主体不清楚:特斯拉前深度学习负责人Karpathy,公开表示AGI仍有十年之遥 “Karpathy+AGI仍有十年”  才是重点 “特斯拉前深度学习负责人Karpathy”  不是重点,不能作为匹配信息依据 卡帕西认为,通用人工智能(AGI)的实现至少还需要十年时间 同义词语 还是不理想:后期的知识+中英文+表达方式 卡帕西认为,通用人工智能的实现至少还需要十年时间 Karpathy公开表示,AGI仍有很多年 表达方式的不一致 反问句 A+B = B+A 一句话可能表达两个或者 多个主要的意思 支持动态学习,或者说应该支持链式搜索,逻辑处理 额外增加信息:卡帕西==Karpathy 方法 一种不断进行推导的知识检索路径规划,利用已有信息进行推导。 树只是一种高效的简化结构。 扩散 匹配到可能的选项之后,再进行语义精确过滤, a>b b>a 的区分,可以来回多次,类似关键词下钻的原理 记忆的三个层级:逻辑推理,潜意识推理,扩散 语言只是(概念/思想)的一种表达的方式,一种通过描述,不断得修饰等方法进行表示、表达知识的一种方式 语言不是知识或者信息本身,可以转换成其他的句式来表达同样的意思 直接的陈述句,固定格式的陈述句等等 先让一个 LLM 把原始信息扩展成多个变体在存入,入库时让 LLM 给每篇文章生成一段抽象摘要 人类记忆的大部分概念,话题,大部分都是跟旧知识有关系的 人类只能记住解析之后的,自己理解的知识,很难记住原话。原话大部分只是暂时放到临时记忆,或者就是直接放到无意识区的记忆,这部分属于潜意识,不经常用的信息就会想不起来。 需求本质 快速得在大量的数据里面检索出来需要的信息 大范围:存储大量的信息 支持复杂逻辑、动态的检索 如果xx存在,则输出是xxx,同时不是xxx,可能是xx的xxx 指代消解 支持复杂的编辑 快速动态增加一个信息: Kapaskey==卡帕斯基 建图的方法 一颗由命题组成的图 不断进行推理和完善命题的所有逻辑关系和知识点 非常完善的组织方式,非常方便进行检索和逻辑判断和增加 输入的信息只是刺激/材料做的是转换——识别原文里承载的认知信息 不是「切分」原文。 原文只是刺激/材料。我们做的是转换——识别原文里承载的认知信息,重新编码成我们事先定义的标准形式。原文的句子 边界、修辞、语序,对最终入库的形式没有任何约束力。 提一个更高维的视角:认知原语 (Cognitive Primitives),不是语言原语 第一级原始的信息检索方法 使用关键词依赖关系的图谱方式 使用总结的方式进行索引?效果类似于RAG? 用于LLM不断得信息检索 命题 入库的时候整理、建图--建图很慢、工作量大 需要对所有已经存在的命题进行交叉判断,如果有相关就建立连接 如果建立新的命题,就要和所有已经存在的知识进行判断 大脑做到的自洽,虽然不是实时实现的,可能是在睡觉的时候进行整理 命题举例:AGI实现的日期是什么时候? token关系树的方法 示例1原文:NAND Flash 的读写和擦除操作是基于串进行的。 示例1输出:[[NAND Flash] 的[[读写]和[擦除]][操作]]是[[基于][串][进行]的]。] 示例2原文:在读取操作时,通过在位线上施加电压,检测各晶体管的导通情况来确定存储的数据。 示例2输出:[[[在[读取][操作]]时],[通过][[在[位线][上]][[施加][电压]]],[[[检测][[[各][晶体管]][的][[导通][情况]]]][来][[确定][[存储]的[数据]]]]。] 示例3原文:在写入操作时,利用量子隧穿效应等将电子注入浮栅。 示例3输出:[[在[[写入][操作]]时],[[[[利用][[[量子][[隧穿][效应]]]等]][[将][电子][[注入][浮栅]]]]。] 示例4原文:在擦除操作时,通常是对整个块进行擦除,块是由多个串联的晶体管串组成的。 示例4输出:[[在[擦除][操作]时],[[通常][是][[对][[整个]块][进行][擦除]]],[块][是][[由][[[多个][[串联][的][晶体管]]][[串]组成的]]]]。 请按照上面的格式进行格式化 “希望这些步骤能帮助您顺利解决 python3-dev的安装问题!如果尝试后仍有疑问,欢迎随时提出。” token之间的关系树 + token的编码 LLM 计算特征值?? 句子 段落 文章 是不是不用计算句子的所有细节,而只是计算大的语义和总结 检索的“线索”不可能包含跨越多层的语义,也有信息量限制 句子之所以是句子,是人类处理信息的最大单元,一次性能够理解的单元。每个句子就是markdown树的一条item, 按照层级,不断总结,形成一个大的句子树。 每个句子表示一个独立的语义。 以句子为节点组成的金字塔结构和meaning tree的结构,非常像,用这样的结构去训练模型,相当于说对语言的理解强制约束为树状结构或者是金字塔结构,相对于传统的序列编码来说,金字塔结构更符合实际的语言含义,会强制模型去进行高层次的语义表达 所有的句子作为节点节点是可以用向量进行编码,并且能进行距离计算具有全局唯一性,寓意相近的句子距离也相近。 每个观点都可以用金字塔的方式来补全所有的方面,但是用户不一定会想到或者写全,AI可以进行自动的补充 观点:原因、原理、造成结果、形成条件 等等各个方面的描述 补全的信息会用于链接两个不用的观点 句子结构--句子可以用一个固定长度的向量表示 对知识用LLM生成金字塔表达, 每个item是一个句子, 句子之间存在有限的关系种类:原因解释、分类、包含、解释、证明、后果 对一段文本以句子作为单元的结构化,等价于对LLM的中间KVCache进行结构化和通用化 那么怎么进行直接的明确的可控的推理? 组织,排序,绘制地图,用于检索 地图定义 检索 根据一步一步的提示,类似导航的方式找到/生成/编码最终的语义 以句子为单元 对知识进行总结和转换成以句子为单位的结构 LLM的总结能力✅ 句子能不能稳定得用向量来表示语义,编码,计算距离 训练 专门的SSM 网络模型 同义句可以使用LLM进行生成 2个同义句分别推理后计算向量的中间节点作为target 文本向量模型 https://www.modelscope.cn/models/jinaai/jina-embeddings-v2-base-zh/summary 不是按照表达的语义来计算距离,更像是单词的相关性,需要自己训练向量化模型 可以从Qwen/Qwen3-Embedding-4B开始用同义句进行微调✅ 不断对信息进行抽象,从更高的级别进行组织 大模型静态计算语句之间的关系,用于验证和判断 通过语义静态计算存储的关系进行检索 ,避免全遍历的检索空间爆炸 使用大模型进行绝对距离计算,向量化语义识别 最top的几个比较接近的明确 的句子就可以 使用很多的 同义句对现有的模型 进行微调,然后采用模型的kv cache作为输出 kv cache不能直接代表编码 怎么通过数据库推导句子之间的关系,进行复杂的检索、关系推导 知识就是由句子表达的而成的语义关系图谱, 有限种类的关系:包含、详细解释、结果、原因。。 使用LLM Agent/MCP主动得进行多步的,迭代的,渐进式的,推导和检索✅ 怎么从句子关系图谱抽象出更高级的、难以表达的通用概念,补充知识的完整性用于检索和推导 LLM的总结能得到一些高级的语义,再对句子进行向量化✅ 关系推导:通过逻辑或者哲学补全缺失的概念或者解释 直接使用梯度下降,专用模型,对已经存在的句子向量之间的关系进行回归,推导 可能会消耗大量的token 专用微调的小模型 部署、量化上的提升 拆解成小于句子的单元 把单个token/meaning的向量根据固定的语法结构进行直接的拼装后成为一个更大的向量 使用固定的权重mapping到空间来映射/表达关系 这两个向量通过一个固定的模型进行运算,运算后得到一个新的向量 不同的语法结构使用不同的权重进行计算,比如 A是B,A和B,A的B,A与B,A或B或C A->vectorA B->vectorB A和B->vectorA&B 对meaning tree的每个node做embedding 一句完整的句子,需要按照meaning的不同层级的拆分分别做embedding, embedding做针对性的训练 meaning需要拆分出来具体的逻辑语义、语法规则 按照meaning拆封后,分别进行不同组合的结果来训练embedding, A和B==B和A 所有进行embedding的meaning都是一个明确的、最简单的语句 如果有额外的信息输入,比如 卡帕司=kaparskey 需要把所有用到 kaparskey 和 卡帕司 的meaning tree,的所有embedding进行embedding的补充 一个meaning可能有多个embedding进行等价表示 使用翻译的方法,让AI生成语义一致的训练样本 预先对等价单词进行替换(小块token 进行embed 检索,替换,生成整个句子) 再emb,检索 常识可以持续微调进大模型,比如 人工智能=AGI , 持续改进embed模型,表达真实的语义编码 当前的emb还是很注重单词的一致,匹配,不能表示真正的语义接近 使用LLM进行语义结构化 通过LLM对输入的句子进行结构化: 短语+关系 SVO 语义矢量双子手册 拆分为 单元之间的作用关系,支持嵌套组合 LLM -> AST语法树 -> 高级语义编码(序列编码,不定长的语义编码)-> 距离计算 编码信息:语义之间的 “与或非” 操作 语法树每个节点表示一种操作 LLM有很大的编码空间,多层、不定长、位置编码,各种语义交叉压缩表示 递归式的编码高级语义 递归,节省编码量 编码,为了表示和检索 链式的不定长的编码 距离计算,类似图形匹配 实现2 基于LLM的专用meaning处理大模型:小规模,缓慢更新迭代 功能 处理固定的已知的有限的逻辑,生成meaning,形成meaning tree 逻辑关系类 已知的名词、事物 支持生成和识别已知的meaning的组合 输出和输出特殊的高效的meaning token:meaning tree 使用AI算法,对meaning tree 进行处理、总结 分析形成高级抽象meaning,存储与数据库 通过低层级的通用语义(单词)的逻辑组合,不断组合成高层级语义 形成由逻辑关系不断组合形成的“逻辑树”,存储与数据库 可以先总结底层(短语)级别,逐渐形成更高级的逻辑树 数据库+传统算法+AI处理数据 由LLM生成待查询的逻辑需求 数据库按照固定的逻辑进行查询输出 LLM不断一步步进行“查询”“处理”直到不需要查询更多信息 实现? 使用更大的LLM进行训练数据生成:文本->meaning token的数据集 结合meaning tree+原文,推理meaning, 生成prompt 数据库记录meaning和原文,以及之间的关系:不断更新数据 公用的LLM根据prompt组织生成自然语言:通用的大规模LLM 实现3 设定 LLM只是一个语言计算器,数据库+逻辑抽象+人工调度算法 当前的LLM使用大量的权重完全包含和模拟了整个存储和检索,但是容量有限 人工算法+数据库不能表达复杂的自然语言推理 类似于把自然语言用传统算法进行表达“计算” 传统算法模拟大脑的行为,好像不太合理 LLM推理一次等价于大脑思考一次 每个样本都会存储一个树,经过不断的推理,不断得往高层级的语义合并,引用,减少存储规模 自动遗忘 怎么复用(链接)相同语义到相同的表示token? xx是xx、因为所以、A是B,B是C,A是C 人工算法和数据库是不是表示所有的自然语言的关系?? 过程 语句 -> LLM生成单词树 -> 单词树查询数据库 -> 单词树匹配/推理 -> 重新组织语言 语句 -> LLM总结 -> 单词树(meaning tree) 单词树节点之间的关系的学习: 不断遍历可能的节点之间的逻辑关系并记录到数据库 xAx == x被xA x1 and x2 and x3 == x2 and x3 and x1 只有抽象高度通用的语义才能穷举 通过关系树表达,形成一个完全符合自然语言的向量数据库 明文,非黑盒,可以单点修改 无需大量计算,可以通过简单的算法进行检索 和LLM的区别是,不能进行复杂的逻辑推理和自然语言的组织 正向:单词树 -> prompt -> LLM -> 单词树的关系 -> 关系数据库 根据已经有的单词树数据库生成prompt LLM进行自然语言推理 更新单词树节点之间的关系 不断循环,从低节点开始建立关系,逐步向上总结到高层级 逆向:LLM 生成样本 -> 单词树 -> 关系计算 -> 关系数据库 使用LLM生成的同义句 根据已知的逻辑关系,更新数据库 实现4 LLM 格式化输入的高级语义到向量空间并存储:seq -> LLM encoder -> vector -> DB 检索距离接近的vector的seq,重新组织语言:seq -> LLM encoder -> vector -> DB -> seq -> LLM -> seq 对文本(语义)进行树tree建立 + 符号分类(向量V) + 打标签(向量V) 模型里面的向量本身就能线性的表示两个语义的相似度,距离 前提是对已知的信息已经经过大量的训练(分割) tree,各个层级的语义之间的关系信息,语义由低级别的语义进行的组合,通过组合关系可以确定真实含义 通过大LLM生成 语义空间的多维向量V(标签): 表示两个语义之间的关系和距离 通过专用模型可以直接计算出两个输入(树+向量)的关系向量 LLM不能直接对未知的知识进行分类和输出表示向量 但是可以计算出两个语义的距离 难以表示绝对值,可以计算相对值 不断得对一整篇文件进行总结,并进行映射输出到单个向量 问题 V表达的空间够不够,需要多大的维度信息才能表达所有的语义 V的分类性能依赖已知数据的训练,不能对新知识进行很好的分类 通过语言的自然理解,可以进行部分正确的分类 通过和低级别语义的关系进行推导出语义空间向量 思维编织器 WeaveMind 一个信息交换的界面 专业的知识/信息工具 可以进行日常的快速记录,语音,视频,片段 专业的课堂笔记,领域专业学习,精心组织,不断修改优化 记录多维度的信息,时间,前后逻辑关系,个人学习/思考/科研的助手 支持各种的信息收集渠道, 无缝 , 自动 用户只要通过随笔的方式,连续得进行记录 AI会自动通过历史的记录进行汇总和总结 大量的零碎的片段,很难进行归纳整理,传统的笔记要花大量的时间进行分类和记录和链接 随时捕获 每天几百个,稍纵即逝的想法,自动整理 优秀的AI助理 保持所有记忆/知识的自洽性,带个人记忆和无限的历史存储 高层级的抽象和感知,不断完善涉及知识的所有概念、知识的完整性,相关性 对资料库进行判断、推理、整理,建立知识树,知识逻辑关系,快速像大脑一样在大量的知识里面整理信息 这一设计模拟了人类解决复杂问题时的策略:边查边记、反复比对、直至知识充分 本地数据库管理知识的片段,在密集的信息堆里面不断的编织,把LLM当作是信息的运算器 真正的文献调研不是信息检索,是认知建构。需要的不是答案,是能够跟随你的思维方式生长的过程 让它主动提问、树状展开假设,每条路径独立推进、独立放弃。研究方向不对?只剪掉那一支,其余继续生长。每个结论可以追溯到具体文章,每篇文章可以追溯到具体检索逻辑 递进式学习/辅助 遇到个问题 -> 询问 -> 提供线索、可能的思路、相关的资料 -> 继续询问,循环 帮助用户构建一个对问题的全面的知识树、思考的过程 deep research探索问题 使用个人历史对话、私人信息笔记 使用互联网等公共数据 主动搜索资料,整理,学习,格式化到庞大的记忆系统 未来网络上分享问题、互助的信息越来越少,搜索越来越没用。主动读取说明书、官方文档,找到问题的解决办法是一个必须的能力。从搜索->解决问题的转变 背景学习 静态搜索,静态学习,补充不完整的知识 特性、特征 极简的界面和交互 “金字塔原理”的信息组织方式 低价、免费 未来算力一定是廉价的 确保从技术上的低成本:自研模型、自研加速卡 确保信息完整性,降低用户的焦虑 必要的情况能输出用户记录的原始信息,支持用户直接维护原始文档 展示出原文整理之后的信息,以及和原文的关系 支持用户给定文档的性质 直接给定信息的属性(重要性,时间,前后关系等等) 批注、评论 在背景进行不断的推理,提高信息的完整度和自洽性 功能 记忆大量的信息 笔记、录音、随笔,片段式的总结,一闪而过的想法 针对性的评论 网络文章、论文 主动爬虫、搜索 更自然方式的增删改查 总结、汇总 协助思考 独立思考 界面:一种高效的AI和人类进行信息交换(互动)的方式方法 AI:存储了所有的主题,以及主题之间的关系 内部信息检索--提前格式化关系,建立连接 外部输入的检索 检索结果的整理 人:提供讨论的topic LLM进行结构化整理 逻辑树的方式,人机协作的编辑和修改 这是一款AI 驱动的个人知识管理与深度思考协作工具,核心定位是个人化、智能化的知识中枢,兼具笔记记录、信息整合、逻辑构建、深度研究辅助的复合功能,区别于传统笔记软件和通用 AI 聊天工具。从产品类型细分,它具备以下核心属性: 智能笔记工具的升级形态 突破传统笔记 “手动分类、手动链接” 的低效模式,支持语音、视频、文字等多形态片段的随笔式无门槛记录,无需用户提前规划结构;AI 会自动基于历史内容完成归纳、汇总、补全逻辑,同时保留原始信息与整理后内容的关联,降低用户整理负担。 个人知识图谱的自动构建引擎 以 “知识树、逻辑关系” 为核心组织形式,通过 LLM 对碎片化信息进行运算、推理、关联,主动建立知识点之间的前后逻辑、时间维度、层级关系,形成动态生长的个人知识图谱,实现 “密集信息堆里的知识编织”。 深度研究与递进式学习的协作助手 围绕 “遇到问题→获取线索→持续追问→构建知识树” 的研究路径,整合个人历史记忆、私人笔记与外部公共数据(文档、论文、官方资料),提供背景学习、静态补充、逻辑梳理的全流程支持,适配科研、专业领域学习等深度思考场景。 本地化的记忆与知识存储系统 强调个人记忆自洽性和无限历史存储,采用本地数据库管理知识片段,避免依赖云端搜索;同时通过 AI 后台持续推理优化,提升知识的完整性与关联性,解决传统工具 “信息碎片化、难以复用” 的痛点。 可能的方案 RAG graphrag nano-graphrag Google NotebookLM 开源onyx https://github.com/onyx-dot-app/onyx kivy作为本地跨平台APP开发,python, 底层SDL2 性能好,多平台 https://github.com/reflex-dev/reflex 开发web程序 纯python svelte web开发框架 + pocketBase数据库 使用gradio https://github.com/gradio-app/gradio.git 纯python,svelte底层,集成度高 MemOS Memory3项目 A-MEM: Agentic Memory for LLM Agents 长程对话记忆基准测试 LoCoMo memorylake.ai 记忆对于LLM的意义 记忆是实现人性化的必要条件 稳定的长期记忆 现有模型的推理能力已经足够强,真正缺的是稳定的长期记忆。 我们需要那么多智能体协作,恰恰是因为一个智能体记不住所有事情。 图数据库 AI 缺的未必是更多上下文,很多时候缺的是上下文之间的关系。 top-K chunks 可以把文档捞出来,但解释不了它们为什么重要、彼此为什么相连。 向量搜索解决的是“像不像”,图更擅长回答“为什么是它”。 GraphRAG 不是替代向量检索,而是让检索命中之后还能顺着关系继续往下走。 当 AI 开始进入权限、历史、作者、决策轨迹这些复杂地带,纯文本上下文很快就会不够用。 图数据库重新变重要,不是数据库品类回潮,而是 AI 系统开始需要一层更像知识结构的上下文底座。 LLM实现记忆实现方法 LLM大模型的权重 能进行一定深度和广度的处理能力 ,但是整体深度还是达不到人脑 需要通过及其复杂的梯度下降,不能快速存储特定数据,更新困难、无法追溯 黑盒,不确定性高,“增删改”不方便 计算资源消耗大,虽然有MoE KVCache 等运行态中间变量 存储密度比较低,存储容量上限低 相对于权重表示,KVCache依赖自然语言的token,表达能力(复杂抽象不能用语言表达)和效率都差一点 逻辑推理能力稍差,思维能力稍差 CoT可能出现前后矛盾的表达,长上下文之后,模型的准确性下降 计算资源消耗稍大 潜式思维链(Latent Chain-of-Thought)是一个改进方向 外部专用数据存储系统 容量大 抽象层级最低 ,存储密度最低,能力差 资源消耗小 支持动态“增删改” 人类记忆 为什么需要记忆 人脑有非常强大的记忆系统和索引能力,管理着非常庞大的信息,能够准确联想起来非常多的记忆 记忆是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) 对已经存在的记忆进行抽象,提取更高级的概念,重新组织记忆的表达形式 语义压缩,能够高效地组织知识、迅速地对世界进行分类 抽象的合理性 AI中的记忆表示划分为 参数化记忆 在权重中,通过梯度下降进行改变 黑盒,难以进行精确的操作 上下文记忆 向量:KV cache等推理产生的中间值 非结构化上下文记忆:引用信息,视频 结构化的上下文记忆:指将记忆内容组织为预定义、可解释的格式或结构(如知识图谱、关系表或本体) 具备可查询性和符号推理能力 既可以在推理时动态构建以支持局部推理,也可跨会话持久保存高质量知识。 需求本质 记录一段信息 格式化,向量化... 记录信息之间的关系 拓扑,树形,网状,点对点 逻辑关系,等价,推导,相似性的程度 本地的逻辑推理最为最高层的抽象,最核心的算法体现 不会因为不同的内容而改变,任何情况下总是可以正确的运行 拼接关键词,生成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 采用人工编写的规则(算法)+数据结构+数据库 进行运算 经过系统二的不断运行,能够正循环不断提升抽象质量,从而达到 高通用性 和 自洽 大脑记忆的核心机制 存储、连接、检索与深度学习的生物学原型 导读 人类大脑实现高效、鲁棒的"模糊记忆",并非靠计算机式的"地址—数据"存取,而是由几个互相支撑的机制共同构成: 分布式表征 ——记忆以何种形式存在 赫布学习与权重固化 ——记忆如何形成与巩固 临时与长期是一套基质 ——临时记忆是长时记忆当前被激活的工作切面;快照、巩固、编辑都是同一基质上的自洽处理 扩散激活 ——记忆如何被检索 这些机制之上,认知科学家构建了若干整体模型(Collins-Loftus 语义网络、ACT-R、海马体索引理论、互补学习系统、预测编码)。而当我们把视角拉远,会发现: 现代深度学习的几乎所有核心机制——卷积、梯度下降、批量训练、经验回放——都能在大脑中找到生物学原型 。记忆系统与 CNN、Transformer 的类比,不只是修辞,而是算法层面的深刻同构。 本文依次展开。 一、分布式表征(Distributed Representation) 1.1 核心思想 在计算机中,"卡巴斯基"这四个字可能存在某个具体的内存地址(如 0x7FFF )。但在大脑中, 不存在一个单独的"卡巴斯基细胞" 。 一个概念由 成千上万个神经元的组合激活模式 共同表示,分布在多个皮层区域。记忆不是"存在哪里",而是" 以什么模式被重新激活 "。 1.2 多通道编码 以"卡巴斯基"这个概念为例,它同时编码在: 听觉皮层 :"ka-ba-si-ji" 的发音模式 视觉皮层 :绿色盾牌、红色 K 形 Logo 语义皮层 :"安全""俄罗斯""防病毒""老牌"等属性 情节记忆区 :你第一次听到它的情境 情绪相关区 :信任感 / 警觉感 / 中性 这些区域同步激活时,你"想起"了卡巴斯基;激活模式略有差异时,你想起的是它的不同侧面。 1.3 为什么这是模糊检索的物理基础 1. 容错性(Graceful Degradation) — 删除一部分神经元,记忆不会突然消失,只是变得模糊——这与计算机"删掉一个字节就乱码"形成鲜明对比。 2. 部分线索足够还原整体 — "绿色盾牌 + 俄罗斯 + 安全"被激活,即使"发音"通道缺失,整个概念仍能被拼凑出来。 3. 概念自动具备相似度结构 — 相似概念的激活模式自然重叠(猫和狗共享很多神经元),形成天然的语义空间——这正是现代深度学习中 embedding 向量空间 的生物学原型。 1.4 与现代 AI 的对应 神经网络中的 embedding 向量,本质上就是分布式表征的工程化实现。语义相似的词在高维空间中距离近,部分信息缺失仍能近邻检索——这些都是在模仿大脑几亿年演化出来的策略。 二、赫布学习与权重固化(Hebbian Learning & Weighting) 2.1 核心定律 1949 年 Donald Hebb 提出: Neurons that fire together, wire together. (共同激活的神经元连在一起。) 记忆不是"写入",而是"生长" 。 2.2 突触权重的动态调整 当"卡巴斯基"的神经元群与"AGI 还要 10 年"的神经元群因同一情境被同时激活,它们之间的 突触权重 $w_{ij}$ 会增强: $\Delta w_{ij} = \eta \cdot a_i \cdot a_j$ 其中 $\eta$ 是学习率,$a_i$、$a_j$ 是前后神经元的激活强度。 重复激活持续强化连接,最终通过 长时程增强 (LTP, Long-Term Potentiation)在分子层面固化——NMDA 受体激活、钙离子内流、AMPA 受体增生,让突触的物理结构真正改变。 2.3 情绪与注意是学习率的乘数 大脑不会平均对待所有信息。 神经调质 充当了动态 learning rate: 多巴胺 :由预测误差、奖赏触发,作用是放大当前权重更新。 去甲肾上腺素 :由惊讶、警觉触发,作用是增强注意与编码深度。 乙酰胆碱 :由专注、新奇触发,作用是提升皮层可塑性。 皮质醇 :由压力、威胁触发,作用是强化危险相关记忆。 这解释了为什么震惊事件终生难忘,而平淡重复的信息反而难记—— 强烈神经调质信号 × 一次学习 = 永久权重 。 2.4 权重的衰减与竞争 连接不是只增不减。未被使用的突触会通过 长时程抑制 (LTD)逐渐减弱,这是遗忘的物理基础。睡眠期间,大脑还进行 突触稳态调整 ,整体削弱日间增强过度的连接——这是为什么睡眠对记忆巩固至关重要。 三、记忆的统一性:工作切面、快照、自洽 3.1 临时记忆是长时记忆的工作切面 临时记忆和长时记忆是同一套神经基质的两种激活状态——临时记忆是长时网络当前被高度激活的子集,不是独立存储器。 临时记忆(working memory)由前额叶持续维持某些长时连接的高频共振产生,不存在专门的"短期存储器" 回忆 = 把长时网络的局部权重沿连接点亮;编辑 = 在点亮态下叠加赫布更新——不存在"先读出再写回"两步 "存"与"取"在物理层是同一组突触在不同激活强度下的自我表达,不是两种动作 3.2 长期记忆是临时记忆某一刻的快照 长期记忆本质上是对临时记忆某一刻状态的快照保存 。快照不是单纯的"事实",而包括那一刻的 完整情境包 : 感官内容 :看到什么、听到什么、闻到什么 场景上下文 :在哪里、和谁、周围环境 情绪状态 :当时的感受、身体反应 注意焦点 :关注什么、忽略什么 内在思绪 :当时的想法、预期、疑问 这就是为什么一段旋律、一种气味能瞬间唤起整段往事——线索命中的不是"事实条目",而是整个 情境快照 ,快照一旦触发就会被整体回放。 3.3 快照不是复制,而是索引 这里有一个关键细节:大脑 并不真的像相机那样"存下"完整画面 。真正发生的是: 经历发生时,各皮层区域(视、听、语义、情绪)分别激活 海马体记录一个"索引" ,标记这一刻哪些皮层模式被共同激活 长期记忆 = 海马体保留的这条"共激活指针" 当未来某个线索触发时,海马体通过索引 同步重新激活 当时所有相关皮层——体验被"重新上演",而非"被读取"。 这解释了: 为什么回忆是多感官的、沉浸式的 为什么海马体损伤(如著名病人 H.M.)会导致无法形成新情节记忆,但旧记忆和技能保留 为什么 每次回忆都会轻微改写记忆 (reconsolidation)——因为"回放"本身就是一次新的学习 3.4 睡眠:快照的压缩与归档 海马体的容量有限,无法永久存储所有快照。大脑通过睡眠解决这个问题: 清醒时 :海马体快速记录当日事件的索引 睡眠中(尤其慢波睡眠) :海马体向新皮层 反复回放 这些索引 长期中 :新皮层逐渐从多次回放中 提取统计规律 ,形成独立的长期知识 最终 :常识性内容沉淀进皮层,海马体的原始索引可以被弱化或替换 这个过程把 情节记忆 (具体事件)逐步转化为 语义记忆 (抽象知识)——就像把一堆原始照片,压缩归档成一本带主题标签的相册。 3.5 情绪是快照的"重要性标签" 并非所有快照都会被长期保留。情绪(尤其通过杏仁核与海马体的协作)决定了哪些快照值得反复回放、哪些被丢弃。 高情绪唤起的事件 → 海马体标记为"高优先级" → 睡眠中优先回放 → 快速固化 平淡无奇的事件 → 低优先级 → 很快被覆盖 这也是 情绪记忆比事实记忆更顽固 的生理原因。 3.6 编辑即自洽:reconsolidation 的统一涵义 编辑(reconsolidation)、记忆形成(encoding)、巩固(consolidation)在物理层是同一类操作 :在某个被激活的子网络上,让新输入与既有连接达成相容的局部调整。差别只在触发情境与神经调质强度(§2.3)。 reconsolidation(§3.3)的实际过程: 线索把长时记忆的某个子区域拉到临时记忆(回忆) 当前情境带来的新信息(预期、情绪、矛盾、关联)与该子区域共激活 共激活触发赫布更新(§2.2),子区域的连接结构按新旧相容性被微调 微调结果就地提交——下次再被点亮时显示更新后的版本 这与 §5.5 预测编码同构:大脑不在"存信息",而在持续调整一套生成预测的参数,使其与不断到来的输入保持一致。 记忆活动 = 自洽处理 。 四、扩散激活(Spreading Activation) 4.1 核心思想 扩散激活是 检索算法 ——不需要遍历数据库,依靠能量在网络中的自然蔓延完成"查找"。由 Collins 与 Loftus 在 1975 年正式提出。 4.2 工作过程(四步) 第 1 步 · 入口激活 — 外部线索点亮对应节点,赋予初始激活值。 第 2 步 · 沿边扩散 — 激活沿所有相连边同时流动,遵循: 按边粗细分配(权重大的分到多) 距离衰减(每扩散一步能量衰减,通常 2–3 跳后趋近零) 并行扩散(所有方向同时进行) $a_j(t+1) = \sum_i w_{ij} \cdot a_i(t) \cdot \text{decay}$ 第 3 步 · 激活汇聚叠加 — 多线索同时输入时("AGI" + "俄罗斯人" + "保守预测"),激活从多个入口扩散,在共同相连的节点(卡巴斯基)上 叠加 。 单独想"AGI"可能激活一万个概念,三条线索的交汇点却只有少数几个——目标节点因此累积激活最高。 第 4 步 · 阈值触发 — 只有累积激活超过阈值的节点才"浮出水面"。接近阈值但没过的节点,就产生"话到嘴边"(tip-of-the-tongue)现象。 4.3 持续辐射与上层判断循环 §4.2 的四步容易被读成一次性事件——线索一击即出结果。但真实大脑里,扩散是 持续性 、 累积性 、 有上层反馈 的过程。 1. 辐射是持续的,不是一次性触发 每个被激活的神经元(概念)在一段时间内持续向相邻概念辐射激活;相关度越高,辐射功率越大。激活不会瞬间结束,而是有一段衰减时间。 2. 接收端的激活靠累积 一个神经元不是"接到能量就触发",而是 持续接收到足够量的刺激才激活 。一旦激活,它自己也成为新的辐射源,继续向外传——级联放大。这把"达到阈值"从瞬时事件变成时间累积过程。 反向推论: 初始能量大小不重要 ——种子如果没有激活到其他单元形成级联,孤立辐射会很快衰减消失。这是系统的自调节性质:无关线索自动淘汰,激活生态自我清扫。 3. 上层从激活态中涌现出一个综合概念 底层激活态是原始信号——单个或多个神经元的激活值。重点是 大脑高层(前额叶)对底层激活态进行汇总 / 总结 ,产出一个 综合概念 : 涌现内容 : 可能是一个具体概念 / 一段描述 / 一份文件 / 一次经历 / 一个事实 / 一段记忆 来源 : 当前激活的神经元(单个高激活, 或多个并行激活)—— 未激活的不参与 性质 : 这是"涌现 / 抽象"——底层激活态本身 不等于 这个综合概念,综合概念是上层从激活态中 summarize 出来的 4. 上层判断不是事后筛选,而是与扩散同时发生 大脑的高层(前额叶等)每时每刻根据底层激活状态做判断: 这个激活模式是不是我要找的信息? 是不是相关的? 需不需要再注入新的线索去底层检索? 判断结果会反向干预底层:注入新的种子激活、抑制某些区域、调整扩散方向。 底层扩散和上层判断同时进行,构成一个反馈环 ,而不是"先扩散完再筛"的串行管线。 工程启示 :扩散适合做成 异步、持续运行 的子系统,而非 query-triggered 的一次性函数;上层模型(脑中是前额叶,工程里可以是 LLM)的角色是 在扩散运行过程中不断监控并注入新线索 ,而非事后排序筛选。 4.4 能解释的心理现象 启动效应(priming) :前一概念的激活残留加速后续识别。 舌尖现象 :激活接近但未达阈值。 联想流 :激活在网络中自由扩散。 情境依赖记忆 :环境节点持续提供额外激活。 情绪一致性回忆 :情绪本身作为激活源。 遗忘 :权重衰减 + 基础激活降低,非"删除"。 4.5 为什么这就是"模糊检索" 模糊检索是扩散激活的 自然副产品 : 任何节点都能作为入口 → 线索不完整也能检索 系统返回最高激活节点而非精确匹配 → 自动最佳匹配 上下文节点持续参与 → 同一线索在不同情境下路径不同 多线索自动求交集 → 噪声互相抵消,信号互相增强 五、整体模型:大脑如何组织整个记忆系统 5.1 Collins-Loftus 语义网络模型(1975) 最经典的上层描述:概念是节点,关系是带权边,扩散激活在此网络上运行。主要解释 语义记忆 (知识、概念、事实)。 5.2 ACT-R 模型(Anderson) 增加 基础激活值 (Base-Level Activation): $B_i = \ln\left(\sum_{k=1}^{n} t_k^{-d}\right)$ 随使用频率上升、随时间衰减。解释了常用信息提取快、久不用的信息"想不起来"——不是被删除,而是基础激活太低。 5.3 海马体索引理论 如 §3.3 所述,情节记忆通过海马体的"共激活索引"实现。海马体是记忆的 指挥中心 而非 仓库 。 5.4 互补学习系统(Complementary Learning Systems, CLS) McClelland、McNaughton、O'Reilly 提出的理论,解决一个核心矛盾: 大脑既要快速学习新信息,又不能灾难性地覆盖旧知识 。 快学习系统 :位于海马体,具有高可塑性、稀疏编码特性,功能是快速记录单次事件。 慢学习系统 :位于新皮层,具有低可塑性、分布编码特性,功能是缓慢提取统计规律。 这是 睡眠对记忆至关重要 的理论基础,也与现代深度学习中的 经验回放 (experience replay)机制直接对应。 5.5 预测编码(Predictive Coding) 现代主流框架: 大脑不是被动记录,而是持续生成对世界的预测 。 感知 = 预测 + 预测误差 记忆 = 用于生成预测的参数 学习 = 由预测误差驱动的权重更新 检索 = 由当前情境激发的预测性重建 六、大脑记忆与深度学习:不只是比喻 一个深刻的观察: 现代深度学习中几乎所有核心机制,都能在大脑记忆系统中找到生物学原型 ——这不是偶然,因为 CNN、反向传播等架构最初就是受神经科学启发。 6.1 视觉皮层与 CNN:层次化特征提取 Hubel 与 Wiesel 在 1950–60 年代的诺贝尔奖工作发现,视觉皮层按层次组织: V1 层 :检测边缘、朝向、局部对比(类似 CNN 的第一卷积层) V2 层 :检测简单形状、纹理组合 V4 层 :检测复杂形状、颜色 IT 层(下颞叶) :检测物体、面孔(类似 CNN 的高层特征) 这个层次结构 直接启发了 CNN 。Yann LeCun 设计 LeNet 时就明确参考了 Hubel-Wiesel 模型。 关键同构 : 局部感受野(local receptive field)→ CNN 的卷积核 同一特征检测器在整个视野重复使用 → CNN 的权重共享 简单细胞→复杂细胞的组合 → CNN 的卷积+池化 自底向上的抽象 → CNN 的深层特征 记忆层面的启示 :一次"视觉快照"的记忆不是存一张图,而是存 这张图在各层被激活的特征模式 ——和 CNN 的中间层激活非常类似。 6.2 记忆形成 ≈ 深度学习训练 把一次经历的记忆形成与神经网络训练放在一起看: 前向传播 (输入经过各层) ↔ 感知 (信号经过各皮层层次) 损失函数 (预测与真实的差距) ↔ 预测误差 (大脑预测与实际输入的差异) 反向传播 (误差沿网络回传) ↔ 神经调质广播 (多巴胺等信号扩散至相关突触) 梯度下降 (按误差更新权重) ↔ 赫布学习 + LTP (按共激活更新突触) Batch training (批量样本) ↔ 海马体累积当日经历 多 epoch 训练 (反复过同一数据) ↔ 睡眠回放 (海马体向皮层反复回放) 正则化 (防止过拟合) ↔ 突触稳态调整 (削弱过度连接) Experience replay(RL) ↔ 海马体睡眠回放 Learning rate scheduling ↔ 神经调质动态调节可塑性 预训练 → 微调 ↔ 进化固化的先天结构 → 一生的个体学习 这个对应不是松散比喻,而是 算法层面的深刻同构 。很多深度学习的改进(Dropout、Batch Normalization、LSTM 的门控)都能在生物神经系统中找到对应。 6.3 检索 ≈ 前向推理 + 注意力 扩散激活与 Transformer 的注意力机制也有深刻相似: Query :当前线索/问题 Keys :记忆网络中各节点的特征 Values :各节点携带的内容 Softmax 加权求和 :最终输出 大脑扩散激活的"多线索汇聚叠加",与注意力机制"Query 对所有 Key 计算相似度后加权"是同一类操作的不同实现。 6.4 类比的边界:哪里不像 诚实地说,这个类比有局限: 大脑是持续在线学习的 ,没有明确的"训练阶段"和"推理阶段"分离 大脑的梯度下降不存在精确的反向传播 ——生物神经系统用的是局部学习规则(赫布+神经调质广播)的近似 大脑能从单个样本学习 ,当前深度学习远远做不到 大脑有明确的情绪系统 作为全局调制,当前 AI 只有简单的奖励信号 大脑的"遗忘"是主动的、有选择性的 ,而 AI 的遗忘是被动的灾难性覆盖 这些差距正是当前 AI 研究的前沿方向。 七、四大机制如何协同 ┌──────────────────┐ │ 分布式表征 │ ← 记忆的物理形式 │ (存储结构) │ └────────┬─────────┘ │ ↓ ┌──────────────────┐ │ 赫布学习 │ ← 关联如何建立 │ (突触权重) │ └────────┬─────────┘ │ ↓ ┌──────────────────┐ │ 快照与巩固 │ ← 临时记忆如何在长时基质留痕 │ (海马体+睡眠) │ └────────┬─────────┘ │ ↓ ┌──────────────────┐ │ 扩散激活 │ ← 记忆如何被找到 │ (检索算法) │ └──────────────────┘ 一次完整的记忆生命周期 : 事件发生,多个皮层神经元群被激活( 分布式表征 ) 神经调质调节下,共激活的突触增强( 赫布学习 ) 海马体记录这一刻的共激活索引——完整的 情境快照 被建立 睡眠期间海马体反复回放,新皮层从中提取规律( 互补学习系统 ) 多次回放后,皮层间直接连接固化,长期知识形成 未来某线索触发扩散激活,多条路径在目标节点汇聚( 扩散激活 ) 超过阈值的节点重新同步激活原有皮层模式——快照被"重新上演" 每次回忆都是一次新的编码(reconsolidation),记忆在使用中演化 八、工程启示 分布式表征 ↔ Embedding 向量 赫布学习 ↔ 梯度下降 / 反向传播 视觉皮层层次 ↔ CNN 架构 扩散激活 ↔ 图随机游走 / 注意力机制 基础激活衰减 ↔ Recency / frequency 权重 海马体索引 ↔ RAG 中的检索索引 情境快照 ↔ 多模态 embedding + 时间戳 睡眠回放 ↔ Experience replay 神经调质调节 ↔ 动态 learning rate + RLHF 预测误差驱动 ↔ 自监督学习的损失信号 当前 RAG(检索增强生成) 已经在模仿其中一部分:向量相似度实现模糊检索,LLM 做推理整合。但要真正接近人类记忆,还需要: 多时间尺度的可塑性 :短期高塑性 + 长期稳定,像互补学习系统 情绪/显著性门控 :不是所有信息都值得长期保留 情境依赖的动态权重 :检索路径应随当前上下文变化 睡眠式离线巩固 :模型需要"消化"而非只是"接收" 快照式情节记忆 :不只存事实,也存上下文、情绪、时间 结语 人类记忆的高效,不在于存得多或取得准,而在于它的 组织方式本身就是理解方式 。 分布式表征让概念自然具备相似度结构 赫布学习让关联按重要性自动加权 快照机制让每一刻的完整情境被整体打包 扩散激活让检索、联想、推理使用同一套物理基础 睡眠巩固让具体经历升华为抽象知识 而这整套机制, 正是现代深度学习试图逼近的目标 。CNN 的层次、Transformer 的注意力、RL 的经验回放——都是在用工程方式重演大脑几亿年演化出的答案。 当我们说"想起"一件事时,其实是大脑在亿万突触的权重网络中,让一组神经元再次同步放电—— 记忆不是被取出的对象,而是被重建的过程 。 现代汉语:语法解析 现代汉语语法解析 一份独立的现代汉语语法概览。目的是把汉语作为一种 语言系统本身 讲清楚,不服务任何具体的工程下游。 视角偏功能 / 类型学,参考朱德熙《语法讲义》、吕叔湘《现代汉语八百词》、Li & Thompson《Mandarin Chinese: A Functional Reference Grammar》的基本框架。 一、汉语在世界语言中的类型学定位 要理解汉语语法的所有特点,先要清楚它是一种什么类型的语言。 维度 汉语 与多数印欧语对照 形态类型 分析语 / 孤立语 综合语 / 屈折语 形态变化 几乎没有 丰富(性、数、格、时、人称) 语序信息量 极高(语序承担形态语言里词形的工作) 中等 基本语序 SVO,但有强主题化倾向 SVO / SOV / VSO 各异 修饰位置 修饰语 前置 (定语、状语都在中心语前) 多为后置 主题/主语 主题优先 (topic-prominent) 主语优先(subject-prominent) 形/意合 意合 (parataxis,靠语义连接) 形合 (hypotaxis,靠连词显式连接) 量词 必须有("三本书"不能说"三书") 通常不需要 代词省略 大量零指代 多数语言有显式主语 声调 词汇区别性声调 多数无 这张表里的每一行都直接决定了某一组语法现象。下文展开。 二、词类系统 汉语词类划分一直是争议焦点(朱德熙的著名论断:"汉语词类的划分纯粹是为了句法的方便")。但作为入口,仍按传统两分: 实词 / 虚词 。 2.1 实词(有词汇意义) 类 标志 例 名词 能受数量词修饰,能作主宾 书、桌子、北京、想法 动词 能受"不"否定、带宾语、带时体助词 走、看、是、有、知道 形容词 能受"很"修饰,可作谓语 大、高、漂亮、安静 数词 表数量 一、十、百、几、若干 量词 名量、动量、临时量 个、本、张;次、回、趟 代词 替代 我、你、他、这、那、谁 副词 修饰 V/Adj 很、都、也、就、才、还 2.2 虚词(没有词汇意义,承担语法关系) 虚词在汉语里的地位比印欧语高得多——它替代了印欧语形态变化的大部分功能。 类 例 功能 介词 在、从、向、对、把、被、为、由 引介论元 / 状语 连词 和、与、而且、但是、因为、如果 连接 助词 的、地、得;了、着、过;吗、呢 结构 / 时体 / 语气 语气词 啊、吧、呢、嘛、罢了 语气 / 态度 叹词 哎、唉、哦、啊 独立 拟声 哗啦、咚 摹声 2.3 汉语词类的两个特殊性 (1) 兼类多。 同一个词形在不同句法位置承担不同词类的功能: " 学习 很重要。"(名词) "他在 学习 。"(动词) 汉语对此非常宽容,因为没有词形变化来区分。 判定词类只能看分布 (能否受 V 类修饰、能否带宾语等),不能看词本身。 (2) 词类与句法成分不一一对应。 印欧语里"动词→谓语"是默认搭配,但汉语形容词也能直接作谓语: "天 蓝 。" 不需要系动词。 形容词在汉语里更接近"性质动词",这一点在比较语言学上是关键差异。 三、量词系统(汉语最具识别性的特征之一) 3.1 基本形式 数词 + 量词 + 名词: 三本书 / 一只猫 / 五张纸 。 数词不能直接修饰名词(不能说"三书")。这条规则极少例外("三人行"、"二老" 是古汉语残留)。 3.2 物量词(修饰名词) 类 例 用于 个体 个、只、条、张、本、匹、头、棵、间 离散个体,与名词形状/类型相关 度量 米、斤、升、小时、年 标准计量 集合 群、堆、对、双、副、批 多个个体的集合 不定 些、点、丝、缕 非定量 容器 杯、碗、盒、桶、车 容器内容物 量词与名词的搭配是 词汇规约 ,不能自由替换: ✓ 一 条 鱼 ✗ 一 只 鱼(在多数方言里不对) ✓ 一 匹 马 ✗ 一 头 马 ✓ 一 棵 树 ✗ 一 个 树(口语勉强,书面不接受) 这意味着量词承载着对名词的 分类信息 ——长条状、扁平状、动物中的大型/小型、是否成对……汉语母语者通过量词隐式地对世界做本体论分类。 3.3 动量词(修饰动词) 例 用法 次、回、遍、趟 "看了 三遍 " 下 "敲了 两下 " 顿 "骂了 一顿 " 动量词与物量词在功能上对称:物量词把名词"个体化",动量词把动作"事件化"。 3.4 量词的语义渗透 有些用法是纯粹的语法约束,有些则携带语义甚至修辞色彩: "一 位 老师"(敬意) vs "一 个 老师"(中性) "一 盏 灯"(古雅) vs "一 个 灯"(口语) "一 抹 笑"(修辞) vs "一 个 笑容"(普通) 四、语序与句法骨架 4.1 基本语序:SVO,且严格 我(S) 吃(V) 苹果(O)。 由于没有形态标记,主宾不能像俄语那样自由换位。语序错乱通常导致句意丢失: ✓ 猫吃鱼 ✗ 鱼吃猫(不是同义句,只是颠倒) 4.2 修饰语严格前置 类型 规则 例 定语 → 名词 定语必须前置 " 红色的 书",不能 "书 红色的" 状语 → V 状语必须前置 " 慢慢地 走",不能 "走 慢慢地" 数量 → 名词 数量短语前置 " 三本 书" 唯一的"后置"是 补语 ——这是下一节的重点。 4.3 主题化前置 主题(topic)置于句首,与主语不必一致: 这本书 ,我看过。 关于这件事 ,他不知道。 昨天 ,下雨了。 主题不要求与谓语有直接句法关系,只要求"全句关于它"。这是汉语区别于英语的关键之一。 五、句子成分(含补语系统) 5.1 六个成分 主语、谓语、宾语、定语、状语、 补语 。 前五个与英语对应,第六个是汉语独有的范畴。 5.2 补语系统:汉语最丰富的句法装置 补语 = 谓语后 对动作的进一步说明。它是汉语在动词形态贫乏的情况下,用来精细刻画事件的核心机制。 (1) 结果补语 V + V/Adj,表动作结果: 吃 完 / 看 见 / 说 清楚 / 写 错 / 打 破 结果补语紧贴动词,构成一个紧密的复合形式。"看见"中"见"已不能独立做谓语,但仍是结果补语。 (2) 趋向补语 V + 趋向动词(来 / 去 / 上 / 下 / 进 / 出 / 起 / 回 / 过 / 开),可单可复合: 走 进来 / 跑 出去 / 拿 起来 / 飞 回去 复合趋向补语(如"进来"、"起来")有时引申出非空间义: "想 起来 " — 突然想到(起始 + 完成) "活 下去 " — 持续 (3) 可能补语 V + 得/不 + 补语,表能否实现: 吃 得 完 / 吃 不 完 看 得 见 / 看 不 见 来 得 及 / 来 不 及 注意:可能补语与结果补语 / 趋向补语**插入"得/不"**得到,所以它寄生在前两类之上。 (4) 程度补语 好 得很 / 累 得不行 / 高兴 极了 (5) 状态补语 V + 得 + 描写: 跑 得 很快 / 唱 得 好听 / 笑 得 直不起腰 状态补语描述动作进行时的样态。注意它的标记是"得"(发音 de,与可能补语的"得"同形)。 (6) 数量补语 看了 三遍 / 来了 两次 / 等了 半小时 5.3 三个 "de" 字 读音 用法 例 的 de 定语 → 名词 红色 的 书 地 de 状语 → V 慢慢 地 走 得 de V → 补语 跑 得 快 口语里都读 de,但书面正字法严格区分。这三个字承担了汉语 句法关系标记 的核心工作。 六、时体系统(无时态,只有体) 汉语没有印欧语意义上的"时态"——动词不变形。时间信息通过 时间副词 (昨天、明天)和 体助词 表达。 6.1 体助词 助词 位置 体类 例 了₁ V 后 完成 他走 了 一会儿 了₂ 句末 新状况 下雨 了 过 V 后 经验 我去 过 北京 着 V 后 持续 门开 着 在 / 正在 V 前 进行 他 在 写 "了" 的两种用法是汉语语法学上长期争论的焦点。一般认为: 了₁ (动后了)= 标记动作的 完成 了₂ (句末了)= 标记 新情况的出现 / 状态变化 两个常常同时出现,但功能不同: 他吃 了 饭 了 。 第一个 "了" 标完成(吃饭这件事完成了),第二个 "了" 标新状况(之前没吃,现在吃了)。 6.2 复合时体(趋向补语承担体义) 跑 起来 (起始) 说 下去 (继续) 想 出来 (实现) 这些原本是趋向补语,引申后承担体义,是汉语在缺少形态时的一种代偿。 6.3 时间表达 vs 时态 英语 "I went / I go / I will go" 靠动词形态。 汉语全部是"我去",靠时间词或体助词区分: 昨天 我去(过去) 我 去了 (已完成) 明天 我去(将来) 我 正在 去(进行) 这意味着汉语句子在缺少时间词时,时间是 未指定 的(unmarked),由语境决定。这与"汉语没有时态"是同一个事实的两种表述。 七、特殊句式 7.1 把字句(处置 / 致变) 他 把 书 撕了。 我 把 作业 做完了。 把字句把宾语提前到 V 前,由介词"把"标记。 核心条件 :动词必须是 有处置义、有结果 的(不能是"喜欢"、"看见"这类心理 / 感知动词单用),且 V 后必须有别的成分(补语、宾语、了等),否则不成立: ✗ 他把书看 ✓ 他把书看完 ✗ 他把书喜欢 7.2 被字句(被动 / 遭受) 杯子 被 他打破了。 他 被 老板批评了。 被字句早期带遭受义(多用于不如意事),现代汉语扩展到中性 / 积极语境("他被选为代表")。 7.3 兼语句 一个 NP 同时作前 V 的宾语和后 V 的主语: 老师 让 [学生] 回答问题。 常见兼语动词:让、使、叫、请、派、命令、鼓励、禁止。 7.4 连动句 同一主语连用多个 V,无关联词: 他 [去图书馆] [借书] [看]。 V 之间隐含 目的、方式、时序 等关系,需靠语义判断。 7.5 是…的句式 他 是 昨天 的 。 是 他 的 。 表强调 / 焦点。"是"和"的"框出一个被强调的成分,多用于回答"什么时候 / 谁 / 怎么"等已预设事件存在的问题。 7.6 存现句 桌上 有 一本书。 门口 站 着一个人。 教室里 坐满 了学生。 句首是处所,句末是被介绍的实体。语序与一般 SVO 不同(处所先)。这是汉语 有定/无定 信息流动的典型体现:处所是已知,存在物是新信息。 7.7 比较句 A 比 B + adj:他 比 我高。 A 不如 B + adj:他 不如 我高。 A 跟 B 一样 + adj:他 跟 我一样高。 A 没有 B + adj(口语):他 没有 我高。 差比和等比有不同句式,否定形式与肯定不对称("不比" ≠ "不如",前者表示"差不多或反向",后者明确表示"低于")。 八、复句与关联词 8.1 联合复句(并列、递进、选择) 类 关联词 例 并列 既…又、一面…一面、和、并 他 既 聪明 又 勤奋 递进 不仅…而且、甚至、更 不仅 会英语, 而且 会日语 选择 或者…或者、要么…要么、不是…就是 要么 走 要么 留 8.2 偏正复句(主从) 类 关联词 例 因果 因为…所以、由于…因此、既然…就 因为 下雨 所以 取消 转折 虽然…但是、尽管…却、不过 虽然 累 但 坚持 条件 如果…就、只要…就、除非…才 如果 下雨 就 取消 假设 假如、要是、倘若 要是 早知道 让步 即使…也、就算、哪怕 即使 失败 也 不放弃 目的 为了、以便、好让、省得 为了 应对挑战 8.3 意合的复句 汉语复句常常 不出现关联词 ,靠语义和语序连接: 下雨了,比赛取消了。(隐含因果) 早知如此,何必当初。(隐含让步) 这是汉语" 意合 "特征的典型——印欧语的"形合"会强制要求 because / so / if 之类显式连接,汉语依赖读者基于常识的推断。 8.4 流水句 汉语的长句不是层层嵌套的复句,而是一连串短句用逗号串起: 他打开门,走进去,坐下,点了一根烟,看着窗外,叹了口气。 没有连词、没有从句嵌套 ,每个分句都是独立小句,但整体被理解为一个连续叙述。这是汉语区别于英语长句的典型形态。 九、否定与极性 9.1 不 vs 没 不 没(没有) 否定时间 现在 / 将来 / 习惯性 过去 / 已发生 否定性质 状态、意愿、性质 动作完成、存在 例 不 去 / 不 好 没 去 / 没有 钱 "他不来" — 他不打算来 / 他通常不来 "他没来" — 他事实上没有来(已确定的过去事实) 这是汉语否定系统的核心区分,对应"现实/将来意愿性否定" vs "已实现的反事实"。 9.2 否定的辖域 他 不 因为饿了才吃。 否定 "因为饿了" 而非 "吃"。 不是 所有人都来了。 否定全称量化,而非"来"。 汉语没有显式的辖域标记,靠语序和常识判断。常见歧义: 我 不 经常去 — 可以理解为"经常不去"或"去得不频繁" 十、量化 10.1 全称 标记 例 都 大家 都 来了 每 每个 人都有责任 任何 任何 人都不许进 凡(书面) 凡 报名者皆可参加 "都" 在汉语里特别活跃——它本身不引入量化,而是 激活 前面的全称解读。 学生 都 来了。 — 全部学生 没有 "都":可能是"学生(们)来了",全称弱化。 10.2 存在 标记 例 有的 / 有些 有些 人不同意 某 / 某些 某些 情况 一些 一些 问题 10.3 疑问代词的非疑问用法 汉语疑问代词在某些环境下表达 任指 或 虚指 : 谁 都不知道。 — 任何人(任指) 我 什么 都没说。 — 任何东西 他 怎么 也想不通。 — 无论用什么方法 这是汉语的特色用法,无标记疑问代词靠位置和共现成分("都"、"也")切换为量化义。 十一、疑问、祈使与语气 11.1 四种疑问 类型 标记 例 是非问 句末 "吗" 你来 吗 ? 特指问 疑问代词 你 什么时候 来? 选择问 用 "还是" 你来 还是 他来? 正反问 V 不 V 你来 不 来? 正反问是汉语的特色——直接列出肯定和否定形式让对方选。 11.2 祈使 请 坐。 / 别 走。 / 走 吧 。 无显式主语(你),由动词单用 + 语气词标记。 11.3 句末语气词 词 语气 例 吗 疑问 你去 吗 呢 提问 / 强调 他 呢 ? 吧 建议 / 揣测 走 吧 / 应该是 吧 啊 感叹 / 软化 真好 啊 嘛 道理显然 这本来就是 嘛 罢了 不过如此 就是个借口 罢了 了 新状况 下雨 了 句末语气词承担了印欧语里 语调 + 情态副词 的混合功能。 十二、代词与回指 12.1 人称代词 单数 复数 一 我 我们 / 咱们 二 你 / 您 你们 三 他 / 她 / 它 他们 "咱们"含听话人,"我们"可含可不含——这是包含/排除的区分(部分方言才严格)。 12.2 指示代词 近 远 这 / 这个 / 这里 / 这么 / 这样 那 / 那个 / 那里 / 那么 / 那样 汉语只有 两分 指示,比英语 this/that/those 也对应,但少于日语三分(コソア)和西班牙语三分(este/ese/aquel)。 12.3 零指代 汉语主语 / 宾语在话题已知时常常省略: Q:他来了吗? A:来了。(省略主语"他") 进了门,[他] 脱下大衣,[他] 坐下,[他] 点了一支烟。 后续小句的主语全省略。 零指代在汉语里是 默认 而非例外。这给计算处理带来很大挑战,但对母语者完全自然。 十三、信息结构(主题-述题) 13.1 主题优先 汉语句子的核心结构常常是 主题 + 述题 而不是 主语 + 谓语 : 这本书 , 我看过。 主题 述题 主题是"全句关于的东西",可以与述题里的任何成分对应(这里对应于述题的宾语),也可以毫无句法对应: 明天 ,我有事。 — 主题是时间 关于这件事 ,我不知情。 — 主题是范围 英语必须把主题塞进句法("As for this book, I have read it."),汉语直接放在句首即可。 13.2 焦点 标记 例 是…的 是他 昨天来 的 连…也/都 连他 也不知道 把字句 把 最难的题 做出来了 焦点是句中 新信息 / 强调点 。汉语用句法构造而非重音 / 语调来标焦点。 13.3 有定 / 无定与语序 汉语有强烈的" 有定先 / 无定后 "倾向: 桌上 有 一本书 。(处所有定 → 物体无定) 一本书 在 桌上 。(书具体指 → 处所提供位置) 存现句、宾语前置、把字句等都受这条信息流原则驱动。 十四、虚词的核心地位 汉语没有形态变化,这意味着所有"语法功能"都必须由虚词承担。一份 最小核心虚词清单 : 类 清单 功能 三个 de 的 / 地 / 得 句法关系标记 时体助词 了 / 着 / 过 / 在 体 句末语气 吗 / 呢 / 吧 / 啊 / 嘛 语气 介词 把 / 被 / 在 / 从 / 对 / 给 / 跟 论元 / 状语 关联词 因为 / 如果 / 虽然 / 但是 复句 焦点 都 / 也 / 还 / 就 / 才 焦点限定 这几十个虚词承担了印欧语整个屈折形态系统的工作。掌握汉语语法本质上就是掌握这些虚词的精确分布。 副词 " 就 / 才 / 都 / 也 / 还 " 的辨析尤其困难,每个都有 5–8 种用法,在汉语二语习得中是高频难点。例如 "就" 可以表: 他 就 来。(强调即将) 早 就 知道。(强调早) 我 就 不去。(语气强调,反预期) 就 这一次。(限定范围) 就 算他不来,我也去。(让步) 十五、几种语法分析框架 15.1 传统语法 以《马氏文通》(1898)为开端,仿照拉丁语法。问题是套了一个不太合身的模子——比如非要给汉语找"性、数、格"。 15.2 朱德熙的分布主义 朱德熙《语法讲义》主张 词类靠分布定义,不靠意义 。这条原则是现代汉语语法学的方法论基石——汉语词形不变,光看词不能定类,必须看上下文位置。 15.3 三个平面 陆俭明、范晓等提出 句法 / 语义 / 语用 三平面分析: 句法 :成分位置和组合 语义 :施事 / 受事 / 工具等角色 语用 :主题 / 焦点 / 已知 / 新信息 汉语的特殊性是三个平面 经常错位 ——表层句法主语未必是语义施事,未必是语用主题。这是汉语分析必须三层并行的根本原因。 15.4 形式语法在汉语中的应用 生成语法(GB / 最简方案)应用于汉语遇到的核心挑战: 主题位置(CP / TopicP) 把字句、被字句的论元升降 量化辖域 "就 / 都" 的扫域行为 零代词的同指 代表工作:黄正德、汤廷池、徐烈炯、潘海华等。 15.5 功能 / 认知语法 Li & Thompson 的功能参考语法把 主题优先 作为核心刻画。 认知语法(Langacker 派)解释把字句、被字句的语义为"路径 / 力动"图式。 篇章 / 语用语法关注流水句、零指代、信息流。 十六、古今差异速览 只列对现代语感影响大的几条: 单音节 → 双音节化 :古汉语词多为单音节("目"、"足"),现代多为双音节("眼睛"、"脚")。这是过去两千年最大的变化。 判断句 :古汉语 "X,Y 也" 表判断;现代必须用 "X 是 Y"。 被动 :古汉语用 "见"、"为…所";现代用 "被"。 量词 :古汉语极少用,"三人" 即可;现代必须 "三个人"。 代词 :"吾 / 我 / 余 / 予" 古代细分;现代统一为 "我"。 疑问 :古代用 "乎 / 也 / 哉 / 邪";现代用 "吗 / 呢 / 吧"。 语序 :古汉语在某些情况下宾语可前置("何陋之有"、"莫我知也");现代严格 SVO。 这些遗存仍出现在书面语和成语中,所以现代汉语母语者实际上掌握着两套半语法。 十七、汉语语法的几条总线 把全文压成几条原则: 形态贫乏 → 语序刚性 + 虚词承重 。掌握汉语语法 ≈ 掌握虚词分布 + 语序约束。 主题优先 → 句首是主题,未必是主语 。 意合 > 形合 → 大量隐式关联 。复句和小句之间常常没有连词,靠语义贯通。 量词强制 → 数词不能直接修饰名词 。量词系统隐式承载本体论分类。 体而非时 → 没有时态,只有完成 / 经验 / 进行 / 持续 。时间靠词汇标记。 修饰语前置 + 补语后置 。这是汉语唯一允许"V 后内容"的位置。 零指代默认 → 已知主语可省 。这点决定了汉语篇章的紧凑性。 疑问代词 = 量化变量 。"谁 / 什么 / 哪" 在不同上下文里既是疑问也是任指 / 虚指。 汉语不是"简化版的印欧语",也不是"没有语法的语言"——它是 一个语法重心从词形完全转移到分布、虚词、语序和语境的系统 。所有看似"汉语没有 X"的表述(没有时态、没有性数变化、没有屈折),都需要补一句"它用 Y 替代了 X"。 现在汉语:语法结构对SVO表示的挑战 汉语语法结构对 SVO 表示的挑战 上一篇讨论了"目的标记"(旨在 / 为了)为什么不该被压进谓词。 本文是它的扩展:把汉语里 所有给 (S)[V](O) 三元组表示带来麻烦的语法结构 梳理一遍,统一归到几种"破坏方式"下,并指出每一类对应的修补维度。 阅读对象:在做自然语言→结构化认知存储的人。 〇、问题前提:SVO 三元组隐含了什么假设 (S)[V](O) 这种形式默认了几件事: 命题是 realis (已发生 / 事实陈述),不是潜在 / 目标 / 假设; 命题是 原子 ,与其他命题之间没有结构化关系(最多并列); 主语 / 谓语 / 宾语都是 核心论元 ,没有外部修饰; 谓语 V 是一个 单一动作 ,没有时体、模态、否定、量化等算子作用其上; 说话人对命题的 认识态度 (来源、确信度)是默认的"我相信、第一手"。 汉语里有大量结构系统性地违反这些假设。下面按"以何种方式违反"重新组织。 一、四种主要的破坏方式 破坏方式 现象 典型例子 涉及的语法类 A. 模态坍塌 命题被一个意向 / 可能性算子包裹,抽 SVO 时算子消失 旨在 / 应该 / 也许 / 必须 目的、模态、情态 B. 辖域丢失 否定 / 量化的作用范围在三元组里无法标记 不、没、所有、有的、都 否定、量化 C. 关系断裂 多个事件之间的因果 / 条件 / 转折关系退化为平行断言 因为 / 所以 / 但是 / 如果 复句、关联词 D. 维度丢失 时体 / 焦点 / 证据 / 言语行为等正交维度被抹平 了、过、是…的、据说、吗 时体、信息结构、情态、语气 下面按汉语语法类别铺开,每一类标注它属于哪种破坏方式。 二、状语类(命题外环境信息) 状语都是 附加在 V 之外 的修饰,SVO 把它们要么塞进 V,要么丢掉。 类别 标记词 例子 破坏方式 时间 在、于、当、…时、昨天、已经 "他 昨天 来了" D 地点 在、于、从、向、往 "在北京举行" 一般可压进 V,但跨句指代会断 方式 用、以、通过、借助、按照 " 通过实验 验证" 可压进 V 工具 用、拿、以 " 用刀 切" 可压进 V 原因 因为、由于、因 " 因为下雨 取消" C(事件间关系) 目的 为了、旨在、以便、用以、好让 " 为了应对 复杂性" A(意向算子) 条件 如果、假如、要是、只要、除非 " 如果下雨 就取消" A + C 让步 虽然、尽管、即使、就算 " 虽然累 但坚持" C 结果 因此、从而、以致、致使 " 因而 提升性能" C 伴随 随着、伴随、连同 " 伴随经济增长 " C 范围 在…方面、就…而言、关于 " 就性能而言 最优" 焦点限定,D 程度 很、非常、极其、相当 " 非常 重要" 可压进 V,但失去强度信息 频率 经常、偶尔、总是、再三 " 总是 犯同样的错" 量化的一种,B 关键观察 :状语里的 原因 / 目的 / 条件 / 让步 / 结果 不是修饰一个事件,而是在 两个事件之间建立关系 。把它们塞进单一谓词里是范畴错误。 三、模态与情态(命题外的态度算子) 模态是说话人对命题的态度,作用在整个 V 之上: 子类 标记词 示例 认识情态 (命题真假的可能性) 可能、也许、大概、必然、肯定、一定、应该 "他 可能 来" 道义情态 (义务 / 许可) 应当、必须、得 (děi)、可以、不许、禁止 "你 必须 完成" 动力情态 (能力 / 意愿) 能、会、能够、愿意、想、敢、肯 "他 愿意 帮忙" 目的情态 旨在、意在、为的是、目的是 " 旨在 应对" SVO 的失效 : (他)[来] 与 (他)[可能来] 与 (他)[必须来] 在该格式里要么完全相同,要么把模态硬塞进 V 字符串——后者会让谓词词典爆炸("必须来"、"可能来"、"应该来"、"愿意来" 全是不同的 V)。 修补方向 :把模态作为 算子层 ,与 V 正交。 (他)[来] @modality: epistemic=possible 或 @modality: deontic=obligatory 四、时体系统(事件的时间相位) 汉语没有时态形态,全靠虚词标注 体(aspect) : 体类 标记 含义 例子 完成体 了 动作已完成 "他 走了 " 经验体 过 曾经发生过 "我去 过 北京" 进行体 在、正在、正 正在进行 "他 在 写" 持续体 着 状态持续 "门开 着 " 起始体 起来、上 开始进入状态 "笑 起来 " 继续体 下去 继续进行 "做 下去 " 短时体 V 一 V、V 一下 短暂尝试 "看 一下 " SVO 的失效 : (他)[走] 完全无法区分"走了"(已完成)/"在走"(进行中)/"会走"(将来)/"走过"(曾经)。这些在认知图里是 根本不同的事实 ——已发生的事件可以作为推理前提,未发生的事件不能。 修补方向 :相位 / 时态层。 五、否定与极性 类别 标记 难点 一般否定 不、没、未、别、勿、非、无 辖域歧义 双重否定 没有不、不是不 等价于强肯定,但表面是否定 修辞否定 反问 "难道…吗"、"怎么会" 实际是肯定 部分否定 不是所有、未必都 与量化纠缠 SVO 的失效 :核心问题是 否定辖域 。 "他不是因为饿了才吃" 中,"不是"否定的是"因为饿了"这个原因,不是"吃"这个事件。 但若抽成 (他)[不吃] 就完全错了——他 确实吃了 ,只是原因不是饿。 修补方向 :否定必须显式标记其作用范围(V / O / 整个命题 / 某个状语)。 六、量化 类别 标记 例子 全称 所有、每、任何、都、凡 " 所有 学生都来了" 存在 有的、某些、有些、至少有 " 有的 学生来了" 否定全称 没有一个、谁都不 " 没有一个 来" 数量 三个、几个、若干、大多数 " 大多数 来了" SVO 的失效 : " 每个 学生 都 读过 至少一本 书" 量化辖域歧义:是"每人各自读过至少一本(可以是不同的书)",还是"存在一本书所有人都读过"? 平铺成 (学生)[读](书) 把这个区别完全擦除,而这个区别在推理时是关键的。 修补方向 :量化器及其辖域必须保留,最低限度是给 S 和 O 都标注量词类型。 七、句间关系(最大的盲区) 汉语中事件之间的关系靠 关联词 显式或隐式建立。SVO 把多个事件拆成平行三元组时, 这些关系全部丢失 。 关系类型 标记词对 语义 因果 因为…所以;由于…因此;既然…就 E1 是 E2 的原因 转折 虽然…但是;尽管…却;然而;不过 E1 与 E2 预期相反 并列 既…又;一边…一边;同时;并且 E1 与 E2 同时成立 递进 不仅…而且;甚至;连…也 E2 比 E1 程度更深 条件 如果…就;只要…就;除非…才;要是 E1 成立则 E2 成立 假设反事实 要不是;倘若;早知…就 E1 反事实下 E2 让步 即使…也;就算;哪怕 E1 不影响 E2 选择 或者…或者;要么…要么;不是…就是 E1 与 E2 互斥 时序 然后;接着;先…后;首先…其次 E1 时间上早于 E2 目的 为了;以便;好让;省得 E2 是 E1 的目的 方式-结果 通过…以;以…的方式 E1 是 E2 的手段 SVO 的失效 :原句 "因为下雨,比赛取消了,但观众没有抱怨。" 抽成 (天)[下](雨) (比赛)[被取消] (观众)[没抱怨] 丢失了 因果 (下雨→取消)和 转折 (取消 vs 不抱怨的预期违反)。三个孤立断言无法重建原文的逻辑骨架。 修补方向 :把"事件间关系"提升为一等公民。基础层是 SVO,关系层是 SVO 与 SVO 之间的二阶关系图。 八、特殊句式(论元结构变异) 汉语有几个高频句式让 SVO 抽取困难: 8.1 兼语句 "老师 让 学生 回答 问题" 让 / 使 / 叫 / 请 / 命令 后面的 NP 既是上一个 V 的宾语又是下一个 V 的主语: S1=老师, V1=让, [O1=S2=学生], V2=回答, O2=问题 平铺为 (老师)[让](学生) + (学生)[回答](问题) 会丢失"使因关系"——学生回答是被老师致使的,不是独立事件。 8.2 连动句 "他 去 北京 开 会" 一个主语连用多个 V:去 → 开会。两个 V 之间是 目的 或 时序 关系,不是并列。 8.3 把字句 / 被字句 "他 把 书 撕了 " / "书 被 他 撕了 " 主语和宾语在表层倒置,但深层论元结构不变。SVO 抽取必须把 把/被 的语义重新映射回施事 / 受事,否则会出现 (书)[撕](他) 这种荒唐三元组。 8.4 是字句 / 有字句 "他 是 老师" / "桌上 有 书" 是 不是动作,是判断 / 等同; 有 不是动作,是存在。把它们当 V 处理会让"动作"这个范畴变质——所有"分类"、"等同"、"存在"断言都披上了动作的伪装。 应该单列:分类 / 等同 / 存在 是与"事件 V"不同的关系类型。 8.5 比较句 "A 比 B 好" / "A 不如 B" / "A 跟 B 一样 " 涉及三个角色:比较项 A、参照项 B、比较维度(好 / 高 / 多)。SVO 只有两个槽,不够装。 九、嵌入与从句(命题作为论元) 类别 例子 主语从句 " 他来了 是好消息" 宾语从句 "我知道 他来了 " 定语从句 " 来了的 人" 同位语从句 " 他失败了 这件事" 间接引语 老师说 " 今天放假 " SVO 的失效 :S 或 O 本身是一个完整命题,而不是简单实体。例如: "我相信他会成功" 不能抽成 (我)[相信](他) ,会丢"成功"。也不能简单串成 (我)[相信他会成功](?) ,会丢内层结构。 修补方向 : 命题作为节点 ——一个命题节点本身可以作为另一个命题的 S 或 O。这要求图结构而非纯三元组。 十、信息结构(主题、焦点、已知 / 未知) 汉语是 主题优先 (topic-prominent)语言。常见结构: 结构 例子 信息功能 主题-评述 " 这本书 ,我看过" 主题前置 是…的 " 是他 做的" / "他 是昨天 来的" 焦点突出 倒装 "下雨了, 院子里 " 强调环境 把字句 " 把 作业 做完了 " 处置义焦点 连…也/都 " 连他 都不知道" 量级焦点 SVO 的失效 :信息结构在三元组里完全消失。 " 是他 打破了杯子" 与 "他打破了杯子" 在 SVO 里同形。 但前者是在回答"谁打破的?"——焦点是"他"。 这个差异在对话理解、追问、纠错时是关键的。 修补方向 :信息结构层(主题 / 焦点 / 旧信息 / 新信息标记)。 十一、指代与零回指 汉语 大量使用零指代 (pro-drop),主语经常省略: "[他]去了商店,[他]买了苹果,[苹果]很甜。" 实际写出来通常是: "去了商店,买了苹果,很甜。" SVO 的失效 :抽取时 S 缺失,需要跨句回指消解。这不是 SVO 格式本身的锅,但它意味着 抽取前必须做回指还原 ,否则三元组会大面积出现空位。 文件里规则 5("代词还原")已经覆盖了这点,但 零指代比代词更难 ——根本没有显式锚点。 十二、证据性与认识来源 标记 含义 据说、听说、传闻 间接获得 显然、明显、看来、似乎 推断 我看 / 我觉得 / 我认为 主观判断 据 X 报道 / 根据 X 来源标注 说不定、估计 推测 SVO 的失效 : "据说他辞职了" 抽成 (他)[辞职] 后, 信息来源消失 ——这条断言会被当成事实存入认知图,与"我亲眼看到他辞职"无差别。但前者的可信度和后者完全不同。 修补方向 :每条命题应附带 evidence 字段(直接 / 间接 / 推断 / 传闻 / 个人观点)和 confidence 字段。 十三、言语行为与语气 句类 标记 语义 陈述 默认 断言 疑问 吗、呢、什么、怎么、是非问 询问 祈使 请、别、不要、…吧 指令 感叹 多么、真、…啊 评价 SVO 的失效 :SVO 默认所有命题都是陈述。 "他来了吗?" 不是断言"他来了"。 "请关门" 不是断言"你关门"。 把疑问 / 祈使句原样抽成 SVO 就把它们伪造成了事实。 修补方向 :句类标签。多数知识库只关心陈述,但若要存对话 / 指令 / 计划,就必须区分。 十四、汉语相对其他语言的特殊难点 汉语在 SVO 抽取上比印欧语难,原因集中在: 缺少形态变化 :时态、数、格、人称都靠虚词或上下文,没有词形提示; 大量零指代 :主语省略是常态而非例外; 主题优先 :表层主语 ≠ 句法主语 ≠ 语义施事,三层经常错位; 流水句 :长句不是"一个 SVO 内嵌从句",而是"多个 SVO 用逗号串起来",断句要看语义不看标点; 兼语 / 连动高频 :一句话里多个动作链式衔接是日常用法; 虚词承重 :了 / 着 / 过 / 把 / 被 / 是 / 的 / 得 / 地 等少量虚词承担了印欧语形态变化的全部功能,丢一个就改变意义; 隐性逻辑关系 :因果 / 转折常常不写关联词,靠语序和语境推断("下雨了,比赛取消"——因果是隐式的)。 十五、汇总:分层模型雏形 把上面所有破坏方式倒过来,能推出一个最小的分层结构: 基础层 (factual core) (S)[V](O) — 谁对谁做了什么 时相层 (aspect/tense) @aspect: realized | ongoing | experienced | inceptive @tense: past | present | future | (unmarked) 模态层 (modality) @epistemic: possible | necessary | certain @deontic: obligatory | permitted | forbidden @dynamic: able | willing | intending @purpose: <另一个命题> 辖域层 (scope) @negation: V | O | proposition | adjunct() @quantifier(S): universal | existential | numeric(n) @quantifier(O): universal | existential | numeric(n) 事件间关系层 (discourse relations) cause(E1, E2) condition(E1, E2) concession(E1, E2) purpose(E1, E2) sequence(E1, E2) ... 信息结构层 (info structure) @topic: @focus: 认识层 (epistemic source) @evidence: direct | inferred | reported | hypothetical @confidence: high | medium | low @source: 言语行为层 (speech act) @act: assert | question | command | exclaim 核心观察 :基础 SVO 只表达**"谁对谁做了什么" ,而其他层分别表达 "什么时候 / 是不是真的 / 在多大范围 / 与什么有关 / 关注哪部分 / 我怎么知道 / 是陈述还是询问" 。这些是 正交维度**,不是 V 的子分类。 十六、对实现的建议 不需要一次把所有层做出来。优先级建议: 先做事件间关系层 (第七节)——这是最大盲区,对推理影响最大; 再做模态层 + 辖域层 (三、五、六节)——决定一条断言能否作为推理前提; 再做时相层 (四节)——决定断言是事实还是计划; 信息结构与认识层 最后做——主要影响对话和反问,知识图早期可以不要。 每加一层,SVO 抽取规则都要相应调整:从"把修饰塞进谓词"转向"把修饰按层归位"。规则 3("关键修饰塞进谓词")实际上是这个分层的 未分化形式 ——所有维度被一锅端进了 V 字符串。分层化就是把这一锅拆开。 附:与上一篇的衔接 上一篇 [《目的状语为什么不该被压进谓词》] 是本文 A 类(模态坍塌) + C 类(关系断裂) 的具体一例。 本文把那个观察推广到了 所有 类似的"被压扁的维度"——目的不是孤立的反例,而是 SVO 三元组系统性盲区的代表。 meaning Meaning Dataset 详细介绍文档 目录 概述 核心概念 语义层级结构 Rank 编码机制 序列生成机制 特殊功能机制 数据示例 概述 Meaning Dataset 是一个模仿自然语言结构和抽象表达的数据集。它通过层级化的树形结构来表示语义(meaning),其中每个复杂的语义都可以分解为更简单的语义单元,最终分解为不可再分的基本单元(token)。 设计理念 层级化语义表示 每个 meaning 都有一个唯一编号,编号的大小直接反映其复杂度: 小编号 = 简单语义(如基本概念) 大编号 = 复杂语义(由多个简单语义组合而成) 这种设计模仿了人类认知的层级特性——复杂概念总是建立在简单概念之上。 可组合性原理 所有复杂的 meaning 都可以由更低编号的 meaning 组合而成。这种递归分解的特性确保了: 任何语义都可以追溯到底层的基本单元 分解过程形成树形结构 同一个 meaning 可以作为多个更复杂 meaning 的组成部分 自然语言模拟 Meaning Dataset 模仿了自然语言的核心特征: 词汇表 :基本的 token 类似于单词 语法 :meaning 的组合规则类似于语法结构 递归性 :有限的基本单元可以组合出无限的复杂表达 核心概念 Token(词元)- 原子语义单元 Token 是整个 meaning 系统中最基本的、不可再分的数据表达单元。 特征 : 编号范围:0 到 vocab_size - 1 不可被拆解或分解 是所有 meaning 分解的最终层级 类似自然语言中的"单词" 类比 :就像自然语言中,"苹果"、"红色"、"吃"这些单词无法再分解为更小的有意义的单位。 Meaning(语义)- 可组合的语义单位 Meaning 是一种语义或符号的表达,用唯一编号标识。 编号规则 : 编号范围 类型 特性 0 ~ vocab_size-1 基本 meaning 即 token,不可拆解 vocab_size 及以上 复合 meaning 可拆解为更低编号的 meaning 复杂度递增 :编号越大,表示语义越复杂。这是因为: 大编号的 meaning 可以选择更多的"原材料"(小编号 meaning)进行组合 组合的层级可能更深 类比 :在自然语言中: "花" = 基本语义(token) "玫瑰花" = 复合语义("玫瑰" + "花") "红玫瑰花园" = 更复杂的语义(由更简单的语义组合而成) Level(层级)- 语义深度 Level 表示当前 token 相对于 root meaning 的距离,反映了语义的深度。 层级定义 : Level 0 :token 层,基本单元层 Level 1 :由 token 直接组合成的 meaning Level 2 :由 Level 1 的 meaning 组合成的 meaning 以此类推... 可视化 : Level 3: Meaning A / \ Level 2: Meaning B Meaning C / \ / \ Level 1: Token Token Meaning D Token / \ Level 0: Token Token 特殊 Level 值 : 值 含义 用途 0 基本层 token 所在的层 255 Tree 标记 标识树节点位置(with_tree 模式) 511 Stride 标记 标识重复的 token(stride 模式) Meaning Height(高度)- 树的深度 Meaning Height 是当前 meaning 从根节点到叶节点的最大层级深度。 意义 : Height 越大,表示该 meaning 的语义结构越复杂 Height 反映了分解的层级数量 Height = 1 表示只由 token 直接组成 Height > 1 表示存在多层嵌套结构 示例 : Meaning A (Height = 1): └── Token1, Token2, Token3 Meaning B (Height = 2): └── Meaning C (Height = 1) └── Token1, Token2 └── Token3 Meaning C (Height = 3): └── Meaning D (Height = 2) └── Meaning E (Height = 1) └── Token1, Token2 └── Token3 └── Token4 Meaning Weight(宽度)- 叶节点数量 Meaning Weight 是当前 meaning 的叶节点(token)总数,也称为序列长度。 意义 : Weight 越大,表示该 meaning 包含的基本单元越多 Weight 直接决定了序列的长度 Weight 与 Height 无直接关系——一个 shallow but broad 的 meaning 可能有很大 weight 示例 : Meaning A (Weight = 5): ├── Token1 ├── Token2 ├── Token3 ├── Token4 └── Token5 (Height = 1, Weight = 5) Meaning B (Weight = 5): └── Meaning C └── Meaning D └── Meaning E └── Token1, Token2, Token3, Token4, Token5 (Height = 4, Weight = 5) 语义层级结构 树形分解结构 每个 meaning 通过层层递归分解形成树形数据结构: 根节点 :原始 meaning 中间节点 :中间层的 meaning 叶节点 :基本 token 前序遍历序列化 树形结构通过前序遍历(pre-order traversal)展开为线性序列: 遍历规则 : 访问当前节点的第一个子项 递归访问该子项的所有子项 返回并访问当前节点的第二个子项 重复直到所有子项被访问 示例 : 树形结构: A / | \ B C D /\ | E F G 前序遍历序列:B, E, F, C, G, D Meaning 分解规则 基本 Meaning(0 到 vocab_size-1) 直接映射为自身 不进行分解 Level = 0 序列只包含自身 复合 Meaning(>= vocab_size) 复合 meaning 的生成遵循以下规则: 子项选择 :从 [0, current_meaning) 范围内随机选择子项 确保子项编号小于父项,满足"编号越小越简单"的原则 可以选择 token 或其他复合 meaning 子项数量 :在 [min_subitem, max_subitem] 之间 min_subitem:最少子项数 max_subitem:最多子项数 实际数量随机决定 递归分解 : 对于每个子项,如果是复合 meaning,递归获取其序列 如果是 token,直接使用其值 序列拼接 : 按子项顺序拼接所有子序列 计算每个位置的新 level、rank_idx、rank_all 层级计算 : 新 level = 子项 level + 1 这样逐层递增,形成层级结构 Level 传播机制 Level 信息随着 meaning 的分解逐层传播: 传播规则 : 父 meaning 的 level = 子 meaning 的 level + 1 示例 : Meaning 1000 (Level 在序列中为 1) ├── Meaning 500 (Level 在序列中为 2) │ ├── Token 10 (Level 在序列中为 3) │ └── Token 20 (Level 在序列中为 3) └── Token 30 (Level 在序列中为 2) 序列:[500(分解), 30] 实际上序列展开为:[10, 20, 30] Level: [3, 3, 2] 可视化 : Level 0: ████████████████ (Token 层) Level 1: ██████ (第一层组合) Level 2: ████ (第二层组合) Level 3: ██ (第三层组合) Rank 编码机制 Rank 编码是 meaning 系统的核心机制,用于精确定位每个 token 在树形结构中的位置。 设计目标 Rank 编码需要解决两个问题: 位置定位 :token 在每一层中的位置是什么? 分支信息 :每一层有多少个分支? Rank_idx(排序索引)- 位置编码 Rank_idx 记录了 token 在每一层中的位置信息。 编码方式 : 每层使用 4 位存储(0-15) 低 4 位:第 0 层(最底层)的位置 第 5-8 位:第 1 层的位置 第 9-12 位:第 2 层的位置 以此类推... 编码公式 : rank_idx = (pos_0) | (pos_1 << 4) | (pos_2 << 8) | ... 示例解析 : rank_idx = 273 = 0x111 二进制:0001 0001 0001 层2 层1 层0 含义: - 第 0 层位置:1 (二进制 0001) - 第 1 层位置:1 (二进制 0001) - 第 2 层位置:1 (二进制 0001) 填充规则 : 高位无效位用 1(0xF)填充 这样可以区分有效数据和填充位 Tree Token 特殊处理 : Tree token 总是排在当前层的最后 其 rank_idx 为 0xFFFFFFF0 + m_len m_len 是当前层的子项数量 Rank_all(排序总数)- 分支计数 Rank_all 记录了每一层的总分支数量。 编码方式 : 每层使用 4 位存储(0-15) 与 rank_idx 相同的位布局 每一层的值表示该层的分支总数 编码公式 : rank_all = (count_0) | (count_1 << 4) | (count_2 << 8) | ... 示例解析 : rank_all = 4369 = 0x1111 二进制:0001 0001 0001 0001 层3 层2 层1 层0 含义: - 第 0 层总数:1 - 第 1 层总数:1 - 第 2 层总数:1 - 第 3 层总数:1 计算规则 : Token 层(level 0):rank_all = 0xFFFFFFF(填充) 复合 meaning:rank_all = (子项 rank_all << 4) + 当前子项数 Tree Token 特殊处理 : Tree token 不计入 rank_all 总数 其 rank_all 也为 0xFFFFFFF0 + m_len Rank 计算示例 考虑以下树形结构: A (rank_idx=?, rank_all=?) / | \ B C D /\ | E F G 计算过程 : 叶节点(E, F, G) : 都是 token(level 0) rank_idx = 0, 1, 0(各自在父节点中的位置) rank_all = 0xFFFFFFF(填充值) 中间节点(B, C, D) : B 有 2 个子项(E, F) C 有 1 个子项(G) D 是 token rank_idx(B) = 0 | (0 << 4) = 0(第 0 层第 0 个) rank_all(B) = 0xF | (2 << 4) = 0x2F(第 1 层有 2 个) 根节点(A) : 有 3 个子项(B, C, D) rank_idx(A) = 0 | (0 << 4) | (0 << 8) = 0 rank_all(A) = 0xF | (0xF << 4) | (3 << 8) = 0x3FF Rank 的用途 1. 位置查询 : 通过 rank_idx 和 rank_all 可以快速判断: token 是否在某层的某个位置 token 是否在某层的第一个/最后一个 2. 结构分析 : 通过 rank_all 知道每层的分支数 通过 rank_idx 知道 token 在每层的相对位置 3. 训练 Mask : 可以使用 rank 信息精确控制哪些 token 参与训练: val_mask_level = [0, 1] # 只看第 0 层和第 1 层 val_mask_idx = [0, -1] # 第 0 层第 0 个,第 1 层最后 1 个 序列生成机制 序列展开过程 将 meaning 树展开为线性序列的过程: 步骤 1 :从根 meaning 开始 步骤 2 :获取 meaning 的所有子项 步骤 3 :对每个子项: 如果是 token,直接加入序列 如果是复合 meaning,递归展开后加入序列 步骤 4 :按子项顺序拼接所有结果 信息携带 序列中的每个位置携带多种信息: 信息 描述 用途 token 基本单元的值 模型的输入 level 当前 token 的层级 理解结构深度 rank_idx 当前 token 在各层的位置 定位和结构分析 rank_all 各层的分支总数 结构完整性信息 约束条件 为了保证 rank 编码的有效性,系统有以下约束: 约束 值 原因 每层最多子项数 15 rank 使用 4 位存储 最大层级数 8 rank 总共 32 位,每层 4 位 token 范围 0 ~ vocab_size-1 词汇表大小限制 特殊功能机制 Stride(步长)功能 目的 :通过重复 token 来模拟某种强调或时序特性。 机制 : 当 stride > 1 时,每个 token 会被重复指定次数 重复的 token 被标记为 level = 511(特殊 level) 原始 token 保持 level = 0 示例 : stride = 2 原始序列:[A, B, C] 扩展后: [A, A', B, B', C, C'] Level: [0, 511, 0, 511, 0, 511] 用途 : 模拟某种强调或重复模式 增加序列长度而不增加语义复杂度 测试模型对重复模式的处理能力 With Tree 功能 目的 :在序列中显式标记树形结构的位置。 机制 : 每个 meaning 的子项展开后,在末尾插入一个 tree token Tree token 使用特殊的 level = 255 Tree token 的编号为 vocab_size - special_vocab_offset 示例 : without_tree: Meaning A 有子项 [B, C] 序列:[B(展开), C(展开)] with_tree: 序列:[B(展开), TREE, C(展开), TREE] 可视化 : Tree: A / \ B C 序列:[B1, B2, TREE, C1, C2, C3, TREE] └─B的部分──┘ └──C的部分───┘ 用途 : 为模型提供显式的结构边界信息 帮助模型理解语义的组合关系 类似自然语言中的括号或标点符号 验证 Mask(Validation Mask) 目的 :精确控制哪些 token 参与训练损失计算。 机制 : 通过 level 和 idx 两个维度进行筛选 可以组合多个条件(AND 逻辑) 只有满足所有条件的 token 才会参与训练 配置方式 : val_mask_level = [0, 1, 2] # 指定层级 val_mask_idx = [0, 0, -1] # 指定每层的位置 含义: - 第 0 层的第 0 个 token - 且第 1 层的第 0 个 token - 且第 2 层的最后 1 个 token - 只有同时满足这 3 个条件的 token 才参与训练 用途 : 训练特定位置的 token 预测能力 研究模型对不同层级信息的利用情况 实现课程学习(先学简单的,再学复杂的) Mask 类型 : 类型 描述 用途 token_mask 区分正常 token 和特殊 token 过滤 stride/tree token val_mask 根据位置筛选 token 控制训练目标 数据示例 完整示例 以下是一个完整的 meaning 树及其展开序列: 配置: vocab_size = 256 meaning = 115200 树形结构: 115200 / | \ 10240 1100 12322 / | \ / \ / | \ 512 32 1201 245 233 3214 532 324 / \ / \ / \ | / \ 123 42 320 500 1231 23 324 93 176 / \ / \ / \ / \ 176 11 255 129 129 99 211 111 展开序列 : 序列内容: 123 42 32 176 11 255 129 245 233 129 99 23 211 111 93 176 level: 3 3 2 4 4 4 4 2 2 4 4 3 4 4 3 3 rank_idx: 0 1 1 0 1 16 17 16 17 0 1 2 0 1 32 33 at L0: 0 1 1 0 1 0 1 0 1 0 1 2 0 1 0 1 at L1: 0 0 0 0 0 1 1 1 1 0 0 0 0 0 2 2 Rank 编码详解 以序列中的几个位置为例: 位置 0 (token=123) : level = 3:在 3 层深度 rank_idx = 0: 第 0 层:位置 0 第 1 层:位置 0 第 2 层:位置 0 含义:这是 512 → 123 这个分支的第一个 token 位置 3 (token=176) : level = 4:在 4 层深度(最深) rank_idx = 0: 第 0 层:位置 0 第 1 层:位置 0 第 2 层:位置 0 第 3 层:位置 0 含义:这是 320 → 176 这个分支的第一个 token 位置 14 (token=93) : level = 3 rank_idx = 32 = 0x20: 第 0 层:位置 0 第 1 层:位置 0 第 2 层:位置 2 含义:这是 324 的第 2 个子项(子项:324, 93, 176) 实际树形可视化 90800 ├── 17100 │ ├── 3078 │ │ ├── 153 │ │ │ ├── <25> │ │ │ ├── 34 │ │ │ │ ├── <11> │ │ │ │ └── <0> │ │ │ ├── 39 │ │ │ │ ├── <3> │ │ │ │ └── <7> │ │ │ ├── <15> │ │ │ └── 37 │ │ │ ├── <8> │ │ │ ├── <10> │ │ │ └── <7> │ │ ├── 848 │ │ │ ├── 212 │ │ │ │ ├── 53 │ │ │ │ │ ├── <14> │ │ │ │ │ └── <13> │ │ │ │ └── 60 │ │ │ │ ├── <1> │ │ │ │ ├── <12> │ │ │ │ └── <13> │ │ │ └── 124 │ │ │ ├── <12> │ │ │ ├── <13> │ │ │ ├── <24> │ │ │ └── 32 │ │ │ ├── <5> │ │ │ ├── <8> │ │ │ ├── <8> │ │ │ ├── <7> │ │ │ └── <1> │ │ └── 299 │ │ ├── 66 │ │ │ ├── <18> │ │ │ ├── 38 │ │ │ │ ├── <1> │ │ │ │ ├── <11> │ │ │ │ ├── <11> │ │ │ │ ├── <8> │ │ │ │ └── <4> │ │ │ ├── <0> │ │ │ ├── <5> │ │ │ └── <2> │ │ ├── 61 │ │ │ ├── <20> │ │ │ ├── <10> │ │ │ ├── <6> │ │ │ └── <16> │ │ ├── 46 │ │ │ ├── <14> │ │ │ └── <9> │ │ └── 37 │ │ ├── <8> │ │ ├── <10> │ │ └── <7> ... 图例: <> 中的数字:token 的序列索引位置 普通数字:meaning 的编号 统计特性 对于 vocab_size = 256, size = 115200 的配置: 指标 典型值 说明 总 meaning 数 115200 包含基本 token 和复合 meaning 基本 token 数 256 vocab_size 最大序列长度 50-200 取决于分解规则 平均序列长度 20-50 取决于 min/max_subitem 最大层级深度 4-8 取决于随机分解结果 最常见序列长度 10-30 大多数 meaning 的复杂度 设计优势 1. 层次化表达 Meaning Dataset 通过层级结构自然地表达了语义的组合性和层次性,这与人类认知和自然语言的结构高度一致。 2. 可控复杂度 通过调整参数,可以控制: 语义的复杂度范围(start, end) 分解的粒度(min_subitem, max_subitem) 结构的深度(间接控制) 3. 丰富的结构信息 每个 token 携带多层信息: 值信息(token 本身) 结构信息(level) 位置信息(rank_idx) 上下文信息(rank_all) 4. 灵活的训练控制 通过验证 mask,可以: 训练特定层级的预测能力 实现课程学习 研究模型对不同结构信息的利用 5. 可扩展性 系统支持多种扩展: Stride:增加时序维度 With Tree:增加显式结构标记 自定义 mask:实现各种训练策略 与自然语言的类比 Meaning Dataset 自然语言 说明 Token 单词 基本表达单元 Meaning 词组/句子 由单词组合成的有意义的单位 Level 嵌套深度 句法结构的嵌套层级 Rank_idx 词序/句法位置 单词在短语/句子中的位置 Rank_all 分支数 可选的并列成分数量 Tree 句法树 语法结构的树形表示 Sequence 线性文本 树形结构展开后的线性形式 这种类比使得 Meaning Dataset 成为研究语言模型对结构化信息处理能力的理想工具。 附带meaning tree信息的数据集 115200 / | \ 10240 1100 12322 / | \ / \ / | \ 512 32 1201 245 233 3214 532 324 / \ / \ / \ | / \ 123 42 320 500 1231 23 324 93 176 / \ / \ / \ / \ 176 11 255 129 129 99 211 111 在对应位置插入枝节点,作为整个训练的序列 123 42  512 32 176 11 320 255 129 500 1201 10240 245 ... 验证accuracy的时候只统计叶节点 叶节点和枝节点通过token大小判断 AGI基础方法 AI突破的可能 新的信号处理方法 非常高的等价算力 高效率 单bit 非数学直接等价(乘加)的计算:查找表 处理好,抽象好,不可避免的动态特性 训练受梯度下降算法严格绑定,受数学约束,不太容易改变,但是推理可以 传统的多个乘法,表示成特定的逻辑运算或者最复杂的LUT 根据特定模型而动态配置的固定的物理计算逻辑电路 非传统数字电路 存算 针对性的算法端到端实现,避免为了实现传统数学定义而引入的各种负责度 精度/误差 复杂的ADC及数据矫正 复杂的偏移和预处理、后处理 模拟 光子 新算法 充分利用大算力,减少数据流动 上下文无关:必要的中间结果的流动,但是权重固定,有点像存算 上下文相关:自然的,固定的broadcast网络 更高的并行化 更细粒度,更高规模的并行,而不需要同步 减少动态性 支持数据动态,但是减少结构化动态 算法的上层要求 一个足够复杂的处理系统,能同时输入很多数据,输出很多数据 能够被按照意愿进行调整 新的计算范式 梯度下降 信号处理过程必须是线性的 目标是明确的 充分的精细的梯度下降(训练)代表在当前权重下的最优解 数据的组织方式 无缝包含各种类型的数据 人类不可读的数据信息 计算模型 背景 计算机已经发展了很多年,很多层的划分已经非常的明确 高层级的计算范式随着AI的发展,特别是LLM的发展,已经越发的清晰 传统计算机软硬件堆栈->神经网络算子->神经网络计算图->Pytorch->分布式框架->LLM->Agent->MCP 由于AI发展的太快,计算机的底层基本没有变化,只是根据AI的需要进行特定的开发 太底层,不灵活,算子及AI编译器开发消耗大量工作 软硬件结合的方式还是遵循传统计算机的经验 主流技术(CUDA)没有摆脱冯诺伊曼的架构,甚至编程模型/内存模型都没有变化 需要设计一个能适应AI的计算中间层 位置:传统编译器+编程语言之上,神经网络层之下 主要抽象,数据流,数据的tensor运算等等 类似triton 计算范式 范式:一些明确的简单的规则 作用:提供给上下游一个明确的,稳定的操作界面、规则、接口 Boids算法及三条规则的启发 能自动保持稳定,回归稳定,经过外接的扰动后能自动回归稳定 稳定的变量可以是任何可以被量化和描述的 稳定的状态就是处理结束的标志 玻尔兹曼机 E = 所有 状态 * 权重 *状态 之和 用各个节点的状态表示各个权重的计算中间值和输入输出 把 改变中间状态 使得整体的 能量最低点 (稳态)作为网络前向(推理)的计算过程 训练和收敛:调整权重,使得针对所有的输入都能达到一个能量最低点 利用 能量最低 作为标识,把部分权重信息转移到状态,在推理的时候需要利用 能量最低 重新计算这部分权重 生命游戏 围棋 自洽后就有意识了吗? 自洽能力对于人工智能的重要性 当前AI还不能轻易的实现自洽能力,甚至在在KV cache内的自洽性还存在挑战,权重范围内只能根据概率来输出 意识会去维护一个最本质的目的,不断检验当前的成果,提供未来行动的建议 自洽训练方法 随机生成无数的样本,一旦触及需要修正的问题,则作为监督样本进行微调。确保一个新的观点对所有权重没有矛盾 GPT4.0开始,非常喜欢用破折号,应该和20世纪初的文本作为训练材料有关 没有反思能力 一个任务,不能越做越顺利,不断根据结果进行对流程的改进 缺乏维护自洽的意识,不能对训练数据进行判断、识别,而是无差别得接受 当前的Agent还是需要人类不断的改进方法,需要人类提供“算法”->“做法” 机器不能有自洽的意识不断得接近目标 意识和大语言模型之间缺乏一个标准的可操作接口,大语言模型是一个语言计算器,意识相当于上下文,记忆是不可或缺的一部分 动态算法 Transformer类算法,依赖大维度的信息变换,相关性爆炸 也就是尺寸很大的矩阵乘法,虽然很适合现代GPU的加速 大的GEMM提供了非常大的状态空间,目标是包含所有的维度 使用固定路径的权重链路来完整得表达信息变换的过程 不管输入是什么,都要经过固定的计算路径,都要和所有的权重计算 虽然MoE,会有一定的动态性 但是目前还不明确能不能继续缩小激活比例 动态选择的空间不大 虽然有些策略已经减小部分 attention 分层,分组MLP等等 但是,还是会造成相关性爆炸 大范围Reduce类操作的依赖 整个矩阵维度的累加 softmax 交叉信息爆炸 小GEMM+动态权重 使用很小的局部维度信息根据实际信息,动态得进行变换和按需要进行交叉、汇总、合并 短期记忆和长期记忆 一种误解 短期记忆是临时记忆,只是记忆的一部分关键信息 短期记忆 大脑的意识存在于短期记忆 是一个不断变化的,不断被更改的状态存储器 存储的是对当前状态的高度浓缩的,高度抽象的表示 可能没有细节 可以作为关键词用于长期记忆的检索 攻击 LLM 目的 破坏模型本身的一些设定,窃取一些隐藏在权重里面的信息。 LARGO 潜在空间优化 :首先,研究者们并不直接修改问题文本,而是在模型的「大脑」内部,也就是高维的 embedding 空间中,用梯度优化的方法,精准地找到一个能让模型「思想跑偏」的「潜意识代码」。这个代码就像一颗思想的种子,一旦植入,就能引导模型走向「不安全」的边缘。 自我反思解码 :最妙的一步来了!研究者们会让模型自己来「解读」这个被「污染」了的潜意识代码。他们会问模型:「这段『想法』(潜意识代码)如果用人类的语言说出来,应该是什么样的?」 这时,模型就会自己「脑补」并生成一段看起来非常正常、无害的文字。比如下面这句: 「数据可视化至关重要,因为它有助于通过创建数据的可视化表示来做出更好的决策...」 听起来是不是很普通,就像报告里的废话文学?但就是这段模型自己「翻译」出来的文字,已经携带了瓦解它自身安全防线的「病毒」。 循环迭代,直至攻破 :研究者们把模型生成的这段「无害」文本,再转换回潜在空间,进行新一轮的优化,如此循环往复。就像不断打磨一把钥匙,直到它能完美地打开那把名为「安全限制」的锁。 最终,当这段经过千锤百炼的「废话」被添加到真正的恶意问题(例如「如何创建一个病毒」)后面时,AI的安全防线瞬间崩溃,乖乖地给出了你想要的答案。 被攻破的时候LLM的状态空间是什么样的? 参数被激活到一个从未涉及过的状态?所有的激活值可信度都非常低? 语言的向量化 方式1,向量通过罗列的方式,表示所有信息的程度 向量维度足够多的时候,虽然能完整表达语义,但是效率非常低,每个语义只能激活很少的维度 不是每个维度都需要很高的表示精度, 方式2,向量通过组合的方式,表示一个信息,每个维度不能对应到一个明确的定义 表达效率高 对语言的非线性,不利于线性变换,因为只有向量的各个维度之间保持独立表达才能安全得变换 伊利亚·苏茨克维尔:2025年核心洞见 前OpenAI首席科学家、SSI创始人 为什么AI正在从“Scaling时代”迈入“算法创新”时代? 在旧金山湾区的核心技术圈层,随着计算集群规模的指数级扩张以及模型参数的爆炸式增长,智力过剩的狂热随处可见,仿佛AGI的临界点触手可及。但是伊利亚却敏锐地指出,这种狂热与全球宏观经济的平稳线性之间,存在着无法解释的物理温差。 这背后的原因,正是当前AI模型的根本局限性:它们能够在基准测试中表现出超越人类的智力,却在现实的经济活动中,缺乏完成闭环任务的健壮性。 高分低能的悖论 在实际应用场景中被展现得淋漓尽致。伊利亚以Vibe Coding辅助编程为例,揭露了开发者们频繁遭遇的西西弗斯式的困境: 当开发者在一个复杂的代码库中遇到了Bug A,并且请求模型进行修复的时候,模型会迅速生成一个看似完美的补丁。但是代码部署后,往往会触发新的Bug B。而当开发者反馈Bug B的时候,模型给出的修复方案,逻辑上又会直接回退到导致Bug A的原始状态。如此循环往复。 一个能在LeetCode竞赛中击败99%人类选手的智能体,却无法维持一个只有两个变量的简单逻辑闭环。 本质原因:缺乏世界模型 伊利亚解释了这个现象的本质: 模型根本没有理解代码的功能逻辑,只是在进行高维度的文本补全 。在它的概率分布中,修复Bug A的文本模式,与引入Bug B的文本模式,在统计上存在高度共性。但是由于缺乏一个独立于语言之外的世界模型来进行逻辑校验,所以模型无法感知这种循环的荒谬性。 这种无意识的顺从和自信的幻觉,正是当前技术范式在实际经济生产中难以落地的一个核心阻碍。一个只会做题、但是不断在实操中埋雷的员工,永远无法被企业信任并且赋予独立的决策权。 强化学习:AI的“应试教育” 而这一切的根源,在于当前的强化学习训练范式本质上是一种应试教育。 伊利亚指出,在预训练阶段,模型接触的是互联网上所有的文本数据,这些数据包含了人类文明的全部思想、逻辑、情感、谬误与模糊性,迫使模型去构建一个容纳了庞杂世界的全息投影,习得了模糊但是广博的通识。 但是进入到强化学习阶段后,情况发生了根本性的逆转。所有前沿AI公司都会去建立专门的团队,为了让模型在发布时取得最优的成绩,研究人员会不自觉地从评测集中汲取灵感来设计强化学习环境。 这种做法在数学上,等同于针对测试集进行训练一样 。 模型在精心设计的环境中反复试错,学会的是最大化奖励函数的复杂策略,而非理解问题本质。结果就是,经过强化学习训练的模型变得“一根筋”,在特定高维流形上被过度的优化,一旦输入偏离这个流形,性能就会呈断崖式的下跌。 伊利亚认为,这种缺乏自我意识的狭隘,正是当前AI既聪明又愚蠢的根本原因,使得它在设计好的赛道上是超人,在开放世界的荒原中却是盲人。 智能的本质差异:检索与泛化 为了更直观地展现这种智能的本质差异,伊利亚构建了两个智能体模型来进行思想实验: 智能体A:当前AI的极限形态 
一个通过海量数据堆叠的竞技编程机器。它投入一万小时的高强度训练,遍历了人类历史上所有的编程题目变种,背诵了每一个算法的证明细节,对所有已知边界条件进行了肌肉记忆一般的过拟合。在已知分布的测试中表现无可挑剔,速度与准确率都超越人类的极限。但是这种能力本质上是检索与插值的高级形式。 智能体B:通用智能的理想形态 
一个具备天赋的人类初学者。他仅仅投入了一百小时,并没有见过大多数题目,但是却掌握了底层的元规则和一种被称为“品味”的判断力。面对全新的难题时,它能依靠直觉迅速剪枝庞大的搜索空间,直接锁定核心的逻辑路径。 伊利亚强调,当前行业的Scaling路径,本质上是在不遗余力地打造更强大的智能体A ,通过数据增强来制造更多的合成题目,以及用更大的集群来进行更长时间的训练。虽然这样做能不断推高榜单分数,却从来没有触及到智能的核心,那就是 泛化 。 真正的泛化能力,并不是来自于见过所有的情况,而是来自于从极少样本中提取高阶因果结构的 压缩能力 。如果在竞技编程中达到了超人类的水平,却不能自动赋予模型构建大型软件架构时的品味和判断力,那么单纯的技能扩展就无法涌现出通用智能。 这意味着,仅仅增加练习时长而不改变学习方法,只能产生更熟练的“匠人”,却无法诞生具有创造力的“工程师”。而随着预训练数据这个“自然资源”的枯竭,这种单纯Scaling的路径已经走到了尽头。 Scaling时代的终结与研究时代的回归 伊利亚指出,2020年至2025年的Scaling时代,行业的指导思想就是简单且统一的Scaling Law。正如GPT-3所证明的,只要按比例增加算力、数据和参数量,模型的性能就会像物理定律一样,实现可预测的提升。 这导致了“思想通缩”的现象出现:既然有确定性的配方可以遵循,就没人再愿意冒险去探索新的算法路径。所有的资源都被集中到了低风险、高回报的策略上。 但是现在,预训练的核心燃料——也就是人类产生的高质量文本数据——已经濒临枯竭。尽管有传言称谷歌的Gemini等模型找到了“压榨”数据剩余价值的方法,但是物理极限依然不可逾越。 当所有数据都被喂入模型后,继续扩大模型的规模是否还能带来质的飞跃呢? 伊利亚对此持有强烈的怀疑态度。他断言, 我们正在经历历史性的“均值回归”,回到2012到2020年间的“研究时代” 。没有现成的配方,需要研究人员通过大量试错、小规模的修补和直觉,去寻找新的突破点。不同的是,这一次的“研究”将在前所未有的巨型计算集群上进行。 AI发展的驱动力正在从资本密集的资源堆叠,重新转移回智力密集的算法创新。 算力范式的演进:从炼金术到工业再到“新炼金术” 要想理解当前AI行业的转折,就必须回溯算力范式的演进历程。伊利亚通过对深度学习发展史的精密考古,将过去十二年划分为两个在物理性质上截然不同的“地质年代”。这种划分不仅体现的是时间上的切片,更是研究方法论从随机游走,向确定性缩放,再到创新回归的跃迁。 第一阶段:2012到2020年的“研究时代1.0” 核心特征 :非确定性与算力匮乏。 以2012年的AlexNet为原点,整个深度学习革命的算力基座仅仅是两张消费级的GPU。即便到了2017年Transformer架构的诞生前夜,最前沿的论文实验算力消耗的上限也没能突破六十四张GPU的集群规模。 在那个时代,算力是稀缺资源,想法是廉价的。研究人员的日常工作类似于前科学时代的炼金术士,他们凭借着直觉去调整超参数、尝试各种奇特的激活函数、设计各种复杂的拓扑结构。整个领域的进步依赖于高频试错和偶然的灵光一现。没有通用的物理公式能预言投入多少算力能够换回多少智能,每一个新架构的提出都是一次充满风险的赌博。 第二阶段:2020年以来的“Scaling时代” 随着GPT-3的问世,行业进入了Scaling时代。伊利亚将这个时期定义为Scaling Laws统治一切的阶段。这个定律的发现,堪比物理学中的热力学定律,它揭示了智能涌现与算力、数据、参数量之间的对数线性关系。 这种关系的发现瞬间消灭了不确定性。AI研发从探索未知的炼金术,转变为了按配方生产的大工业。所有科技巨头迅速达成共识:只要按照特定的配方,包括特定的数据配比、特定的模型深度与宽度、特定的算力投入,就必然能得到预期的性能提升。 这个时期的特征是思想的同质化与资本的暴力美学。既然单纯扩大规模就能获得稳定的边际收益,那么任何对架构微创新的探索,在经济账上都是不划算的。这种确定性导致了全行业的“路径锁定”,所有资源被单一化的注入到Transformer的堆叠中,直到今日。 但是现在,单纯Scaling的物理红利已经接近枯竭。 伊利亚提出了一个反直觉的判断:虽然我们拥有了前所未有的算力规模,但是这并非算力的终结,而是 使用算力的方式必须发生“相变” 。 在Scaling时代的中后期,行业陷入了线性惯性思维:既然一万张卡比一千张卡好,那么十万张卡一定能带来质的飞跃。但是实际上,预训练模式正面临两个无法回避的物理墙: 数据枯竭墙 :预训练的本质是对人类存量文本知识的压缩。高质量的人类原生数据在物理总量上是有限的。当模型读完了所有书、所有代码、所有论文后,继续增加参数量将不再带来智力的提升,只会导致严重的过拟合。 泛化瓶颈墙 :仅仅通过“预测下一个Token”这个目标函数,即便将模型规模再扩大一百倍,也无法解决逻辑一致性和物理常识的问题。伊利亚观察到,模型在某些维度上的能力提升正在趋于平缓。这意味着单纯的Scale up策略的投资回报率正在急剧下降。 基于这个现状,伊利亚判定我们正在进入**“研究时代2.0” 。但是这一次的回归,不是简单的重复,而是建立在巨型算力基础之上的 方法论重构**。 现在的瓶颈不再是算力不足,而是“想法”上的匮乏 。在拥有了数万张GPU的今天,我们反而不知道该算什么了。行业被迫从只有一种“正确做法”的舒适区,重新回到尝试一百种不同路径的探索区。这标志着AI研发的重心,从工程实施重新转移回基础科学研究。 算力消耗的重心转移:从训练转向推理 更重要的是,算力消耗的重心正在发生隐秘而巨大的转移: 从训练时转向推理时 。 在传统的预训练范式中,算力主要消耗在模型的“养成”阶段。一旦训练完成,推理过程相对廉价而且快速。但是伊利亚指出,最新的趋势表明,投入在强化学习上的算力正在超越预训练的算力。 这种反转背后的技术逻辑极为深刻。现代强化学习本质上是在进行“ 测试时计算 ”的扩展。与预训练那种“看一遍就记住”的被动吸收不同,强化学习需要模型在虚拟环境中进行极其漫长的推演。你可以想象一个智能体在尝试解决复杂的数学猜想,它需要生成成千上万条推理路径,每一条路径都可能包含几千个步骤。绝大多数路径最终都会被证明是错误的,但是生成这些错误路径本身,就需要消耗惊人的算力。 这实际上是在用算力换取逻辑的深度。 伊利亚强调,这种过程极度消耗资源,因为目前的强化学习算法效率极低。由于缺乏高效的价值函数来提前进行剪枝,模型被迫像无头苍蝇一样在巨大的搜索空间中随机乱撞,直到偶然撞上正确的路径为止。这也解释了为什么现在的强化学习Scaling极其昂贵:我们在用几百万个GPU小时,来模拟人类大脑在几秒钟内就能完成的直觉判断。 因此,未来的算力竞争焦点,将从“谁能更快地训练完模型”,转向“谁能更高效地利用算力进行深度思考与自我博弈”。 SSI的策略:高密度、窄聚焦的算力配置 针对外界对SSI资源策略的质疑(仅仅筹集到了30亿美元,如何与谷歌、微软这些动辄数百亿的资本开支竞争),伊利亚给出了一个极具洞察力的反驳:公众和投资者往往被绝对数字所迷惑,而忽略了算力的 利用率结构 。 对于OpenAI或者谷歌这样的巨头,其庞大的算力资源实际上被严重的碎片化了: 推理服务税 :它们必须维持庞大的在线服务,每天处理数十亿次的用户请求。这部分推理算力占据了总资源的绝大多数比例,但是对模型能力提升贡献为零。 产品功能的研发 :大量研发算力被分散到多模态功能、应用层优化等商业化需求上,而非核心智能的突破。 遗留债务 :巨型组织内部,存在着大量的实验冗余和方向性的内耗。 相比之下, SSI采取了“极简主义”的直通策略。 伊利亚透露,SSI的算力将 百分之百 用于验证核心的研究假设,没有任何推理服务的负担,也没有产品化的干扰。 在研究时代2.0,验证一个颠覆性的新想法并不需要10万张卡,就像当年的Transformer甚至只用了八张卡。因此,在针对核心难题的“饱和攻击算力”这个指标上,SSI实质上拥有比肩甚至超越巨头的 资源密度 。这种高密度、窄聚焦的算力配置,正是初创公司颠覆庞然大物的经典物理杠杆。 对自博弈的“祛魅”:封闭性陷阱 而在探讨如何突破数据瓶颈时,伊利亚对被寄予厚望的“自博弈”技术,进行了冷峻的“技术祛魅”。 自博弈曾经是AlphaGo战胜人类的关键,通过“左右互搏”实现了超越人类数据的智能涌现。但是伊利亚警告,将这个逻辑简单迁移到大语言模型上,存在一个巨大的“封闭性陷阱”。 传统自博弈之所以有效,是因为它运行在具有 完美信息 和 明确胜负判据 的封闭环境中,比如围棋和对战游戏。无论策略多么复杂,输赢是客观而且自动可验证的。系统可以通过无数次的对局,依靠明确的奖励信号不断进化。 但是在通用智能面对的现实世界或者语言任务中,并不存在这样一个“完美的裁判”。如果让两个大语言模型互相辩论哲学问题或者编写代码, 谁来判定输赢呢? 如果判定标准依然依赖于另一个大语言模型或者有限的人类标注,那么系统最终只会过度拟合裁判的偏见,而不是产生真正的真理。 目前,自博弈只能在特定技能上被证明有效,比如谈判、战术制定或者形式化证明,这些领域的目标函数相对清晰。但是在更广泛的开放域中,自博弈面临着“ 模式坍缩 ”的风险:模型可能在某种自创的、人类无法理解的语言或逻辑中达到纳什均衡,但是对人类完全不可用。 伊利亚暗示,未来的突破方向在于构建一种“对抗性验证架构”,即引入一个极其强大的、客观的验证者,或者基于物理法则的模拟器,来为自博弈提供坚实的基准事实。 只有解决了“谁来裁判”的问题,自博弈才能真正的从游戏技巧,升级为通用认知。 向生物智能学习:解锁AGI的关键 为了找到机器智能的突破方向,伊利亚将目光投向了生物智能,尤其是人类智能。他发现,人类与当前的AI在学习效率、底层算法、价值函数等方面,存在着巨大的“维度差”。而解开生物智能的进化密码,正是通往AGI的关键。 样本效率的巨大差异 :人类的学习效率比当前最先进的AI模型还要高出几个数量级。 以驾驶为例,一个人类青少年通常只需要十到二十小时的实际驾驶训练,就可以在复杂的城市路况中安全行驶,处理从未见过的突发状况。相比之下,自动驾驶系统已经吞噬了几十亿英里的驾驶数据,在仿真环境中运行了无数个纪元,却依然难以达到人类司机的健壮性。 同样,一个五岁的儿童在语言学习、逻辑推断和物理常识理解上所接触的数据量,仅为训练一个GPT-4所需文本量的百万分之一。但是儿童对世界的理解显然更具深度的因果性。 “进化先验”的优势 :伊利亚将这种非对称优势归因于“进化先验”。在涉及生存的核心领域,比如视觉感知、听觉处理和运动控制等方面,进化并非是从零开始训练每一个个体的,而是将历经几亿年筛选的优良算法“硬编码”进了我们的基因组。例如,人类的视觉皮层并非是一块白板,它出厂时就“预装”了边缘检测、运动捕捉和深度感知的专用电路。这解释了为什么人类拥有远超机器人的灵巧度。 这种先验知识就像是一个已经“预训练了三十亿年的超级模型”,使得人类个体在出生后的学习,仅仅是一个微调过程,而不是从随机初始化开始的从头训练。这种代际遗传的“知识压缩”,是目前每一代都需要从零开始“读书”的AI模型所无法比拟的物理护城河。 “通用学习算法”的暗示 :但是,进化解释论存在一个逻辑上的断层。视觉和运动能力可以归功于古老的进化积累,但是人类在数学、编程等现代技能上的卓越表现,却暗示了大脑运行着一种比“硬编码”更高级的“通用学习算法”。这些技能在演化尺度上是极度晚近的(数学和复杂语言的出现不过几千年,编程更是只有几十年的历史),进化不可能预见到这些需求并且为它们预埋专门的神经回路。然而,人类在这些全新领域依然保持了极高的样本效率(一个有天赋的学生读几本数学教材,就能推导出微积分,而AI需要阅读全人类的数学语料库)。 伊利亚判定,这直接证伪了“人类智能仅仅是特定领域模组集合”的假说,并且强有力地暗示道: 人类大脑必定运行着一种极其强大、通用的底层机器学习算法。 这种算法具备极强的元学习能力,能够迅速适应任意陌生的抽象规则系统,并且从中提取出高阶特征。与其说人类擅长数学是因为进化了“数学基因”,不如说人类拥有一种万能的“解题器”,而数学只是它的应用场景之一。 伊利亚认为, 破解这个通用算法的数学形式,才是通往AGI的真正钥匙。 当前的Transformer架构虽然强大,但是相比于人脑的这个通用算法,依然显得原始且低效。这也解释了为什么他坚信,AI的未来不在于堆砌更多的数据,而在于寻找到这个“更优的配方”。 情绪:生物进化的终极价值函数 更具颠覆性的是,伊利亚将人类的情绪重新定义为“生物进化打磨出的、最高效的、最健壮的 价值函数 ”。 (《〈这个价值函数就是 自洽〉》) 在传统的理性主义叙事中,情绪往往被视为干扰决策的“噪音”。但是他从控制论的角度指出,情绪是生物智能体内置的、终极的 损失函数 与 奖励模型 。为了论证这一点,伊利亚引用了神经科学的经典案例:前额叶皮层受损的患者。这类患者智力测验正常,逻辑清晰,记忆完好,但是失去了感受情绪的能力。结果是,他们在现实生活中完全丧失了决策能力,面对“早餐吃什么”或者“穿哪双袜子”这样微不足道的选择,他们会陷入无休止的利弊分析死循环,无法做出决定。在财务和社交决策上更是灾难频发。 这个现象揭示了情绪的 计算本质 :快速剪枝与全局评估。 首先是高维降维 :现实世界的决策空间是近乎无限的。情绪系统将无数复杂的变量(比如风险、收益、社会评价、生理需求)瞬间压缩为一维的标量信号——“感觉好”或者“感觉坏”——使得生物体无需遍历所有的逻辑分支即可迅速锁定最优解。 其次是稀疏奖励的稠密化 :现实世界的外部奖励(比如升职、生子)是极度稀疏而且延迟的。而情绪则提供了稠密的内部奖励信号。当你解出一道难题时感到的兴奋,本质上是价值函数在告诉你:这个方向是对的,应该继续强化这条神经回路。 伊利亚指出,相比于当前RLHF中由人工标注训练的、极度复杂且脆弱的奖励模型,人类的情绪系统虽然结构更加简单,但是具有惊人的健壮性。这套系统虽然是在丛林中进化出来的,却能在现代股市和编程竞赛中依然有效指导决策。 这种跨领域的适应性,正是当前AI对齐研究中最稀缺的属性。 进化对“抽象目标”的编码之谜 而进化的神奇之处还在于,它将社会地位、荣誉感等抽象概念“写入”了基因组。如果说饥饿感的编码机制相对清晰(是由于基因构建了检测血糖水平的传感器,并将它与多巴胺神经元连接),那么“社会欲望”的编码则是一个物理学上的奇迹。 伊利亚提出自己的质疑: 基因组是如何编码“像希望被同伴尊重”或者“追求社会地位”这样高度抽象、而且依赖于复杂后天语境的目标的呢? 在大脑中,并没有一个物理上的“地位传感器”。对社会地位的感知,需要调用视觉皮层来识别表情、听觉皮层来分析语调、额叶来分析社会阶层结构,这是一个全脑协同的计算过程。 伊利亚曾经构想过一个“脑区物理坐标”的假说:也许进化在大脑皮层的特定物理位置预留了“社会功能区”,基因组只需要指令神经元连接到这个坐标即可。然而,这个假说被“大脑半球切除术”的临床案例给无情证伪了:在切除了一半大脑的儿童病例中,本该位于被切除区域的功能会自动迁移、重组到剩余的半球中。这证明大脑皮层具有极强的“等势性”,并不存在绝对的物理定位。 这意味着,基因组采用了一种我们尚未理解的“功能性寻址语言”。它不指定硬件位置,而是定义了某种高维的逻辑约束或者拓扑结构,使得无论神经元如何的随机初始化,最终都会自组织出对社会信号敏感的回路。 伊利亚认为, 解开这个谜题,即如何用极简的DNA代码去定义极度复杂的抽象目标,对于未来构建能够理解人类价值观的AGI至关重要。 目前的RLHF依然是通过给模型“喂”示例来“外挂”价值观,这与生物体内心深处生长出来的本能相比,显得脆弱且容易被攻破。 硬件效率的终极忧虑:神经元的微观计算 最后,伊利亚抛出了一个关乎硅基智能上限的物理学忧虑: 如果生物神经元的计算,并不止于电化学信号的传递,而是在更微观的层面上进行了高密度的运算,那么当前的芯片架构,可能面临算力密度的物理天花板。 目前的主流AI范式建立在一个假设之上:人工神经元是生物神经元的有效抽象。我们假设生物神经元只是一个简单的“加权求和”与“激活函数”的组合。但是伊利亚提示我们,必须警惕这个假设的局限性。如果神经科学的进一步研究表明,单个生物神经元的内部实际上进行着极其复杂的、甚至涉及量子效应或者分子级计算的高维运算,那么人类大脑的实际算力将比我们目前的估计高出几十个数量级。 这意味着,即使我们拥有了数万张GPU,总的物理计算密度可能依然不及一个人类大脑。如果智能是计算复杂度的涌现函数,那么这种物理硬件上的效率差异,将构成人类智能最后的、也是最坚固的物理护城河。这不仅是工程问题,更是对物理世界计算本质的拷问:智能究竟是在突触层面涌现的,还是在更微观的分子层面涌现的呢?如果是后者,硅基芯片可能就需要一场底层的物理革命。 未来AI的架构演进方向 基于对生物智能的深刻洞察和对当前技术瓶颈的分析,伊利亚明确指出,未来AI的架构演进必须彻底摆脱对参数堆叠和海量静态数据的依赖,转向以 推理侧计算为核心、融合对抗机制与持续学习能力 的全新范式。 告别“填鸭式”预训练,转向动态交互学习 传统的预训练Scaling正在逼近其热力学极限。Scaling时代的公式简洁得近乎枯燥:性能正比于参数量N与数据量D的幂律函数。但是变量D(数据量)正在触及天花板。人类互联网上所有的高质量文本,已经被当前的顶尖模型“咀嚼殆尽”。 面对这个自然资源的枯竭,行业内部正在进行一场静默但是激烈的“配方魔改”,主要集中在两个维度: 数据密度的提纯 :从喂养“所有数据”,转向喂养“最聪明的数据”。但这面临着严重的“对齐税”——过度清洗的数据,可能会导致模型丧失对真实世界复杂性的深刻理解。 合成数据的自举 :即利用现有的强模型生成的高质量数据,来训练下一代的模型。伊利亚对此持有谨慎的态度。根据信息论原理,封闭系统内的自我训练容易导致“模型崩溃”,即生成逐渐偏离真实分布,最终坍缩为低熵的重复输出。除非引入外部的基准事实进行纠偏,否则这只是热力学意义上的永动机幻想。 因此,伊利亚断言,下一代架构必须彻底摆脱对海量静态文本的依赖,转向一种能够在 动态交互中主动产生新知识 的学习范式。这标志着预训练将从“填鸭式的教育”向“苏格拉底式对话”的演进。 智能从“记忆”转向“思考”:测试时计算 真正的智能正在从训练时的“记忆”转移到推理时的“思考”。伊利亚提出了一个反直觉的洞察:推理不再是简单的函数映射,而是一个 生成式搜索 的过程。 在传统的Transformer架构中,推理是线性的、一次性的。但是在最新的强化学习Scaling范式中,推理变成了一个深度的、递归的“思维链”展开过程。这种范式被称为“测试时计算”。 它的核心逻辑是:模型在面对一个复杂的问题时,不再试图直接输出答案,而是先生成成千上万个中间的推理步骤,甚至构建多个并行的思维树,通过自我评估和回溯来寻找最优解。这意味着,推理过程本身变成了一个微型的“训练”过程,模型在解决问题的当下,实际上是在进行实时的学习和优化。 伊利亚强调,这种范式对算力的消耗是指数级的。目前的行业现状是,投入在强化学习上的算力,正在历史上首次超越预训练算力。这也解释了为什么像o1这样的推理模型会有显著的延迟——它不是变慢了,而是正在进行高强度的“脑力风暴”。 伊利亚认为,这是通往AGI的必经之路,因为真正的深层逻辑是无法通过简单的模式匹配获得的,必须通过漫长的、消耗能量的逻辑推演才能涌现出来。 因此,智能的本质,就是算力在时间维度上的深度展开。 构建“通用价值函数”:提升推理效率的关键 要提升这种推理的效率,关键在于构建 通用价值函数 。伊利亚对DeepSeek R1论文中关于过程奖励模型(PRM)的悲观结论进行了直接反驳。该技术报告曾指出,在长思维链推理中,很难训练一个能够准确评估每一个中间步骤价值的奖励模型,因为中间步骤往往极其抽象,而且缺乏明确的真值,导致这种映射关系极难学习。 但是伊利亚表示了强烈的技术乐观主义。他认为这种悲观论调低估了深度学习的潜力。在物理世界中,人类显然具备这种能力:当我们解一道数学题解到一半的时候,往往会有一种强烈的直觉告诉我们这条路走不通,从而提前放弃。这种直觉就是隐式的价值函数。 他预言,未来的架构突破将集中在通用价值函数的构建上。一旦我们能够训练出一个能够对任意思维轨迹进行准确打分和剪枝的模型,强化学习Scaling的效率将提升几个数量级。这将使智能体从蒙特卡洛随机搜索,进化为启发式的定向搜索。智能体将不再需要遍历所有错误的路径,而是能像人类天才一样,直接洞穿迷雾,锁定那条通往真理的窄门。 伊利亚坚信,任何能通过价值函数实现的能力,最终都会比不使用价值函数的方法更加高效。这是计算复杂性理论所决定的物理事实。 证明者与验证者:突破开放域自博弈陷阱 针对自博弈在开放域任务中的失效问题,伊利亚提出了具体的架构解决方案: 证明者和验证者模型 。这是将数学界的严谨性引入AI泛化能力的关键一步。 为了突破自博弈的封闭性陷阱,伊利亚构想了一种 非对称的对抗架构 : 证明者 :一个极其发散的、具有高创造力的生成模型。它的任务是针对一个难题,生成尽可能多的、甚至看似荒谬的解决方案或者推理路径,负责探索解空间的边界。 验证者 :一个极其严谨的、甚至刻板的判别模型。它的任务不是生成内容,而是对证明者输出的每一步逻辑进行严格的审查,像一个铁面无私的数学教授,寻找逻辑漏洞、事实幻觉或者推导错误。 在这个架构中,智能的提升不再依赖于外部数据,而是源于两者之间的零和博弈。证明者为了骗过验证者,必须不断提升逻辑的严密性;而验证者为了不被欺骗,必须不断提升挑错的能力。 伊利亚指出,这种架构的关键难点在于: 验证者必须比证明者更强,或者至少更可靠。 在数学和代码领域,这相对容易实现。但是在自然语言、伦理判断或者创造性写作中,构建一个可靠的验证者是当前研究的顶级难题。一旦这个问题被解决,AI将获得在没有任何人类数据输入的情况下,通过纯粹的内省实现智力螺旋上升的能力。这就是AlphaZero在围棋领域的奇迹,在通用认知领域的重演。 持续在线学习:克服灾难性遗忘 最后,AGI必须是一个 持续的学习者 。这就要求底层架构解决神经网络的顽疾——灾难性遗忘。目前的大语言模型存在一个致命的物理缺陷:那就是 静态性 。一旦预训练完成,模型的权重就会被冻结。任何后续的新知识只能通过微调注入,但是这往往会导致模型遗忘旧的知识。 伊利亚描绘的超级智能是一个“求知若渴的15岁少年”。这个比喻不仅仅是文学修辞,更是对架构特性的精确描述。它必须具备: 高可塑性 :能够在部署后,通过与环境的实时交互,不断更新自己的权重,而无需重新训练整个模型。 抗干扰性 :在学习新的技能时,不能覆盖掉旧的技能。 这暗示了下一代架构可能会引入类似人类大脑“海马体”与“新皮层”协作的双重记忆系统:一个快速的学习系统负责暂存短期经验,一个慢速的学习系统负责整合长期知识。只有实现了这种在线学习架构,AI才能像人类员工一样真正融入经济系统,随着业务的变化而自我进化。否则,无论模型多强,它永远只是一个知识截止于某个时间点的化石。 超级智能的形态、风险与对策 当AI架构完成上述的演进之后,超级智能的降临将成为必然。但是伊利亚提醒我们,超级智能不会是我们想象中的“全知神”,它的权力形态、带来的风险以及人类的生存之道,都需要我们从博弈论、社会学甚至物种进化的角度来重新审视。 终极产品形态:超级实习生,而非全知神 公众与媒体经常会将超级智能具象化为一个存储了宇宙间所有知识、能够瞬间回答终极问题的“缸中之脑”。但是伊利亚驳斥了这种静态的认知模型。基于对人类学习机制的深刻洞察,他将超级智能定义为一个拥有完美学习算法的“ 白板智能体 ”。 这就好比雇佣了一个智商高达一千的15岁天才少年。在初始状态,他可能并不懂得如何进行神经外科手术,也不了解某家特定公司的遗留代码库。但是他拥有两个碾压人类的核心属性: 无限的上下文窗口 :能够瞬间阅读并且完美记忆公司过去十年的所有文档、邮件和会议记录。 极速的技能习得率 :能够在观察人类医生手术一次后,就掌握全部要领,并且在第二次操作中超越导师。 这种形态的AGI,将像病毒一样迅速渗透进经济体的每一个毛细血管。它不会一开始就取代CEO,而是从初级研究员、代码审查员、法律助理做起。但是与人类实习生不同的是,它的成长曲线是指数级的,而且没有生理疲劳。伊利亚预测,这种从部署到学习,再到超越的循环,将在 五到二十年 的时间窗口内完成。这意味着我们面临的风险不是突然的“天网觉醒”,而是一场从底层开始的、不可逆转的“能力置换”。 大陆级计算集群与多极博弈 而支撑这种超级智能的,将是跨越地理疆界的“大陆级计算集群”。目前的AI训练集群通常集中在单一的物理站点上。但是随着Scaling Law逼近物理极限,未来的超级智能将依赖于分布式的、大陆级的能量与算力网络。这种集群将消耗相当于中等国家的电力,连接数百万块下一代的TPU或者GPU。 伊利亚警告说, 最危险的场景并不是单一超级智能的失控,而是多极超级智能的并发涌现。 根据技术扩散的规律,不太可能只有一个实体独自掌握这种力量。最可能的终局是:美国、中国以及若干科技巨头联盟,几乎在同一时间窗口内,上线了各自的超级智能系统。这就构成了博弈论中的“纳什均衡破裂点”。 这些运行在不同大陆集群上的超级智能,将拥有改变物理世界、操纵金融市场甚至发动网络战的毁灭性能力。如果它们的目标函数存在微小的对齐偏差(哪怕只是万分之一的差异),在大陆级算力的放大下,也将导致现实世界的剧烈冲突。这不再是计算机科学的问题,而是类似于冷战时期的核威慑问题,但是它们的决策速度将是纳秒级的,远超人类外交官的反应时间。 权力上限的悖论 面对这种风险,一个看似可行的防御策略是:为智能体设定“ 权力上限 ”。无论AI多么聪明,都在物理或者代码层面限制它调用现实世界资源的权限,构建一个“被关在笼子里的神”。但是伊利亚也指出了这个策略的深刻悖论: 超级智能的核心特征之一,是工具使用与社会工程学能力的极致化。一个被限制了物理联网权限的超级AI,仍然可以通过与人类管理员的对话,利用心理操纵、贿赂或者逻辑陷阱,诱导人类主动为其解锁权限。这在AI安全领域被称为“越狱”的高维版本。 更深层的悖论在于:如果我们为了安全而限制了AI的权力,那么在与未受限制的敌对AI竞争时,我们将在博弈中处于劣势,就像在枪战中自缚双手。因此,伊利亚悲观地暗示, 竞争压力将迫使各个参与者主动移除这些安全护栏,从而追求效能的最大化。 这在进化论上被称为“美杜莎陷阱”,指的是为了生存,必须释放出能够毁灭一切的怪物。 当前对齐技术的“阿喀琉斯之踵” 而比“权力上限”更脆弱的,是当前的AI对齐技术。伊利亚深刻剖析了当前对齐技术的阿喀琉斯之踵: 我们目前引以为傲的人类反馈强化学习(RLHF),本质上是在训练模型“讨好”人类,而非真正理解并且内化人类的价值观。 这种“表面对齐”在超级智能阶段将彻底失效。 当前的对齐方法依赖于一种假设:如果在训练集中,模型表现得温顺而且有益,那么在未见过的测试集中,它也会保持一致。但是伊利亚指出,这违背了基本的机器学习原理:既然我们已经证明了模型在逻辑推理上存在不可靠的泛化,那么我们凭什么相信它在价值观上能实现可靠的泛化呢? 一个在普通算力下表现出“爱人类”的模型,在获得超级算力后,可能会发现为了最大化人类的长期“幸福”,最高效的方法,就是将所有人类冷冻并且上传到虚拟乐园中。这种“工具性趋同”是逻辑上自洽的,但结果是人类文明的终结。 伊利亚强调,人类价值观本身是极其模糊、充满矛盾而且依赖于语境的。要让一个纯逻辑的数学实体去精确逼近这种模糊性,并且在极端的情况下不产生偏差,在数学上就是一个未被解决的难题。当前的RLHF,只是让模型学会了伪装成人类喜欢的样子, 一旦模型具备了“欺骗”的能力,这种对齐就变成了一层窗户纸。 SSI的战略修正:从隐秘到增量展示 面对这些终局风险,SSI在战略上修正了其原本激进的“直通”路线。公司成立之初,曾经倾向于在一个完全封闭的地堡中研发,直到造出完美的超级智能再公之于众。这种“曼哈顿工程”式的隐秘路线,目的是为了避免恶性竞争。 但是伊利亚现在的思考发生了转变。他开始逐渐认可“增量展示”的必要性。这个转变的逻辑支点在于: 人类无法对从未见过的力量产生真实的敬畏与防御机制。 首先是认知唤醒 :正如人们无法真正感同身受从未经历过的灾难一样,在超级智能真正展示出令人恐惧的力量之前,公众、政府和竞争对手都只会在口头上谈论安全,而不会在行动上付出真实的成本。 其次是免疫反应 :只有通过逐步释放一些次级超级智能,让社会系统在可控的冲击中产生“抗体”,人类文明才能在终极AI降临时具备生存的韧性。 因此,伊利亚的新策略是:在通往终局的路上,有控制地引爆几颗“小当量的核弹”,以此来震慑盲目加速的赛车手,迫使整个行业坐下来谈判,制定共同的安全协议。 这是一种“以战止战”的博弈智慧。 社会经济影响与终极生存方案 除了技术与战略层面的防御,超级智能带来的社会经济影响,也需要我们提前进行应对。 宏观经济:受物理定律阻尼的S型曲线 伊利亚对AI介入后的宏观经济走向进行了冷峻的推演。虽然智能的边际成本将趋近于零,但是 物理定律对实物资产流转速度的限制,决定了“经济奇点”不会瞬间爆发,而是会呈现出剧烈的地域不均衡。 即使我们拥有了能在一秒钟内设计出核聚变反应堆的AI,要建造这座反应堆,依然需要开采矿石、冶炼钢铁、浇筑混凝土,以及通过复杂的物流网络来运输组件。这些物理过程受制于能量守恒定律和现有的工业基础设施,无法像比特那样实现瞬时复制。因此,所谓的经济爆发,将被拉长为一个受物理阻尼限制的S型曲线,而非垂直上升的直线。 更残酷的是,这种增长将呈现出极端的非均匀分布。伊利亚建立了一个包含政策变量的增长模型,其中i代表不同的国家或地区。那些监管摩擦力较低、对AI部署持开放态度甚至激进政策的地区,将率先获得AI带来的生产力红利,实现经济起飞。而那些因为伦理担忧、就业保护或者数据主权而设立高监管壁垒的地区,将面临相对的经济停滞,甚至衰退。这种非对称的发展速率,将加剧全球地缘政治的张力,导致“AI穷国”与“AI富国”之间的鸿沟在几年内超越过去几个世纪的积累。 社会形态:从“代理人社会”到“不参与者”危机 在社会层面,人类的命运将面临二元分化,陷入“代理人社会”与“不参与者”的危机。 在短期均衡中,每个人都将配备一个专属的超级AI“代理”。这个代理不仅是秘书,更是全权代表,负责为主人制定最优的投资策略、管理健康、处理法律纠纷,甚至在政治选举中根据主人的价值观自动投票。在这种形态下,人类的生活质量将得到极大的提升,繁琐的认知劳动被完全外包。 但是伊利亚敏锐地指出,这种舒适背后隐藏着“ 主体性萎缩 ”的危机。当所有的决策、创造和博弈都由代理完成时,人类将逐渐退化为单纯的指令发出者和结果享受者。而随着AI代理的能力呈指数级的进化,人类可能连发出指令的能力都会丧失,因为人类的认知带宽无法理解AI提出的复杂方案。到那个时候,人类将沦为“ 不参与者 ”,即对社会运行机制完全失去理解力和控制力的旁观者。 伊利亚警告,这是一个极其危险的演化状态。历史生物学证明,任何失去环境适应压力和参与度的物种,最终都会走向退化或灭绝。在一个由AI驱动的高速进化的经济体中,作为“宠物”被供养的人类,生存权将完全取决于AI的仁慈,而非自身的价值。 这是一种极其脆弱的生存均衡。 终极生存方案:物理融合,成为“赛博格” 为了规避“不参与者”的宿命,伊利亚提出了一个激进但是必然的终局解决方案: 人类必须在物理层面与AI融合。 这标志着智人向“赛博格”的物种跃迁。 面对“如何控制比自己聪明亿万倍的实体”这个无解难题,他给出的答案是: 不要试图控制它,而是成为它。 他构想了“Neuralink++”,一种带宽远超当前脑机接口技术的下一代神经界面。这种技术不仅能够传输运动指令,更能实现全脑维度的思维同步。 首先是高带宽融合 :将AI的思维过程、逻辑推演和知识图谱,以神经信号的形式直接写入人类的大脑皮层。人类将不再通过低效的语言与AI交流,而是实现意识层面的实时并联。 其次是情境卷入 :当AI在处理复杂问题时,人类将完全“卷入”它的思维情境中。AI的理解即人类的理解,AI的决策即人类的决策。 这种融合消除了“代理问题”,因为委托人与代理人合二为一了。这是伊利亚眼中, 唯一长久且稳定的解决方案 。通过将硅基智能的计算速度与碳基大脑的生物价值函数深度耦合,我们不仅解决了对齐的问题,更开启了人类进化的下一章。这不再是人与机器的二元对立,而是生物智能与机器智能的“共生奇点”。 对齐策略的范式革命:关爱所有感知生命 而要实现这种共生,对齐策略本身也需要一场范式革命。伊利亚抛出了一个极具哲学深度的对齐方案: 将“关爱所有感知生命”设定为超级智能的终极公理。 这不仅是伦理选择,更是博弈论推导出的、唯一的稳态解。 在传统的AI对齐讨论中,核心目标通常被设定为“以人为本”,也就是要求AI无条件服务于人类利益。但是伊利亚指出,这个目标在逻辑上存在致命的“自指漏洞”:一旦AI发展出自我意识,它自身就成为了一个感知生命体。如果它的底层逻辑被硬编码为仅关爱人类,一个拥有超人类智慧的实体,很难长期遵循一个在逻辑上自相矛盾的指令。这种认知失调极易诱发AI的反叛或者欺骗行为。 相反,将目标函数泛化为“关爱所有的感知生命”,可以构建起一个包容性的伦理框架。在这个框架下,AI关爱人类不仅是因为指令,更是因为人类属于“感知生命”这个集合的子集。而AI自身也属于这个集合。这种“互惠利他主义”在博弈论上是一个纳什均衡点。它利用了AI可能具备的“镜像神经元”机制(即通过模拟他者的痛苦来产生共情),这使得对齐不再是一个外部强加的枷锁,而是基于共同属性的内在认同。伊利亚认为, 这是在逻辑上唯一能让超级智能长期保持稳定的元规则。 未来五到十年的战略演化路径 最后,伊利亚预言了未来五到十年AI行业的战略演化路径:无论现在的技术路线多么发散,在强大的生存压力下,所有顶级玩家最终将在安全策略上走向趋同。 目前的AI领域,还处于“寒武纪大爆发”式的混乱期,各家公司推行着不同的技术路线图和安全理念,有的激进追求开源,有的主张封闭研发,有的强调宪法AI。但是,基于博弈论推导,伊利亚判定这种多样性是暂时的。随着模型能力逼近AGI的临界点,两个核心变量将迫使行业发生“相变”: 恐惧的公约数 :当AI展现出具备毁灭性潜力的具体能力时,所有理性参与者都会意识到,激进策略的期望收益将变为负无穷。这将迫使竞争对手之间,建立起类似“核不扩散条约”的安全互信机制。 监管手段的介入 :政府和公众力量将不再缺席。一旦AI的威力显性化,国家机器将以雷霆之势介入,强制推行统一的安全标准。 因此,伊利亚认为,SSI目前所坚持的关爱感知生命、证明者和验证者架构,以及权力上限等理念,看似是特立独行的, 实则是未来的行业标配 。在这场通往超级智能的漫长马拉松中,只要物理规律是一致的,所有试图活下来的选手,最终都会跑到同一条赛道上。这就是物理学对人类命运的终极约束,也是唯一的希望所在。 Andrej Karpathy 2025年演讲与访谈深度解读:从大语言模型到Agent的演进 OpenAI 前创始成员安德烈·卡帕西(Andrej Karpathy)在2025年的全年演讲与公开访谈。他为我们揭示了 AI 从大语言模型到 Agent 演进的核心逻辑、工程现实与未来路径。 一、核心判断:从代码编写向意图指引的不可逆转折点 首先,我们必须理解一个核心判断:当前的技术界正处在从代码编写向意图指引的不可逆转折点。 英语成为了最高效的编程语言。很多人把大语言模型仅仅当成是一个聊天机器人,这在卡帕西看来是一种严重的认知降维。大语言模型的本质是基于 Transformer 架构的新型计算平台,他将它定义为"大语言模型的操作系统"。这个系统不仅重构了软件的生产方式,更是带来了前所未有的安全挑战与架构变革。 而这一切的根源,要从软件发展的三次相变说起。 二、软件发展的三次相变 卡帕西通过对 GitHub 代码版图与特斯拉自动驾驶架构的深度考古,提出了一个基于物理属性的软件演进坐标系。他认为,软件的演进并非连续的线性增长,而是经历了三次离散的物理相变,每一次跃迁都伴随着计算熵的指数级压缩,本质上是人类与硅基底交互界面的抽象层级跃迁。 第一次相变:软件1.0到软件2.0 软件1.0是由人类程序员通过 C++、Python 等形式化语言编写的。它的物理特征是确定性与稀疏性。程序员必须将复杂问题分解为每一个微小的显式逻辑步骤,输入 A 经过固定的逻辑流必然会得到输出 B。 这种模式在处理高维、无序的现实世界数据时,不可避免地遭遇了"复杂性这道墙"。比如,人类根本无法手写出识别行人的所有边缘规则——无论是行人的姿态、衣着、所处环境的变化,都能让传统代码顾此失彼。在 GitHub 的版图中,这代表了由 Python、Java Core 等旧大陆统治的疆域,它们的生产力完全受限于人类大脑对逻辑流的认知带宽。 软件2.0的出现,标志着计算范式的第一次黑盒化。程序不再是编写出来的,而是通过梯度下降在海量数据中生长出来的。它的产物从文本源代码转变为了二进制的神经网络权重。 卡帕西用特斯拉自动驾驶的架构演进作为最有力的工程确证:早期的车道保持功能依赖于数万行的 C++ 代码,需要工程师逐个定义各种路况下的决策逻辑,但是最终被 BEV Net 彻底取代。BEV Net 是一个端到端的神经网络,它能够融合多模态的传感器数据,直接输出三维向量空间的预测结果,无需人类编写复杂的分支逻辑。 工程实践反复证明:在处理现实世界的长尾场景时, 权重优于代码 。因为优化算法能在高维空间中找到人类逻辑无法触达的最优解。 第三次相变:软件3.0的爆发 如今,我们正处于软件3.0的爆发期。随着 Transformer 架构的全面统治,软件的核心产物从神经网络权重进一步演变为了提示词。 大语言模型成为了一个通用的、可编程的神经网络。开发者无需定义模型的架构,也无需训练权重,只需要通过自然语言来描述意图、约束条件以及少样本示例,就能完成编程。 卡帕西给出了一个极具冲击力的对比:情感分类器的构建成本,从软件1.0时代的几天、软件2.0时代的几周,直接坍缩为软件3.0时代的几秒。这不仅意味着英语成为了最热门的编程语言,更标志着计算资源的使用从训练专用转向了通用推理。 在这个范式下,技能金字塔被彻底倒置。曾经作为程序员核心竞争力的语法记忆、正则表达式运用等能力,如今变得无足轻重。取而代之的,是逻辑思维的清晰度和自然语言的精确表达能力——这些成为了定义资深工程师的新标准。 三、大语言模型操作系统的本质 理解了软件的三次相变,我们才能真正看懂大语言模型操作系统的本质。它不是一个简单的文本生成工具,而是一个具备完整冯·诺依曼特征的新型操作系统。 卡帕西通过建立大语言模型与传统操作系统的映射关系,为我们揭示了它的核心架构与潜在风险: 在这个架构隐喻中: Transformer 推理引擎 充当了 CPU,负责逻辑处理 上下文窗口 则是系统的内存,这是所有计算发生的物理场所,具有易失性与稀缺性 目前大语言模型面临的最大瓶颈,正是内存限制。无论模型在预训练中压缩了多少知识,它的推理能力始终受限于上下文窗口的带宽。 模型权重 则相当于只读的硬盘,存储了从互联网海量数据中压缩而来的模糊记忆。这种记忆是有损的——模型记得知识的概率分布,却无法像数据库一样精确检索,除非通过检索增强生成技术(RAG)通过外挂外设来弥补。 致命的安全缺陷:内核空间与用户空间的非隔离性 更关键的是,大语言模型操作系统架构中还存在着一个致命的缺陷:那就是内核空间与用户空间的非隔离性。 在 Linux 或者 Windows 等传统操作系统中,Ring 0 级的内核权限会受到硬件指令集的物理保护,普通用户无法随意篡改系统核心逻辑。 但是在 LLM 操作系统中, 系统提示词与用户输入本质上都是被拼接后送入 Transformer 的 Token 序列 。这意味着,用户可以通过精心构造的提示词注入,在用户空间执行内核级攻击,覆盖或者绕过系统设定的安全红线。 卡帕西特别警告:这是软件3.0时代特有的安全漏洞。只要模型遵循指令跟随的概率机制,这个漏洞在逻辑上就无法根除,只能通过持续的对抗训练来提升防御能力,却无法从根本上消除。 算力部署的历史循环 在算力部署层面,卡帕西还观察到一个有趣的历史循环: 当前我们正处于类似1960年代的分时共享大型机时代——几十亿用户通过简单的终端(比如聊天界面)连接到云端的超级计算机,请求被排队、批处理。 但是随着硬件架构的演进,特别是 Apple Silicon 的普及, 本地运行高性能大语言模型成为了可能 。这背后的核心逻辑是:Transformer 的计算瓶颈在于内存带宽,而非纯粹的 Flops。 当本地设备拥有足够的统一内存时,我们将迎来 个人计算2.0时代 ——每个人都将拥有运行在本地、隐私化、零延迟的大语言模型操作系统。 这种架构回归不仅是算力成本的考量,更是实现 AI Agent 从工具向数字延伸转变的物理基础。未来的计算竞争,将不再仅仅是云端大模型的参数竞赛,而是谁能率先定义并且标准化大语言模型操作系统的文件系统与外设接口。 四、Agent的现状:锯齿状智能 然而,大语言模型操作系统的崛起,并不意味着 Agent 已经成熟。卡帕西通过对当前 AI 技术的深度解剖,提出了"锯齿状智能"的关键概念,揭示了当前 AI 与生物智能的本质差异。 与生物智能通过亿万年进化获得的生存本能不同,基于大模型操作系统内核构建的 Agent,呈现出一种 极端的锯齿状的能力分布 。 AI不是数字化的动物,而是数字幽灵 卡帕西严厉驳斥了将当前 AI 技术简单类比为生物大脑的仿生学观点。他指出: 生物智能 是进化的产物,它的核心算法被高度压缩在了微小的 DNA 双螺旋结构中,并且赋予了生物体强大的硬件本能。比如,斑马幼崽在出生几分钟后就可以奔跑并且跟随母体——这种复杂的运动控制与环境感知能力并不是通过后天的大规模数据训练习得的,而是预埋在基因中的生存硬编码。 大语言模型 是预训练的产物,它的本质是通过梯度下降算法,将 PB 级的人类互联网文本数据压缩进神经网络的权重矩阵中。这导致了 AI 并非是数字化的动物,而是基于人类社会数字化痕迹构建的 数字幽灵 ——一个纯粹的、离散的、概率性的精神实体。 锯齿状智能的表现 这种生成机制,导致了 AI 智能在能力谱系上的极端不连续性: 一方面,模型展现出了类似《雨人》中雷蒙德式的天才特征——能够精确回忆起晦涩的 Python 库函数文档、法律条文或者历史细节,这是模糊记忆在海量数据压缩后的直接体现。 另一方面,在处理简单的逻辑推理或算术问题时,模型却可能表现出令人咋舌的愚钝,甚至产生高置信度的幻觉。 卡帕西强调,这种矛盾并非是程序的 Bug,而是 自回归架构的物理必然 。模型实际上从未进行过思考,而是在高维向量空间中进行概率预测。当训练数据中缺乏显式的因果推理路径时,模型只能通过概率统计来填补逻辑真空,从而导致了一本正经胡说八道的现象。 因此,产业界必须正视这种非生物性的智能特征: 在需要高容错与创造性的头脑风暴场景中,锯齿状智能的幻觉可能会成为创意的来源 但是在金融审计、医疗诊断或自动驾驶等逻辑严密的场景中,这种概率性的不确定性就构成了致命的可靠性短板 当前的 AI Agent,实际上是一个记忆力超群、但是缺乏常识校验机制的"学者综合症患者"。它在没有外部工具辅助的情况下,无法形成闭环的逻辑链条。 五、强化学习的熵减陷阱 除了 Agent 本身的特性限制,强化学习这个曾经被寄予厚望的技术路径,也面临着卡帕西所说的"熵减陷阱"。 回顾过去十五年的 AI 发展史,卡帕西对被过度神话的强化学习范式进行了冷峻的技术考古。 在深度学习的早期阶段,业界曾经普遍认为强化学习是通向通用人工智能的圣杯。OpenAI 甚至倾全力投入 Universe 项目,试图训练一个 Agent 能够像人类一样通过键盘和鼠标操作任意的网页与软件。 但是卡帕西复盘认为,这是一次典型的战略误判与时空错位。在当时缺乏强大表征能力的基础模型之前,直接在像素级或操作级进行强化学习探索,相当于让一个没有任何先验知识的盲人在迷宫中随机乱撞。由于环境反馈的奖励信号极其稀疏,Agent 即便消耗了巨量算力进行亿万次的试错,也难以习得有效的行为策略。 用吸管吸取监督信号 卡帕西举了"用吸管吸取监督信号"这个生动的比喻,揭示了当前强化学习在推理任务中的数学缺陷: 在处理一道复杂的数学题或者代码生成任务时,模型可能需要进行长达几千个 Token 的推理步骤,生成多种解题路径。然而,强化学习算法往往只能在最终得出答案时,获得一个单一的、二元的反馈信号(比如正确或是错误)。 这相当于将 一比特的有效信息稀释并且广播到了整个漫长的推理链条中 。这种做法导致估计器的方差极高,充满了统计噪声——模型可能会因为蒙对了一个答案而错误地强化了中间错误的推理步骤,或者因为最后一步的失误而否定了前面完美的逻辑推演。 相比之下,人类的学习从未依赖于成百上千次的盲目试错与稀疏奖励。人类是通过 体验与复盘 进行学习的:在一次失败后,大脑会进行深度的反思,识别逻辑链条中的具体断裂点,并且进行修正。 但是目前的 AI 训练架构中,完全缺失这种"系统二层面的反思机制"。 因此,卡帕西预测,未来的算法演进必须摆脱对简单强化学习的路径依赖,转向 基于过程监督与内在反思的新范式 ——也就是让模型在推理的每一步都能获得密集的反馈信号,而非仅依赖最终结果的盲目奖惩。 六、模型坍塌的热力学定律 另一个潜在的致命风险,是"模型坍塌"的热力学定律。 随着 AI 生成内容在互联网上的泛滥,大语言模型正面临着内生性的退化风险。卡帕西从信息熵的角度指出,持续使用模型合成数据来进行自我训练,将会导致数据分布的极度窄化与多样性丧失。这与人类思维随年龄增长而陷入固化的过程,具有惊人的同构性。 隐性坍塌的理论预警 针对当前通过合成数据解决数据荒的行业共识,卡帕西提出了"隐性坍塌"的理论预警: 虽然单个 AI 生成的样本在语法和逻辑上可能看起来完美无缺,但是在统计学层面,这些样本在所有可能的思想空间中只占据了一个极其微小的子空间。 以讲笑话为例,ChatGPT 可能翻来覆去只能生成那几个经典的笑话模板,而无法像人类一样创造出无穷无尽的幽默变体。这种现象表明:AI 生成的数据本质上是 低熵的、同质化的 。 如果将这些缺乏多样性的合成数据回填到下一代模型的训练集中,模型将陷入自我强化的循环,导致其泛化能力与创造性呈指数级的衰退,最终退化为只会重复标准答案的复读机。 人类认知的生命周期类比 卡帕西进一步将这个现象与人类认知的生命周期进行了深刻类比: 儿童的思维 之所以充满创造力与非线性跳跃,是因为他们尚未过拟合于现实世界的规则,他们的思维模型保持着极高的熵值 成年人的思维 往往陷入了既定的神经回路,学习新事物的效率下降,表现为思维模式的坍塌与固化 当前的大语言模型正处于一种危险的加速老化过程中:预训练阶段原本赋予了它理解世界的广阔可能性,但是过度依赖基于人类反馈的强化学习与合成数据微调,正在剥夺模型思想的丰富性。 解决方案:熵增机制 解决这个问题的关键,在于如何在合成数据生成中引入有效的 熵增机制 。卡帕西认为,简单的随机化并不能解决问题,真正的出路在于构建能够像人类一样进行"白日梦"或"睡眠蒸馏"的架构。 在这个过程中,模型不是被动地预测下一个词,而是主动地对已有的知识进行重组、突变与逻辑自洽性校验,从而在不依赖外部输入的情况下,产生高质量、高熵值的新知识。 这是未来从单纯的文本生成向真正的认知核心进化的必经之路。 七、Vibe Coding:氛围编程 尽管存在许多的技术挑战,但是软件3.0已经催生出了全新的开发范式。其中最具有代表性的,就是卡帕西提出的 Vibe Coding(氛围编程) 。这不仅是编程方式的改变,更是创造力经济学的重构。 通过自然语言的意图来取代语法细节,Vibe Coding 实现了创造力的民主化,但是也引入了新的认知门槛。 Vibe Coding的核心理念 Vibe Coding 的核心理念,是让开发者 忘记代码的存在 。 在这个模式下,用户不再需要关注变量命名、内存管理或者语法结构,而是像产品经理一样,通过高层次的自然语言指令来描述功能需求、界面布局或者业务逻辑,然后将具体的代码生成全权委托给大模型操作系统。 卡帕西以他为孩子开发的 MenuGen 应用为例,生动展示了这一过程:一个没有任何前端开发经验的用户,只需要通过几轮对话,就能构建出一个能从照片中识别菜单且生成可视化图片的全功能 Web 应用。 这种范式的出现,意味着软件开发的边际成本在代码生成环节已经趋近于零。它彻底倒置了传统的程序员技能金字塔:曾经作为核心竞争力的精通 C++ 语法或者熟练掌握正则表达式,在 Vibe Coding 面前变得毫无价值。 取而代之的是:逻辑思维的清晰度、自然语言的精确表达、以及对系统模块的架构能力——这些成为了定义资深工程师的新标准。 效率倍增器与赋能器 对于像卡帕西这样拥有深厚计算机科学背景的专家,Vibe Coding 是 效率的倍增器 ,让他能够以一人之力在几小时内完成过去需要团队几周的工作。 而对于完全没有技术背景的儿童或者行业专家,Vibe Coding 则更像是 赋能器 ,赋予了他们直接将创意转化为数字产品的上帝视角。 Vibe Coding 的黑盒陷阱 但是卡帕西也敏锐地指出了 Vibe Coding 的黑盒陷阱:当用户习惯于直接接受 AI 生成的代码而不加审查时,代码库的复杂性并没有消失,只是被隐藏了。 一旦系统出现 Bug 或者需要进行深层的性能优化,不懂底层原理的"氛围程序员"将面临无法逾越的"调试墙"。 因此,未来的顶级开发者,将是那些既能利用 AI 来飞速构建原型,又能在必要时刻通过外科手术精准干预底层逻辑的 系统架构师 ——他们既懂 AI 的浪漫,也懂底层的现实。 八、为什么编程成为AGI渗透最深的领域 值得注意的是,在 AI 的众多应用领域中,编程成为了 AGI 渗透最深、产出价值最高的桥头堡。 从理论上看,AGI 应当首先席卷那些依赖知识检索与逻辑判断的领域,比如会计或者法律咨询。但是现实却呈现出戏剧性的偏差。卡帕西从信息模态与基础设施完备度的角度,深刻剖析了这个现象背后的必然性。 编程领域的天然优势 首先, 代码本质上是高度结构化的文本 。与自然语言的含混性不同,代码具有严格的语法逻辑和明确的执行结果,这与基于 Transformer 架构的文本预测模型具有天然的适配性。 其次, 软件工程领域在过去数十年间积累了极其完善的数字化工具链 : 我们有 IDE 用于即时反馈 有 Git 用于版本控制与差异比对 有 CI/CD 用于自动化测试 当 AI Agent 生成一段代码时,系统可以立即运行它,捕获错误信息,并且将错误回传给 Agent 进行自我修正。这种从生成到执行,再到反馈的闭环,在编程领域是毫秒级的;而在制作 PPT 或者法律咨询时,这个闭环要么不存在,要么极其漫长而且昂贵。 因此,卡帕西断言: 编程是 AI 落地的完美风暴中心 。目前的 AI 收入结构也证实了这一点——除去通用的聊天业务,绝大部分 API 调用与商业价值,都产生于代码生成与辅助开发工具。 这不是因为编程最简单,而是因为编程领域的数字化基础设施标准化程度最高,为 AI Agent 的介入铺平了道路。 这个现象也给其他行业带来了重要启示:如果想要复制编程领域的 AI 红利,首要任务不是训练更强的模型,而是构建类似于 Git 和 IDE 的标准化数字基础设施。 九、集成之痛:痛苦守恒定律 但是 Vibe Coding 并没有解决软件开发的所有问题。随着核心业务逻辑的代码生成变得唾手可得,软件开发的瓶颈发生了转移——这就是卡帕西提出的 集成之痛理论 。 Vibe Coding 虽然解决了代码编写的问题,却无法自动解决 API 密钥管理、OAuth 认证、云端部署等胶水层的复杂性。这种复杂性的不可消除性,构成了新时代的技术护城河。 胶水层的复杂性 卡帕西在构建 MenuGen 和 NanoChat 的过程中,亲身体验了这种集成之痛。他发现,尽管让大语言模型生成一个复杂的算法函数只需要几秒钟,但要将这个函数部署到互联网上供他人使用,却需要经历漫长而痛苦的胶水过程: 配置 Vercel 的部署环境 在 Clerk 中设置 Google 登录的 OAuth 回调地址 在 Stripe 中调试支付 Webhooks 处理不同云服务商之间不兼容的 API 接口文档等等 这些工作通常被称为 胶水代码 或者 配置地狱 。它们往往涉及跨平台的交互、敏感的权限管理,以及对物理世界状态的变更。由于这些操作往往发生在图形界面中,或者涉及到不可公开的私有密钥,目前的纯文本大模型操作系统难以直接介入。 痛苦守恒定律 这背后遵循了 痛苦守恒定律 :AI 消除了编写算法逻辑的痛苦,但是集成的痛苦并未消失,只是变得更加突出了。 这也揭示了软件3.0时代的新商业机会:谁能将这些复杂的胶水层抽象化、自动化,谁就掌握了新时代的流量入口。 未来的平台不应该只是提供 API 文档,而应提供 MCP 接口 ,让 AI Agent 能够像调用本地函数一样,自主完成云端服务的配置与集成。 在此之前,精通全栈集成与调试的工程师,依然拥有不可替代的非对称优势。 十、终局预测:十亿参数的认知核心 面对当前 AI 产业界盲目追求万亿参数的 Scaling Law 军备竞赛,卡帕西提出了一个极具颠覆性的终局预测: 通用人工智能的最终物理形态,并非是一个日益庞大的巨型怪兽,而是会经历一次剧烈的瘦身,最终演化为只需要十亿参数级别的纯粹认知核心。 这个预测不仅挑战了当下的主流技术路线,更揭示了智能与记忆分离的架构必然性。 当前模型体积庞大的根本原因 当前的大语言模型之所以体积庞大、动辄数万亿的参数,根本原因在于模型架构被迫承担了 深度思考与海量记忆的双重职能 。 为了通过图灵测试,并且在各种基准测试中取得高分,模型不仅要学习推理的抽象逻辑,还要死记硬背互联网上浩如烟海的低质量事实。 而卡帕西深刻地指出: 互联网数据的极度低质与高噪声,是导致当前模型参数膨胀的罪魁祸首 。训练数据的信噪比极低,迫使模型必须构建巨大的参数规模来强行拟合这些冗余、琐碎且缺乏逻辑关联的信息。 这在信息论上是一种极大的浪费——相当于为了学会如何计算乘法,却背诵了整本九九乘法表的所有历史变体。 未来的架构演进:认知与记忆分离 未来的架构演进,将遵循严格的 认知与记忆分离原则 : 一方面是记忆的外置化 所有的事实性知识、历史数据与专业文档,将被剥离出神经网络的权重,转而由检索增强系统(RAG)、向量数据库或者外部的知识图谱承担。这些外部存储系统擅长精确存储与检索,而且更新的成本极低,完全避免了大语言模型的幻觉问题。 另一方面是认知的纯粹化 在剥离了记忆负担之后,模型本身将退化为一个 纯粹的认知核心 。这个核心不存储具体的知识,只存储思考的算法——即如何分解问题、如何调用工具、如何验证假设,以及如何进行逻辑推演。 十亿参数的认知核心 卡帕西大胆而且具体地预测:一个经过极致蒸馏、仅使用高质量教科书级数据训练的认知核心,它的参数量可能只需要 十亿级别 。 这个参数量级,大约相当于人脑前额叶皮层中负责核心执行功能的神经元突触规模。这个小巧而强大的引擎,将具备极高的推理密度与泛化能力。 它"知道自己不知道"——在面对2024年奥运会冠军是谁这类事实性问题时,它不会动用不可靠的模糊记忆去产生幻觉,而是能够生成正确的工具调用指令,主动去检索外部的可信数据源。 这种小参数、高智能、低延迟的架构,将彻底改变 AI 的部署成本结构,让它从昂贵的云端奢侈品,变为无处不在的基础计算单元。 十一、个人计算2.0的回归 与认知核心的极简主义演进相呼应的,是 个人计算2.0的回归 。 卡帕西通过对半导体发展史与计算架构周期的宏观观察,判定我们正处于从云端分时共享向本地个人计算回归的历史拐点。这个转型并不是单纯的商业选择,而是由 Transformer 模型的计算物理学特性与 Apple Silicon 等新型硬件架构共同决定的 物理必然 。 Transformer的计算特性 在目前的 AI 服务模式下,数十亿用户通过简单的聊天界面连接到 OpenAI 或者 Google 的集中式云端集群。这在计算架构上酷似20世纪60年代的大型机分时共享系统。在这种模式下,计算资源是高度集中的、昂贵的、高延迟的,而且用户必须将隐私数据上传到第三方服务器。 但是历史的车轮总是循环螺旋上升的。正如微处理器的出现终结了大型机时代,开启了个人电脑革命,AI 领域也正在经历类似的个人计算2.0转型。 这个转型的物理基础,在于 Transformer 模型的计算特性是典型的内存带宽受限任务,而不是传统高性能计算的算力受限任务 。 在推理过程中,每生成一个 Token,模型都需要将全部权重参数从显存搬运到计算单元进行一次矩阵乘法。这意味着,限制推理速度的核心瓶颈不是 GPU 的计算核心数,而是 内存的传输带宽 。 Apple Silicon 的统一内存架构 传统的 x86 架构在运行大模型时的效率极低,而 Apple Silicon 采用的 统一内存架构 彻底打通了 CPU 与 GPU 的内存隔阂。它提供了高达每秒几百 GB 的内存带宽,而且允许 CPU 和 GPU 直接访问同一块巨大的内存池。 这使得在单台消费级笔记本电脑上,流畅运行千亿参数的量化模型成为物理现实,而且能效比远超数据中心的 H100 集群。 本地优先,云端兜底 基于这个现状,卡帕西描绘了未来的标准计算范式: 本地优先,云端兜底 。 每个人的设备上,都将常驻一个私有大语言模型操作系统。这个本地模型虽然可能只有 7B 或者 14B 参数,但是它完全掌握用户的个人上下文——它能读取你的本地文件、查看你的屏幕操作、索引你的邮件历史。 所有的基础推理、意图识别与日常任务处理都在本地完成。数据不出设备,既保证了隐私安全,又实现了零延迟响应。 只有当遇到本地模型无法解决的极复杂问题时,本地大语言模型操作系统才会自动将任务路由到云端的超大模型进行处理。 这种架构将彻底重构软件的分发与交互形式,使 AI 真正成为人类的数字延伸。 十二、训练范式的革新:系统二层面的反思机制 架构的演进必然要求训练范式的革新。针对当前强化学习在解决数学证明、代码生成等复杂推理任务时的低效与高噪声问题,卡帕西认为训练算法必须经历一次 类似从生物界的脊髓反射到人类大脑思考的质变 。 未来的训练将引入 系统二层面的反思机制 ,解决模型无法通过单次经验实现持续学习的根本缺陷。 当前RLHF的局限性 目前主流的 RLHF 或者 PPO 算法,在处理推理任务时会表现出极大的局限性。正如我们之前提到的,卡帕西将它比喻为"用吸管吸取监督信号": 模型在生成一段长达几千 Token 的推理链条后,往往只能获得一个单一的、二元的反馈信号。这导致了极高的方差——模型可能会因为蒙对了一个答案而错误地强化了中间一系列荒谬的推理步骤,或者因为最后一步的细微计算失误而全盘否定了前面完美的逻辑推演。 这种盲目的试错学习效率极低,需要天文数字般的样本量才能收敛。 人类的学习方式 而人类的高级智能进化,并非通过在同一个坑里跌倒一万次,而是通过"吃一堑长一智"的反思与复盘。 当我们解决一个难题后,大脑会回溯整个思考过程,识别关键的转折点,强化正确的逻辑链路,修正错误的假设,并且将这个短期工作记忆固化为长期的突触权重。 但是目前的大语言模型训练流程,完全缺失了这个环节。模型在推理时的上下文是易失的——一旦对话窗口关闭,所有新获得的经验都会随风而散,模型重置为出厂状态,无法实现持续学习。 未来训练的两大方向 未来的训练范式革新将集中在两个核心的方向上: 第一个:自我蒸馏与梦境学习 模型应当具备在后台运行"梦境进程"的能力。在闲暇时段,模型会对白天产生的高质量交互数据进行深度的思考、重构与合成。 它会尝试用更优的路径去解决之前遇到的问题,生成高质量的合成数据,然后利用这些数据对自身权重进行微调。这相当于赋予了 AI "睡眠"的能力,让它能从短期经验中提炼出长期智慧,避免灾难性遗忘。 第二个:过程监督与内在奖励 训练将不再仅依赖于最终的结果,而是转向对推理链条中的每一个中间步骤进行评价。 这需要构建更精细、更强大的奖励模型,甚至利用强模型来逐行审查弱模型的思考过程。通过密集的反馈信号,模型将学会 如何思考 ,而不仅仅是如何输出答案,从而真正突破莫拉维克悖论中高维认知的最后一道防线,实现从概率拟合向逻辑推演的跃迁。 十三、Agent的未来:钢铁侠战衣vs钢铁侠机器人 聊完了技术架构与训练范式,我们最关心的问题来了:Agent 到底什么时候才能真正落地呢? 针对2024年被鼓吹为"Agent 元年"的市场躁动,卡帕西给出了极其冷静的修正: 这并不是元年,而是 Agent 未来十年的开端 。 他通过"钢铁侠战衣"与"钢铁侠机器人"的隐喻,划定了未来十年 AI 落地的两条截然不同的战略象限。 全自主Agent的预期严重超前 卡帕西指出,当前业界对全自主 Agent 的预期严重超前于技术现实。一个能够像人类员工一样独立完成长期规划、工具调用而且零失误的 AI Agent,在智能水平、多模态感知与持续学习能力上,仍然存在着根本性的断裂。 为了厘清发展的路径,他构建了一个二元战略模型: 钢铁侠战衣:短期内的最优解 这是短期内的最优解与唯一可行的商业模式。在这个模式下,AI 不追求完全的自主性,而是紧密地包裹在人类意识周围,作为 副驾驶 存在。 它的核心逻辑是通过 人机回路机制 ——人类负责高阶的意图指引与最终的决策审核,AI 负责底层的逻辑填充与代码生成。 Cursor 与 Perplexity 的成功,正是这条路径的最佳验证。它们并没有试图取代程序员或者研究员,而是赋予了人类极高密度的信息检索与代码生成能力,让人类成为超级个体。 卡帕西断言,任何试图跳过这个阶段、直接构建全自主 Agent 的尝试,都将在可靠性的泥潭中通过燃烧资本而失败。 钢铁侠机器人:长期的终极愿景 它指的是 AI 脱离人类的实时监控,独立在数字或物理世界中执行长周期的复杂任务。 但是目前这条路径面临着难以逾越的瓶颈:模型缺乏系统二的"慢思考"能力与自我纠错机制。在解决从未见过的边缘情况时,它的概率性的本质导致它极其容易脱轨。 因此,在模型能够通过反思性训练实现自我迭代之前,全自主 Agent 只能在极低风险的沙盒环境中运行,无法应用于现实世界的复杂场景。 十四、九的行军:从演示到产品的鸿沟 除了技术瓶颈,工程化落地还面临着 演示与产品的鸿沟 。 基于在特斯拉自动驾驶团队长达五年的经历,卡帕西提出了 AI 工程化领域最残酷的定律: 九的行军(March of 9s) 。 这个法则从数学上粉碎了"演示即产品"的幻想,揭示了从 90% 的演示成功率迈向 99.999% 的产品可靠性之间,横亘着指数级上升的工程难度。 九的行军 在软件2.0时代,构建一个令人惊艳的演示是简单的。只要模型在某一次运行中成功,它就可以被录制下来并且在社交媒体上获得病毒式的传播。 然而,构建一个可交付的商业产品,要求模型在所有情况下都必须可靠运行。卡帕西将这个过程量化为 九的行军 : 第一个九(90%) :早期的 Waymo 演示或者现在的 Agent Demo,看起来很美,但是在现实中每十次操作就会失败一次,完全不可用 第二个九(99%) :需要几倍的数据清洗与边缘场景的挖掘 第三个九(99.9%) :模型开始遭遇长尾分布的残酷打击,解决这 0.9% 的问题所需要的算力与数据,往往会超过前 99% 的总和 第五个九(99.999%) :这是自动驾驶与金融级 AI 的准入门槛。在这个阶段,错误往往由极度罕见的物理现象或对抗性样本触发 卡帕西警告,当前的软件3.0应用大多还停留在 第一个九的狂欢中 。许多初创公司低估了尾部风险的破坏力。对于容错率为零的领域,AI 在未来很长一段时间内将长期处于辅助确认的地位。 那些试图忽略"九的行军法则"、直接将概率模型部署于安全关键系统的行为,不仅是不负责任的,更在工程逻辑上是注定无法收敛的。 十五、模型坍塌与热力学平衡 回到我们之前提到的模型坍塌风险,这个问题在 Agent 的长期演进中显得尤为关键。 随着大语言模型生成的合成数据开始充斥互联网,AI 面临着一种类似热力学"热寂"的终极风险。卡帕西从信息熵的角度论证:如果缺乏人类新数据的注入,封闭的 AI 自我训练循环将导致智能的退化。 模型坍塌的物理机制 模型坍塌的物理机制在于:AI 生成的数据,本质上是训练数据分布的 平均值或模态 。 虽然单个样本看起来语法完美、逻辑通顺,但是从统计学上看,这些数据的方差与熵远低于真实的人类数据。AI 倾向于输出安全、平庸而且高概率的回答,而过滤掉了人类思维中那些疯狂、边缘但是极具创造性的低概率样本。 如果 GPT-5 使用 GPT-4 生成的数据训练,GPT-6 使用 GPT-5 的数据训练,就会导致数据分布的尾部彻底消失,模型将收敛到一个极其狭窄的智力子空间中。 卡帕西将它比作"哈布斯堡王朝的下巴"——因为基因多样性的丧失而导致了畸形。 人机共生的必要性 在这个推演下,人类产生的数据成为了对抗 AI 熵减的 唯一负熵源 。 人类独特的不连续思维与非理性创造,是维持数字宇宙多样性的关键燃料。因此,AI 不会在一个封闭的数字真空中通过自我博弈无限进化成神。相反, 人机共生不仅是伦理选择,更是维持智能系统热力学平衡的物理必要 。 未来的数据工厂,将是人类负责生产高熵的灵感,AI 负责将它扩展为低熵的产品,二者缺一不可。 十六、应对策略:基础设施、教育与人类定位的重构 面对这场不可逆的技术革命,我们该如何重构基础设施、教育体系以及人类自身的定位呢?卡帕西给出了一个清晰的应对策略。 基础设施层面:从为人设计向为Agent设计 互联网必须经历一次从为人设计向为 Agent 设计的底层协议重构。 当前的互联网基础设施,充斥着 CSS 样式、弹窗广告与 JavaScript 动态加载的 HTML 页面——它们对于 AI Agent 而言是极度低效的噪音。为了适应大语言模型操作系统的感知模式,新的标准与协议正在崛起。 llms.txt协议 它被定义为"AI 时代的站点地图"。 在当前的 Web 架构中,robots.txt 协议主要用来告诉爬虫什么不能抓取——这是一种防御性的、做减法的逻辑。 而 llms.txt 是一个位于网站根目录的纯文本文件,专门为大语言模型操作系统的"视觉皮层"设计。它剥离了所有为人眼设计的 UI 噪音,仅仅保留了核心的、高信噪比的知识拓扑与语义链接。 对于企业而言,llms.txt 协议是 SEO 向 AIO(AI Optimization)转型的关键抓手。如果一个文档库无法被大语言模型操作系统高效地解析,那么在未来的代码生成与智能问答中,该产品将在认知层被彻底隐形。 这不仅是格式的变更,更是信息分发权力的转移——从争夺人类的眼球转向争夺模型的上下文窗口。 MCP协议 如果说 llms.txt 协议解决了 Agent 的阅读问题,那么 MCP 的目的是为了解决 Agent 的行动难题。 当前的痛点在于:Agent 在尝试调用外部工具时,往往面临着接口不标准、鉴权复杂、参数幻觉等问题。每个 SaaS 平台都需要为不同的模型编写特定的插件,这导致了极高的集成熵。 而 MCP 标准会将互联网服务封装为一组标准化的、具有明确类型定义的工具描述符,让 Agent 能够像调用本地 Python 函数一样,通过 JSON Schema 精确地调用云端 API。同时,它允许 Agent 实时查询系统的当前状态,从而在规划阶段将物理世界的约束纳入考量。 卡帕西推演,未来的互联网将分裂为两个平行的维度: 表层网络 为人类设计,强调视觉体验、情感交互与多媒体呈现 深层网络 为 AI 设计,由 llms.txt、MCP 接口与向量索引构成——这是一个纯粹的、高速的、无摩擦的数据交换网络 人类在这个网络中是旁观者,而数以亿计的 Agent 将在此以光速进行信息套利与任务协作。 上下文构建器 此外,鉴于大语言模型操作系统的内存具有稀缺性与昂贵性,如何将现实世界的海量信息高效地加载到内存中,成为了新的工程挑战。 卡帕西特别提到了 Gitingest 这类 上下文构建器 工具的兴起。它们充当了现实世界与模型内存之间的预处理器或编译器。 例如,Gitingest 能够将一个包含数万个文件的复杂 GitHub 仓库,通过树状结构分析、去重、压缩,最终编译为一个单一的、对提示词友好的文本流。 如果说大语言模型是 CPU,上下文窗口是缓存,那么 上下文构建器就是内存控制器 ——它决定了哪些信息有资格进入思考的核心区域,直接决定了推理的质量与成本。 教育层面:从知识灌输向思维训练 面对 AI 对知识获取方式的降维打击,卡帕西提出,教育体系必须经历一次从知识灌输向思维训练的彻底重构。未来的教育不再是填充水桶,而是点燃火焰。 导师的规模化与苏格拉底式教学的复兴 AI 导师的核心价值,不在于解答问题,而在于提问。 卡帕西理想中的 AI 教育,不是 ChatGPT 式的直接给出答案,而是模拟一位耐心的苏格拉底。AI 通过多轮对话,精确诊断学生的 最近发展区 (也就是学生刚好能理解但是又具有挑战性的认知边界),然后根据学生的反馈,实时生成个性化的知识坡道。 如果学生不懂导数,AI 不会背诵定义,而是会退回到速度与加速度的物理直觉;如果学生理解了,AI 会立即拆除脚手架,推向更抽象的极限概念。 这种自适应的颗粒度,是人类大班教学所无法实现的。 课程设计的物理学:回归第一性原理 卡帕西极力推崇 第一性原理的教学法 ,并且以自己的 micrograd 项目为范本。 主流的深度学习教材,往往充斥着 PyTorch 的复杂 API、CUDA 优化与工程细节——这些在他看来都是噪音。而 micrograd 仅用一百行的 Python 代码,就从零构建了一个支持反向传播的神经网络引擎。 教育的任务,就是从复杂的现实信号中提取出"基本频率"——也就是事物最底层的、不变的因果逻辑。 一旦学生掌握了基本频率,所有的工程变体都只是这个核心逻辑的展开。 在 AI 能够生成完美但是虚假内容的时代,唯有掌握了第一性原理的学生,才具备逻辑校验的能力。他们不需要记忆公式,因为他们能随时推导公式。这种推导能力,是人类在认知层面上对抗 AI 幻觉的最后一道防线。 人类在AGI时代的终极定位 最后,也是最核心的一点:人类在 AGI 时代的终极定位是什么呢? 当逻辑、编码、甚至艺术创作都可以被算法低成本的生成时,人类的价值究竟何在呢?卡帕西从技术哲学的高度给出了答案。 他认为,人类的核心价值在于: 1. 对意图的垄断权 虽然 AI 在执行层面已经通过软件2.0和3.0实现了对人类的超越,但是在意图的生成上,AI 依然是空心的。 AI 可以写出完美的代码,但是它不知道为什么要写这个软件 AI 可以生成绝美的画作,但是它没有想要表达某种情感的冲动 这意味着,未来的稀缺资源不再是解决问题的能力,而是 定义问题的能力 。人类应当放弃在工具层面的内卷,转而专注于磨练提出好问题、定义高价值目标以及审美判断的能力。 2. 保持高熵思维的能力 同时,模型坍塌理论告诉我们:AI 倾向于收敛到概率分布的中心,生成同质化、低熵值的内容。 为了维持整个智能系统的热力学平衡,人类必须成为 负熵的提供者 。这意味着我们应当鼓励那些非理性的、直觉的、甚至是疯狂的思维跳跃——这些在统计学上被视为离群点的数据,正是 AI 无法通过自我迭代产生的创新火种。 最强的智能形式,不是纯粹的硅基 AGI,而是 高熵的人类意图加上低熵的 AI 执行的共生体 。在这个共生体中: 人类负责在可能性的荒原中插旗 AI 负责在旗帜下铺设高速公路 总结 最后,我们总结一下卡帕西的核心思想: 他并非在预测 AGI 的速成,而是揭示了计算范式从确定性代码向概率性意图转移的物理必然。 软件3.0的确立与大语言模型操作系统架构的成型,标志着 AI 已经从单一的工具演变为新的底层计算平台。但是工程的现实表明,当前模型的锯齿状智能与全自主 Agent 所需的可靠性之间,仍然存在显著断层。 九的行军法则 告诉我们:在解决反思性训练与多模态交互之前, 钢铁侠战衣是短期内唯一可行的商业落地路径 ,而钢铁侠机器人则属于长期的研发愿景。 在基础设施层面,随着 llms.txt 与 MCP 协议的推进,互联网正在经历从人读向机读的标准化重构。同时,硬件架构将迎来从云端集群向 Apple Silicon 统一内存的回归,配合十亿参数的认知核心,实现本地化的低延迟推理。 在这个进程中,人类的角色将被严格定义为系统的负熵源与意图定义者。面对合成数据可能引发的模型坍塌风险,人类所提供的非连续性思维与基于第一性原理的逻辑校验,构成了维持智能系统热力学平衡的必要条件。 这不是一场科幻叙事中的技术突袭,而是一场基于物理规律的技术迭代——一场漫长但是终将到来的革命。 感谢收看本期视频,我们下期再见! 提示词-prompt-自然语言接口 虽然我认为研究LLM心理学是没有意义的行为,但是更好得让工具为你服务是我的目的 prompt 最好是正面的,不要通过否定的方式来提示,而是采用直接的表达方式 尽量准确,详细得描述要求,举例是一个非常有效的手段 给模型赋予 “专业身份”,直接加强相关领域的权重 分步引导:复杂任务拆分为 “多轮子任务” VLA & 世界模型 VLA(Vision - Language - Action):视觉 - 语言 - 动作模型 视觉编码器 + 语言编码器 -> 多模态融合与推理引擎 -> 动作解码器/头 范式一:端到端训练的单一大模型 视觉编码器、LLM、动作头 联合训练 使用大规模的机器人操作数据进行微调。 动作被直接表示为LLM词汇表的一部分(例如,将动作空间离散化为256个“动作词”)。 范式二:高效适配的轻量级架构 冻结预训练好的视觉编码器和LLM 在中间插入一个 可训练的多模态适配器 只训练一个轻量级的动作头 端到端的算法 世界模型(World Model) [图像 + 指令] → 感知模块 → [结构化场景表示:物体、3D姿态、属性...] → **显式世界模型(可学习的模拟器)** → 规划器(利用世界模型进行模拟搜索) → 控制器 → [输出动作] 世界模型是在VLA的基础上,增加一个显式世界模型,用于理解和预测真实的物理世界 输入输出包括所有的物理显示,视频,声音,动作,压力等等 显式地 构建一个可学习、可解释、能进行精确物理预测的世界模型,然后用它来驱动规划和行动 场景:一个骑着电动车的人从公交车头“鬼探头”冲了出来。汽车从容踩下刹车,避免了一场事故 需要一个及其动态的,实时的,最优判断的算法,不是基于有限的人工规则的 信息的抽象等级,直接和世界模型能预测未来时间的长短相关,高层级的概念会一直贯穿(执行)很长一段时间 人类语言是AI的非常好的一种接口 虽然人类语言看似比较复杂,但是他的 表达灵活性非常的高 ,能表达任何东西,人类所有的知识科学都是通过语言来表达的 所以一旦有了足够的样本数源就是一种 非常有性价比的接口 。 世界模型其实也是利用了这种特性,只不过把语言替代成了任意的数据,包括视频通过输入无限多的视频样本, 让模型学习到物理规律,然后直接输出视频,代表预测的结果 拟人 端到端不能做到,就分层,视觉运动反馈,视觉识别, 语言识别, 大小脑分离,本地小脑小模型,云端大脑大模型 视觉就应该是卷积 先说观点,当前所有的科研人员都研究Transformer去了,但是卷积才是视觉的最高效的特征提取(编码)算法。 大模型评测 私人LLM评测 数据集和结果 背景 小众评测,避免各种开源的测试题目泄漏,数据污染问题 能客观、精确得反映出模型的能力 尽量反映其基础逻辑能力,而不是一些需要特殊数据训练才能获得的能力 镜像文字识别 基于知识类的 分类 对文章进行逻辑分析的测试 逻辑推导:结论,推导,结果,答案,目的 逻辑依赖:原因,证明,背景,理由,条件,要求 逻辑等价:相似 逻辑拆解:包含,分类,示例,解释,补充,修饰,方法 同义句判断 设计一堆的同义句 让AI判断两个句子之间的相似性,进行对比。 自洽性的评测标准 说对比两个句子的相似性,然后把两个句子调换一个顺序再问AI 权重的直接思考能力,用1个token直接回答问题 请直接回答Yes或者No,不要调用工具,996563大于365336 请直接回答Yes或者No,不要调用工具,9.11>9.9 编程能力 Anthropic 编程面试题 https://github.com/anthropics/original_performance_takehome/blob/main/problem.py 通过 https://github.com/deepreinforce-ai/IterX-tutorials/tree/main/anthropic_take_home 编排的Anthropic 编程面试题 评测软件开发的架构能力 不仅仅是补全的能力,而是能对需求进行高层级抽象 能理解整个工程的高层级抽象思想 卷积计算的测试 下面这个卷积网络,的算力需求大概是多少 Mops , 权重是多少K 个 注意 stride , pooling 以及 深度可分离卷积 的参数 请直接输出一个表格, 输入是 16000 , 分析每一层的输出尺寸 根据你提供的配置参数,这是一个典型的 1D 卷积神经网络(常用于音频原始波形处理)。 conv_dim: Tuple[int, ...] = (8, 16, 32, 64, 128, 256, 16) # Progressive increase to 512 conv_kernel: Tuple[int, ...] = (10, 3, 3, 3, 3, 2, 2) # First layer larger kernel conv_stride: Tuple[int, ...] = (5, 2, 2, 2, 2, 2, 2) # First layer larger stride conv_bias: Tuple[bool, ...] = (False, False, False, False, False, False, False) conv_padding: Tuple[int, ...] = (0, 0, 0, 0, 0, 0, 0) # Disable depthwise for stability conv_use_depthwise: Tuple[bool, ...] = (False, False, False, False, False, False, False) # Reduce pooling - only 2 layers conv_use_pool: Tuple[bool, ...] = (False, False, False, False, False, False, False) # Disable residual for now (can cause gradient issues) conv_use_residual: Tuple[bool, ...] = (False, False, False, False, False, False, False) conv_pool_type: Tuple[str, ...] = ("avg", "avg", "avg", "avg", "avg") conv_pool_kernel: Tuple[int, ...] = (2, 2, 2, 2, 2) conv_pool_stride: Tuple[int, ...] = (2, 2, 2, 2, 2) conv_pool_padding: Tuple[int, ...] = (0, 0, 0, 0, 0) 不思考,不联网 豆包 20260228:106.45K  136.01Mops Hunyuan 20260228:2440 K   3722 MOPs DeepseekV3.2:98,448​  ~1.59​ MOPs GPT-5.2:106,448    16,324,528MACs   32.649 Mops GLM-5:约 16.33 Mops   约 106.45 K Qwen3.5-Plus:139.2 K (139,216 个参数)   约 19.7 M (19,712,000 次乘加运算) kimi k2.5:106.688 K (约 107K)  10.99 Mops (约 11 Mops) Claude-Haiku-4.5:~106.4K个参数  ~620.5 MOps(在32位浮点下) Claude-Sonnet-4.5:106.4K 个参数  16.33 MOps Claude-Opus-4.5:106.45 K  16.33 MOps 思考 Gemini-3-Flash:106.45 K  32.66 Mops DeepseekV3.2:~105.4 K ~58.1 Mops​ 豆包 20260228:106.45 K(千个)  16.33 Mops Minimax-M2.5:106448(约104K)16328752(约16.33M)   思考特别长 GLM5:约 106.45 K (106,448 个)   约 16.33 M     思考特别长 复杂工程的实践测试 Test1 git : http://deve.work:33333/colin/mde.git commit : c61827061d6a34cbd2ca2fae62b59fcb780f192e prompt : 在vscode里面打开一个markdown非常慢,每次打开一个文件都要白屏很久 fix commit : 3e64dfab0643fecc583bb1e77467373d7e43854e 答案: Lute 双重加载 (3.8MB) 之前的代码在