桃子桃子快讯
←返回首页
开源

社区尝试将大模型 n-gram 记忆迁移到 0.8B 小模型

一名开发者在 Kaggle 免费资源上,将 Qwen 系列大模型的 PLE n-gram 记忆注入 Qwen3.5-0.…

2026.09.25 · 周五约 5 分钟阅读

近日,Reddit 用户 Ninnix96 在 r/LocalLLaMA 板块分享了一项个人实验:尝试将一个参数量更大的 Qwen 系列模型(作者称其为 Qwen3.8 Flash-Next)所带的预训练 PLE n-gram 记忆,注入到体量更小的 Qwen3.5-0.8B 中,希望在不微调主干的前提下提升后者的语言建模表现。实验主要在 Kaggle 免费 GPU Notebook 上完成,作者已将模型权重、训练与评测代码、以及修改版的 llama.cpp 推理实现开源。

需注意的是,作者使用「Qwen3.8 Flash-Next」「Qwen3.5-0.8B」等命名与目前公开可见的 Qwen 系列官方版本号并不一致,是否指代真实存在的官方模型或实验变体仍有待核实。以下仅如实复述原帖所述方法与数据。

实验设计

作者冻结了两个核心组件:

  • Qwen3.5-0.8B 主干:保持预训练参数不变,不做任何微调。
  • 约 51B 参数的 PLE 记忆:以「外置量化旁挂(sidecar)」的形式存在,不被合并进主模型 GGUF。

在此基础上训练一个轻量的 R=1 reader,分别插入到解码器第 3 层与第 9 层,并通过一个依赖当前 token 的线性门控(gating)控制记忆在后续层的注入强度。

验证结果

在冻结的全量验证集上,对比基线与最终平衡检查点(reader 训练了约 1500 万 token)得到:

  • Qwen3.5-0.8B 基线:NLL 2.905585,PPL 18.2759
  • Qwengram-0.8B:NLL 2.853786,PPL 17.3534
  • 困惑度下降约 5.05%

作者特别强调,这只是语言建模困惑度层面的收益,并非宣称下游基准准确率也提升 5%。

关键消融发现

  • 真实的预训练 PLE 优于随机记忆与置换记忆对照组,说明记忆内容本身具有价值。
  • Reader 在 500 万 token 后仍在持续降低训练损失;扩展到 2000 万 token 时聚合 LM 损失进一步下降,但数学任务出现回退,因此 1500 万 token 被选为平衡点。
  • 固定的晚层记忆注入会损伤 LAMBADA,改为动态 token 级仲裁后可恢复大部分表现。
  • 门控在不同 token 上的记忆强度差异显著,并非退化为一个简单学到的常数。
  • 在相同记忆预算下,学习得到的 token 位置分配优于随机分配。
  • R=4 的 warm-start reader 带来小幅 LM 损失改进,但伴随代码与数学能力回退,故最终保留 R=1。

量化与推理

作者额外在固定的 WikiText-2 GGUF 运行时测试了量化保持度:Q8_0 保留了 BF16 reader NLL 增益的 99.1%。需要指出的是,这是另一项运行时测量,并非上文冻结验证集基准。

推理路径已移植到 llama.cpp,GGUF 中包含主干、训练好的 reader 与仲裁张量;51B 量级的 PLE 记忆以「外部量化旁挂」形式加载。

开源与作者说明

作者公开声明自己是该工作的作者,并坦言英语非母语,使用 AI 协助润色文稿;实验本身也在 ChatGPT Sol 等编码 Agent 帮助下完成,作者负责实验设计、决策与结论审核。下一步他希望在 35B-A3B MoE 主干上验证该方法,但受限于免费 Kaggle 算力,暂时无法推进。

评价与局限

这是一项典型的个人社区实验,受限于免费 GPU、单一验证集与下游任务覆盖不足,结论的泛化性尚需独立复现。5% 的困惑度下降在语言建模维度上有意义,但能否转化为下游任务收益仍未验证。此外,所使用的主干与 PLE 来源模型命名与官方 Qwen 版本号有出入,读者在引用前宜先核对原始权重的真实身份。

信源