Fractale-350M-base: memory as trained behaviour instead of long context, a fully open research release
摘要
Fractale-350M-base 是一个386M参数的基础模型,从零开始预训练,采用新颖的训练快速权重记忆库(8个向量)替代长上下文,完全开源,包括权重、代码和研究日志。
有些人可能还记得我关于背后研究项目的帖子:一种经过训练的快速权重记忆,论文和完整研究日志在 github.com/kkuette/thought-bank。这是后续。系列中的第一个公开模型已发布。
简要背景:独立研究者,一块 RTX 3090 用于所有低于 97M 参数的工作,公开与 Claude 合作进行实现和撰写。方向与判断由我负责。
它是什么。
Fractale-350M-base 是一个 386M 参数的基础模型,从零开始预训练,使用 10B tokens(代码 + 英文网页)围绕一个想法:模型唯一的长期记忆是一个由 8 个向量组成的库,它自己写入,每个 512 token 块一个要点向量,最旧的 FIFO 驱逐。该库作为快速权重被读回:每个槽位通过超网络扩展成一个小的低秩 MLP,token 流经过其中。不是检索,也不是对存储文本的注意力。记忆成为前向传播的一部分。上下文窗口故意很小(512 token 块)。每个块是一个独立的前向传播,因此任何比当前块更早的内容只能通过那 8 个向量影响预测。预训练目标迫使库变得重要:仅从库(空白输入)预测文档下一个从未见过的块的开头。
可测量的内容。
GAP = CE(重置库)减去 CE(携带库)在保留文档上:代码上 +9.4 nats(CE 12.9 重置 vs 3.45 携带),网页上 +7.3 nats,在最终检查点,从写入 2 到 8 块保持平稳(无 FIFO 悬崖)。并且在训练过程中差距从两侧扩大:仅库分支不断锐化,而无库分支退化,意味着随着预训练进行,模型越来越依赖其记忆。在更小的规模上,精确控制:内容可通过线索寻址,在驱逐后仍存活超过 2000 步,并在文档字符串和代码之间双向传输。从论文(3M 规模机制,Zenodo 上的 DOI):单个 13 token 输入在未见过的查询上以 0.79 到 1.00 的准确率安装一个从未训练过的规则,而测试时训练拟合自己的示例且不转移任何内容,成本是其 138 倍。
它不是什么。
它是一个基础模型,不是聊天模型:没有指令微调,没有对齐,在 386M 和 10B tokens 下,原始流畅度如你所料。库携带要点(领域、语域、结构、声明的事实),而非逐字文本。要求它引用第三行,它做不到。并且 GAP 将模型与没有记忆的自身进行比较,而不是与匹配计算的注意力基线比较。那个强有力论点(是的,我之前在这里承诺过的门控 DeltaNet 那个)存在于研究仓库中。
有趣的部分:记忆是一种你握在手里的状态。
from fractale import BankSession
sess = BankSession.from_pretrained("fractale-lm/Fractale-350M-base")
sess.read(open("long_doc.txt").read()) # any length, no growing prompt
print(sess.continuation(32)) # predicted from the 8 notes ALONE
print(sess.continuation(32, use_bank=False)) # amnesic control: the difference IS the memory
sess.save_bank("doc.bank") # a few kB; restore tomorrow, or transplant into another session
一切都是开放的:模型和卡片(训练混合,包括 NaN 事件)在 huggingface.co/fractale-lm/Fractale-350M-base,使用工具包在 github.com/fractale-lm/fractale,研究日志包含每个声明的精确复现命令在 github.com/kkuette/thought-bank,论文在 Zenodo。仓库还附带一个脚本,可从固定提交(repro/phase1)复现整个预训练。运行总成本:约 320 美元租用的 8xA100 时间,自费。
第二阶段(探索性):教它有意使用记忆。将记忆视为行为的指令微调,然后将库作为工作记忆进行强化学习。乐意回答任何问题,并且真诚地感兴趣当你戳它时什么会坏。
链接
- 权重 + 模型卡片:https://huggingface.co/fractale-lm/Fractale-350M-base
- 使用工具包(推理不同于经典 LM,你携带库状态而不是增长提示):https://github.com/fractale-lm/fractale
- 研究仓库(训练代码、发现、探针):https://github.com/kkuette/thought-bank
- 完整第一阶段复现脚本(8x A100,固定提交):https://github.com/fractale-lm/fractale/tree/main/repro/phase1
相似文章
一种训练好的快速权重记忆:一个3M参数Transformer在推理时安装从未训练过的规则,仅前向传播——其中测试时训练不传递任何内容(单块RTX 3090,完全可复现)
本文介绍了一种用于3M参数Transformer的训练好的快速权重记忆机制,该机制在推理时通过仅前向传播的测试时训练安装从未训练过的规则,且不产生任何迁移。该工作可在单块RTX 3090上完全复现。
[超微发布] - Supra2-Medium-Base - 一款小巧的25M参数模型,性能强劲,可媲美我们之前50M模型!
Supra2-Medium-Base 是一款新的25M参数AI模型,基于qwen3架构,从头训练,在基准测试中表现与更大的50M参数模型相当。
训练了一个在264KB RAM上运行的扩散模型 [P]
一个人训练了一个扩散模型,在只有264KB RAM的Shrike lite微控制器上生成32x32像素的图像,尝试了FPGA加速但遇到了内存瓶颈,导致输出有时是噪声但有时很有趣。
MoNe:用于高效长上下文推理的模块化神经记忆
MoNe 是一个轻量级的模块化神经记忆,它附加到冻结的预训练 Transformer 上,无需重新训练即可实现高效的长上下文推理,显著减少计算和内存使用。
@AdinaYakup: Memtensor Research Group 发布 Metis 记忆基础模型,可能是首个将记忆内化到…的 LLM
Memtensor Research Group 发布了 Metis,这是一个 LLM 系列(4B/9B/27B),将记忆内化到骨干网络中,从而无需外部 RAG。该模型在单次前向传播中完成记忆读写,并以冻结权重的方式部署,如同标准 LLM。