MemoryLLM: Towards Self-Updatable Large Language Models
论文链接: https://github.com/wangyu-ustc/MemoryLLM
发表会议: ICML 2024
作者: Yu Wang et al.
总结 在transformer层之前,额外引入memory pool,维度R^(N×M×L)
其中N为base LLM的transformer层数,例如32;M为每层memory pool每层向量维度,L为原模型hidden size
相当于强行拓展了输入向量的维度,建立memory pool
核心问题与动机
目标问题: 现有LLM部署后参数静态,难以注入新知识 - 传统方案局限:检索方法存储冗余、模型编辑仅限单句、长上下文方法存在容量瓶颈 - 核心需求:实现LLM的持续学习能力,同时避免灾难性遗忘
技术栈架构
1. 双参数系统设计
Model = ϕ (static) + θ (dynamic)
- ϕ: Llama2-7B基础参数 (冻结)
- θ: Memory Pool参数 (1.066B,可更新)
2. Memory Pool结构
- 层级分布: 每层包含7680个memory tokens,维度R^(32×7680×4096)
- 存储机制: Hidden space中的连续向量,非BPE token级别操作
- 注意力集成: 生成时attention map: nx × (nx + 7680)
3. Self-Update机制
# 核心更新流程
e^l_θ = θl[-K:] # 提取最后K个tokens
input_combined = concat([e^l_θ, hl]) # 与新输入融合
output = transformer_layer(input_combined)
e^l_θ' = output[-K:] # 新记忆
θl_dropped = random_drop(θl, K) # 随机删除K个
θ'l = concat([θl_dropped, e^l_θ']) # 更新memory pool
核心创新点
1. 指数遗忘机制
遗忘率 = K/N
N/K步后保留率 = (1-K/N)^(N/K) ≈ 1/e
2. 三阶段训练策略
- 新知识整合: 文档分割训练,50%梯度/50%无梯度
- 连续上下文: 长文档分段注入能力
- 遗忘缓解: 跨文档知识保持训练
实验结果
Baseline与Benchmark
- 模型编辑: ZsRE (79.2 vs ROME 69.3), CounterFactual (75.3 vs 69.2)
- 长上下文: LongBench评测4/6数据集优于baseline
- 记忆保持: 20步更新后仍保持记忆,650K更新无性能退化
技术问题与批判性分析
1. 随机删除vs FIFO删除的设计缺陷
论文选择: 随机删除K个memory tokens
更合理方案: FIFO删除最前面的tokens
问题分析: - 随机删除破坏了时间序列的语义连续性 - 可能删除重要的中期记忆 - 无法真正模拟人类遗忘的时间特性
论文辩护: 声称随机删除保持hidden states完整性,但缺乏充分理论支撑
2. 无监督更新的信息污染风险
风险场景:
# 推理阶段每次都更新参数
for user_input in stream:
response = model.generate(user_input)
model.self_update(user_input) # 无质量控制
潜在问题: - 低质量数据注入: 用户输入、错误信息直接进入记忆 - 对抗攻击脆弱性: 恶意用户可故意污染memory pool - 累积偏差: 无监督更新可能导致模型偏离原始能力分布 - 质量控制缺失: 没有机制筛选有价值的知识
3. 计算成本被严重低估
初始化阶段: - 需要3天×8×A100训练memory pool与原模型对齐 - 对现代大模型(70B+),成本将指数级增长 - 多能力对齐(推理、代码、多语言)训练复杂度极高
部署阶段: - 每次推理都需要处理7680额外tokens - 内存占用增加1B参数 - 注意力复杂度从O(n²)变为O(n×(n+7680))
4. 能力退化的高风险
理论风险: - 现代LLM能力高度耦合,memory pool干扰可能破坏精细平衡 - 无监督更新缺乏能力保护机制 - 长期drift可能导致不可逆的能力损失
实证不足: - 论文仅测试650K更新,对生产环境不充分 - 缺乏多样化任务的长期稳定性验证
5. "新知识完全保留"的误导性表述
实际机制: - 仅在当前更新步骤不被删除 - 后续更新仍受随机删除影响 - 无法提供长期保护保证
设计哲学评价
优点
- 创新思路: 将记忆机制嵌入transformer内部
- 实时更新: 避免重训练的部署友好性
- 理论基础: 模拟人类记忆的指数遗忘
根本缺陷
- 质量控制缺失: 无机制区分有价值vs无价值信息
- 安全性不足: 易受信息污染和对抗攻击
- 成本被低估: 初始化和部署成本都被严重低估
- 稳定性风险: 长期无监督更新的不可预测性
后续研究方向
改进建议
- 增加质量门控: 引入知识质量评估机制
- FIFO遗忘策略: 改进删除策略保持时间连续性
- 能力保护机制: 添加关键能力的保护约束
- 分级记忆管理: 区分短期和长期记忆池
技术启发
- Memory-augmented架构的探索价值
- 持续学习在LLM中的应用潜力
- 参数分离策略的设计思路
总体评价: MemoryLLM提出了有趣的设计哲学,但在实用性、安全性和成本控制方面存在显著缺陷。其核心思想值得借鉴,但需要大幅改进才能用于生产环境。