“具体是哪家公司或者哪个团队做的,没提。“
中年研究员沉默了一会儿。
“算了,不管是谁做的。“
他说:
“好用就行。“
“反正总比用国外的模型强。“
“起码数据安全有保障。“
......
......
类似的对话。
在这一天的津门各处不断发生。
政务中心、高校、科研院所、企业......
各行各业的人都在讨论这个神秘的YH-30B。
有人好奇它的来历。
有人猜测它的背后是谁。
但绝大多数人。
只是单纯地惊叹于它的效果。
而那些猜到了“YH“可能代表“演海“的聪明人。
大多选择了沉默。
陈林和演海平时异常低调,人家不宣传必有原因。
既然如此。
那就用着就好了。
没必要多嘴。
......
......
3月20日。
周五。
春分。
下午4点55分。
演海公司办公室。
陈林和沈妍两个人的脑袋凑在电脑屏幕前面。
这已经成为了这几天的常态。
在完成了YanHai-30B大规模推理服务的开发以后。
演海公司还是按照原定计划进行YanHai大模型和神经发育程序融合算法框架的开发。
当然,陈林和白迁、潘思经过商量以后。
把潘思原定的开发计划时间增加了两周。
因为现在每天需要分出一个人对已经上线的YanHai-30B的服务进行运维。
这个工作由演海的5个技术人员进行轮流值班。
而之前就确定好的,陈林和沈妍一组,负责进行梯度版NDP的研发。
因为整个梯度版NDP的数学推导陈林已经在之前邮件的文档里写得很详细了。
所以这两天沈妍已经认真把文档中陈林写的梯度版NDP的数学推导吃透。
主要包括以下几个部分:
第一,核心架构:分布式三元模型。
梯度版NDP由三组共享权重的多层感知机组成。
这组参数在所有神经元中完全一致。
体现了生物基因组的普适性。
图细胞自动机(第一组多层感知机):作为消息传递的核心。
在每个发育周期中,它负责接收邻居节点的信息并更新节点自身的n维潜向量。
复制模型(第二组多层感知机):查询当前节点状态,预测该节点是否应该进行复制。
如果触发复制,新节点会连接到父节点及其直接邻居。
权重预测模型(第三组多层感知机):针对加权网络,该模型输入两个节点嵌入向量的拼接,输出它们之间连接的具体权重。
第二,发育逻辑与算法流程。
梯度版NDP的发育是一个离散的循环过程。
具体步骤如下:
初始化:从一个“种子图“开始(通常是单个节点或连接输入输出的极小网络),并为初始节点采样/进化出一个随机嵌入向量。
局部通信:计算当前网络的直径D,并通过图卷积进行D步状态传播,确保局部信息的流动。
节点倍增:复制模型R识别处于生长状态的节点。新增节点的嵌入向量定义为其父节点嵌入向量的平均值。
连接与剪枝:权重模型W基于节点对的嵌入向量更新连接强度。
剪枝机制:若启用剪枝,权重低于阈值P的边缘将被移除,从而优化拓扑结构。
目标评估:发育完成后,将生成的图作为策略网络进行任务评估(如CartPole的平衡时长),计算适应度(Fitness)。
第三,数学特性与优化策略。
黑盒优化:由于发育过程(如节点增加、剪枝)包含非连续操作,研究者采用了CMA-ES(协方差矩阵自适应进化策略)进行参数优化。
参数量恒定:无论最终生成的神经网络规模多大,NDP自身的参数量是恒定的(由三个小型MLP的权重决定),这实现了极高的信息压缩比。
激活函数转换:在发育阶段,节点状态是n维向量;但在推理阶段,节点执行标量运算(ℝ¹),初始激活值设为零。
“......差不多就是这样。“
陈林把沈妍的问题讲解完了。
侧头看了一眼。
沈妍还在盯着屏幕思考。
好看的眉头微蹙。
长长的睫毛轻轻颤动。
陈林不经意向下瞄了一眼。
两人的小腿不知道什么时候贴在了一起。
初春时节,春寒料峭,两个人都穿着长裤,陈林倒是早就察觉了。
但是沈妍似乎完全没有在意。
从刚才开始就一直保持着这个姿势。
全神贯注地听陈林讲解。
陈林也没有刻意躲开。
反正又不是什么大不了的事。
“我大概理解了。“
沈妍的声音把陈林的注意力拉了回来。
她转过头。
目光和陈林对上。
距离很近。
近到陈林能看清她眼睛里自己的倒影。
还有那若有若无的淡淡香味。
清幽的那种。
和云清家里闻到的完全不一样。
“但是有一个地方我还是不太明白。“
沈妍没有注意到陈林的走神。
她指着屏幕上的某一行公式:
“这里的梯度回传。“
“你在文档里写的是用PPO进行优化。“
“但PPO本身是一个强化学习算法。“
“它和我们现在要做的监督学习任务......“
“怎么结合起来?“
陈林收回心神。
看向她指的那行公式。
“这是一个好问题。“
他说:
“传统的PPO确实主要用在强化学习场景里。“
“但我们可以把NDP的发育过程本身看作一个'决策序列'。“
他拿起旁边的笔。
在草稿纸上画了一个简单的示意图。
“你看。“
“每一步发育,都是一个决策。“
“比如'这个节点要不要复制'、'这条边的权重是多少'......“
“这些都可以看作是'动作'。“
沈妍若有所思地点了点头。
“所以......“
她顺着陈林的思路往下想:
“发育完成后模型的表现,就是'奖励'?“
“没错。“
陈林赞许地看了她一眼:
“你理解得很快。“
沈妍的耳尖微微泛红。
但表情依然认真。
“那PPO的优势函数怎么定义?“
她继续追问:
“传统的PPO用GAE(广义优势估计)。“
“但在NDP的场景下......“
“似乎不太适用?“
陈林笑了笑。
这正是他在文档里重点阐述的创新点之一。
“所以我改进了一下。“
他在草稿纸上写下一个新的公式。
“传统的GAE需要对每一步的奖励进行估计。“
“但NDP的发育过程是离散的,而且每一步的贡献很难单独量化。“
“所以我换了一种思路。“
他指着公式:
“不再试图估计每一步的贡献。“
“而是把整个发育过程看作一个整体。“
“用最终的模型表现作为唯一的奖励信号。“
“然后用一种类似于'信用分配'的机制,把这个奖励回传给每一步的决策。“
沈妍盯着那个公式看了好一会儿。
眼睛越来越亮。
“我懂了!“
她的语气里带着几分兴奋:
“这有点像......把NDP的整个发育过程当作一个RNN来处理?“
“每一步的'隐状态'就是当前网络的拓扑结构和节点嵌入。“
“最后一步的输出就是最终生成的模型。“
“然后用BPTT(时间反向传播)的思路来更新参数!“
陈林听到这话。
微微有些惊讶。
沈妍的理解能力确实很强。
她虽然不是计算机专业的。
但这几个月自学下来,进步非常快。
刚才那个类比,甚至连陈林自己都没有想到过。
但仔细一想,确实很贴切。
“可以这么理解。“
陈林点了点头:
“虽然实现细节上有一些区别。“
“但核心思路是一样的。“
沈妍满意地点了点头。
她把陈林刚才的讲解记到自己的笔记本上。
字迹工整,一丝不苟。