Sleeping LLM:讓 LLM 透過「睡覺」來記住事情

一個透過 Wake/Sleep 週期直接編輯模型權重的持久記憶系統,讓 8B 模型無限記住新知識,context window 是空的,知識都在參數裡。

Sleeping LLM:讓 LLM 透過「睡覺」來記住事情

研究日期

2026-02-26

簡介

Sleeping LLM 是一個讓語言模型從對話中形成持久記憶的系統 — 不是透過 RAG 或資料庫,而是直接編輯模型的權重。知識存在參數裡,context window 是空的。

系統靈感來自神經科學的 互補學習系統理論(Complementary Learning Systems):清醒時快速編碼,睡眠時保護性鞏固。MEMIT 是短期記憶,LoRA 是長期記憶,Sleep 是兩者之間的轉移。

解決什麼問題?

問題 傳統方案 Sleeping LLM 方案
LLM 沒有持久記憶 RAG / 外部資料庫 直接編輯權重
Context window 有限 定期壓縮/摘要 知識在參數中
每次對話都重新開始 全域 context 模型本身記得

核心概念

關鍵術語

術語 說明
MEMIT Mass-Editing Memory in Transformers,一種直接編輯 MLP 權重的演算法
Null-space constraints 零空間約束,確保編輯一個記憶不會破壞其他記憶
LoRA consolidation 將 MEMIT 編輯的知識轉移到 LoRA adapter,再融合進權重
Wake/Sleep 週期 清醒時注入記憶,睡覺時鞏固記憶

生物學類比

生物組件 系統實作
海馬體快速編碼 MEMIT 權重編輯(無約束,即時)
新皮質鞏固 LoRA 訓練 + 融合(慢速,穩定轉移)
睡眠鞏固 Audit + 約束刷新 + LoRA consolidation
睡眠壓力 / 睏意 退化記憶數量超過閾值
突觸穩態 修剪過多編輯 + 溶解已鞏固的 MEMIT delta

架構與原理

系統架構圖

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
WAKE                                          SLEEP (8-step maintenance + consolidation)

  User ←→ Chat                               1. Health Check  測量 PPL 基線
                                             2. Curate  提取新事實,透過 MEMIT 注入
                                             3. Audit  測試每個事實的 recall
  Fact Extraction                             4. Maintain  刷新退化的編輯
                                                   加上 null-space constraints
                                             5. LoRA Consolidation  訓練 LoRA
  MEMIT Injection                                   融合進權重,per-fact gating
                                             6. MEMIT Scale-Down  降低 MEMIT delta
                                                    LoRA 吸收 (1.00.50.10.0)
                                             7. Validate  PPL 比較,rollback
  Weights updated.                            8. Report  audit/consolidation 摘要
  Single forward pass.
  MEMIT = short-term memory.                  Trigger: /sleep 指令或自動
  LoRA consolidation = long-term.             「睡意信號」(退化事實超過閾值)

MEMIT 演算法

每個事實 (subject, relation, object) 產生一個跨目標 MLP 層的權重更新:

$$W' = W + R K^T (K K^T + \lambda C)^{-1}$$

其中:

  • K = key vectors
  • R = distributed residual
  • C = 經驗共變異數矩陣,透過 Woodbury identity 正則化

Wake 階段無約束注入 — 快速但干擾累積。Sleep 階段用 null-space constraints 刷新退化編輯 — 保證與工作記憶正交。這種不對稱創造了自然的節奏:清醒時退化,睡眠時恢復。

鞏固(Consolidation)機制

MEMIT 維護後,Sleep 訓練一個 LoRA adapter 於所有活躍事實(chat Q&A 格式),然後融合進基礎權重。每個事實有獨立的鞏固階段 (0–3):

階段 意義 MEMIT Scale
0 僅 MEMIT 1.0
1 LoRA 吸收中 0.5
2 LoRA 吸收中 0.1
3 LoRA 承載 0.0(MEMIT 已溶解)

每次 Sleep 週期後,通過 chat recall 的事實前進一個階段;失敗的事實後退。編輯的有效 scale 是 min(fact_stages) — 保守策略,只有當編輯中的所有事實都前進時才降低 scale。一旦所有事實達到階段 3,MEMIT delta 完全溶解,LoRA-fused 權重單獨承載知識。這清除了 MEMIT 容量給新記憶,使有效終身容量無限。

主要特性

效能基準

模型 事實數 Recall PPL Drift 硬體
Llama-3.2-3B-4bit 15 0.60 +0.3% MacBook Air M3, 8GB
Llama-3.1-8B 14 1.00 (sleep 後) +0.5% 2x H100 80GB
Llama-3.1-8B 30 1.00 (sleep 後) +3.2% 2x H100 80GB
Llama-3.1-70B-NF4 60 1.00 0.0% 2x H100 80GB

關鍵發現

  • LoRA 鞏固:5/10/15/20 事實都有 100% 前進率。Chat recall 在週期 2–3 達到 1.00。
  • Sleep 收斂:30 事實從 40% 初始 recall 在 4 個 sleep 週期內恢復到 100%。70B 模型快 2 倍。
  • Wake 容量閾值:8B 模型在 13 個無約束編輯內維持 0.92 recall,第 14 個時崩潰到 0.57 — 這是級聯編輯干擾的劇烈相變,不是漸進衰減。
  • Alignment Tax:RLHF 主動抑制 LoRA 注入的知識。3B: 47% recall。8B: 37%。70B: 0%。這個反向縮放導致放棄 wake 時直接 LoRA 訓練 — 但 LoRA 在 sleep 時鞏固有效,因為 per-fact gating 和累積融合避免了 alignment 衝突。

安裝與設定

Apple Silicon (MLX)

1
2
3
git clone https://github.com/vbario/sleeping-llm.git && cd sleeping-llm
pip3 install -r requirements.txt
python3 -m src.main

首次執行會下載模型(~1.8 GB)。需要 macOS 14+、Apple Silicon。

NVIDIA GPU (PyTorch)

1
2
3
git clone https://github.com/vbario/sleeping-llm.git && cd sleeping-llm
pip3 install -r requirements-torch.txt
python3 -m src.main --config experiments/configs/8b_consolidation.yaml

需要 CUDA 12+,8B (BF16) 需要 80GB+ VRAM,70B (NF4) 需要 2x80GB。

硬體需求

機器 RAM 模型 備註
MacBook Air M3 8 GB 3B 4-bit 可用。15 事實,sleep ~5 分鐘
Mac Mini M4 Pro 24 GB 8B 4-bit 更大容量,更快 sleep
Mac Studio M4 Ultra 192 GB 70B 4-bit 完整容量,所有實驗
2x H100 80GB 160 GB VRAM 8B BF16 / 70B NF4 研究配置

指令

指令 效果
/sleep 觸發完整 sleep 週期(audit → maintain → consolidate → validate)
/nap 快速審計近期事實(不修改模型)
/status 顯示 context 用量、turn 計數、MEMIT 編輯計數
/compact 強制 context window 壓縮
/quit 離開

設定檔(config.yaml)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
memit:
  target_layers: [8, 9, 10, 11, 12, 13, 14, 15]  # 要編輯的 MLP 層
  lambda_reg: 0.1          # 共變異數正則化強度
  max_active_edits: 50     # 硬上限(觸發修剪)
  covariance_samples: 200  # 正則化參考樣本
  v_lr: 0.5               # v* 優化學習率
  v_steps: 30             # v* 優化步數

lora:
  enabled: true            # 啟用 sleep 時 LoRA 鞏固
  num_layers: 8            # LoRA 應用層數
  learning_rate: 1.0e-4    # LoRA 訓練學習率
  iters_per_fact: 10       # 每事實訓練迭代

consolidation:
  enabled: true            # 啟用 MEMIT→LoRA 轉移
  scale_schedule: [1.0, 0.5, 0.1, 0.0]  # 每階段 MEMIT scale

sleep:
  maintenance:
    degraded_threshold: 0.5   # recall < 50% 時重新注入
    max_ppl_increase: 0.15    # PPL 增加 > 15% 時 rollback
    max_refresh_per_cycle: 10 # 每次 sleep 最多刷新數

health:
  sleep_threshold: 0.8     # 壓力超過時自動 sleep
  nap_threshold: 0.4       # 自動建議 nap

比較分析

Sleeping LLM vs RAG

面向 RAG Sleeping LLM
容量 無限(外部儲存) 有限(模型權重)
延遲 需檢索 即時(知識在參數中)
權重修改 直接編輯
可解釋性 高(可追溯來源) 低(隱含在參數中)
適用場景 大量靜態知識 個人化動態記憶

相關方法比較

方法 機制 優點 缺點
Sleeping LLM MEMIT + LoRA 雙系統 無限終身容量 VRAM 限制
MemoryLLM Transformer + latent memory pool 自我更新 固定記憶池大小
WISE 終身模型編輯框架 可靠性/泛化/局部性平衡 不支持 LoRA 鞏固
ROME 單一編輯 精確定位 無法批次編輯

限制與注意事項

已知限制

  • 僅合成事實 — 所有實驗使用 person-city 三元組。真實對話知識(觀點、時序事件、多跳)可能行為不同。
  • Raw completion pathway — MEMIT 編輯透過 raw text completion 存取,不是 chat templates。LoRA 鞏固透過訓練 chat Q&A 格式來橋接這個差距。
  • 單次實驗 — 沒有誤差棒或信賴區間(13/14 轉折點在各配置中可重現)。
  • 無 RAG 比較 — RAG 解決不同問題,但直接比較會增強論點。
  • VRAM 上限 — null-space 約束矩陣隨編輯數 O(N*K) 增長。70B/16 層配置在 2xH100 上約 30 事實/session 時 OOM。

安全考量

  • 直接編輯權重可能影響模型行為
  • 沒有內建的事實驗證機制
  • Hallucination filter (firewall.py) 是第一道防線,但非完美

重點整理

  • Wake = MEMIT 注入:單次 forward pass,即時 recall,無約束,干擾累積
  • Sleep = 維護 + 鞏固:審計記憶 → 刷新退化編輯(null-space 約束)→ LoRA 訓練 → 融合 → MEMIT 溶解
  • 容量閾值:8B 模型在 ~13 編輯時有劇烈相變,不是漸進衰減
  • 無限終身容量:MEMIT→LoRA 轉移清空 buffer,使有效容量無限
  • 生物類比:海馬體(MEMIT)→ 新皮質(LoRA),sleep 是轉移

參考資料

官方資源

論文(作者研究軌跡)

# 論文 DOI
1 Sleep-Wake Consolidation for Lifelong Conversational Memory in Local Language Models [10.5281/zenodo.18778760]
2 The Alignment Tax on Continual Learning [10.5281/zenodo.18778762]
3 Dual-System Memory Consolidation [10.5281/zenodo.18778764]
4 Sleeping LLM: Two-Phase Memory Consolidation [10.5281/zenodo.18778766]
5 Sleep-Wake Memory Convergence in Weight-Edited Language Models [10.5281/zenodo.18778768]

相關論文