FLM 研究将果蝇完整神经系统(16.7 万神经元、2560 万突触)接入冻结的 1.2B LLM backbone,仅训练 27.8 万参数。论文设置了四个严格对照,结论是图结构接入反而不如同等规模的无图基线,对「类脑架构必然优于 Transformer」的假设提出实证挑战,代码 MIT 协议可本地运行。
Fly Language Model(FLM)是一个公开的聊天机器人,它将完整的 MaleCNS v1.0 果蝇连接组耦合到一个冻结的 LiquidAI LFM2.5-1.2B-Instruct 主干网络上。FLM 的开发者将其称为世界上第一个 Fly Language Model,构建在一种名为 GPF(Generative Pre-trained Fly)的架构之上。但它并未使用 GPF 这个标签,明确声明自己并非第一个连接组语言模型,并报告称一个参数匹配的对照组(不接入果蝇图结构)表现甚至略好一些。
可部署:是,可在本地运行。nftechie/flm 仓库采用 MIT 许可证,运行于 Python 3.12(macOS 或 Linux,支持 MPS、CUDA 或 CPU),无需 API Key。
整个系统是一个 reservoir computer(储备池计算器),挂载在一个语言模型之上。MaleCNS 图的全部 166,700 个保留节点和 25,582,938 条有向边均参与其中。图结构、主干网络以及随机的输入输出投影均是固定的。只有一个 278,528 参数的 readout 层是可训练的,这约占 1,170,340,608 个主干参数的 0.0238%。
每个 token 到来时,一个固定的高斯投影将 2,048 维的 token 嵌入压缩到 128 个通道。每个储备池节点接收一个通道,并带有随机符号。整个图随后以下式更新:
x = tanh(W(0.6x + 0.4Bc))
其中 W 持有入站标准化的解剖接触计数。状态被汇入 128 个分箱,通过两个无偏置的可训练矩阵(U 为 128×128,V 为 2,048×128)处理,然后通过冻结的词表头投影为有界的残差,加到主干 logits 上。残差在词表坐标上的 RMS 被限制在 0.25 以内。
在一个全新冻结的 32 条 SmolTalk 日常对话数据集(1,236 个目标 token)上,三次拟合种子给出:
| Condition | NLL (nats/token) |
|---|---|
| Frozen backbone | 1.381995 |
| Fly readout | 1.359816 ± 0.000110 |
| Direct-input readout | 1.359328 ± 0.000108 |
| Relabeled, no refit | 1.381265 ± 0.000802 |
| No edges | 1.381995 |
果蝇 readout 相比主干网络将 NLL 降低了 0.0222 nats per token(困惑度从 3.98 降至 3.90)。但一个直接输入的对照组——将相同的 128 通道 token 投影直接送入一个相同的 readout(不经过图结构)——在所有 3 个种子中均表现更好,差距为 0.000488 nats per token。配对 bootstrap 区间(+0.00000502 到 +0.00104)不支持存在果蝇特有的增益。
另外两个对照组也很重要。将 W 设为零会精确消除残差,复制主干的 per-token 损失,证明图结构确实参与了计算。在不重新训练的情况下对节点身份重新打标签,NLL 接近基线,这说明 readout 依赖于它学习到的接口对齐,而非果蝇拓扑结构优于随机连线。
研究报告还证明了递归最多将初始状态差异收缩 0.6 per token。10 个 token 后这个界限是 0.00605;20 个 token 后是 0.0000366。塞进 166,700 个细胞也买不到长期记忆。上下文仍然来自主干网络。
研究报告引用了 ngxson/fly-hf,这是一个更早的原型,使用 MaleCNS 的 49,393 个细胞中央脑子集作为储备池,在没有预训练主干的情况下在 TinyStories 上训练,并明确声明自己不是第一个基于连接组的语言模型。FLM 的区别在于规模(完整的保留图结构)和冻结主干的设计——这使得语言能力的来源可以识别。
完整 166,700 节点的果蝇连接组驱动一个冻结的 LFM2.5-1.2B;仅有 278,528 个参数可训练。
果蝇 readout 将 NLL 降低 0.0222 nats/token,但无图结构的对照组在每个种子中都胜过它。
断开连接精确地将残差清零;重新打标签则破坏了它。图结构参与了,但它并没有获胜。
状态每 token 以 0.6 的速率遗忘,因此连接组并没有增加长程记忆。
MIT 代码可在 Python 3.12 本地运行;研究 artifacts 保持私有,因此结果尚无法独立复现。
查看论文、GitHub 仓库和在线演示。也欢迎在 Twitter 上关注我们,不要忘记加入我们的 150k+ ML SubReddit 并订阅我们的通讯。等一下!你用 telegram 吗?现在也可以加入我们了。
想与我们合作推广你的 GitHub 仓库或 Hugging Face 页面或产品发布或网络研讨会吗?联系我们