Reddit 开发者公开 2.6B「Engram」模型架构与训练进展
r/LocalLLaMA 用户公开一款 2.6B 参数实验模型,采用 4.3B「Engram 表」+ 冻结 LM Hea…
r/LocalLLaMA 用户 u/NineThreeTilNow 在帖子中更新了一款名为「Engram」的实验性 2.6B 参数小模型。模型在仅训练约 1 亿 token 的早期阶段,作者便公开了完整的架构设计与初步生成样本,供社区检验「把事实记忆从主干卸载到大查表」这一思路是否成立。
模型规格与训练状态
根据作者给出的配置,模型最终形态如下:
- 总参数:2.6B(包含 Embedding、LM Head、Attention Residuals 等)
- 可训练参数:2.2B,其中 Embedding 与 LM Head 被冻结(约 205M 各自),不再更新
- Engram 表:4.3B,作为外挂的事实查表模块,体积甚至超过主干
- 当前训练进度:刚刚越过 1 亿 token 标记,作者称仍在持续推进
作者坦言目前仍未找到愿意赞助算力的提供商,Verda 未回应、Qubrid 口头答应后未跟进,模型目前在 Massed Compute 上训练。
架构核心思路:「主干算力 + 表查记忆」
模型采用 SWA(Sliding Window Attention)以 3:1 的层比例铺设,配置为 4k / 4k / 8k 的局部窗口搭配全局层;共 10 个 block 加 1 个最终全局层,总计 41 层。Engram 表出现在第一个 block(4 层)之后,使用极少量注意力头进行「上下文感知的查表注入」,而非盲目写入。
更关键的是引入了 Moonshot 提出的 Attention Based Residuals(AttnRes)机制:所有第 1 个 block 之后的层都能通过残差流中的注意力,按需决定从 Engram 表中读取多少事实信息。这一设计的目标很明确——把「无聊的事实记忆」从主干算力中剥离,腾出空间给推理。
作者还解释了若干工程取舍:
- 不冻结更激进的方案:DeepSeek 的研究在理论上支持更大表,但尚未见成熟先例。
- 冻结 LM Head / Embedding:通过 SVD 将 OLMo 3 的对应模块从约 5k 维压缩到 2k 维,节省大量训练时间。
- 知识蒸馏格式:教师模型(OLMo 3)在 Wikipedia 语料上以 KD 形式给出 32 个 soft logits,而非 one-hot 硬标签,作者认为这样比硬交叉熵温和得多。
早期生成样本与观察
作者在 100M token 处直接对模型做了若干补全测试,观察 Engram 是否确实在承担事实存储:
- 「George Washington was an American」——开启 Engram 时输出稳定的事实扩展,关掉 Engram 后退化为重复句式。
- 「The American Civil War was a civil war in the United States from」——开启与关闭 Engram 都能产出时间区间,但开启版本更连贯。
- 「Aristotle was an Ancient Greek」——开启 Engram 时正确识别为「哲学家」,关闭后则把 Aristotle 误解为一个希腊语单词。
作者据此得出一个直接判断:当某段事实在训练中被反复见过,模型会逐渐把它「卸载」到 Engram 表里,主干不再需要消耗内部表征空间去记忆它。他强调这并非解释性猜测,而是数据上观察到的现象。
另外值得一提的是,由于早期 Wikipedia 内容偏哲学,模型在 100M token 阶段对哲学主题的 Engram 命中率明显高于其他领域。
局限与社区反馈
需要明确的是,这是一个来自个人开发者的实验项目,而非正式论文或厂商发布:
- 仍处于训练早期,尚未发布完整权重,仅放出约 104M token 的 checkpoint。
- 没有公开的 benchmark 或与同尺寸模型的系统对比。
- 算力赞助尚未落实,后续能否完成训练存在不确定性。
- 全部 checkpoint、数据与配置文件已上传至 Hugging Face 仓库,感兴趣的社区成员可以自行复现与检验。
