受人类启发的情节记忆:实现无限上下文 LLM
ArXiv ID: 2407.09450
作者: Zafeirios Fountas, Martin A Benfeghoul, Adnan Oomerjee, Fenia Christopoulou, Gerasimos Lampouras, Haitham Bou-Ammar, Jun Wang
机构: Huawei Noah’s Ark Lab, University College London
发布日期: 2024-07-12
摘要
大型语言模型(LLM)在处理长上下文时面临严重困难,限制了它们在长序列上保持连贯性和准确性的能力。相比之下,人类大脑擅长在跨越一生的广阔时间尺度上组织和检索情节性体验。本文提出 EM-LLM,一种将人类情节记忆和事件认知的关键方面集成到 LLM 中的新方法,无需微调即可处理百万 token 级别的输入。在多个长文本任务上,EM-LLM 相比传统方法记忆检索准确率提升40%,计算成本降低60%。
问题背景
LLM 的长上下文挑战
1 | 当前 LLM 上下文限制: |
人类情节记忆的启示
1 | 人类记忆系统 vs LLM: |
EM-LLM 架构
整体设计
1 | ┌─────────────────────────────────────────────────────────┐ |
组件 1:事件分割
基于 surprisal 的边界检测:
1 | import numpy as np |
多粒度边界:
| 粒度 | 时间尺度 | 检测特征 | 示例 |
|---|---|---|---|
| 微事件 | 1-10 tokens | 句法变化 | 新句子开始 |
| 小事件 | 10-100 tokens | 话题转换 | 场景变化 |
| 大事件 | 100-1000 tokens | 叙事弧 | 章节转换 |
| 超事件 | 1000+ tokens | 主题变更 | 故事部分 |
组件 2:分层记忆存储
三层记忆架构:
1 | class HierarchicalMemory: |
记忆巩固机制:
1 | def memory_consolidation(memory, sleep_ratio=0.1): |
组件 3:动态检索
基于线索的检索:
1 | def cue_based_retrieval(memory, current_context, top_k=5): |
实验结果
实验设置
基准任务:
- BookTest:长篇小说理解(100K-1M tokens)
- MultiSession:多会话对话(50-200 轮)
- TimelineQA:时序事件推理
- LegalDoc:法律文档分析
对比方法:
- Full Attention(完整注意力)
- Sliding Window(滑动窗口)
- RAG(检索增强生成)
- LongLLM(长文本微调模型)
评估指标:
- 检索准确率(Retrieval Accuracy)
- 回答正确率(Answer Accuracy)
- 计算成本(FLOPs)
- 延迟(Latency)
主要结果
BookTest 长篇小说理解
| 方法 | 上下文长度 | 准确率 | 成本 |
|---|---|---|---|
| Full Attention | 32K | 45.2% | 1.0x |
| Sliding Window | 32K | 38.5% | 0.8x |
| RAG | Unlimited | 52.3% | 1.5x |
| LongLLM | 128K | 58.1% | 2.0x |
| EM-LLM | Unlimited | 73.5% | 0.6x |
MultiSession 多轮对话
| 方法 | 平均轮数 | 一致性 | 相关性 |
|---|---|---|---|
| Standard | 50 | 62% | 58% |
| RAG | 100 | 71% | 68% |
| EM-LLM | 200+ | 85% | 82% |
记忆检索准确率
| 方法 | @1 | @5 | @10 |
|---|---|---|---|
| BM25 | 32.1% | 58.3% | 68.5% |
| Dense Retrieval | 41.5% | 67.2% | 75.8% |
| EM-LLM | 58.3% | 82.1% | 89.5% |
提升:相比最佳基线 +40% 检索准确率
计算效率
1 | 计算成本对比(相对值): |
EM-LLM 效率来源:
- 稀疏检索替代密集注意力
- 分层处理减少计算量
- 选择性激活相关记忆
长度泛化能力
1 | 性能 vs 输入长度: |
关键发现:EM-LLM 在百万 token 级别仍保持 70%+ 准确率
消融实验
组件贡献
| 配置 | BookTest | 检索准确率 | 成本 |
|---|---|---|---|
| EM-LLM (完整) | 73.5% | 82.1% | 0.6x |
| - 事件分割 | 65.2% | 71.5% | 0.7x |
| - 分层存储 | 61.8% | 65.3% | 0.8x |
| - 动态检索 | 58.5% | 58.2% | 0.5x |
| 无记忆(基线) | 45.2% | 32.1% | 1.0x |
事件边界质量
| 边界检测 | BookTest | 说明 |
|---|---|---|
| 人工标注 | 75.2% | 上限 |
| Surprisal (自动) | 73.5% | 接近人工 |
| 固定长度分段 | 62.1% | 忽视语义 |
| 无分段 | 58.5% | 最差 |
实践指南
使用 EM-LLM
1 | from em_llm import EMLLM |
超参数配置
| 参数 | 推荐值 | 说明 |
|---|---|---|
| memory_size | 10000 | 最大记忆容量 |
| retrieval_top_k | 5-10 | 检索记忆数量 |
| boundary_threshold | 0.7 | 事件边界敏感度 |
| importance_threshold | 0.3 | 记忆剪枝阈值 |
总结
EM-LLM 通过模拟人类情节记忆机制,实现了无限上下文处理:
核心贡献:
- 事件分割实现语义感知的输入组织
- 分层存储支持多粒度记忆访问
- 动态检索提供高效的上下文增强
实际价值:
- 百万 token 级上下文处理
- 40% 检索准确率提升
- 60% 计算成本降低
资源
评分: 4.5/5.0 ⭐⭐⭐⭐⭐
推荐度: 强烈推荐。长上下文处理的创新方案,认知科学启发设计。